I've been looking for a project recently and have come up with something I know I would occasionally find useful, so I thought I'd check if anyone else thinks it would be worthwhile.

It started off with me intending to write a module to read COFF object files, as generated by compilers and linkers on various systems. This was complicated by the fact that COFF isn't well standardised and vendors have played with it quite a lot. For example Microsoft's and Texas Instruments' variants are fairly incompatible.

While I was finding all this out I came across some information about GNU's binutils, which support some varieties of COFF but not the one I'm interested in (Texas Instrument's C6000).

As the binutils use the BFD library to access object files it's supposed to be relatively easy to add support for new formats or variants of existing ones, so I came up with the idea of writing a Perl interface to the BFD library instead.

I like this idea because it will be a good way to learn XS and is a much more general solution than just supporting one variant of COFF.

In case you've got this far with no idea without a clue what I'm going on about I'll try to explain. I'm hoping to be able to use Perl to extract information about an object file, such as what lines a symbol appears on or which section a symbol is located in. This will make my life easier at work and reduce my exposure to Texas Instruments' appalling Code Composer suite.

So, does anyone else think this would be a useful module or am I wasting my time?

Suggestions for features are welcome and if anyone has done anything similar I'd be glad to hear about their experiences.

Kevin O'Rourke

  • Comment on binutils-style module (or: XS interface to BFD)

Replies are listed 'Best First'.
Re: binutils-style module (or: XS interface to BFD)
by ghost13 (Initiate) on Nov 02, 2001 at 19:56 UTC

    It would DEFINITELY be useful to me. I maintain binutils for Debian have quite a few uses for it already (e.g. dependency detection without having to call objdump).

    C

    -----
    This is not a signature....well, ok, it is.