about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-04-21 23:12:39 +0000
committerUlrich Drepper <drepper@redhat.com>2004-04-21 23:12:39 +0000
commitab8dc78f717d875a18d24719f35e1d21d69aa2c9 (patch)
treec81cf62dbc3fc710332ebcb61f965e766e32d734
parentfe681416b10ee144dc0cf7857403de619bb77033 (diff)
downloadglibc-ab8dc78f717d875a18d24719f35e1d21d69aa2c9.tar.gz
glibc-ab8dc78f717d875a18d24719f35e1d21d69aa2c9.tar.xz
glibc-ab8dc78f717d875a18d24719f35e1d21d69aa2c9.zip
Update.
2004-04-21  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/setjmp.S: Define _GI___sigsetjmp
	and use it internally instead of __sigsetjmp.
	* sysdeps/ia64/fpu/s_frexpf.c (frexpf): Use _GI___libm_frexp_4f.
	* sysdeps/ia64/fpu/s_frexpl.c (frexpl): Use _GI___libm_frexp_4l.
	* sysdeps/ia64/fpu/libm_frexp4.S: Define _GI___libm_frexp_4.
	* sysdeps/ia64/fpu/libm_frexp4f.S: Define _GI___libm_frexp_4f.
	* sysdeps/ia64/fpu/libm_frexp4l.S: Define _GI___libm_frexp_4l.
	* sysdeps/ia64/fpu/s_frexp.c (frexp): Use _GI___libm_frexp_4.
	* sysdeps/ia64/fpu/libm_support.h: Declare _GI___libm_frexp_4,
	_GI___libm_frexp_4f, _GI___libm_frexp_4l.
	* sysdeps/ia64/fpu/bits/mathinline.h: New file.
	* sysdeps/unix/sysv/linux/ia64/__start_context.S: Use
	HIDDEN_JUMPTARGET for exit call.
	* sysdeps/unix/sysv/linux/ia64/clone2.S: Use HIDDEN_JUMPTARGET for
	_exit call.
	* sysdeps/ia64/bcopy.S: Use HIDDEN_JUMPTARGET for memmove call.
	* sysdeps/ia64/strcat.S: Use HIDDEN_JUMPTARGET for strlen and
	strcpy calls.
-rw-r--r--ChangeLog21
-rw-r--r--sysdeps/ia64/bcopy.S2
-rw-r--r--sysdeps/ia64/fpu/bits/mathinline.h54
-rw-r--r--sysdeps/ia64/fpu/libm_frexp4.S35
-rw-r--r--sysdeps/ia64/fpu/libm_frexp4f.S35
-rw-r--r--sysdeps/ia64/fpu/libm_frexp4l.S35
-rw-r--r--sysdeps/ia64/fpu/libm_support.h3
-rw-r--r--sysdeps/ia64/fpu/s_frexp.c16
-rw-r--r--sysdeps/ia64/fpu/s_frexpf.c16
-rw-r--r--sysdeps/ia64/fpu/s_frexpl.c16
-rw-r--r--sysdeps/unix/sysv/linux/ia64/__start_context.S4
-rw-r--r--sysdeps/unix/sysv/linux/ia64/clone2.S7
-rw-r--r--sysdeps/unix/sysv/linux/ia64/setjmp.S7
13 files changed, 167 insertions, 84 deletions
diff --git a/ChangeLog b/ChangeLog
index 05cc90c0f2..a8a6615793 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2004-04-21  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/ia64/setjmp.S: Define _GI___sigsetjmp
+	and use it internally instead of __sigsetjmp.
+	* sysdeps/ia64/fpu/s_frexpf.c (frexpf): Use _GI___libm_frexp_4f.
+	* sysdeps/ia64/fpu/s_frexpl.c (frexpl): Use _GI___libm_frexp_4l.
+	* sysdeps/ia64/fpu/libm_frexp4.S: Define _GI___libm_frexp_4.
+	* sysdeps/ia64/fpu/libm_frexp4f.S: Define _GI___libm_frexp_4f.
+	* sysdeps/ia64/fpu/libm_frexp4l.S: Define _GI___libm_frexp_4l.
+	* sysdeps/ia64/fpu/s_frexp.c (frexp): Use _GI___libm_frexp_4.
+	* sysdeps/ia64/fpu/libm_support.h: Declare _GI___libm_frexp_4,
+	_GI___libm_frexp_4f, _GI___libm_frexp_4l.
+	* sysdeps/ia64/fpu/bits/mathinline.h: New file.
+	* sysdeps/unix/sysv/linux/ia64/__start_context.S: Use
+	HIDDEN_JUMPTARGET for exit call.
+	* sysdeps/unix/sysv/linux/ia64/clone2.S: Use HIDDEN_JUMPTARGET for
+	_exit call.
+	* sysdeps/ia64/bcopy.S: Use HIDDEN_JUMPTARGET for memmove call.
+	* sysdeps/ia64/strcat.S: Use HIDDEN_JUMPTARGET for strlen and
+	strcpy calls.
+
 2004-04-21  Jakub Jelinek  <jakub@redhat.com>
 
 	* posix/tst-chmod.c (do_test): Fix a typo.
