This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
PR libstdc++/17505: Update libmath stubs in linker-map.gnu
- From: Roger Sayle <roger at eyesopen dot com>
- To: gcc-patches at gcc dot gnu dot org, <libstdc++ at gcc dot gnu dot org>
- Cc: Eric Botcazou <ebotcazou at libertysurf dot fr>
- Date: Sun, 3 Oct 2004 11:57:04 -0600 (MDT)
- Subject: PR libstdc++/17505: Update libmath stubs in linker-map.gnu
Many thank to Eric Botcazou for identifying the problem as my failure
to list new libmath stubs in config/linker-map.gnu. This oversight
means that when using the GNU linker on Solaris, we were failing to
export our stub float C99 implementations in libstdc++.so. Things
work fine if the user specifies "-static", or the tree is build as
"--disable-shared" or using the native Solaris linker. Another reason
the problem is so rare is because most platforms that use the GNU linker
also use glibc, where these stub implementations aren't required.
Although, these functions have been present in libstdc++-v3 since
gcc-3.4.0, I've versioned them as gcc-3.4.3 reflecting the fact that
affected platforms won't have exported them until now.
The following patch has been tested on i686-pc-linux-gnu with a full
"make bootstrap", all default languages, and regression tested with a
top-level "make -k check" with no new failures. Unfortunately mainline
is refusing to bootstrap on Solaris 2.8 for me at the moment (and each
attempt takes nearly 24 hours). Hopefully, the libstdc++ maintainers
will consider this fix as obviously correct. My apologies for not
previously realizing these symbols were needed in the linker map.
Ok for mainline and the gcc-3_4-branch?
2004-10-03 Roger Sayle <roger@eyesopen.com>
Eric Botcazou <ebotcazou@libertysurf.fr>
PR libstdc++/17505
* config/linker-map.gnu: Synchronize the current list of stub
functions from libmath.
Index: linker-map.gnu
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/config/linker-map.gnu,v
retrieving revision 1.70
diff -c -3 -p -r1.70 linker-map.gnu
*** linker-map.gnu 8 Sep 2004 13:54:18 -0000 1.70
--- linker-map.gnu 3 Oct 2004 14:39:12 -0000
*************** GLIBCXX_3.4.3 {
*** 271,276 ****
--- 271,296 ----
_ZN9__gnu_cxx6__poolILb[01]EE17_M_reclaim_memoryEPc[jm];
_ZN9__gnu_cxx20__common_pool_policyILb[01]EE11_S_get_poolEv;
+ # stub functions from libmath
+ acosf;
+ acosl;
+ asinf;
+ asinl;
+ atanf;
+ atanl;
+ ceilf;
+ ceill;
+ floorf;
+ floorl;
+ fmodf;
+ fmodl;
+ frexpf;
+ frexpl;
+ ldexpf;
+ ldexpl;
+ modff;
+ modfl;
+
} GLIBCXX_3.4.2;
# Symbols in the support library (libsupc++) have their own tag.
Roger
--
Roger Sayle, E-mail: roger@eyesopen.com
OpenEye Scientific Software, WWW: http://www.eyesopen.com/
Suite 1107, 3600 Cerrillos Road, Tel: (+1) 505-473-7385
Santa Fe, New Mexico, 87507. Fax: (+1) 505-473-0833