[PATCH/RFC] Fix LD test FAIL: weak symbols on Cygwin
Wed Mar 18 08:32:00 GMT 2009
email@example.com wrote on 18.03.2009 05:52:05:
> Dave Korn wrote:
> > ... and here's the difference in the generated object file;
> > the objdump output from the version of attrib5.o generated by my
> > assembler, 'goodobj.txt' from a clean build of gas:
> *facepalm* No they aren't. They are mislabelled. In the diff,
> > - 1b: e8 e4 ff ff ff call 4 <__f+0x4>
> This is correct, and from unpatched gas, and works when executed.
> > + 1b: e8 00 00 00 00 call 20 <_main+0x1b>
> And this one is incorrect, and jumps to the wrong address at runtime
> > 1c: DISP32 _f
> However I think I was still right about saying I'll have to adjust
> pc-relative relocs specially.
As far as I see the weak support for pe(p)-coff targets isn't complete.
The comdat stuff is half implemented and bfd uses internally just
C_NT_WEAK, but it should use C_WEAKEXT in most cases instead.
I think there is much work left to support weak in a better way.
| (\_/) This is Bunny. Copy and paste Bunny
| (='.'=) into your signature to help him gain
| (")_(") world domination.
More information about the Binutils