This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: Unreviewed libstdc++/libgomp patch
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