This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: Two-part patch for hppa64-hpux libstdc++ testsuite failures
- From: Benjamin Kosnik <bkoz at redhat dot com>
- To: Zack Weinberg <zack at codesourcery dot com>
- Cc: gcc-patches at gcc dot gnu dot org, libstdc++ at gcc dot gnu dot org, mitchell at codesourcery dot com, dave at hiauly2 dot hia dot nrc dot ca
- Date: Fri, 16 Apr 2004 13:54:27 -0500
- Subject: Re: Two-part patch for hppa64-hpux libstdc++ testsuite failures
- Organization: Red Hat / Chicago
- References: <87oepvxsum.fsf@egil.codesourcery.com>
>A number of libstdc++ tests have been failing on hppa64-hpux with
>weird link errors (complaining about the alignment of a symbol
>changing). This is a two-part bug. First, libstdc++ is compiling its
>testsuite's support routines (libv3test.a) with different options from
>the test cases themselves; in particular, without -ffunction-sections
>-fdata-sections. This causes a template data object that's being
>instantiated in both testsuite_hooks.cc and in some test cases, to get
>issued as a COMMON symbol in one file and a .bss.NAME section symbol
>in the other. These have different alignments (which is itself a bug
>but I see no way to fix it given the way common symbols are declared
>on pa64) so the linker barfs. The libstdc++ part of this patch
>corrects that.
Thanks for finding the source of this bug.
It's annoying that these flags are changing alignment on hpux! What a
drag. Is there a note in gcc bugzilla about this, or a comment somewhere
for HPUX gcc users about this? I think there should be, as this will
impact others.
The other way to "solve" this problem would be to not compile libstdc++
with these flags at all.
Of course, as you note, the real fix to to make sure that the alignments
don't change in the presence of these flags.
>libstdc++:
> * testsuite/Makefile.am: Add definition of AM_CXXFLAGS.
> Change definition of CXX to use $(shell) instead of backticks.
> * testsuite/Makefile.in: Regenerate.
This is fine, and has been applied already.
-benjamin