From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23065 invoked by alias); 15 Nov 2002 19:58:17 -0000 Mailing-List: contact libc-hacker-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-hacker-owner@sources.redhat.com Received: (qmail 23047 invoked from network); 15 Nov 2002 19:58:16 -0000 Received: from unknown (HELO sunsite.mff.cuni.cz) (195.113.19.66) by sources.redhat.com with SMTP; 15 Nov 2002 19:58:16 -0000 Received: (from jakub@localhost) by sunsite.mff.cuni.cz (8.11.6/8.11.6) id gAFJwDr29713; Fri, 15 Nov 2002 20:58:13 +0100 Date: Fri, 15 Nov 2002 11:58:00 -0000 From: Jakub Jelinek To: Roland McGrath , Ulrich Drepper Cc: Glibc hackers Subject: [PATCH] Kill __errno_location PLT slot in --with-tls --with-__thread build Message-ID: <20021115205813.M6569@sunsite.ms.mff.cuni.cz> Reply-To: Jakub Jelinek Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i X-SW-Source: 2002-11/txt/msg00061.txt.bz2 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 * 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 --- 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 --- 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 --- 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