[PATCH/RFC] Fix LD test FAIL: weak symbols on Cygwin
Kai Tietz
Kai.Tietz@onevision.com
Wed Mar 18 08:32:00 GMT 2009
binutils-owner@sourceware.org wrote on 18.03.2009 05:52:05:
> Dave Korn wrote:
>
> > ... and here's the difference in the generated object file;
'badobj.txt' is
> > the objdump output from the version of attrib5.o generated by my
patched
> > 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
and
> asplode.
>
> > 1c: DISP32 _f
>
> However I think I was still right about saying I'll have to adjust
> pc-relative relocs specially.
>
> cheers,
> DaveK
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.
Cheers,
Kai
| (\_/) This is Bunny. Copy and paste Bunny
| (='.'=) into your signature to help him gain
| (")_(") world domination.
More information about the Binutils
mailing list