This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] mips64-linux-gnu abi_check issues


Benjamin Kosnik writes:
> 1) missing long double exports. Did this platform change the size of
> long double since 3.4? (Is __LONG_DOUBLE_128__ defined?)

No but currently we use the baseline from mips-linux where there are no long
double math functions because long double is an alias to double.  With MIPS64,
the default ABI has 128-bit long double support so, IIUC, we correctly omit
the *l stubs.

So the patch below adds a new baseline file for mips64-linux.  To keep the
file at the level where the other baselines were added I just copied the
baseline from mips-linux and removed the *l stubs (except sqrtl which is not
provided by glibc hence a stub is generated).  This is the diff between mips
and mips64:

--- mips-linux-gnu/baseline_symbols.txt 2008-07-13 21:04:38.000000000 -0700
+++ mips64-linux-gnu/baseline_symbols.txt       2009-02-03 22:52:15.000000000 -0800
@@ -2273,28 +2273,7 @@
 FUNC:__cxa_vec_new@@CXXABI_1.3
 FUNC:__dynamic_cast@@CXXABI_1.3
 FUNC:__gxx_personality_v0@@CXXABI_1.3
-FUNC:acosl@@GLIBCXX_3.4.3
-FUNC:asinl@@GLIBCXX_3.4.3
-FUNC:atan2l@@GLIBCXX_3.4
-FUNC:atanl@@GLIBCXX_3.4.3
-FUNC:ceill@@GLIBCXX_3.4.3
-FUNC:coshl@@GLIBCXX_3.4
-FUNC:cosl@@GLIBCXX_3.4
-FUNC:expl@@GLIBCXX_3.4
-FUNC:floorl@@GLIBCXX_3.4.3
-FUNC:fmodl@@GLIBCXX_3.4.3
-FUNC:frexpl@@GLIBCXX_3.4.3
-FUNC:hypotl@@GLIBCXX_3.4
-FUNC:ldexpl@@GLIBCXX_3.4.3
-FUNC:log10l@@GLIBCXX_3.4
-FUNC:logl@@GLIBCXX_3.4
-FUNC:modfl@@GLIBCXX_3.4.3
-FUNC:powl@@GLIBCXX_3.4
-FUNC:sinhl@@GLIBCXX_3.4
-FUNC:sinl@@GLIBCXX_3.4
 FUNC:sqrtl@@GLIBCXX_3.4
-FUNC:tanhl@@GLIBCXX_3.4
-FUNC:tanl@@GLIBCXX_3.4
 OBJECT:0:CXXABI_1.3
 OBJECT:0:CXXABI_1.3.1
 OBJECT:0:CXXABI_1.3.2

> 2) missing locale exports. Are you configured to use the gnu locale
> model? Looks like no to me.

Yes you're right.  Fixed it and these missing symbols went away.

Tested that make check-abi passes on mips64octeon-linux.  Also bootstrapped
and tested on mips64octeon-linux.

Thanks very much for your help, Benjamin.  OK to install?

Adam

	* configure.host: Set abi_baseline_pair for mips64*-linux.
	* config/abi/post/mips64-linux-gnu/baseline_symbols.txt: New file.


Attachment: libstdc++-mips64-abi-check.patch.bz2
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]