[gold] Merging string literals with bigger alignment
Alan Modra
amodra@gmail.com
Wed May 1 02:25:00 GMT 2013
On Mon, Apr 29, 2013 at 10:16:17AM -0700, Cary Coutant wrote:
> > There was no feedback from Ian for this patch: I rebased it and did
> > the changes that you mentioned.
> > As a "fully fledged"(c) gold maintainer (congratulations btw :) )
> > could you please take a look again?
> >
> > All tests pass on x86-64-gnu-linux.
They don't for me. I see
`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
On powerpc64 with a different compiler:
gold/stringpool.cc:220:23: error: âoffsetâ may be used uninitialized in this function [-Werror=uninitialized]
cc1plus: all warnings being treated as errors
and indeed the code is wrong.
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
> > If ok, could someone commit please? I don't have commit access.
>
> Committed on your behalf. Thanks!
>
> -cary
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list