diff --git a/sysdeps/ia64/bcopy.S b/sysdeps/ia64/bcopy.S
index fe90d2166d..a41c21d5a7 100644
--- a/sysdeps/ia64/bcopy.S
+++ b/sysdeps/ia64/bcopy.S
@@ -6,5 +6,5 @@ ENTRY(bcopy)
 	mov in0 = in1
 	;;
 	mov in1 = r8
-	br.cond.sptk.many memmove
+	br.cond.sptk.many HIDDEN_JUMPTARGET(memmove)
 END(bcopy)
diff --git a/sysdeps/ia64/fpu/bits/mathinline.h b/sysdeps/ia64/fpu/bits/mathinline.h
new file mode 100644
index 0000000000..be6a10237c
--- /dev/null
+++ b/sysdeps/ia64/fpu/bits/mathinline.h
@@ -0,0 +1,54 @@
+/* Inline math functions for ia64.
+   Copyright (C) 2004 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#ifndef _MATH_H
+# error "Never use <bits/mathinline.h> directly; include <math.h> instead."
+#endif
+
+#ifdef __cplusplus
+# define __MATH_INLINE __inline
+#else
+# define __MATH_INLINE extern __inline
+#endif
+
+#if defined __USE_ISOC99 && defined __GNUC__ && __GNUC__ >= 2
+/* The gcc, version 2.7 or below, has problems with all this inlining
+   code.  So disable it for this version of the compiler.  */
+# if __GNUC_PREREQ (2, 8)
+/* Test for negative number.  Used in the signbit() macro.  */
+__MATH_INLINE int
+__signbitf (float __x) __THROW
+{
+  __extension__ union { float __f; int __i; } __u = { __f: __x };
+  return __u.__i < 0;
+}
+__MATH_INLINE int
+__signbit (double __x) __THROW
+{
+  __extension__ union { double __d; int __i[2]; } __u = { __d: __x };
+  return __u.__i[1] < 0;
+}
+__MATH_INLINE int
+__signbitl (long double __x) __THROW
+{
+  __extension__ union { long double __l; int __i[3]; } __u = { __l: __x };
+  return (__u.__i[2] & 0x8000) != 0;
+}
+# endif
+#endif
diff --git a/sysdeps/ia64/fpu/libm_frexp4.S b/sysdeps/ia64/fpu/libm_frexp4.S
index 8841a384ab..08c2de6766 100644
--- a/sysdeps/ia64/fpu/libm_frexp4.S
+++ b/sysdeps/ia64/fpu/libm_frexp4.S
@@ -2,7 +2,7 @@
 
 // Copyright (C) 2000, 2001, Intel Corporation
 // All rights reserved.
-// 
+//
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
 // and Ping Tak Peter Tang of the Computational Software Lab, Intel Corporation.
 //
@@ -21,20 +21,20 @@
 // products derived from this software without specific prior written
 // permission.
 //
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR ITS 
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR ITS
 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
-// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
-// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 
+// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY OR TORT (INCLUDING
-// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
-// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
-// 
+// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
 // Intel Corporation is the author of this code, and requests that all
-// problem reports or change requests be submitted to it directly at 
+// problem reports or change requests be submitted to it directly at
 // http://developer.intel.com/opensource.
 //
 // History
@@ -64,7 +64,7 @@
 // Registers used
 //==============================================================
 //
-// general registers: 
+// general registers:
 // r14  exponent bias for x negative
 // r15  exponent bias for x positive
 // r16  signexp of x
@@ -97,7 +97,7 @@
 .proc  __libm_frexp_4#
 .align 32
 
-__libm_frexp_4: 
+__libm_frexp_4:
 
 // Set signexp for significand result for x>0
 // If x is a NaN, zero, or infinity, return it.
@@ -114,7 +114,7 @@ __libm_frexp_4:
 // The normalization also sets fault flags and takes faults if necessary
 { .mfi
 (p0)    mov         r20 = 0x1003f
-(p0)    fnorm       f9 = f8 
+(p0)    fnorm       f9 = f8
         nop.i 999 ;;
 }
 
@@ -158,12 +158,12 @@ __libm_frexp_4:
 }
 
 // true exponent stored to int pointer
-// the bias is treated as 0xfffe instead of 
+// the bias is treated as 0xfffe instead of
 // normal 0xffff because we want the significand
 // to be in the range <=0.5 sig < 1.0
 // Store the value of the exponent at the pointer in r33
 
-// If x>0 form significand result 
+// If x>0 form significand result
 { .mfi
         nop.m 999
 (p8)    fmerge.se   f8 = f10,f9
@@ -171,7 +171,7 @@ __libm_frexp_4:
 }
 
 // Get signexp of normalized x
-// If x<0 form significand result 
+// If x<0 form significand result
 { .mfi
 (p0)    getf.exp    r16 = f9
 (p7)    fmerge.se   f8 = f11,f9
@@ -196,3 +196,4 @@ __libm_frexp_4:
 
 .endp __libm_frexp_4
 ASM_SIZE_DIRECTIVE(__libm_frexp_4)
+strong_alias(__libm_frexp_4, _GI___libm_frexp_4)
diff --git a/sysdeps/ia64/fpu/libm_frexp4f.S b/sysdeps/ia64/fpu/libm_frexp4f.S
index 24eaf6724a..596dea6711 100644
--- a/sysdeps/ia64/fpu/libm_frexp4f.S
+++ b/sysdeps/ia64/fpu/libm_frexp4f.S
@@ -2,7 +2,7 @@
 
 // Copyright (C) 2000, 2001, Intel Corporation
 // All rights reserved.
-// 
+//
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
 // and Ping Tak Peter Tang of the Computational Software Lab, Intel Corporation.
 //
@@ -21,20 +21,20 @@
 // products derived from this software without specific prior written
 // permission.
 //
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR ITS 
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR ITS
 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
-// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
-// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 
+// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY OR TORT (INCLUDING
-// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
-// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
-// 
+// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
 // Intel Corporation is the author of this code, and requests that all
-// problem reports or change requests be submitted to it directly at 
+// problem reports or change requests be submitted to it directly at
 // http://developer.intel.com/opensource.
 //
 // History
@@ -64,7 +64,7 @@
 // Registers used
 //==============================================================
 
-// general registers: 
+// general registers:
 // r14  exponent bias for x negative
 // r15  exponent bias for x positive
 // r16  signexp of x
@@ -97,7 +97,7 @@
 .proc  __libm_frexp_4f#
 .align 32
 
-__libm_frexp_4f: 
+__libm_frexp_4f:
 
 // Set signexp for significand result for x>0
 // If x is a NaN, zero, or infinity, return it.
@@ -114,7 +114,7 @@ __libm_frexp_4f:
 // The normalization also sets fault flags and takes faults if necessary
 { .mfi
 (p0)    mov         r20 = 0x1003f
-(p0)    fnorm       f9 = f8 
+(p0)    fnorm       f9 = f8
         nop.i 999 ;;
 }
 
@@ -158,12 +158,12 @@ __libm_frexp_4f:
 }
 
 // true exponent stored to int pointer
