Mainline and branch: --enable-targets=all dead on cygwin
Dave Korn
dave.korn@artimi.com
Wed Apr 26 18:18:00 GMT 2006
On 26 April 2006 12:59, Dave Korn wrote:
> obj-coff.o: In function `coff_frob_symbol':
> /usr/build/src-binutils/gas/config/obj-coff.c:1055: undefined reference to
> `_an_external_name'
> collect2: ld returned 1 exit status
> make[4]: *** [as-new.exe] Error 1
>
> This is due to the fact that USE_UNIQUE is not defined when symbols.c is
> compiled, which looks to me to be some kind of problem in the include file
> hierarchy; when TE_PE, USE_UNIQUE gets defined in obj-coff.h, but symbols.c
> doesn't appear to think it needs to include OBJ_HEADER. Any ideas about
> that?
Hmm, I've got some myself, and they're starting to look like "This has never
been multi-arch[*] compatible, has it?"
Seems to me that USE_UNIQUE is a pe-coff thing, and so only gets defined
when obj-format.h points directly to obj-coff.h, and not when it points to
obj-multi.h.
Which in turn suggests to me that the variable needs to be defined always
and the relevant code included in an appropriate run-time if (...) test rather
than a compile-time #if test. I dunno how multi-arch works in binutils/gas
yet, but I'll take a browse through obj-multi.[ch] and see if I can work out
the equivalent runtime test to "#ifdef USE_UNIQUE", which shoudl be something
more-or-less along the lines of "if current output object format is pe-coff",
/I think/.
cheers,
DaveK
[*] - deliberate misapplication of gdb terminology i know i know!
--
Can't think of a witty .sigline today....
More information about the Binutils
mailing list