I wrote: > I wrote: > > This seems to be because of a problem with the global_symbol_pipe. > > Consider the following snippet from the dumpbin output from > > foo.obj: > > > > 00E 00000000 SECT3 notype External | _nothing > > 00F 00000000 SECT4 notype Static | .text > > Section length 2B, #relocs 4, #linenums 0, > > checksum 3A8D1F2D > > 011 00000000 SECT4 notype () External | _foo > > 012 00000000 UNDEF notype () External | _printf > > 013 00000000 UNDEF notype () External | _cos > > 014 00000000 SECT5 notype Static | .rdata > > Section length 8, #relocs 0, #linenums 0, checksum > > 0, selection 2 (pick any) > > 016 00000000 SECT5 notype External | > > [EMAIL PROTECTED] > > > > Notice how the "Section" line before the [EMAIL PROTECTED] symbol says > > "(pick any)" at the end? (the line is probably wrapped, but you > > get it) I think this "Section" line has to be accounted for when > > determining if a symbol is to be exported. Nm for that symbol > > says R, not D. However, my sed-fu is week, but I've read that sed > > can be made to remember one line in some buffer, perhaps I can > > come up with something given some time to tinker. This is the > > first time I've noticed "(pick any)", just so that you know. > > *tinker, tinker* > > I made a proper fix for global_symbol_pipe/dumpbin... > > libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [dumpbin]: > Symbols > in "pick any" sections are not global.
*testing, testing* CRAP! After fixing some problems with this patch (it doesn't work for a number of reasons, so don't waste your time trying) I have realized that sed is not the correct tool for this pipe. It is best written in some other language. Which languages can I select from? awk? More context than one row plus one hold buffer is needed to determine if a symbol is global... (Symbols marked SECTn in the above snippet should be mapped to the nth section line) Cheers, Peter
head-ignore-pick-any-sections-2.patch
Description: head-ignore-pick-any-sections-2.patch