This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
RE: Objects tied in by Linker
- From: "Lehner, Michael" <michaellehner at siemens dot com>
- To: "Ian Lance Taylor" <iant at google dot com>
- Cc: <gcc-help at gcc dot gnu dot org>
- Date: Mon, 15 Jan 2007 11:46:08 +0100
- Subject: RE: Objects tied in by Linker
> -----Original Message-----
> From: Ian Lance Taylor [mailto:iant@google.com]
> Sent: Friday, January 12, 2007 4:30 PM
> To: Lehner, Michael
> Cc: gcc-help@gcc.gnu.org
> Subject: Re: Objects tied in by Linker
>
> "Lehner, Michael" <michaellehner@siemens.com> writes:
>
> > Gnulib.a is a self made archive. I extracted all the archives of gnu and
> mad a new one where all objects are in one archive. This is because of the
> more simple handling with Greenhills linker.
> > The symbols ____strtoul_l_internal, _IO_vfprintf, ____strtoll_l_internal
> and ____strtoull_l_internal can be solved by strtoll_l.o, strtoull_l.o,
> strtoul_l.o and vfprintf.o but then I get the following multiply
> definitions:
> > [elxr] (error) symbol __strtol_ul_max_tab multiply defined in:
> > frame\src\gnulib.a(strtol_l.o)
> > frame\src\gnulib.a(strtoul_l.o)
>
> This is not the GNU linker.
>
[Lehner, Michael]
I am not shure what you mean, but if you want to say, that elxr is not the GNU linker, that's right, these are Greenhills logs. Perhaps I did not point out clearly.
> This error is happening because that symbol is defined in a linkonce
> section. This is a type of section supported by the GNU linker which
> causes it to only appear in the executable once. The ELF standard
> supports a similar notion, the section group, and perhaps this source
> code will eventually shift over (or maybe it already has, I don't
> know).
>
[Lehner, Michael]
Ah, I see, this is because of a non standard section type, not suported by Greenhills. Is there a relation to the problem, that the linker complained about different section types for .debug_info or .debug_abbrev?
> Your simplest fix is going to be to locate those tables in the source
> code and make them static. This will cause some duplication in the
> executable but should work correctly.
[Lehner, Michael]
I'll try that.
Are there any solutions fort he other errors where symbols I really can't find?
Mit freundlichen Grüßen
Michael Lehner
Siemens AG
Automation and Drives
Industrial Automation Systems
A&D AS RD
Werner-von-Siemens Str. 50
92224 Amberg, Germany
Tel.: +49 9621 80-5209
michaellehner@siemens.com
Siemens Aktiengesellschaft: Vorsitzender des Aufsichtsrats: Heinrich v. Pierer;
Vorstand: Klaus Kleinfeld, Vorsitzender; Johannes Feldmayer, Joe Kaeser, Rudi Lamprecht, Eduardo Montes, Jürgen Radomski, Erich R. Reinhardt, Hermann Requardt, Uriel J. Sharef, Klaus Wucherer
Sitz der Gesellschaft: Berlin und München
Registergericht: Berlin Charlottenburg, HRB 12300, München, HRB 6684
WEEE-Reg.-Nr. DE 23691322