public inbox for libc-hacker@sourceware.org
 help / color / mirror / Atom feed
* Re: [PATCH] Kill __errno_location PLT slot in --with-tls --with-__thread build
       [not found] <20021115161220.I27455@devserv.devel.redhat.com>
@ 2002-11-15 13:17 ` Roland McGrath
  0 siblings, 0 replies; 5+ messages in thread
From: Roland McGrath @ 2002-11-15 13:17 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: Ulrich Drepper, Glibc hackers

Duh, good point.  

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Kill __errno_location PLT slot in --with-tls --with-__thread build
  2002-11-15 11:58 Jakub Jelinek
  2002-11-15 12:29 ` Roland McGrath
  2002-11-15 13:06 ` Roland McGrath
@ 2002-11-15 14:46 ` Roland McGrath
  2 siblings, 0 replies; 5+ messages in thread
From: Roland McGrath @ 2002-11-15 14:46 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: Ulrich Drepper, Glibc hackers

In your changes, on ia64 now there will be no ldexp{,f,l} in libm at all.
Was that the plan?  I think that will break versioned dependencies.

I did some pure makefile hackery to generate the m_foo.? source files (two
more rules per dir in sysd-rules) that dtrt for .c vs .S generically.  It
needs nothing in sysdeps, and won't require any more files anywhere if we
need to do the same for another of those modules.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Kill __errno_location PLT slot in --with-tls --with-__thread build
  2002-11-15 11:58 Jakub Jelinek
  2002-11-15 12:29 ` Roland McGrath
@ 2002-11-15 13:06 ` Roland McGrath
  2002-11-15 14:46 ` Roland McGrath
  2 siblings, 0 replies; 5+ messages in thread
From: Roland McGrath @ 2002-11-15 13:06 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: Ulrich Drepper, Glibc hackers

The deal with ia64 is just that its implementations don't use __errno_location
directly and so don't have the issue, right?  There is no harm in compiling
those files again for libm, so unless I am missing something I will omit
the ia64-specific bits to minimize the maintenance hair.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Kill __errno_location PLT slot in --with-tls --with-__thread build
  2002-11-15 11:58 Jakub Jelinek
@ 2002-11-15 12:29 ` Roland McGrath
  2002-11-15 13:06 ` Roland McGrath
  2002-11-15 14:46 ` Roland McGrath
  2 siblings, 0 replies; 5+ messages in thread
From: Roland McGrath @ 2002-11-15 12:29 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: Ulrich Drepper, Glibc hackers

There is only this tiny set of duplicated routines and should never be any
more, unlike the rtld case.  So I think this kludge is fine enough.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH] Kill __errno_location PLT slot in --with-tls --with-__thread build
@ 2002-11-15 11:58 Jakub Jelinek
  2002-11-15 12:29 ` Roland McGrath
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Jakub Jelinek @ 2002-11-15 11:58 UTC (permalink / raw)
  To: Roland McGrath, Ulrich Drepper; +Cc: Glibc hackers

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2002-11-15 22:46 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20021115161220.I27455@devserv.devel.redhat.com>
2002-11-15 13:17 ` [PATCH] Kill __errno_location PLT slot in --with-tls --with-__thread build Roland McGrath
2002-11-15 11:58 Jakub Jelinek
2002-11-15 12:29 ` Roland McGrath
2002-11-15 13:06 ` Roland McGrath
2002-11-15 14:46 ` Roland McGrath

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).