This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


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] Kill __errno_location PLT slot in --with-tls --with-__thread build


Hi!

There is an unnecessary __errno_location .plt slot because s_ldexp*.os
is used by both libc.so and libm.so, thus compiled
with -DNOT_IN_libc -DIS_IN_libm (which means it uses __errno_location).
Other fix could be to do something like what is already used for
rtld-%.os for math/Makefile(calls) routines, but I'm afraid it could slow
down the build by adding lots of new rules to sysd-rules.

2002-11-15  Jakub Jelinek  <jakub@redhat.com>

	* math/Makefile (libm-calls): Change s_ldexp to m_ldexp.
	* sysdeps/generic/m_ldexp.c: New file.
	* sysdeps/generic/m_ldexpf.c: New file.
	* sysdeps/generic/m_ldexpl.c: New file.
	* sysdeps/ia64/fpu/m_ldexp.c: New file.
	* sysdeps/ia64/fpu/m_ldexpf.c: New file.
	* sysdeps/ia64/fpu/m_ldexpl.c: New file.

--- libc/math/Makefile.jj	2002-09-10 10:48:12.000000000 +0200
+++ libc/math/Makefile	2002-11-15 10:41:35.000000000 +0100
@@ -46,7 +46,7 @@ libm-calls = e_acos e_acosh e_asin e_ata
 	     e_rem_pio2 e_remainder e_scalb e_sinh e_sqrt e_gamma_r	\
 	     k_cos k_rem_pio2 k_sin k_tan s_asinh s_atan s_cbrt		\
 	     s_ceil s_copysign s_cos s_erf s_expm1 s_fabs s_finite	\
-	     s_floor s_frexp s_ilogb s_ldexp s_log1p s_logb		\
+	     s_floor s_frexp s_ilogb m_ldexp s_log1p s_logb		\
 	     s_modf s_nextafter s_nexttoward s_rint s_scalbn s_scalbln	\
 	     s_significand s_sin s_tan s_tanh w_acos w_acosh w_asin	\
 	     w_atan2 w_atanh w_cosh w_drem w_exp w_exp2 w_exp10 w_fmod	\
--- libc/sysdeps/generic/m_ldexp.c.jj	2002-11-15 10:42:35.000000000 +0100
+++ libc/sysdeps/generic/m_ldexp.c	2002-11-15 10:42:35.000000000 +0100
@@ -0,0 +1 @@
+#include <s_ldexp.c>
--- libc/sysdeps/generic/m_ldexpf.c.jj	2002-11-15 10:42:35.000000000 +0100
+++ libc/sysdeps/generic/m_ldexpf.c	2002-11-15 10:42:35.000000000 +0100
@@ -0,0 +1 @@
+#include <s_ldexpf.c>
--- libc/sysdeps/generic/m_ldexpl.c.jj	2002-11-15 10:42:35.000000000 +0100
+++ libc/sysdeps/generic/m_ldexpl.c	2002-11-15 10:42:35.000000000 +0100
@@ -0,0 +1 @@
+#include <s_ldexpl.c>
--- libc/sysdeps/ia64/fpu/m_ldexp.c.jj	2002-11-15 10:44:41.000000000 +0100
+++ libc/sysdeps/ia64/fpu/m_ldexp.c	2002-11-15 10:44:41.000000000 +0100
@@ -0,0 +1 @@
+/* m_ldexp.c not needed */
--- libc/sysdeps/ia64/fpu/m_ldexpf.c.jj	2002-11-15 10:44:41.000000000 +0100
+++ libc/sysdeps/ia64/fpu/m_ldexpf.c	2002-11-15 10:44:41.000000000 +0100
@@ -0,0 +1 @@
+/* m_ldexpf.c not needed */
--- libc/sysdeps/ia64/fpu/m_ldexpl.c.jj	2002-11-15 10:44:41.000000000 +0100
+++ libc/sysdeps/ia64/fpu/m_ldexpl.c	2002-11-15 10:44:41.000000000 +0100
@@ -0,0 +1 @@
+/* m_ldexpl.c not needed */

	Jakub


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