This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Optionally use -mlong-double-128 by default on {powerpc{,64},s390{,x},sparc,alpha}-linux (take 3)
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Benjamin Kosnik <bkoz at redhat dot com>
- Cc: Paolo Carlini <pcarlini at suse dot de>, Mark Mitchell <mark at codesourcery dot com>, Jason Merrill <jason at redhat dot com>, Michael Matz <matz at suse dot de>, gcc-patches at gcc dot gnu dot org, libstdc++ at gcc dot gnu dot org
- Date: Sun, 5 Feb 2006 07:02:09 -0500
- Subject: Re: [PATCH] Optionally use -mlong-double-128 by default on {powerpc{,64},s390{,x},sparc,alpha}-linux (take 3)
- References: <20060127165807.GV32233@devserv.devel.redhat.com> <Pine.LNX.4.58.0601311640500.627@wotan.suse.de> <20060131172535.GQ32233@devserv.devel.redhat.com> <43E05F19.4000103@codesourcery.com> <20060201082138.GX32233@devserv.devel.redhat.com> <20060201113418.996739f9.bkoz@redhat.com> <20060201180940.GY32233@devserv.devel.redhat.com> <20060204085518.GR24295@devserv.devel.redhat.com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Sat, Feb 04, 2006 at 03:55:18AM -0500, Jakub Jelinek wrote:
> Here is a new version that gets rid of all the ugly assembly filtering.
Further testing revealed problems with --enable-symvers=generic.
As I don't want to spam everybody with a new huge patch, posting just
incremental diff at this point.
One thing I forgot to about the patch I posted yesterday,
unlike previous patch there is no need for multilibbing libstdc++-v3
even if both -mlong-double-64 and -mlong-double-128 switches are supposed
to be supported for compiling C++ code against libstdc++.so.
The -mlong-double-128 compiled libstdc++.so is not only compatible
at runtime with DFmode and TFmode compiled code, but even at link time.
--- libstdc++-v3/src/locale-misc-inst.cc 2006-02-03 12:50:32.000000000 +0100
+++ libstdc++-v3/src/locale-misc-inst.cc 2006-02-04 15:29:26.000000000 +0100
@@ -55,6 +55,11 @@
extern "C" void ldbl (void) __attribute__ ((alias (#dbl), weak))
+# if _GLIBCXX_C_LOCALE_GNU
_GLIBCXX_LDBL_COMPAT(_ZSt16__convert_from_vIdEiPciPKcT_RKP15__locale_structi,
_ZSt16__convert_from_vIeEiPciPKcT_RKP15__locale_structi);
+# else
+_GLIBCXX_LDBL_COMPAT(_ZSt16__convert_from_vIdEiPciPKcT_RKPii,
+ _ZSt16__convert_from_vIeEiPciPKcT_RKPii);
+# endif
#endif // _GLIBCXX_LONG_DOUBLE_COMPAT
--- libstdc++-v3/config/locale/generic/c_locale.cc 2006-02-03 10:11:08.000000000 +0100
+++ libstdc++-v3/config/locale/generic/c_locale.cc 2006-02-04 15:26:44.000000000 +0100
@@ -178,3 +178,3 @@
extern "C" void ldbl (void) __attribute__ ((alias (#dbl)))
-_GLIBCXX_LDBL_COMPAT(_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct, _ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct);
+_GLIBCXX_LDBL_COMPAT(_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKPi, _ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKPi);
#endif // _GLIBCXX_LONG_DOUBLE_COMPAT
--- libstdc++-v3/config/os/gnu-linux/ldbl-extra.ver 2006-02-03 13:49:34.000000000 +0100
+++ libstdc++-v3/config/os/gnu-linux/ldbl-extra.ver 2006-02-03 13:49:34.000000000 +0100
@@ -6,7 +6,7 @@
_ZNSolsEg;
_ZNSt13basic_istreamIwSt11char_traitsIwEErsERg;
_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEg;
- _ZSt14__convert_to_vIgEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct;
+ _ZSt14__convert_to_vIgEvPKcRT_RSt12_Ios_IostateRKP*;
_ZStlsIg[cw]St11char_traitsI[cw]EERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E;
_ZStrsIg[cw]St11char_traitsI[cw]EERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E;
*__gnu_cxx_ldbl128*;
Jakub
- References:
- Re: [RFC PATCH] Optionally use -mlong-double-128 by default on {powerpc{,64},s390{,x},sparc,alpha}-linux
- Re: [RFC PATCH] Optionally use -mlong-double-128 by default on {powerpc{,64},s390{,x},sparc,alpha}-linux
- Re: [RFC PATCH] Optionally use -mlong-double-128 by default on {powerpc{,64},s390{,x},sparc,alpha}-linux
- Re: [RFC PATCH] Optionally use -mlong-double-128 by default on {powerpc{,64},s390{,x},sparc,alpha}-linux
- [PATCH] Optionally use -mlong-double-128 by default on {powerpc{,64},s390{,x},sparc,alpha}-linux (take 3)