From ab8dc78f717d875a18d24719f35e1d21d69aa2c9 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 21 Apr 2004 23:12:39 +0000 Subject: Update. 2004-04-21 Ulrich Drepper * 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. --- sysdeps/ia64/bcopy.S | 2 +- sysdeps/ia64/fpu/bits/mathinline.h | 54 ++++++++++++++++++++++++++ sysdeps/ia64/fpu/libm_frexp4.S | 35 +++++++++-------- sysdeps/ia64/fpu/libm_frexp4f.S | 35 +++++++++-------- sysdeps/ia64/fpu/libm_frexp4l.S | 35 +++++++++-------- sysdeps/ia64/fpu/libm_support.h | 3 ++ sysdeps/ia64/fpu/s_frexp.c | 16 ++++---- sysdeps/ia64/fpu/s_frexpf.c | 16 ++++---- sysdeps/ia64/fpu/s_frexpl.c | 16 ++++---- sysdeps/unix/sysv/linux/ia64/__start_context.S | 4 +- sysdeps/unix/sysv/linux/ia64/clone2.S | 7 ++-- sysdeps/unix/sysv/linux/ia64/setjmp.S | 7 ++-- 12 files changed, 146 insertions(+), 84 deletions(-) create mode 100644 sysdeps/ia64/fpu/bits/mathinline.h (limited to 'sysdeps') 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 directly; include 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 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 . @@ -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 . 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) -- cgit v1.2.3