-// the bias is treated as 0xfffe instead of 
+// the bias is treated as 0xfffe instead of
 // normal 0xffff because we want the significand
 // to be in the range <=0.5 sig < 1.0
 // Store the value of the exponent at the pointer in r33
 
-// If x>0 form significand result 
+// If x>0 form significand result
 { .mfi
         nop.m 999
 (p8)    fmerge.se   f8 = f10,f9
@@ -171,7 +171,7 @@ __libm_frexp_4f:
 }
 
 // Get signexp of normalized x
-// If x<0 form significand result 
+// If x<0 form significand result
 { .mfi
 (p0)    getf.exp    r16 = f9
 (p7)    fmerge.se   f8 = f11,f9
@@ -196,3 +196,4 @@ __libm_frexp_4f:
 
 .endp __libm_frexp_4f
 ASM_SIZE_DIRECTIVE(__libm_frexp_4f)
+strong_alias(__libm_frexp_4f, _GI___libm_frexp_4f)
diff --git a/sysdeps/ia64/fpu/libm_frexp4l.S b/sysdeps/ia64/fpu/libm_frexp4l.S
index a3ca2bc7be..447c574bfc 100644
--- a/sysdeps/ia64/fpu/libm_frexp4l.S
+++ b/sysdeps/ia64/fpu/libm_frexp4l.S
@@ -2,7 +2,7 @@
 
 // Copyright (C) 2000, 2001, Intel Corporation
 // All rights reserved.
-// 
+//
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
 // and Ping Tak Peter Tang of the Computational Software Lab, Intel Corporation.
 //
@@ -21,20 +21,20 @@
 // products derived from this software without specific prior written
 // permission.
 //
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR ITS 
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR ITS
 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
-// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
-// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 
+// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY OR TORT (INCLUDING
-// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
-// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
-// 
+// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
 // Intel Corporation is the author of this code, and requests that all
-// problem reports or change requests be submitted to it directly at 
+// problem reports or change requests be submitted to it directly at
 // http://developer.intel.com/opensource.
 //
 // History
@@ -63,7 +63,7 @@
 // Registers used
 //==============================================================
 //
-// general registers: 
+// general registers:
 // r14  exponent bias for x negative
 // r15  exponent bias for x positive
 // r16  signexp of x
@@ -96,7 +96,7 @@
 .proc  __libm_frexp_4l#
 .align 32
 
-__libm_frexp_4l: 
+__libm_frexp_4l:
 
 // Set signexp for significand result for x>0
 // If x is a NaN, zero, or infinity, return it.
@@ -113,7 +113,7 @@ __libm_frexp_4l:
 // The normalization also sets fault flags and takes faults if necessary
 { .mfi
 (p0)    mov         r20 = 0x1003f
-(p0)    fnorm       f9 = f8 
+(p0)    fnorm       f9 = f8
         nop.i 999 ;;
 }
 
@@ -157,12 +157,12 @@ __libm_frexp_4l:
 }
 
 // true exponent stored to int pointer
-// the bias is treated as 0xfffe instead of 
+// the bias is treated as 0xfffe instead of
 // normal 0xffff because we want the significand
 // to be in the range <=0.5 sig < 1.0
 // Store the value of the exponent at the pointer in r34
 
-// If x>0 form significand result 
+// If x>0 form significand result
 { .mfi
         nop.m 999
 (p8)    fmerge.se   f8 = f10,f9
@@ -170,7 +170,7 @@ __libm_frexp_4l:
 }
 
 // Get signexp of normalized x
