From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10217 invoked by alias); 8 Feb 2010 12:17:45 -0000 Received: (qmail 10199 invoked by uid 22791); 8 Feb 2010 12:17:45 -0000 X-SWARE-Spam-Status: No, hits=-5.7 required=5.0 tests=AWL,BAYES_05,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 08 Feb 2010 12:17:41 +0000 Received: from int-mx04.intmail.prod.int.phx2.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.17]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o18CHdPv019628 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 8 Feb 2010 07:17:39 -0500 Received: from hase.home (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx04.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o18CHbgP011254 for ; Mon, 8 Feb 2010 07:17:38 -0500 From: Andreas Schwab To: libc-hacker@sourceware.org Subject: [PATCH] Avoid PLT call to fegetenv on s390 References: <4B6D4326.1050403@redhat.com> X-Yow: Uh-oh -- WHY am I suddenly thinking of a VENERABLE religious leader frolicking on a FORT LAUDERDALE weekend? Date: Mon, 08 Feb 2010 12:17:00 -0000 In-Reply-To: <4B6D4326.1050403@redhat.com> (Ulrich Drepper's message of "Sat, 06 Feb 2010 02:23:34 -0800") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Mailing-List: contact libc-hacker-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-hacker-owner@sourceware.org X-SW-Source: 2010-02/txt/msg00002.txt.bz2 2010-02-08 Andreas Schwab * include/fenv.h: Add hidden proto for fegetenv. * math/fegetenv.c: Add hidden alias. * sysdeps/i386/fpu/fegetenv.c: Likewise. * sysdeps/ia64/fpu/fegetenv.c: Likewise. * sysdeps/powerpc/fpu/fegetenv.c: Likewise. * sysdeps/sh/sh4/fpu/fegetenv.c: Likewise. * sysdeps/sparc/fpu/fegetenv.c: Likewise. * sysdeps/x86_64/fpu/fegetenv.c: Likewise * sysdeps/s390/fpu/fegetenv.c: Likewise. Remove unused headers. diff --git a/include/fenv.h b/include/fenv.h index 3aec7e5..254162d 100644 --- a/include/fenv.h +++ b/include/fenv.h @@ -13,6 +13,7 @@ extern int __fesetenv (__const fenv_t *__envp); extern int __feupdateenv (__const fenv_t *__envp); libm_hidden_proto (feraiseexcept) +libm_hidden_proto (fegetenv) libm_hidden_proto (fesetenv) libm_hidden_proto (fesetround) libm_hidden_proto (feholdexcept) diff --git a/math/fegetenv.c b/math/fegetenv.c index 4a878cc..5b52430 100644 --- a/math/fegetenv.c +++ b/math/fegetenv.c @@ -32,6 +32,7 @@ __fegetenv (fenv_t *envp) strong_alias (__fegetenv, __old_fegetenv) compat_symbol (libm, BP_SYM (__old_fegetenv), BP_SYM (fegetenv), GLIBC_2_1); #endif +libm_hidden_ver (__fegetenv, fegetenv) versioned_symbol (libm, BP_SYM (__fegetenv), BP_SYM (fegetenv), GLIBC_2_2); stub_warning (fegetenv) diff --git a/sysdeps/i386/fpu/fegetenv.c b/sysdeps/i386/fpu/fegetenv.c index fb955cf..ddb67e5 100644 --- a/sysdeps/i386/fpu/fegetenv.c +++ b/sysdeps/i386/fpu/fegetenv.c @@ -40,4 +40,5 @@ strong_alias (__fegetenv, __old_fegetenv) compat_symbol (libm, BP_SYM (__old_fegetenv), BP_SYM (fegetenv), GLIBC_2_1); #endif +libm_hidden_ver (__fegetenv, fegetenv) versioned_symbol (libm, BP_SYM (__fegetenv), BP_SYM (fegetenv), GLIBC_2_2); diff --git a/sysdeps/ia64/fpu/fegetenv.c b/sysdeps/ia64/fpu/fegetenv.c index 5446b16..e240f75 100644 --- a/sysdeps/ia64/fpu/fegetenv.c +++ b/sysdeps/ia64/fpu/fegetenv.c @@ -27,3 +27,4 @@ fegetenv (fenv_t *envp) return 0; } +libm_hidden_def (fegetenv) diff --git a/sysdeps/powerpc/fpu/fegetenv.c b/sysdeps/powerpc/fpu/fegetenv.c index 5395345..3d21abb 100644 --- a/sysdeps/powerpc/fpu/fegetenv.c +++ b/sysdeps/powerpc/fpu/fegetenv.c @@ -35,4 +35,5 @@ strong_alias (__fegetenv, __old_fegetenv) compat_symbol (libm, BP_SYM (__old_fegetenv), BP_SYM (fegetenv), GLIBC_2_1); #endif +libm_hidden_ver (__fegetenv, fegetenv) versioned_symbol (libm, BP_SYM (__fegetenv), BP_SYM (fegetenv), GLIBC_2_2); diff --git a/sysdeps/s390/fpu/fegetenv.c b/sysdeps/s390/fpu/fegetenv.c index a244f2c..04da54c 100644 --- a/sysdeps/s390/fpu/fegetenv.c +++ b/sysdeps/s390/fpu/fegetenv.c @@ -20,10 +20,6 @@ #include #include -#include -#include -#include -#include int fegetenv (fenv_t *envp) @@ -33,3 +29,4 @@ fegetenv (fenv_t *envp) /* Success. */ return 0; } +libm_hidden_def (fegetenv) diff --git a/sysdeps/sh/sh4/fpu/fegetenv.c b/sysdeps/sh/sh4/fpu/fegetenv.c index c07b32a..683939b 100644 --- a/sysdeps/sh/sh4/fpu/fegetenv.c +++ b/sysdeps/sh/sh4/fpu/fegetenv.c @@ -29,3 +29,4 @@ fegetenv (fenv_t *envp) return 0; } +libm_hidden_def (fegetenv) diff --git a/sysdeps/sparc/fpu/fegetenv.c b/sysdeps/sparc/fpu/fegetenv.c index 36486f5..c606a9c 100644 --- a/sysdeps/sparc/fpu/fegetenv.c +++ b/sysdeps/sparc/fpu/fegetenv.c @@ -34,4 +34,5 @@ strong_alias (__fegetenv, __old_fegetenv) compat_symbol (libm, __old_fegetenv, fegetenv, GLIBC_2_1); #endif +libm_hidden_ver (__fegetenv, fegetenv) versioned_symbol (libm, __fegetenv, fegetenv, GLIBC_2_2); diff --git a/sysdeps/x86_64/fpu/fegetenv.c b/sysdeps/x86_64/fpu/fegetenv.c index fa5a8da..2159a1f 100644 --- a/sysdeps/x86_64/fpu/fegetenv.c +++ b/sysdeps/x86_64/fpu/fegetenv.c @@ -28,3 +28,4 @@ fegetenv (fenv_t *envp) /* Success. */ return 0; } +libm_hidden_def (fegetenv) -- 1.6.6.1 -- Andreas Schwab, schwab@redhat.com GPG Key fingerprint = D4E8 DBE3 3813 BB5D FA84 5EC7 45C6 250E 6F00 984E "And now for something completely different."