This is the mail archive of the
mailing list for the GCC project.
Re: PR19525: Build testing of non-default multilibs
Richard Sandiford <email@example.com> writes:
> Zack Weinberg <firstname.lastname@example.org> writes:
>> My test scripts only ran dejagnu against the non-default multilib on
>> ia64-hp-hpux11.23; this is an oversight on my end. On that system,
>> however, results are very bad. With -mlp64 (which triggers the
>> non-default multilib) all link and execute tests against the shared
>> libgcc fail. The error is
>> ld: Can't find library or mismatched ABI for -lgcc_s_hpux64
>> Fatal error.
>> collect2: ld returned 1 exit status
>> This is because "-lgcc_s_hpux64" was hardwired into specs in
> Argh! And I'd really tried to cover all bases. I did check for uses
> of %M in the target specs, but hadn't thought to check for hard-coded
> mangling, sorry ;(
> FWIW, a quick grep suggests that ia64/hpux.h was the only file do this.
Yep, it's the only one I found, too.
Unfortunately I now get
stage1/xgcc -Bstage1/ -B/scratch/zack/i/gcc-libgcc-s-mlib/ia64-hp-hpux11.22/bin/ -DUSE_LIBUNWIND_EXCEPTIONS -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wold-style-definition -Werror -DHAVE_CONFIG_H -DGENERATOR_FILE -o build/genmodes \
build/genmodes.o build/errors.o ../build-ia64-hp-hpux11.22/libiberty/libiberty.a
ld: Missing library symbol table in stage1/libgcc_eh.a
collect2: ld returned 1 exit status
make: *** [build/genmodes] Error 1
$ find . -name libgcc_eh.a -ls | cut -c10-
-rw-rw-r-- 1 zack zack 8 Feb 15 19:56 ./stage1/hpux64/libgcc_eh.a
-rw-rw-r-- 1 zack zack 8 Feb 15 19:56 ./stage1/libgcc_eh.a
-rw-rw-r-- 1 zack zack 8 Feb 15 19:55 ./libgcc_eh.a
I'm too tired to debug this right now, but I will investigate further
in the morning.