This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
RE: Mainline and branch: --enable-targets=all dead on cygwin
- From: "Dave Korn" <dave dot korn at artimi dot com>
- To: "'Alan Modra'" <amodra at bigpond dot net dot au>
- Cc: "'Nick Clifton'" <nickc at redhat dot com>, <binutils at sourceware dot org>
- Date: Wed, 26 Apr 2006 13:16:17 +0100
- Subject: RE: Mainline and branch: --enable-targets=all dead on cygwin
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....