Unreviewed libstdc++/libgomp patch

Jakub Jelinek jakub@redhat.com
Tue Feb 28 01:42:00 GMT 2012


On Mon, Feb 27, 2012 at 02:38:14PM +0100, Rainer Orth wrote:
> Paolo Carlini <paolo.carlini@oracle.com> writes:
> 
> >> Jakub Jelinek<jakub@redhat.com>  writes:
> >>
> >>> On Wed, Feb 22, 2012 at 12:07:39PM +0100, Rainer Orth wrote:
> >>>> The following patch has remained unreviewed for a week:
> >>>>
> >>>> 	[v3, libgomp, build] Fix Solaris symbol versioning (PR libstdc++/52188)
> >>>>          http://gcc.gnu.org/ml/gcc-patches/2012-02/msg00819.html
> >>>>
> >>>> It is critical to avoid breaking libstdc++.so symbol versioning on
> >>>> Solaris and requires libstdc++ and libgomp maintainers.
> >>> The libgomp changes are ok if the libstdc++ changes are approved.
> >> Thanks.  Unfortunately, none of the libstdc++ maintainers hasn't
> >> commented in almost two weeks.  It would be a pity to release 4.7.0 with
> >> this bug unfixed.
> > I cannot say to understand in detail the issue, but if it affects Solaris
> > only, likewise the fix (I think so), and you double checked it on, say,
> > x86_64-Linux, the patch is Ok with me.
> 
> While the mechanism introduced is generic, it currently affects Solaris
> only.  And yes, I've compared versioning in libstdc++.so and libgomp.so
> on x86_64-unknown-linux-gnu without and with the patch as described in
> the submission: no change.

Unfortunately this broke build on powerpc{,64}-linux and likely all other
GLIBCXX_LDBL* targets.

The problem is that config/abi/pre/gnu.ver doesn't end with a newline,
so we end up with:

# Symbols in the support library (libsupc++) supporting transactional memory.
CXXABI_TM_1 {

  global:
    __cxa_tm_cleanup;

};# Appended to version file.

GLIBCXX_LDBL_3.4 {   
  _ZNSt14numeric_limitsIgE*;

and $(EGREP) -v '#(#| |$$)' just throws away the whole
};# Appended to version file.
line.  I wonder if
sed -e 's/#[# $].*$//'
wouldn't be better, or alternative add ^ before the first #
in the egrep regex.  Of course we can add a newline to gnu.ver, but the
next time somebody forgots to add a newline at the end of the file
we'll have the same problem again.

Benjamin, what do you prefer?

	Jakub



More information about the Gcc-patches mailing list