-// If x<0 form significand result 
+// If x<0 form significand result
 { .mfi
 (p0)    getf.exp    r16 = f9
 (p7)    fmerge.se   f8 = f11,f9
@@ -195,3 +195,4 @@ __libm_frexp_4l:
 
 .endp __libm_frexp_4l
 ASM_SIZE_DIRECTIVE(__libm_frexp_4l)
+strong_alias(__libm_frexp_4l, _GI___libm_frexp_4l)
diff --git a/sysdeps/ia64/fpu/libm_support.h b/sysdeps/ia64/fpu/libm_support.h
index f1b37b4b15..68ebddec81 100644
--- a/sysdeps/ia64/fpu/libm_support.h
+++ b/sysdeps/ia64/fpu/libm_support.h
@@ -53,10 +53,13 @@
 #include <math.h>
 
 float __libm_frexp_4f( float x, int*  exp);
+float _GI___libm_frexp_4f( float x, int*  exp);
 float __libm_frexp_8f( float x, int*  exp);
 double __libm_frexp_4( double x, int*  exp);
+double _GI___libm_frexp_4( double x, int*  exp);
 double __libm_frexp_8( double x, int*  exp);
 long double __libm_frexp_4l( long double x, int*  exp);
+long double _GI___libm_frexp_4l( long double x, int*  exp);
 long double __libm_frexp_8l( long double x, int*  exp);
 void __libm_sincos_pi4(double,double*,double*,int);
 void __libm_y0y1(double , double *, double *);
diff --git a/sysdeps/ia64/fpu/s_frexp.c b/sysdeps/ia64/fpu/s_frexp.c
index 9a25617b40..98349bca47 100644
--- a/sysdeps/ia64/fpu/s_frexp.c
+++ b/sysdeps/ia64/fpu/s_frexp.c
@@ -1,8 +1,8 @@
-//  
+//
 // Copyright (C) 2000, 2001, Intel Corporation
 // All rights reserved.
 //
-// Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story, 
+// Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
 // and Ping Tak Peter Tang of the Computational Software Lab, Intel Corporation.
 //
 // Redistribution and use in source and binary forms, with or without
@@ -21,12 +21,12 @@
 // permission.
 //
 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR ITS 
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR ITS
 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY OR TORT (INCLUDING
 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
@@ -43,13 +43,13 @@
 double frexp(double x, int *y)
 {
 
-#ifdef SIZE_INT_64 
+#ifdef SIZE_INT_64
    return( __libm_frexp_8(x, y) );
 
 #else
 
-#ifdef SIZE_INT_32 
-   return( __libm_frexp_4(x, y) );
+#ifdef SIZE_INT_32
+   return( _GI___libm_frexp_4(x, y) );
 #endif
 
 #endif
diff --git a/sysdeps/ia64/fpu/s_frexpf.c b/sysdeps/ia64/fpu/s_frexpf.c
index ec9848ebe2..f666304147 100644
--- a/sysdeps/ia64/fpu/s_frexpf.c
+++ b/sysdeps/ia64/fpu/s_frexpf.c
@@ -1,8 +1,8 @@
-//  
+//
 // Copyright (C) 2000, 2001, Intel Corporation
 // All rights reserved.
 //
-// Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story, 
+// Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
 // and Ping Tak Peter Tang of the Computational Software Lab, Intel Corporation.
 //
 // Redistribution and use in source and binary forms, with or without
@@ -21,12 +21,12 @@
 // permission.
 //
 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR ITS 
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR ITS
 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY OR TORT (INCLUDING
 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
@@ -43,13 +43,13 @@
 float frexpf(float x, int *y)
 {
 
-#ifdef SIZE_INT_64 
+#ifdef SIZE_INT_64
    return( __libm_frexp_8f(x, y) );
 
 #else
 
-#ifdef SIZE_INT_32 
-   return( __libm_frexp_4f(x, y) );
+#ifdef SIZE_INT_32
+   return( _GI___libm_frexp_4f(x, y) );
 #endif
 
 #endif
diff --git a/sysdeps/ia64/fpu/s_frexpl.c b/sysdeps/ia64/fpu/s_frexpl.c
index 48a60d3a61..3edc971e3f 100644
--- a/sysdeps/ia64/fpu/s_frexpl.c
+++ b/sysdeps/ia64/fpu/s_frexpl.c
@@ -1,8 +1,8 @@
-//  
+//
 // Copyright (C) 2000, 2001, Intel Corporation
 // All rights reserved.
 //
-// Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story, 
+// Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
 // and Ping Tak Peter Tang of the Computational Software Lab, Intel Corporation.
 //
 // Redistribution and use in source and binary forms, with or without
@@ -21,12 +21,12 @@
 // permission.
 //
 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR ITS 
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR ITS
 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY OR TORT (INCLUDING
 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
@@ -43,13 +43,13 @@
 long double frexpl(long double x, int *y)
 {
 
-#ifdef SIZE_INT_64 
+#ifdef SIZE_INT_64
    return( __libm_frexp_8l(x, y) );
 
 #else
 
-#ifdef SIZE_INT_32 
-   return( __libm_frexp_4l(x, y) );
+#ifdef SIZE_INT_32
+   return( _GI___libm_frexp_4l(x, y) );
 #endif
 
 #endif
diff --git a/sysdeps/unix/sysv/linux/ia64/__start_context.S b/sysdeps/unix/sysv/linux/ia64/__start_context.S
index 8662f5fe96..519bd252b1 100644
--- a/sysdeps/unix/sysv/linux/ia64/__start_context.S
+++ b/sysdeps/unix/sysv/linux/ia64/__start_context.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by David Mosberger-Tang <davidm@hpl.hp.com>.
 
@@ -46,7 +46,7 @@ ENTRY(__start_context)
 (p6)	br.call.sptk rp = __setcontext
 .Lexit:
 	mov out0 = 0
-	br.call.sptk rp = exit
+	br.call.sptk rp = HIDDEN_JUMPTARGET(exit)
 
 1:	br.cond.sptk .Lexit
 END(__start_context)
diff --git a/sysdeps/unix/sysv/linux/ia64/clone2.S b/sysdeps/unix/sysv/linux/ia64/clone2.S
index 968d1e811c..af5e009be4 100644
--- a/sysdeps/unix/sysv/linux/ia64/clone2.S
+++ b/sysdeps/unix/sysv/linux/ia64/clone2.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -72,8 +72,9 @@ ENTRY(__clone2)
 	br.call.dptk.many rp=b6	/* Call fn(arg) in the child 	*/
 	;;
 	mov out0=r8		/* Argument to _exit		*/
-	.globl _exit
-	br.call.dpnt.many rp=_exit /* call _exit with result from fn.	*/
+	.globl HIDDEN_JUMPTARGET(_exit)
+	br.call.dpnt.many rp=HIDDEN_JUMPTARGET(_exit)
+				/* call _exit with result from fn.	*/
 	ret			/* Not reached.		*/
 PSEUDO_END(__clone2)
 
diff --git a/sysdeps/unix/sysv/linux/ia64/setjmp.S b/sysdeps/unix/sysv/linux/ia64/setjmp.S
index 6fbd2051c8..9c987c7ef8 100644
--- a/sysdeps/unix/sysv/linux/ia64/setjmp.S
+++ b/sysdeps/unix/sysv/linux/ia64/setjmp.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 2001, 2002, 2004 Free Software Foundation, Inc.
    Contributed by David Mosberger-Tang <davidm@hpl.hp.com>.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -72,13 +72,13 @@
 LEAF(setjmp)
 	alloc r8=ar.pfs,2,0,0,0
 	mov in1=1
-	br.cond.sptk.many __sigsetjmp
+	br.cond.sptk.many _GI___sigsetjmp
 END(setjmp)
 
 LEAF(_setjmp)
 	alloc r8=ar.pfs,2,0,0,0
 	mov in1=0
-	br.cond.sptk.many __sigsetjmp
+	br.cond.sptk.many _GI___sigsetjmp
 END(_setjmp)
 libc_hidden_def (_setjmp)
 
@@ -177,6 +177,7 @@ ENTRY(__sigsetjmp)
 	mov r8=0
 	ret
 END(__sigsetjmp)
+strong_alias(__sigsetjmp, _GI___sigsetjmp)
 
 weak_extern(_setjmp)
 weak_extern(setjmp)