[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gold/14533] large (88M) ICC compiled .obj files inside .a archive c
From: |
ccoutant at google dot com |
Subject: |
[Bug gold/14533] large (88M) ICC compiled .obj files inside .a archive confuse / error the gold linker |
Date: |
Fri, 31 Aug 2012 17:22:08 +0000 |
http://sourceware.org/bugzilla/show_bug.cgi?id=14533
--- Comment #3 from Cary Coutant <ccoutant at google dot com> 2012-08-31
17:22:08 UTC ---
Sounds to me like a large section table bug in ICC. I believe we've
seen that before.
-cary
On Fri, Aug 31, 2012 at 10:14 AM, bsergean at gmail dot com
<address@hidden> wrote:
> http://sourceware.org/bugzilla/show_bug.cgi?id=14533
>
> --- Comment #2 from Benjamin Sergeant <bsergean at gmail dot com> 2012-08-31
> 17:14:34 UTC ---
> 1) If I strip the .obj file the error seems to go away.
>
> 2) Here's the error.
>
> /tmp/gold-dev/bin/ld: libsomething.a(AnObjectFile.o): invalid string offset
> 25281974 >= 48 for section `.shstrtab'
> /tmp/gold-dev/bin/ld: libsomething.a(AnObjectFile.o): invalid string offset 79
>>= 48 for section `(null)'
> /tmp/gold-dev/bin/ld: libsomething.a(AnObjectFile.o): invalid string offset
> 25281974 >= 48 for section `.shstrtab'
> /tmp/gold-dev/bin/ld: libsomething.a(AnObjectFile.o): invalid string offset 79
>>= 48 for section `(null)'
> libsomething.a: member libsomething.a(AnObjectFile.o) in archive is not an
> object
> ~
> What's funny is that I don't get that last error "is not an object" if I try
> to
> make a shared lib from just that object.
>
> So maybe there's something weird with how (1) we create the .a (ranlib) or
> with
> how gold parse the .a.
>
> Here's what readelf says about that symbol.
>
> ELF Header:
> Magic: 7f 45 4c 46 02 01 01 03 00 00 00 00 00 00 00 00
> Class: ELF64
> Data: 2's complement, little endian
> Version: 1 (current)
> OS/ABI: UNIX - Linux
> ABI Version: 0
> Type: REL (Relocatable file)
> Machine: Advanced Micro Devices X86-64
> Version: 0x1
> Entry point address: 0x0
> Start of program headers: 0 (bytes into file)
> Start of section headers: 85864776 (bytes into file)
> Flags: 0x0
> Size of this header: 64 (bytes)
> Size of program headers: 0 (bytes)
> Number of program headers: 0
> Size of section headers: 64 (bytes)
> Number of section headers: 0 (92838)
> Section header string table index: 65535 (66722)
>
>
> If I tries to make a shared lib from that object file, here's what I get
>
> /tmp$ /tmp/gold-dev/bin/ld.gold -shared -o /tmp/caca.so AnObjectFile.o |& head
> /tmp/gold-dev/bin/ld.gold: error: AnObjectFile.o: section name section has
> wrong type: 4
> /tmp/gold-dev/bin/ld.gold: error: AnObjectFile.o: symbol table name section
> has
> wrong type: 4
> /tmp/gold-dev/bin/ld.gold: error: AnObjectFile.o: bad section name offset for
> section 1: 79
> /tmp/gold-dev/bin/ld.gold: error: AnObjectFile.o: extended index for symbol
> 70238 out of range: 92838
> /tmp/gold-dev/bin/ld.gold: error: AnObjectFile.o: extended index for symbol
> 70239 out of range: 92839
> /tmp/gold-dev/bin/ld.gold: error: AnObjectFile.o: extended index for symbol
> 70240 out of range: 92840
> /tmp/gold-dev/bin/ld.gold: error: AnObjectFile.o: extended index for symbol
> 70241 out of range: 92841
>
>
> How can I help further with troubleshooting that ?
> Can I add some debugging option to the linker ?
> Can I extract just a piece of that .obj file, or obfuscate it so I can
> upload / attach it to Bugzilla ?
>
> Thanks !!
>
> ps:
> I haven't done any serious benchmark yet on the impact of linking with gold
> but
> on a large lib that we have (330M), linking with gold was 2.5x faster (5s to
> 2s), and we have many of those libs.
>
> --
> Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
> ------- You are receiving this mail because: -------
> You are on the CC list for the bug.
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
- [Bug gold/14533] New: large (88M) ICC compiled .obj files inside .a archive confuse / error the gold linker, bsergean at gmail dot com, 2012/08/31
- [Bug gold/14533] large (88M) ICC compiled .obj files inside .a archive confuse / error the gold linker, bsergean at gmail dot com, 2012/08/31
- [Bug gold/14533] large (88M) ICC compiled .obj files inside .a archive confuse / error the gold linker, bsergean at gmail dot com, 2012/08/31
- [Bug gold/14533] large (88M) ICC compiled .obj files inside .a archive confuse / error the gold linker, ian at airs dot com, 2012/08/31
- [Bug gold/14533] large (88M) ICC compiled .obj files inside .a archive confuse / error the gold linker, bsergean at gmail dot com, 2012/08/31
- [Bug gold/14533] large (88M) ICC compiled .obj files inside .a archive confuse / error the gold linker,
ccoutant at google dot com <=
- [Bug gold/14533] large (88M) ICC compiled .obj files inside .a archive confuse / error the gold linker, bsergean at gmail dot com, 2012/08/31
- [Bug gold/14533] large (88M) ICC compiled .obj files inside .a archive confuse / error the gold linker, ccoutant at google dot com, 2012/08/31
- [Bug gold/14533] large (88M) ICC compiled .obj files inside .a archive confuse / error the gold linker, ccoutant at google dot com, 2012/08/31
- [Bug gold/14533] large (88M) ICC compiled .obj files inside .a archive confuse / error the gold linker, ccoutant at google dot com, 2012/08/31
- [Bug gold/14533] large (88M) ICC compiled .obj files inside .a archive confuse / error the gold linker, bsergean at gmail dot com, 2012/08/31