[gold] Merging string literals with bigger alignment

H.J. Lu hjl.tools@gmail.com
Wed May 1 18:24:00 GMT 2013


On Wed, May 1, 2013 at 10:43 AM, Cary Coutant <ccoutant@google.com> wrote:
>> `echo g++ -W -Wall    -Werror -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fmerge-constants -g -O2   -o basic_static_test | sed -e 's/-Wp,-D_FORTIFY_SOURCE=[0-9][0-9]*//'` -Bgcctestdir/ -static basic_test.o
>> collect2: ld terminated with signal 6 [Aborted]
>> terminate called after throwing an instance of 'std::bad_alloc'
>>   what():  std::bad_alloc
>> make[5]: *** [basic_static_test] Error 1
>
> I'm not seeing this. What target?
>
>> Fixing new_key_offset() is easy, but the gold bootstrap test fails
>>
>> (cd gcctestdir2 && ln -s ../ld1 ld)
>> g++ -m64 -W -Wall    -Werror -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -frandom-seed=ld2 -g -O2 -Bgcctestdir2/ -Wl,--build-id=tree -Wl,--build-id-chunk-size-for-treehash=12345 -Wl,--build-id-min-file-size-for-treehash=0   -o ld2 main.o powerpc.o libgold.a ../libiberty/libiberty.a    -ldl -lz
>> gcctestdir2/ld: error: cannot find main.o
>> gcctestdir2/ld: error: cannot find powerpc.o
>> gcctestdir2/ld: error: cannot find libgold.a
>> gcctestdir2/ld: error: cannot find ../libiberty/libiberty.a
>> .zdebug_line: error: undefined reference to 'main'
>> collect2: error: ld returned 1 exit status
>
> I don't see this one either.
>
> -cary

I can reproduce it on Fedora 18 with GCC 4.7.2.  ld1 is mis-linked by ld-new.

--
H.J.



More information about the Binutils mailing list