This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: BZ 464: IA64 math functions aren't weak


This patch fixes

http://sources.redhat.com/bugzilla/show_bug.cgi?id=464

The normal entry points in libm should be weak so that they can be
overridden. This patch makes ia64 the same as other targets.


H.J.
-----
2004-10-26  H.J. Lu  <hongjiu.lu@intel.com>

	[BZ #464]
	* sysdeps/ia64/fpu/s_atan.S: Define __xxx and make xxx an weak
	alias of __xxx if _LIBC is defined.
	 * sysdeps/ia64/fpu/s_atanf.S: Likewise.
	 * sysdeps/ia64/fpu/s_atanl.S: Likewise.
	 * sysdeps/ia64/fpu/s_cbrt.S: Likewise.
	 * sysdeps/ia64/fpu/s_cbrtf.S: Likewise.
	 * sysdeps/ia64/fpu/s_cbrtl.S: Likewise.
	 * sysdeps/ia64/fpu/s_ceil.S: Likewise.
	 * sysdeps/ia64/fpu/s_ceilf.S: Likewise.
	 * sysdeps/ia64/fpu/s_ceill.S: Likewise.
	 * sysdeps/ia64/fpu/s_cos.S: Likewise.
	 * sysdeps/ia64/fpu/s_cosf.S: Likewise.
	 * sysdeps/ia64/fpu/s_cosl.S: Likewise.
	 * sysdeps/ia64/fpu/s_expm1.S: Likewise.
	 * sysdeps/ia64/fpu/s_expm1f.S: Likewise.
	 * sysdeps/ia64/fpu/s_expm1l.S: Likewise.
	 * sysdeps/ia64/fpu/s_floor.S: Likewise.
	 * sysdeps/ia64/fpu/s_floorf.S: Likewise.
	 * sysdeps/ia64/fpu/s_floorl.S: Likewise.
	 * sysdeps/ia64/fpu/s_frexp.c: Likewise.
	 * sysdeps/ia64/fpu/s_frexpf.c: Likewise.
	 * sysdeps/ia64/fpu/s_frexpl.c: Likewise.
	 * sysdeps/ia64/fpu/s_ilogb.S: Likewise.
	 * sysdeps/ia64/fpu/s_ilogbf.S: Likewise.
	 * sysdeps/ia64/fpu/s_ilogbl.S: Likewise.
	 * sysdeps/ia64/fpu/s_ldexp.S: Likewise.
	 * sysdeps/ia64/fpu/s_ldexpf.S: Likewise.
	 * sysdeps/ia64/fpu/s_ldexpl.S: Likewise.
	 * sysdeps/ia64/fpu/s_log1p.S: Likewise.
	 * sysdeps/ia64/fpu/s_log1pf.S: Likewise.
	 * sysdeps/ia64/fpu/s_log1pl.S: Likewise.
	 * sysdeps/ia64/fpu/s_logb.S: Likewise.
	 * sysdeps/ia64/fpu/s_logbf.S: Likewise.
	 * sysdeps/ia64/fpu/s_logbl.S: Likewise.
	 * sysdeps/ia64/fpu/s_modf.S: Likewise.
	 * sysdeps/ia64/fpu/s_modff.S: Likewise.
	 * sysdeps/ia64/fpu/s_modfl.S: Likewise.
	 * sysdeps/ia64/fpu/s_nearbyint.S: Likewise.
	 * sysdeps/ia64/fpu/s_nearbyintf.S: Likewise.
	 * sysdeps/ia64/fpu/s_nearbyintl.S: Likewise.
	 * sysdeps/ia64/fpu/s_rint.S: Likewise.
	 * sysdeps/ia64/fpu/s_rintf.S: Likewise.
	 * sysdeps/ia64/fpu/s_rintl.S: Likewise.
	 * sysdeps/ia64/fpu/s_round.S: Likewise.
	 * sysdeps/ia64/fpu/s_roundf.S: Likewise.
	 * sysdeps/ia64/fpu/s_roundl.S: Likewise.
	 * sysdeps/ia64/fpu/s_scalbn.S: Likewise.
	 * sysdeps/ia64/fpu/s_scalbnf.S: Likewise.
	 * sysdeps/ia64/fpu/s_scalbnl.S: Likewise.
	 * sysdeps/ia64/fpu/s_significand.S: Likewise.
	 * sysdeps/ia64/fpu/s_significandf.S: Likewise.
	 * sysdeps/ia64/fpu/s_significandl.S: Likewise.
	 * sysdeps/ia64/fpu/s_tan.S: Likewise.
	 * sysdeps/ia64/fpu/s_tanf.S: Likewise.
	 * sysdeps/ia64/fpu/s_tanl.S: Likewise.
	 * sysdeps/ia64/fpu/s_trunc.S: Likewise.
	 * sysdeps/ia64/fpu/s_truncf.S: Likewise.
	 * sysdeps/ia64/fpu/s_truncl.S: Likewise.

	 * sysdeps/ia64/fpu/s_sincos.c: Call __xxx instead of xxx.
	 * sysdeps/ia64/fpu/s_sincosf.c: Likewise.
	 * sysdeps/ia64/fpu/s_sincosl.c: Likewise.

	 * sysdeps/ia64/fpu/w_expl.c: New file.

--- sysdeps/ia64/fpu/s_atan.S.weak	2002-07-05 23:35:58.000000000 -0700
+++ sysdeps/ia64/fpu/s_atan.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "atan.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -375,17 +375,25 @@ ASM_SIZE_DIRECTIVE(double_atan_constants
 
 
 .align 32
-.global atan#
 
 ////////////////////////////////////////////////////////
 
 
 
 .section .text
+#ifdef _LIBC
+.global __atan#
+.proc  __atan#
+.align 32
+
+__atan:
+#else
+.global atan#
 .proc  atan#
 .align 32
 
 atan: 
+#endif
 
 { .mmf
 (p0)  addl      atan_GR_AD_P   = @ltoff(double_atan_constants_P), gp
@@ -962,5 +970,11 @@ atan: 
 (p0)  br.ret.sptk    b0    ;;
 }
 
+#ifdef _LIBC
+.endp __atan
+ASM_SIZE_DIRECTIVE(__atan)
+weak_alias (__atan, atan)
+#else
 .endp atan
 ASM_SIZE_DIRECTIVE(atan)
+#endif
--- sysdeps/ia64/fpu/s_atanf.S.weak	2002-07-05 23:35:58.000000000 -0700
+++ sysdeps/ia64/fpu/s_atanf.S	2004-10-26 10:56:40.000000000 -0700
@@ -2,7 +2,7 @@
 
 // THIS IS NOT OPTIMIZED AND NOT OFFICIAL
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004 Intel Corporation
 // All rights reserved.
 //
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -186,13 +186,20 @@ ASM_SIZE_DIRECTIVE(atanf_coeff_2_table)
 
 
 
-.global atanf 
-
 .text
+#ifdef _LIBC
+.global __atanf
+.proc  __atanf
+
+.align 32
+__atanf:
+#else
+.global atanf
 .proc  atanf
 
 .align 32
 atanf:
+#endif
 
 
 {     .mfi 
@@ -552,5 +559,11 @@ L(ATANF_X_INF_NAN_ZERO):
       fnorm.s f8 = f8
       br.ret.sptk b0
 
+#ifdef _LIBC
+.endp __atanf
+ASM_SIZE_DIRECTIVE(__atanf)
+weak_alias (__atanf, atanf)
+#else
 .endp atanf
 ASM_SIZE_DIRECTIVE(atanf)
+#endif
--- sysdeps/ia64/fpu/s_atanl.S.weak	2002-07-05 23:35:58.000000000 -0700
+++ sysdeps/ia64/fpu/s_atanl.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "atanl.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -657,35 +657,50 @@ ASM_SIZE_DIRECTIVE(Constants_atan)
 
 
 .text
+#ifdef _LIBC
+.proc __atanl#
+.global __atanl#
+.align 64
+
+__atanl: 
+#else
 .proc atanl#
 .global atanl#
 .align 64
 
 atanl: 
+#endif
 { .mfb
 	nop.m 999
 (p0)   mov ArgX_orig = f1 
+#ifdef _LIBC
+(p0)   br.cond.sptk __atan2l ;;
+#else
 (p0)   br.cond.sptk atan2l ;;
+#endif
 }
+#ifdef _LIBC
+.endp __atanl
+ASM_SIZE_DIRECTIVE(__atanl)
+weak_alias (__atanl, atanl)
+#else
 .endp atanl
 ASM_SIZE_DIRECTIVE(atanl)
+#endif
 
 .text
-.proc atan2l#
-.global atan2l#
 #ifdef _LIBC
 .proc __atan2l#
 .global __atan2l#
-.proc __ieee754_atan2l#
-.global __ieee754_atan2l#
-#endif
 .align 64 
 
+__atan2l:
+#else
+.proc atan2l#
+.global atan2l#
+.align 64 
 
 atan2l:
-#ifdef _LIBC
-__atan2l:
-__ieee754_atan2l:
 #endif
 { .mfi
 alloc r32 = ar.pfs, 0, 17 , 4, 0
@@ -1947,10 +1962,15 @@ L(ATANL_ArgY_Not_INF): 
 //
 //    return = sign_Y * PI when ArgX = -Inf
 //
+#ifdef _LIBC
+.endp __atan2l
+ASM_SIZE_DIRECTIVE(__atan2l)
+weak_alias (__atan2l, atan2l)
+strong_alias (__atan2l, __ieee754_atan2l)
+#else
 .endp atan2l
 ASM_SIZE_DIRECTIVE(atan2l)
-ASM_SIZE_DIRECTIVE(__atan2l)
-ASM_SIZE_DIRECTIVE(__ieee754_atan2l)
+#endif
  
 .proc __libm_error_region
 __libm_error_region:
--- sysdeps/ia64/fpu/s_cbrt.S.weak	2002-07-05 23:35:58.000000000 -0700
+++ sysdeps/ia64/fpu/s_cbrt.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "cbrt.asm"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Cristina Iordache, Ted Kubaska, 
@@ -509,12 +509,20 @@ ASM_SIZE_DIRECTIVE(T_table)
 
 
 .align 32
-.global cbrt#
-
 .section .text
+#ifdef _LIBC
+.global __cbrt#
+.proc  __cbrt#
+
+.align 32
+__cbrt: 
+#else
+.global cbrt#
 .proc  cbrt#
+
 .align 32
 cbrt: 
+#endif
 
 
 { .mfi
@@ -685,5 +693,11 @@ cbrt: 
   (p6) fnma.d.s0 f8=f8,f9,f8
   br.ret.sptk b0;;
 }
+#ifdef _LIBC
+.endp __cbrt
+ASM_SIZE_DIRECTIVE(__cbrt)
+weak_alias (__cbrt, cbrt)
+#else
 .endp cbrt
 ASM_SIZE_DIRECTIVE(cbrt)
+#endif
--- sysdeps/ia64/fpu/s_cbrtf.S.weak	2002-07-05 23:35:58.000000000 -0700
+++ sysdeps/ia64/fpu/s_cbrtf.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "cbrtf.asm"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Cristina Iordache, Ted Kubaska, 
@@ -509,12 +509,18 @@ ASM_SIZE_DIRECTIVE(T_table)
 
 
 .align 32
-.global cbrtf#
-
 .section .text
+#ifdef _LIBC
+.global __cbrtf#
+.proc  __cbrtf#
+.align 32
+__cbrtf: 
+#else
+.global cbrtf#
 .proc  cbrtf#
 .align 32
 cbrtf: 
+#endif
 
 
 { .mfi
@@ -664,5 +670,11 @@ cbrtf: 
   (p6) fma.s.s0 f8=f8,f14,f0
   br.ret.sptk b0;;
 }
+#ifdef _LIBC
+.endp __cbrtf
+ASM_SIZE_DIRECTIVE(__cbrtf)
+weak_alias (__cbrtf, cbrtf)
+#else
 .endp cbrtf
 ASM_SIZE_DIRECTIVE(cbrtf)
+#endif
--- sysdeps/ia64/fpu/s_cbrtl.S.weak	2002-07-05 23:35:58.000000000 -0700
+++ sysdeps/ia64/fpu/s_cbrtl.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "cbrtl.asm"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Cristina Iordache, Ted Kubaska, 
@@ -710,12 +710,18 @@ ASM_SIZE_DIRECTIVE(D_table)
 
 
 .align 32
-.global cbrtl#
-
 .section .text
+#ifdef _LIBC
+.global __cbrtl#
+.proc  __cbrtl#
+.align 32
+__cbrtl: 
+#else
+.global cbrtl#
 .proc  cbrtl#
 .align 32
 cbrtl: 
+#endif
 
 
 { .mfi
@@ -898,5 +904,11 @@ cbrtl: 
   (p6) fma.s0 f8=f8,f6,f8
   br.ret.sptk b0;;
 }
+#ifdef _LIBC
+.endp __cbrtl
+ASM_SIZE_DIRECTIVE(__cbrtl)
+weak_alias (__cbrtl, cbrtl)
+#else
 .endp cbrtl
 ASM_SIZE_DIRECTIVE(cbrtl)
+#endif
--- sysdeps/ia64/fpu/s_ceil.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_ceil.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "ceil.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -41,11 +41,7 @@
 #include "libm_support.h"
 
 .align 32
-.global ceil#
-
 .section .text
-.proc  ceil#
-.align 32
 
 // History
 //==============================================================
@@ -130,7 +126,17 @@ CEIL_MINUS_ONE    = f15
 // 1    1    1   0        0     1 11     0xe7
 
 
+#ifdef _LIBC
+.global __ceil#
+.proc  __ceil#
+.align 32
+__ceil:
+#else
+.global ceil#
+.proc  ceil#
+.align 32
 ceil:
+#endif
 
 { .mfi
       getf.exp ceil_GR_signexp  = f8
@@ -258,5 +264,11 @@ L(CEIL_DENORM):
       br.cond.sptk  L(CEIL_COMMON) ;;
 }
 
+#ifdef _LIBC
+.endp __ceil
+ASM_SIZE_DIRECTIVE(__ceil)
+weak_alias (__ceil, ceil)
+#else
 .endp ceil
 ASM_SIZE_DIRECTIVE(ceil)
+#endif
--- sysdeps/ia64/fpu/s_ceilf.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_ceilf.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "ceilf.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -41,11 +41,7 @@
 #include "libm_support.h"
 
 .align 32
-.global ceilf#
-
 .section .text
-.proc  ceilf#
-.align 32
 
 // History
 //==============================================================
@@ -130,7 +126,17 @@ CEIL_MINUS_ONE    = f15
 // 1    1    1   0        0     1 11     0xe7
 
 
+#ifdef _LIBC
+.global __ceilf#
+.proc  __ceilf#
+.align 32
+__ceilf:
+#else
+.global ceilf#
+.proc  ceilf#
+.align 32
 ceilf:
+#endif
 
 { .mfi
       getf.exp ceil_GR_signexp  = f8
@@ -258,5 +264,11 @@ L(CEIL_DENORM):
       br.cond.sptk  L(CEIL_COMMON) ;;
 }
 
+#ifdef _LIBC
+.endp __ceilf
+ASM_SIZE_DIRECTIVE(__ceilf)
+weak_alias (__ceilf, ceilf)
+#else
 .endp ceilf
 ASM_SIZE_DIRECTIVE(ceilf)
+#endif
--- sysdeps/ia64/fpu/s_ceill.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_ceill.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "ceill.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -41,11 +41,7 @@
 #include "libm_support.h"
 
 .align 32
-.global ceill#
-
 .section .text
-.proc  ceill#
-.align 32
 
 // History
 //==============================================================
@@ -130,7 +126,17 @@ CEIL_MINUS_ONE    = f15
 // 1    1    1   0        0     1 11     0xe7
 
 
+#ifdef _LIBC
+.global __ceill#
+.proc  __ceill#
+.align 32
+__ceill:
+#else
+.global ceill#
+.proc  ceill#
+.align 32
 ceill:
+#endif
 
 { .mfi
       getf.exp ceil_GR_signexp  = f8
@@ -258,5 +264,11 @@ L(CEIL_DENORM):
       br.cond.sptk  L(CEIL_COMMON) ;;
 }
 
+#ifdef _LIBC
+.endp __ceill
+ASM_SIZE_DIRECTIVE(__ceill)
+weak_alias (__ceill, ceill)
+#else
 .endp ceill
 ASM_SIZE_DIRECTIVE(ceill)
+#endif
--- sysdeps/ia64/fpu/s_cos.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_cos.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "sincos.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 //
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -388,11 +388,12 @@ data8 0x8000000000000000 , 0x00003fff //
 ASM_SIZE_DIRECTIVE(double_sin_cos_beta_k4)
 
 .align 32
-.global sin#
-.global cos#
 #ifdef _LIBC
 .global __sin#
 .global __cos#
+#else
+.global sin#
+.global cos#
 #endif
 
 ////////////////////////////////////////////////////////
@@ -403,15 +404,14 @@ ASM_SIZE_DIRECTIVE(double_sin_cos_beta_k
 // If from cos, p9 is true
 
 .section .text
-.proc  sin#
 #ifdef _LIBC
 .proc  __sin#
-#endif
 .align 32
-
-sin:
-#ifdef _LIBC
 __sin:
+#else
+.proc  sin#
+.align 32
+sin:
 #endif
 
 { .mlx
@@ -436,19 +436,25 @@ __sin:
 }
 ;;
 
+#ifdef _LIBC
+.endp __sin
+ASM_SIZE_DIRECTIVE(__sin)
+weak_alias (__sin, sin)
+#else
 .endp sin
 ASM_SIZE_DIRECTIVE(sin)
+#endif
 
 
 .section .text
-.proc  cos#
 #ifdef _LIBC
 .proc  __cos#
-#endif
 .align 32
-cos:
-#ifdef _LIBC
 __cos:
+#else
+.proc  cos#
+cos:
+.align 32
 #endif
 
 { .mlx
@@ -735,8 +741,14 @@ L(SIND_SINCOS):
       fma.d    f8     = sind_Cm, sind_P, sind_Q
       br.ret.sptk    b0 ;;
 }
+#ifdef _LIBC
+.endp __cos#
+ASM_SIZE_DIRECTIVE(__cos#)
+weak_alias (__cos, cos)
+#else
 .endp cos#
 ASM_SIZE_DIRECTIVE(cos#)
+#endif
 
 
 
--- sysdeps/ia64/fpu/s_cosf.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_cosf.S	2004-10-26 10:56:40.000000000 -0700
@@ -2,7 +2,7 @@
 .file "sincosf.s"
 
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 //
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -286,24 +286,23 @@ ASM_SIZE_DIRECTIVE(sin_coeff_1_table)
 //////////////////////////////////////////
 
 
-.global sinf
-.global cosf
 #ifdef _LIBC
 .global __sinf
 .global __cosf
+#else
+.global sinf
+.global cosf
 #endif
 
 .text
-.proc cosf
 #ifdef _LIBC
 .proc __cosf
-#endif
 .align 32
-
-
-cosf:
-#ifdef _LIBC
 __cosf:
+#else
+.proc cosf
+.align 32
+cosf:
 #endif
 { .mfi
      alloc          r32                      = ar.pfs,1,7,0,0
@@ -329,19 +328,23 @@ __cosf:
 }
 ;;
 
+#ifdef _LIBC
+.endp __cosf
+ASM_SIZE_DIRECTIVE(__cosf)
+weak_alias (__cosf, cosf)
+#else
 .endp cosf
 ASM_SIZE_DIRECTIVE(cosf)
-
+#endif
 
 .text
-.proc  sinf
 #ifdef _LIBC
 .proc  __sinf
-#endif
 .align 32
-
-sinf:
-#ifdef _LIBC
+__sinf:
+#else
+.proc  sinf
+.align 32
 __sinf:	
 #endif
 { .mfi
@@ -590,8 +593,14 @@ L(SINCOSF_COMMON):
                br.ret.sptk     b0
 }
 
+#if _LIBC
+.endp __sinf
+ASM_SIZE_DIRECTIVE(__sinf)
+weak_alias (__sinf, sinf)
+#else
 .endp sinf
 ASM_SIZE_DIRECTIVE(sinf)
+#endif
 
 
 .proc SIN_DOUBLE 
@@ -616,7 +625,11 @@ SIN_DOUBLE:
 { .mmb
        nop.m 999
        nop.m 999
+#ifdef _LIBC
+       br.call.sptk.many   b0=__sin 
+#else
        br.call.sptk.many   b0=sin 
+#endif
 }
 ;;
 
@@ -665,7 +678,11 @@ COS_DOUBLE:
 { .mmb
        nop.m 999
        nop.m 999
+#ifdef _LIBC
+       br.call.sptk.many   b0=__cos 
+#else
        br.call.sptk.many   b0=cos 
+#endif
 }
 ;;
 
@@ -693,7 +710,14 @@ ASM_SIZE_DIRECTIVE(COS_DOUBLE)
 
 
 
+#ifdef _LIBC
+.type __sin,@function
+.global __sin 
+.type __cos,@function
+.global __cos 
+#else
 .type sin,@function
 .global sin 
 .type cos,@function
 .global cos 
+#endif
--- sysdeps/ia64/fpu/s_cosl.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_cosl.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "sincosl.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -706,22 +706,23 @@ GR_SAVE_GP     = r40
 GR_SAVE_PFS    = r41
 
 
-.global sinl#
-.global cosl#
 #ifdef _LIBC
 .global __sinl#
 .global __cosl#
+#else
+.global sinl#
+.global cosl#
 #endif
 
 .section .text
-.proc sinl#
 #ifdef _LIBC
 .proc __sinl#
-#endif
 .align 64 
-sinl:
-#ifdef _LIBC
 __sinl:
+#else
+.proc sinl#
+.align 64 
+sinl:
 #endif
 { .mlx
 alloc GR_Table_Base = ar.pfs,0,12,2,0
@@ -743,15 +744,24 @@ alloc GR_Table_Base = ar.pfs,0,12,2,0
 ;;
 
 
+#ifdef _LIBC
+.endp __sinl#
+ASM_SIZE_DIRECTIVE(__sinl#)
+weak_alias (__sinl, sinl)
+#else
 .endp sinl#
 ASM_SIZE_DIRECTIVE(sinl#)
+#endif
 
 .section .text
-.proc cosl#
-cosl:
 #ifdef _LIBC
 .proc __cosl#
+.align 64 
 __cosl:
+#else
+.proc cosl#
+.align 64 
+cosl:
 #endif
 { .mlx
 alloc GR_Table_Base= ar.pfs,0,12,2,0
@@ -2417,8 +2427,14 @@ L(SINCOSL_SPECIAL):
 (p0)    fmpy.s0 FR_Input_X = FR_Input_X, f0
 (p0)    br.ret.sptk   b0 ;;
 }
+#ifdef _LIBC
+.endp __cosl#
+ASM_SIZE_DIRECTIVE(__cosl#)
+weak_alias (__cosl, cosl)
+#else
 .endp cosl#
 ASM_SIZE_DIRECTIVE(cosl#)
+#endif
 
 //      Call int pi_by_2_reduce(double* x, double *y)
 //      for |arguments| >= 2**63
--- sysdeps/ia64/fpu/s_expm1.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_expm1.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "exp_m1.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -543,14 +543,18 @@ data4 0x17365712,0x3E68BF5C,0xB3785569,0
 ASM_SIZE_DIRECTIVE(Constants_exp_64_W2)
 
 .section .text
+#ifdef _LIBC
+.proc __expm1#
+.global __expm1#
+.align 64 
+
+__expm1:
+#else
 .proc expm1#
 .global expm1#
 .align 64 
 
 expm1: 
-#ifdef _LIBC
-.global __expm1#
-__expm1:
 #endif
 
 
@@ -1701,8 +1705,14 @@ EXP_64_RETURN:
 (p0)  mov   f8     = f99
 (p0)  br.ret.sptk   b0
 }
+#ifdef _LIBC
+.endp __expm1
+ASM_SIZE_DIRECTIVE(__expm1)
+weak_alias (__expm1, expm1)
+#else
 .endp expm1
 ASM_SIZE_DIRECTIVE(expm1)
+#endif
 
 .proc __libm_error_region
 __libm_error_region:
--- sysdeps/ia64/fpu/s_expm1f.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_expm1f.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "exp_m1f.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -546,14 +546,18 @@ data4 0x17365712,0x3E68BF5C,0xB3785569,0
 ASM_SIZE_DIRECTIVE(Constants_exp_64_W2)
 
 .section .text
+#ifdef _LIBC
+.proc __expm1f#
+.global __expm1f#
+.align 64 
+
+__expm1f:
+#else
 .proc expm1f#
 .global expm1f#
 .align 64 
 
 expm1f: 
-#ifdef _LIBC
-.global __expm1f#
-__expm1f:
 #endif
 
 
@@ -1694,8 +1698,14 @@ EXPF_64_RETURN:
 (p0)  mov   f8     = f99
 (p0)  br.ret.sptk   b0
 }
+#ifdef _LIBC
+.endp __expm1f
+ASM_SIZE_DIRECTIVE(__expm1f)
+s_expm1f.S:weak_alias (__expm1f, expm1f)
+#else
 .endp expm1f
 ASM_SIZE_DIRECTIVE(expm1f)
+#endif
 
 
 .proc __libm_error_region
--- sysdeps/ia64/fpu/s_expm1l.S.weak	2002-09-09 18:05:12.000000000 -0700
+++ sysdeps/ia64/fpu/s_expm1l.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "exp_m1l.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -538,13 +538,16 @@ FR_Y                = f9
 FR_RESULT           = f99
 
 .section .text
+#ifdef _LIBC
+.proc __expm1l#
+.global __expm1l#
+.align 64 
+__expm1l:
+#else
 .proc expm1l#
 .global expm1l#
 .align 64 
 expm1l: 
-#ifdef _LIBC
-.global __expm1l#
-__expm1l:
 #endif
 { .mii
 alloc r32 = ar.pfs,0,30,4,0
@@ -562,21 +565,27 @@ alloc r32 = ar.pfs,0,30,4,0
 //    Set Flag = r33 = 1 for expm1
 //    
 
-.endp expm1l
-ASM_SIZE_DIRECTIVE(expm1l)
-
 #ifdef _LIBC
+.endp __expm1l
+ASM_SIZE_DIRECTIVE(__expm1l)
+weak_alias (__expm1l, expm1l)
 libm_hidden_def (__expm1l)
+#else
+.endp expm1l
+ASM_SIZE_DIRECTIVE(expm1l)
 #endif
 
 .section .text
+#ifdef _LIBC
+.proc __expl#
+.global __expl#
+.align 64 
+__expl: 
+#else
 .proc expl#
 .global expl#
 .align 64 
 expl: 
-#ifdef _LIBC
-.global __ieee754_expl#
-__ieee754_expl:
 #endif
 { .mii
 alloc r32 = ar.pfs,0,30,4,0
@@ -1562,8 +1571,15 @@ EXPL_64_RETURN: 
 (p0)  mov   f8     = f99
 (p0)  br.ret.sptk   b0
 }
-.endp
+#ifdef _LIBC
+.endp __expl
+ASM_SIZE_DIRECTIVE(__expl) 
+weak_alias (__expl, expl)
+strong_alias (__expl, __ieee754_expl)
+#else
+.endp expl
 ASM_SIZE_DIRECTIVE(expl) 
+#endif
 
 .proc __libm_error_region
 __libm_error_region:
--- sysdeps/ia64/fpu/s_floor.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_floor.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "floor.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -38,11 +38,7 @@
 // http://developer.intel.com/opensource.
 //
 .align 32
-.global floor#
-
 .section .text
-.proc  floor#
-.align 32
 
 // History
 //==============================================================
@@ -127,10 +123,16 @@ FLOOR_adj          = f14
 
 #include "libm_support.h"
 
-floor:
 #ifdef _LIBC
 .global __floor
+.proc  __floor#
+.align 32
 __floor:
+#else
+.global floor#
+.proc  floor#
+.align 32
+floor:
 #endif
 
 { .mfi
@@ -236,5 +238,11 @@ L(FLOOR_DENORM):
       br.cond.sptk  L(FLOOR_COMMON) ;;
 }
 
+#ifdef _LIBC
+.endp __floor
+ASM_SIZE_DIRECTIVE(__floor)
+weak_alias (__floor, floor)
+#else
 .endp floor
 ASM_SIZE_DIRECTIVE(floor)
+#endif
--- sysdeps/ia64/fpu/s_floorf.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_floorf.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "floorf.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -38,11 +38,7 @@
 // http://developer.intel.com/opensource.
 //
 .align 32
-.global floorf#
-
 .section .text
-.proc  floorf#
-.align 32
 
 // History
 //==============================================================
@@ -126,10 +122,16 @@ FLOOR_adj          = f14
 
 #include "libm_support.h"
 
-floorf:
 #ifdef _LIBC
 .global __floorf
+.proc  __floorf#
+.align 32
 __floorf:
+#else
+.global floorf#
+.proc  floorf#
+.align 32
+floorf:
 #endif
 
 { .mfi
@@ -233,5 +235,11 @@ L(FLOOR_DENORM):
       br.cond.sptk  L(FLOOR_COMMON) ;;
 }
 
+#ifdef _LIBC
+.endp __floorf
+ASM_SIZE_DIRECTIVE(__floorf)
+weak_alias (__floorf, floorf)
+#else
 .endp floorf
 ASM_SIZE_DIRECTIVE(floorf)
+#endif
--- sysdeps/ia64/fpu/s_floorl.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_floorl.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "floorl.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -38,11 +38,7 @@
 // http://developer.intel.com/opensource.
 //
 .align 32
-.global floorl#
-
 .section .text
-.proc  floorl#
-.align 32
 
 // History
 //==============================================================
@@ -126,10 +122,16 @@ FLOOR_adj          = f14
 
 #include "libm_support.h"
 
-floorl:
 #ifdef _LIBC
 .global __floorl
+.proc  __floorl#
+.align 32
 __floorl:
+#else
+.global floorl#
+.proc  floorl#
+.align 32
+floorl:
 #endif
 
 { .mfi
@@ -233,5 +235,11 @@ L(FLOOR_DENORM):
       br.cond.sptk  L(FLOOR_COMMON) ;;
 }
 
+#ifdef _LIBC
+.endp __floorl
+ASM_SIZE_DIRECTIVE(__floorl)
+weak_alias (__floorl, floorl)
+#else
 .endp floorl
 ASM_SIZE_DIRECTIVE(floorl)
+#endif
--- sysdeps/ia64/fpu/s_frexp.c.weak	2004-05-04 09:11:55.000000000 -0700
+++ sysdeps/ia64/fpu/s_frexp.c	2004-10-26 10:56:40.000000000 -0700
@@ -1,5 +1,5 @@
 //
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 //
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -40,7 +40,11 @@
 
 #include "libm_support.h"
 
+#ifdef _LIBC
+double __frexp(double x, int *y)
+#else
 double frexp(double x, int *y)
+#endif
 {
 
 #ifdef SIZE_INT_64
@@ -55,3 +59,6 @@ double frexp(double x, int *y)
 #endif
 
 }
+#ifdef _LIBC
+weak_alias (__frexp, frexp)
+#endif
--- sysdeps/ia64/fpu/s_frexpf.c.weak	2004-05-04 09:11:55.000000000 -0700
+++ sysdeps/ia64/fpu/s_frexpf.c	2004-10-26 10:56:40.000000000 -0700
@@ -1,5 +1,5 @@
 //
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 //
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -40,7 +40,11 @@
 
 #include "libm_support.h"
 
+#ifdef _LIBC
+float __frexpf(float x, int *y)
+#else
 float frexpf(float x, int *y)
+#endif
 {
 
 #ifdef SIZE_INT_64
@@ -55,3 +59,6 @@ float frexpf(float x, int *y)
 #endif
 
 }
+#ifdef _LIBC
+weak_alias (__frexpf, frexpf)
+#endif
--- sysdeps/ia64/fpu/s_frexpl.c.weak	2004-05-04 09:11:55.000000000 -0700
+++ sysdeps/ia64/fpu/s_frexpl.c	2004-10-26 10:56:40.000000000 -0700
@@ -1,5 +1,5 @@
 //
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 //
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -40,7 +40,11 @@
 
 #include "libm_support.h"
 
+#ifdef _LIBC
+long double __frexpl(long double x, int *y)
+#else
 long double frexpl(long double x, int *y)
+#endif
 {
 
 #ifdef SIZE_INT_64
@@ -55,3 +59,6 @@ long double frexpl(long double x, int *y
 #endif
 
 }
+#ifdef _LIBC
+weak_alias (__frexpl, frexpl)
+#endif
--- sysdeps/ia64/fpu/s_ilogb.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_ilogb.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "ilogb.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -47,11 +47,7 @@
 // 1/20/01  Fixed result for x=0, corrected error tag value.
 
 .align 32
-.global ilogb#
-
 .section .text
-.proc  ilogb#
-.align 32
 
 // API
 //==============================================================
@@ -105,7 +101,17 @@ FR_Y                = f0
 FR_RESULT           = f0
 
 
+#ifdef _LIBC
+.global __ilogb#
+.proc  __ilogb#
+.align 32
+__ilogb: 
+#else
+.global ilogb#
+.proc  ilogb#
+.align 32
 ilogb: 
+#endif
 
 // Form signexp of 2^64 in case need to scale denormal
 { .mmf
@@ -194,8 +200,14 @@ L(ILOGB_ZERO): 
       mov            GR_Parameter_TAG = 157
 (p6)  movl r33 = 0x0000000080000000 ;;
 };;
+#ifdef _LIBC
+.endp __ilogb
+ASM_SIZE_DIRECTIVE(__ilogb)
+weak_alias (__ilogb, ilogb)
+#else
 .endp ilogb
 ASM_SIZE_DIRECTIVE(ilogb)
+#endif
 
 .proc __libm_error_region
 __libm_error_region:
--- sysdeps/ia64/fpu/s_ilogbf.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_ilogbf.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "ilogbf.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -47,11 +47,7 @@
 // 1/20/01  Fixed result for x=0
 
 .align 32
-.global ilogbf#
-
 .section .text
-.proc  ilogbf#
-.align 32
 
 // API
 //==============================================================
@@ -105,7 +101,17 @@ FR_Y                = f0
 FR_RESULT           = f0
 
 
+#ifdef _LIBC
+.global __ilogbf#
+.proc  __ilogbf#
+.align 32
+__ilogbf: 
+#else
+.global ilogbf#
+.proc  ilogbf#
+.align 32
 ilogbf: 
+#endif
 
 // Form signexp of 2^64 in case need to scale denormal
 { .mmf
@@ -194,8 +200,14 @@ L(ILOGB_ZERO): 
       mov            GR_Parameter_TAG = 158
 (p6)  movl r33 = 0x0000000080000000 ;;
 };;
+#ifdef _LIBC
+.endp __ilogbf
+ASM_SIZE_DIRECTIVE(__ilogbf)
+weak_alias (__ilogbf, ilogbf)
+#else
 .endp ilogbf
 ASM_SIZE_DIRECTIVE(ilogbf)
+#endif
 
 .proc __libm_error_region
 __libm_error_region:
--- sysdeps/ia64/fpu/s_ilogbl.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_ilogbl.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "ilogbl.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -47,11 +47,7 @@
 // 1/20/01  Fixed result for x=0
 
 .align 32
-.global ilogbl#
-
 .section .text
-.proc  ilogbl#
-.align 32
 
 // API
 //==============================================================
@@ -105,7 +101,17 @@ FR_Y                = f0
 FR_RESULT           = f0
 
 
+#ifdef _LIBC
+.global __ilogbl#
+.proc  __ilogbl#
+.align 32
+__ilogbl: 
+#else
+.global ilogbl#
+.proc  ilogbl#
+.align 32
 ilogbl: 
+#endif
 
 // Form signexp of 2^64 in case need to scale denormal
 { .mmf
@@ -194,8 +200,14 @@ L(ILOGB_ZERO): 
       mov            GR_Parameter_TAG = 156
 (p6)  movl r33 = 0x0000000080000000 ;;
 };;
+#ifdef _LIBC
+.endp __ilogbl
+ASM_SIZE_DIRECTIVE(__ilogbl)
+weak_alias (__ilogbl, ilogbl)
+#else
 .endp ilogbl
 ASM_SIZE_DIRECTIVE(ilogbl)
+#endif
 
 .proc __libm_error_region
 __libm_error_region:
--- sysdeps/ia64/fpu/s_ldexp.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_ldexp.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "ldexp.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -82,13 +82,19 @@ GR_Parameter_RESULT = r37
 GR_Tag              = r38
 
 .align 32
-.global ldexp
-
 .section .text
+
+#ifdef _LIBC
+.global __ldexp
+.proc  __ldexp
+.align 32
+__ldexp: 
+#else
+.global ldexp
 .proc  ldexp
 .align 32
-
 ldexp: 
+#endif
 
 //
 //   Is x NAN, INF, ZERO, +-?
@@ -290,8 +296,14 @@ ldexp: 
      br.ret.sptk     b0;;                   
 }
 
+#ifdef _LIBC
+.endp __ldexp
+ASM_SIZE_DIRECTIVE(__ldexp)
+weak_alias (__ldexp, ldexp);
+#else
 .endp ldexp
 ASM_SIZE_DIRECTIVE(ldexp)
+#endif
 .proc __libm_error_region
 __libm_error_region:
 
--- sysdeps/ia64/fpu/s_ldexpf.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_ldexpf.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 //.file "ldexpf.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -82,13 +82,19 @@ GR_Parameter_RESULT = r37
 GR_Tag              = r38
 
 .align 32
-.global ldexpf
-
 .section .text
+
+#ifdef _LIBC
+.global __ldexpf
+.proc  __ldexpf
+.align 32
+__ldexpf: 
+#else
+.global ldexpf
 .proc  ldexpf
 .align 32
-
 ldexpf: 
+#endif
 
 //
 //   Is x NAN, INF, ZERO, +-?
@@ -289,8 +295,14 @@ ldexpf: 
      br.ret.sptk     b0;;                   
 }
 
+#ifdef _LIBC
+.endp __ldexpf
+ASM_SIZE_DIRECTIVE(__ldexpf)
+weak_alias (__ldexpf, ldexpf)
+#else
 .endp ldexpf
 ASM_SIZE_DIRECTIVE(ldexpf)
+#endif
 .proc __libm_error_region
 __libm_error_region:
 
--- sysdeps/ia64/fpu/s_ldexpl.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_ldexpl.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 //.file "ldexpl.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -82,13 +82,19 @@ GR_Parameter_RESULT = r37
 GR_Tag              = r38
 
 .align 32
-.global ldexpl
-
 .section .text
+
+#ifdef _LIBC
+.global __ldexpl
+.proc  __ldexpl
+.align 32
+__ldexpl: 
+#else
+.global ldexpl
 .proc  ldexpl
 .align 32
-
 ldexpl: 
+#endif
 
 //
 //   Is x NAN, INF, ZERO, +-?
@@ -289,8 +295,14 @@ ldexpl: 
      br.ret.sptk     b0;;                   
 }
 
+#ifdef _LIBC
+.endp __ldexpl
+ASM_SIZE_DIRECTIVE(__ldexpl)
+weak_alias (__ldexpl, ldexpl)
+#else
 .endp ldexpl
 ASM_SIZE_DIRECTIVE(ldexpl)
+#endif
 .proc __libm_error_region
 __libm_error_region:
 
--- sysdeps/ia64/fpu/s_log1p.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_log1p.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "log1p.s" 
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -609,13 +609,16 @@ GR_Parameter_TAG = r57 
 
 
 .section .text
+#ifdef _LIBC
+.proc __log1p#
+.global __log1p
+.align 64 
+__log1p:
+#else
 .proc log1p#
 .global log1p#
 .align 64 
 log1p:
-#ifdef _LIBC
-.global __log1p
-__log1p:
 #endif
 
 { .mfi
@@ -1505,8 +1508,14 @@ L(LOG_64_negative): 
 (p0)  mov   GR_Parameter_TAG = 141
 }
 
+#ifdef _LIBC
+.endp __log1p#
+ASM_SIZE_DIRECTIVE(__log1p)
+weak_alias (__log1p, log1p)
+#else
 .endp log1p#
 ASM_SIZE_DIRECTIVE(log1p)
+#endif
 
 .proc __libm_error_region
 __libm_error_region:
--- sysdeps/ia64/fpu/s_log1pf.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_log1pf.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "log1pf.s" 
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -609,13 +609,16 @@ GR_Parameter_TAG = r57 
 
 
 .section .text
+#ifdef _LIBC
+.proc __log1pf#
+.global __log1pf
+.align 64 
+__log1pf:
+#else
 .proc log1pf#
 .global log1pf#
 .align 64 
 log1pf:
-#ifdef _LIBC
-.global __log1pf
-__log1pf:
 #endif
 
 { .mfi
@@ -1506,8 +1509,14 @@ L(LOG_64_negative): 
 (p0)  mov   GR_Parameter_TAG = 143;;
 }
 
+#ifdef _LIBC
+.endp __log1pf#
+ASM_SIZE_DIRECTIVE(__log1pf)
+weak_alias (__log1pf, log1pf)
+#else
 .endp log1pf#
 ASM_SIZE_DIRECTIVE(log1pf)
+#endif
 
 .proc __libm_error_region
 __libm_error_region:
--- sysdeps/ia64/fpu/s_log1pl.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_log1pl.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "log1pl.s" 
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -628,13 +628,16 @@ FR_Y                = f0
 FR_RESULT           = f99
 
 .section .text
+#ifdef _LIBC
+.proc __logl#
+.global __logl#
+.align 64 
+__logl:
+#else
 .proc logl#
 .global logl#
 .align 64 
 logl:
-#ifdef _LIBC
-.global __ieee754_logl
-__ieee754_logl:
 #endif 
 { .mfi
 alloc r32 = ar.pfs,0,22,4,0
@@ -690,17 +693,27 @@ nop.m 999
 (p0)  br.cond.sptk L(LOGL_BEGIN) ;; 
 }
 
+#ifdef _LIBC
+.endp __logl
+ASM_SIZE_DIRECTIVE(__logl)
+weak_alias (__logl, logl)
+strong_alias (__logl, __ieee754_logl)
+#else
 .endp logl
 ASM_SIZE_DIRECTIVE(logl)
+#endif
 
 .section .text
+#ifdef _LIBC
+.proc __log10l#
+.global __log10l#
+.align 64 
+__log10l:
+#else
 .proc log10l#
 .global log10l#
 .align 64 
 log10l:
-#ifdef _LIBC
-.global __ieee754_log10l
-__ieee754_log10l:
 #endif
 { .mfi
 alloc r32 = ar.pfs,0,22,4,0
@@ -757,17 +770,27 @@ alloc r32 = ar.pfs,0,22,4,0
 (p0)  br.cond.sptk L(LOGL_BEGIN) ;; 
 }
 
+#ifdef _LIBC
+.endp __log10l
+ASM_SIZE_DIRECTIVE(__log10l)
+weak_alias (__log10l, log10l)
+strong_alias (__log10l, __ieee754_log10l)
+#else
 .endp log10l
 ASM_SIZE_DIRECTIVE(log10l)
+#endif
 
 .section .text
+#ifdef _LIBC
+.proc __log1pl#
+.global __log1pl
+.align 64 
+__log1pl:
+#else
 .proc log1pl#
 .global log1pl#
 .align 64 
 log1pl:
-#ifdef _LIBC
-.global __log1pl
-__log1pl:
 #endif
 { .mfi
 alloc r32 = ar.pfs,0,22,4,0
@@ -1573,8 +1596,14 @@ L(LOGL_64_negative): 
 	nop.i 999 ;;
 (p15) mov   GR_Parameter_TAG = 139
 }
+#ifdef _LIBC
+.endp __log1pl
+ASM_SIZE_DIRECTIVE(__log1pl) 
+weak_alias (__log1pl, log1pl)
+#else
 .endp log1pl
 ASM_SIZE_DIRECTIVE(log1pl) 
+#endif
 
 .proc __libm_error_region
 __libm_error_region:
--- sysdeps/ia64/fpu/s_logb.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_logb.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "logb.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -93,14 +93,19 @@ GR_Parameter_Y      = r39
 GR_Parameter_RESULT = r40
 
 .align 32
-.global logb#
-
 .section .text
+
+#ifdef _LIBC
+.global __logb#
+.proc  __logb#
+.align 32
+__logb: 
+#else
+.global logb#
 .proc  logb#
 .align 32
-
-
 logb: 
+#endif
 
 // qnan snan inf norm     unorm 0 -+
 // 0    0    0   0        1     0 11
@@ -223,8 +228,14 @@ L(LOGB_NAN_INF): 
 (p0)  br.ret.sptk   b0 ;;
 }
 
+#ifdef _LIBC
+.endp __logb#
+ASM_SIZE_DIRECTIVE(__logb)
+weak_alias (__logb, logb)
+#else
 .endp logb#
 ASM_SIZE_DIRECTIVE(logb)
+#endif
 
 // Stack operations when calling error support.
 //       (1)               (2)                          (3) (call)              (4)
--- sysdeps/ia64/fpu/s_logbf.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_logbf.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "logbf.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -101,14 +101,19 @@ FR_RESULT        = f10
 
 
 .align 32
-.global logbf#
-
 .section .text
+
+#ifdef _LIBC
+.global __logbf#
+.proc  __logbf#
+.align 32
+__logbf: 
+#else
+.global logbf#
 .proc  logbf#
 .align 32
-
-
 logbf: 
+#endif
 
 // qnan snan inf norm     unorm 0 -+
 // 0    0    0   0        1     0 11
@@ -253,8 +258,14 @@ L(LOGB_ZERO): 
       nop.i 999 ;;
 }
 
+#ifdef _LIBC
+.endp __logbf
+ASM_SIZE_DIRECTIVE(__logbf)
+weak_alias (__logbf, logbf)
+#else
 .endp logbf
 ASM_SIZE_DIRECTIVE(logbf)
+#endif
 
 
 .proc __libm_error_region
--- sysdeps/ia64/fpu/s_logbl.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_logbl.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "logbl.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -98,14 +98,19 @@ FR_Y                = f0
 FR_RESULT           = f10
 
 .align 32
-.global logbl#
-
 .section .text
+
+#ifdef _LIBC
+.global __logbl#
+.proc  __logbl#
+.align 32
+__logbl: 
+#else
+.global logbl#
 .proc  logbl#
 .align 32
-
-
 logbl: 
+#endif
 
 // qnan snan inf norm     unorm 0 -+
 // 0    0    0   0        1     0 11
@@ -240,8 +245,14 @@ L(LOGB_ZERO): 
 };;
 // X ZERO
 // return -1.0/fabs(f8)=-inf, set divide-by-zero flag, call error support
+#ifdef _LIBC
+.endp __logbl
+ASM_SIZE_DIRECTIVE(__logbl)
+weak_alias (__logbl, logbl)
+#else
 .endp logbl
 ASM_SIZE_DIRECTIVE(logbl)
+#endif
 
 .proc __libm_error_region
 __libm_error_region:
--- sysdeps/ia64/fpu/s_modf.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_modf.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "modf.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -116,11 +116,7 @@ modf_exp        = r18
      
 
 .align 32
-.global modf#
-
 .section .text
-.proc  modf#
-.align 32
 
 
 // Main path is p9, p11, p8 FALSE and p12 TRUE
@@ -128,7 +124,17 @@ modf_exp        = r18
 // Assume input is normalized and get signexp
 // Normalize input just in case
 // Form exponent bias 
+#ifdef _LIBC
+.global __modf#
+.proc  __modf#
+.align 32
+__modf: 
+#else
+.global modf#
+.proc  modf#
+.align 32
 modf: 
+#endif
 { .mfi
       getf.exp  modf_signexp = f8
       fnorm          MODF_NORM_F8  = f8
@@ -281,5 +287,11 @@ L(MODF_DENORM):
       br.cond.spnt L(MODF_COMMON) ;;
 }
 
+#ifdef _LIBC
+.endp __modf
+ASM_SIZE_DIRECTIVE(__modf)
+weak_alias (__modf, modf)
+#else
 .endp modf
 ASM_SIZE_DIRECTIVE(modf)
+#endif
--- sysdeps/ia64/fpu/s_modff.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_modff.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "modff.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -116,19 +116,24 @@ modf_exp        = r18
      
 
 .align 32
-.global modff#
-
 .section .text
-.proc  modff#
-.align 32
-
 
 // Main path is p9, p11, p8 FALSE and p12 TRUE
 
 // Assume input is normalized and get signexp
 // Normalize input just in case
 // Form exponent bias 
+#ifdef _LIBC
+.global __modff#
+.proc  __modff#
+.align 32
+__modff: 
+#else
+.global modff#
+.proc  modff#
+.align 32
 modff: 
+#endif
 { .mfi
       getf.exp  modf_signexp = f8
       fnorm          MODF_NORM_F8  = f8
@@ -281,5 +286,11 @@ L(MODF_DENORM):
       br.cond.spnt L(MODF_COMMON) ;;
 }
 
+#ifdef _LIBC
+.endp __modff
+ASM_SIZE_DIRECTIVE(__modff)
+weak_alias (__modff, modff)
+#else
 .endp modff
 ASM_SIZE_DIRECTIVE(modff)
+#endif
--- sysdeps/ia64/fpu/s_modfl.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_modfl.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "modfl.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -111,19 +111,24 @@ modf_exp        = r18
      
 
 .align 32
-.global modfl#
-
 .section .text
-.proc  modfl#
-.align 32
-
 
 // Main path is p9, p11, p8 FALSE and p12 TRUE
 
 // Assume input is normalized and get signexp
 // Normalize input just in case
 // Form exponent bias 
+#ifdef _LIBC
+.global __modfl#
+.proc  __modfl#
+.align 32
+__modfl: 
+#else
+.global modfl#
+.proc  modfl#
+.align 32
 modfl: 
+#endif
 { .mfi
       getf.exp  modf_signexp = f8
       fnorm          MODF_NORM_F8  = f8
@@ -276,5 +281,11 @@ L(MODF_DENORM):
       br.cond.spnt L(MODF_COMMON) ;;
 }
 
+#ifdef _LIBC
+.endp __modfl
+ASM_SIZE_DIRECTIVE(__modfl)
+weak_alias (__modfl, modfl)
+#else
 .endp modfl
 ASM_SIZE_DIRECTIVE(modfl)
+#endif
--- sysdeps/ia64/fpu/s_nearbyint.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_nearbyint.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "nearbyint.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 10/19/2000 by John Harrison, Cristina Iordache, Ted Kubaska,
@@ -111,14 +111,19 @@ NEARBYINT_INT_f8       = f11
 
 
 .align 32
-.global nearbyint#
-
 .section .text
+
+#ifdef _LIBC
+.global __nearbyint#
+.proc  __nearbyint#
+.align 32
+__nearbyint: 
+#else
+.global nearbyint#
 .proc  nearbyint#
 .align 32
-
-
 nearbyint: 
+#endif
 
 { .mfi
       mov nearbyint_GR_fpsr = ar40    // Read the fpsr--need to check rc.s0
@@ -230,5 +235,11 @@ L(NEARBYINT_NOT_ROUND_NEAREST):
 }
 
 
+#ifdef _LIBC
+.endp __nearbyint
+ASM_SIZE_DIRECTIVE(__nearbyint)
+weak_alias (__nearbyint, nearbyint)
+#else
 .endp nearbyint
 ASM_SIZE_DIRECTIVE(nearbyint)
+#endif
--- sysdeps/ia64/fpu/s_nearbyintf.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_nearbyintf.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "nearbyintf.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 10/19/2000 by John Harrison, Cristina Iordache, Ted Kubaska,
@@ -111,14 +111,19 @@ NEARBYINT_INT_f8       = f11
 
 
 .align 32
-.global nearbyintf#
-
 .section .text
+
+#ifdef _LIBC
+.global __nearbyintf#
+.proc  __nearbyintf#
+.align 32
+__nearbyintf: 
+#else
+.global nearbyintf#
 .proc  nearbyintf#
 .align 32
-
-
 nearbyintf: 
+#endif
 
 { .mfi
       mov nearbyint_GR_fpsr = ar40           // Read the fpsr--need to check rc.s0
@@ -230,5 +235,11 @@ L(NEARBYINT_NOT_ROUND_NEAREST):
 }
 
 
+#ifdef _LIBC
+.endp __nearbyintf
+ASM_SIZE_DIRECTIVE(__nearbyintf)
+weak_alias (__nearbyintf, nearbyintf)
+#else
 .endp nearbyintf
 ASM_SIZE_DIRECTIVE(nearbyintf)
+#endif
--- sysdeps/ia64/fpu/s_nearbyintl.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_nearbyintl.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "nearbyintl.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 10/19/2000 by John Harrison, Cristina Iordache, Ted Kubaska,
@@ -112,14 +112,19 @@ NEARBYINT_SIGNED_FLOAT_INT_f8 = f12
 
 
 .align 32
-.global nearbyintl#
-
 .section .text
+
+#ifdef _LIBC
+.global __nearbyintl#
+.proc  __nearbyintl#
+.align 32
+__nearbyintl: 
+#else
+.global nearbyintl#
 .proc  nearbyintl#
 .align 32
-
-
 nearbyintl: 
+#endif
 
 { .mfi
       mov nearbyint_GR_fpsr = ar40           // Read the fpsr--need to check rc.s0
@@ -226,6 +231,11 @@ L(NEARBYINT_NOT_ROUND_NEAREST):
 ;;
 }
 
-
+#ifdef _LIBC
+.endp __nearbyintl
+ASM_SIZE_DIRECTIVE(__nearbyintl)
+weak_alias (__nearbyintl, nearbyintl)
+#else
 .endp nearbyintl
 ASM_SIZE_DIRECTIVE(nearbyintl)
+#endif
--- sysdeps/ia64/fpu/s_rint.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_rint.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "rint.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -112,18 +112,18 @@ RINT_INT_f8       = f13
 
 
 .align 32
-.global rint#
-
 .section .text
-.proc  rint#
-.align 32
 
-
-rint: 
 #ifdef _LIBC
 .global __rint
-.type __rint,@function
+.proc  __rint#
+.align 32
 __rint:
+#else
+.global rint#
+.proc  rint#
+.align 32
+rint: 
 #endif
 
 { .mfi
@@ -247,8 +247,11 @@ L(RINT_NOT_ROUND_NEAREST):
 }
 
 
-.endp rint
-ASM_SIZE_DIRECTIVE(rint)
 #ifdef _LIBC
+.endp __rint
 ASM_SIZE_DIRECTIVE(__rint)
+weak_alias (__rint, rint)
+#else
+.endp rint
+ASM_SIZE_DIRECTIVE(rint)
 #endif
--- sysdeps/ia64/fpu/s_rintf.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_rintf.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "rintf.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -112,18 +112,18 @@ RINT_INT_f8       = f13
 
 
 .align 32
-.global rintf#
-
 .section .text
-.proc  rintf#
-.align 32
 
-
-rintf:
 #ifdef _LIBC
 .global __rintf
-.type __rintf,@function
+.proc  __rintf#
+.align 32
 __rintf:
+#else
+.global rintf#
+.proc  rintf#
+.align 32
+rintf:
 #endif
 
 { .mfi
@@ -247,8 +247,11 @@ L(RINT_NOT_ROUND_NEAREST):
 }
 
 
-.endp rintf
-ASM_SIZE_DIRECTIVE(rintf)
 #ifdef _LIBC
+.endp __rintf
 ASM_SIZE_DIRECTIVE(__rintf)
+weak_alias (__rintf, rintf)
+#else
+.endp rintf
+ASM_SIZE_DIRECTIVE(rintf)
 #endif
--- sysdeps/ia64/fpu/s_rintl.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_rintl.S	2004-10-26 11:40:17.702308241 -0700
@@ -1,6 +1,6 @@
 .file "rintl.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -114,18 +114,18 @@ RINT_SIGNED_FLOAT_INT_f8 = f14
 
 
 .align 32
-.global rintl#
-
 .section .text
-.proc  rintl#
-.align 32
 
-
-rintl: 
 #ifdef _LIBC
 .global __rintl
-.type __rintl,@function
+.proc  __rintl#
+.align 32
 __rintl:
+#else
+.global rintl#
+.proc  rintl#
+.align 32
+rintl: 
 #endif
 
 { .mfi
@@ -245,8 +245,11 @@ L(RINT_NOT_ROUND_NEAREST):
 }
 
 
-.endp rintl
-ASM_SIZE_DIRECTIVE(rintl)
 #ifdef _LIBC
+.endp __rintl
 ASM_SIZE_DIRECTIVE(__rintl)
+weak_alias (__rintl, rintl)
+#else
+.endp rintl
+ASM_SIZE_DIRECTIVE(rintl)
 #endif
--- sysdeps/ia64/fpu/s_round.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_round.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "round.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 10/25/2000 by John Harrison, Cristina Iordache, Ted Kubaska,
@@ -93,14 +93,19 @@ ROUND_HALF           = f15
 
 
 .align 32
-.global round#
-
 .section .text
+
+#ifdef _LIBC
+.global __round#
+.proc  __round#
+.align 32
+__round: 
+#else
+.global round#
 .proc  round#
 .align 32
-
-
 round: 
+#endif
 	
 // Get exponent for +0.5
 // Truncate x to integer
@@ -245,5 +250,11 @@ round: 
       br.ret.sptk  b0 ;;
 }
 
+#ifdef _LIBC
+.endp __round
+ASM_SIZE_DIRECTIVE(__round)
+weak_alias (__round, round)
+#else
 .endp round
 ASM_SIZE_DIRECTIVE(round)
+#endif
--- sysdeps/ia64/fpu/s_roundf.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_roundf.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "roundf.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 10/25/2000 by John Harrison, Cristina Iordache, Ted Kubaska,
@@ -93,14 +93,19 @@ ROUNDF_HALF           = f15
 
 
 .align 32
-.global roundf#
-
 .section .text
+
+#ifdef _LIBC
+.global __roundf#
+.proc  __roundf#
+.align 32
+__roundf: 
+#else
+.global roundf#
 .proc  roundf#
 .align 32
-
-
 roundf: 
+#endif
 	
 // Get exponent for +0.5
 // Truncate x to integer
@@ -245,5 +250,11 @@ roundf: 
       br.ret.sptk  b0 ;;
 }
 
+#ifdef _LIBC
+.endp __roundf
+ASM_SIZE_DIRECTIVE(__roundf)
+weak_alias (__roundf, roundf)
+#else
 .endp roundf
 ASM_SIZE_DIRECTIVE(roundf)
+#endif
--- sysdeps/ia64/fpu/s_roundl.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_roundl.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "roundl.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 10/25/2000 by John Harrison, Cristina Iordache, Ted Kubaska,
@@ -93,14 +93,19 @@ ROUNDL_HALF           = f15
 
 
 .align 32
-.global roundl#
-
 .section .text
+
+#ifdef _LIBC
+.global __roundl#
+.proc  __roundl#
+.align 32
+__roundl: 
+#else
+.global roundl#
 .proc  roundl#
 .align 32
-
-
 roundl: 
+#endif
 	
 // Get exponent for +0.5
 // Truncate x to integer
@@ -245,5 +250,11 @@ roundl: 
       br.ret.sptk  b0 ;;
 }
 
+#ifdef _LIBC
+.endp __roundl
+ASM_SIZE_DIRECTIVE(__roundl)
+weak_alias (__roundl, roundl)
+#else
 .endp roundl
 ASM_SIZE_DIRECTIVE(roundl)
+#endif
--- sysdeps/ia64/fpu/s_scalbn.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_scalbn.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "scalbn.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -82,13 +82,19 @@ GR_Parameter_RESULT = r37
 GR_Tag              = r38
 
 .align 32
-.global scalbn
-
 .section .text
+
+#ifdef _LIBC
+.global __scalbn
+.proc  __scalbn
+.align 32
+__scalbn: 
+#else
+.global scalbn
 .proc  scalbn
 .align 32
-
 scalbn: 
+#endif
 
 //
 //   Is x NAN, INF, ZERO, +-?
@@ -289,8 +295,15 @@ scalbn: 
      br.ret.sptk     b0;;                   
 }
 
+#ifdef _LIBC
+.endp __scalbn
+ASM_SIZE_DIRECTIVE(__scalbn)
+weak_alias (__scalbn, scalbn)
+#else
 .endp scalbn
 ASM_SIZE_DIRECTIVE(scalbn)
+#endif
+
 .proc __libm_error_region
 __libm_error_region:
 
--- sysdeps/ia64/fpu/s_scalbnf.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_scalbnf.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 //.file "scalbnf.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -82,13 +82,19 @@ GR_Parameter_RESULT = r37
 GR_Tag              = r38
 
 .align 32
-.global scalbnf
-
 .section .text
+
+#ifdef _LIBC
+.global __scalbnf
+.proc  __scalbnf
+.align 32
+__scalbnf: 
+#else
+.global scalbnf
 .proc  scalbnf
 .align 32
-
 scalbnf: 
+#endif
 
 //
 //   Is x NAN, INF, ZERO, +-?
@@ -289,8 +295,15 @@ scalbnf: 
      br.ret.sptk     b0;;                   
 }
 
+#ifdef _LIBC
+.endp __scalbnf
+ASM_SIZE_DIRECTIVE(__scalbnf)
+weak_alias (__scalbnf, scalbnf)
+#else
 .endp scalbnf
 ASM_SIZE_DIRECTIVE(scalbnf)
+#endif
+
 .proc __libm_error_region
 __libm_error_region:
 
--- sysdeps/ia64/fpu/s_scalbnl.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_scalbnl.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 //.file "scalbnl.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -82,13 +82,19 @@ GR_Parameter_RESULT = r37
 GR_Tag              = r38
 
 .align 32
-.global scalbnl
-
 .section .text
+
+#ifdef _LIBC
+.global __scalbnl
+.proc  __scalbnl
+.align 32
+__scalbnl: 
+#else
+.global scalbnl
 .proc  scalbnl
 .align 32
-
 scalbnl: 
+#endif
 
 //
 //   Is x NAN, INF, ZERO, +-?
@@ -289,8 +295,15 @@ scalbnl: 
      br.ret.sptk     b0;;                   
 }
 
+#ifdef _LIBC
+.endp __scalbnl
+ASM_SIZE_DIRECTIVE(__scalbnl)
+weak_alias (__scalbnl, scalbnl)	
+#else
 .endp scalbnl
 ASM_SIZE_DIRECTIVE(scalbnl)
+#endif
+
 .proc __libm_error_region
 __libm_error_region:
 
--- sysdeps/ia64/fpu/s_significand.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_significand.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "significand.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -61,13 +61,19 @@
 #include "libm_support.h"
 
 .align 32
-.global significand#
-
 .section .text
+
+#ifdef _LIBC
+.global __significand#
+.proc  __significand#
+.align 32
+__significand: 
+#else
+.global significand#
 .proc  significand#
 .align 32
-
 significand: 
+#endif
 
 // qnan snan inf norm     unorm 0 -+
 // 1    1    1   0        0     1 11
@@ -156,5 +162,11 @@ L(SIGNIFICAND_DENORM):
 (p0)  br.ret.sptk    b0 ;;
 }
 
+#ifdef _LIBC
+.endp __significand
+ASM_SIZE_DIRECTIVE(__significand)
+weak_alias (__significand, significand)
+#else
 .endp significand
 ASM_SIZE_DIRECTIVE(significand)
+#endif
--- sysdeps/ia64/fpu/s_significandf.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_significandf.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "significandf.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -60,13 +60,19 @@
 #include "libm_support.h"
 
 .align 32
-.global significandf#
-
 .section .text
+
+#ifdef _LIBC
+.global __significandf#
+.proc  __significandf#
+.align 32
+__significandf: 
+#else
+.global significandf#
 .proc  significandf#
 .align 32
-
 significandf: 
+#endif
 
 // qnan snan inf norm     unorm 0 -+
 // 1    1    1   0        0     1 11
@@ -155,5 +161,11 @@ L(SIGNIFICAND_DENORM):
 (p0)  br.ret.sptk    b0 ;;
 }
 
+#ifdef _LIBC
+.endp __significandf
+ASM_SIZE_DIRECTIVE(__significandf)
+weak_alias (__significandf, significandf)
+#else
 .endp significandf
 ASM_SIZE_DIRECTIVE(significandf)
+#endif
--- sysdeps/ia64/fpu/s_significandl.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_significandl.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "significandl.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -61,13 +61,19 @@
 #include "libm_support.h"
 
 .align 32
-.global significandl#
-
 .section .text
+
+#ifdef _LIBC
+.global __significandl#
+.proc  __significandl#
+.align 32
+__significandl: 
+#else
+.global significandl#
 .proc  significandl#
 .align 32
-
 significandl: 
+#endif
 
 // qnan snan inf norm     unorm 0 -+
 // 1    1    1   0        0     1 11
@@ -156,5 +162,11 @@ L(SIGNIFICAND_DENORM):
 (p0)  br.ret.sptk    b0 ;;
 }
 
+#ifdef _LIBC
+.endp __significandl
+ASM_SIZE_DIRECTIVE(__significandl)
+weak_alias (__significandl, significandl)
+#else
 .endp significandl
 ASM_SIZE_DIRECTIVE(significandl)
+#endif
--- sysdeps/ia64/fpu/s_sincos.c.weak	2001-02-19 01:03:50.000000000 -0800
+++ sysdeps/ia64/fpu/s_sincos.c	2004-10-26 10:56:40.000000000 -0700
@@ -3,7 +3,7 @@
 void
 __sincos (double x, double *s, double *c)
 {
-  *s = sin (x);
-  *c = cos (x);
+  *s = __sin (x);
+  *c = __cos (x);
 }
 weak_alias (__sincos, sincos)
--- sysdeps/ia64/fpu/s_sincosf.c.weak	2001-02-19 01:03:58.000000000 -0800
+++ sysdeps/ia64/fpu/s_sincosf.c	2004-10-26 10:56:40.000000000 -0700
@@ -3,7 +3,7 @@
 void
 __sincosf (float x, float *s, float *c)
 {
-  *s = sinf (x);
-  *c = cosf (x);
+  *s = __sinf (x);
+  *c = __cosf (x);
 }
 weak_alias (__sincosf, sincosf)
--- sysdeps/ia64/fpu/s_sincosl.c.weak	2001-02-19 01:04:06.000000000 -0800
+++ sysdeps/ia64/fpu/s_sincosl.c	2004-10-26 10:56:40.000000000 -0700
@@ -3,7 +3,7 @@
 void
 __sincosl (long double x, long double *s, long double *c)
 {
-  *s = sinl (x);
-  *c = cosl (x);
+  *s = __sinl (x);
+  *c = __cosl (x);
 }
 weak_alias (__sincosl, sincosl)
--- sysdeps/ia64/fpu/s_tan.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_tan.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "tan.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -253,24 +253,22 @@ ASM_SIZE_DIRECTIVE(double_Q_tan_constant
 
    
 .align 32
-.global tan#
-#ifdef _LIBC
-.global __tan#
-#endif
+.section .text
 
 ////////////////////////////////////////////////////////
 
 
 
-.section .text
-.proc  tan#
 #ifdef _LIBC
+.global __tan#
 .proc  __tan#
-#endif
 .align 32
-tan: 
-#ifdef _LIBC
 __tan: 
+#else
+.global tan#
+.proc  tan#
+.align 32
+tan: 
 #endif
 // The initial fnorm will take any unmasked faults and
 // normalize any single/double unorms
@@ -715,8 +713,14 @@ __tan: 
 (p9)  fms.d.s0  f8  = tan_r, tan_z1, tan_inv_r        
       br.ret.sptk    b0 ;;    
 }
+#ifdef _LIBC
+.endp __tan#
+ASM_SIZE_DIRECTIVE(__tan)
+weak_alias (__tan, tan)
+#else
 .endp tan#
 ASM_SIZE_DIRECTIVE(tan)
+#endif
 
 
 .proc __libm_callout
--- sysdeps/ia64/fpu/s_tanf.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_tanf.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "tanf.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -253,24 +253,22 @@ ASM_SIZE_DIRECTIVE(double_Q_tan_constant
 
    
 .align 32
-.global tanf#
-#ifdef _LIBC
-.global __tanf#
-#endif
 
 ////////////////////////////////////////////////////////
 
 
 
 .section .text
-.proc  tanf#
 #ifdef _LIBC
+.global __tanf#
 .proc  __tanf#
-#endif
 .align 32
-tanf:
-#ifdef _LIBC
 __tanf:
+#else
+.global tanf#
+.proc  tanf#
+.align 32
+tanf:
 #endif
 // The initial fnorm will take any unmasked faults and
 // normalize any single/double unorms
@@ -715,8 +713,14 @@ __tanf:
 (p9)  fms.s.s0  f8  = tan_r, tan_z1, tan_inv_r        
       br.ret.sptk    b0 ;;    
 }
+#ifdef _LIBC
+.endp __tanf#
+ASM_SIZE_DIRECTIVE(__tanf#)
+weak_alias (__tanf, tanf)
+#else
 .endp tanf#
 ASM_SIZE_DIRECTIVE(tanf#)
+#endif
 
 
 .proc __libm_callout
--- sysdeps/ia64/fpu/s_tanl.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_tanl.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "tanl.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 2/2/2000 by John Harrison, Ted Kubaska, Bob Norin, Shane Story,
@@ -1028,13 +1028,14 @@ Create_B       = r48 
 gr_tmp         = r49
 
 .section .text
-.global tanl
-.proc tanl
-tanl:
 #ifdef _LIBC
 .global __tanl
 .proc __tanl
 __tanl:
+#else
+.global tanl
+.proc tanl
+tanl:
 #endif
 { .mfi
 alloc r32 = ar.pfs, 0,17,2,0
@@ -2970,8 +2971,14 @@ L(TANL_SPECIAL):
 //     Invalid raised for Infs and SNaNs.
 //
 
+#ifdef _LIBC
+.endp  __tanl
+ASM_SIZE_DIRECTIVE(__tanl)
+weak_alias (__tanl, tanl)
+#else
 .endp  tanl
 ASM_SIZE_DIRECTIVE(tanl)
+#endif
 
 // *******************************************************************
 // *******************************************************************
--- sysdeps/ia64/fpu/s_trunc.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_trunc.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "trunc.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 7/7/2000 by John Harrison, Cristina Iordache, Ted Kubaska,
@@ -39,11 +39,7 @@
 // http://developer.intel.com/opensource.
 //
 .align 32
-.global trunc#
-
 .section .text
-.proc  trunc#
-.align 32
 
 // History
 //==============================================================
@@ -97,7 +93,17 @@ TRUNC_GR_bigexp    = r18
 // If we multiply by 2^23, we no longer have a fractional part
 // So input is an integer value already.
 
+#ifdef _LIBC
+.global __trunc#
+.proc  __trunc#
+.align 32
+__trunc:
+#else
+.global trunc#
+.proc  trunc#
+.align 32
 trunc:
+#endif
 
 { .mfi
       getf.exp         TRUNC_GR_signexp  = f8
@@ -197,5 +203,11 @@ trunc:
 // If so return it. Otherwise, return (fcvt.xf(fcvt.fx.trunc(x)))
 // Make sure the result is negative if it should be - that is
 // negative(denormal) -> -0.
+#ifdef _LIBC
+.endp __trunc
+ASM_SIZE_DIRECTIVE(__trunc)
+weak_alias (__trunc, trunc)
+#else
 .endp trunc
 ASM_SIZE_DIRECTIVE(trunc)
+#endif
--- sysdeps/ia64/fpu/s_truncf.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_truncf.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "truncf.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 7/7/2000 by John Harrison, Cristina Iordache, Ted Kubaska,
@@ -39,11 +39,7 @@
 // http://developer.intel.com/opensource.
 //
 .align 32
-.global truncf#
-
 .section .text
-.proc  truncf#
-.align 32
 
 // History
 //==============================================================
@@ -97,7 +93,17 @@ TRUNC_GR_bigexp    = r18
 // If we multiply by 2^23, we no longer have a fractional part
 // So input is an integer value already.
 
+#ifdef _LIBC
+.global __truncf#
+.proc  __truncf#
+.align 32
+__truncf:
+#else
+.global truncf#
+.proc  truncf#
+.align 32
 truncf:
+#endif
 
 { .mfi
       getf.exp         TRUNC_GR_signexp  = f8
@@ -197,5 +203,11 @@ truncf:
 // If so return it. Otherwise, return (fcvt.xf(fcvt.fx.trunc(x)))
 // Make sure the result is negative if it should be - that is
 // negative(denormal) -> -0.
+#ifdef _LIBC
+.endp __truncf
+ASM_SIZE_DIRECTIVE(__truncf)
+weak_alias (__truncf, truncf)
+#else
 .endp truncf
 ASM_SIZE_DIRECTIVE(truncf)
+#endif
--- sysdeps/ia64/fpu/s_truncl.S.weak	2002-07-05 23:35:59.000000000 -0700
+++ sysdeps/ia64/fpu/s_truncl.S	2004-10-26 10:56:40.000000000 -0700
@@ -1,6 +1,6 @@
 .file "truncl.s"
 
-// Copyright (C) 2000, 2001, Intel Corporation
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, Intel Corporation
 // All rights reserved.
 // 
 // Contributed 7/7/2000 by John Harrison, Cristina Iordache, Ted Kubaska,
@@ -39,11 +39,7 @@
 // http://developer.intel.com/opensource.
 //
 .align 32
-.global truncl#
-
 .section .text
-.proc  truncl#
-.align 32
 
 // History
 //==============================================================
@@ -97,7 +93,17 @@ TRUNC_GR_bigexp    = r18
 // If we multiply by 2^23, we no longer have a fractional part
 // So input is an integer value already.
 
+#ifdef _LIBC
+.global __truncl#
+.proc  __truncl#
+.align 32
+__truncl:
+#else
+.global truncl#
+.proc  truncl#
+.align 32
 truncl:
+#endif
 
 { .mfi
       getf.exp         TRUNC_GR_signexp  = f8
@@ -197,5 +203,11 @@ truncl:
 // If so return it. Otherwise, return (fcvt.xf(fcvt.fx.trunc(x)))
 // Make sure the result is negative if it should be - that is
 // negative(denormal) -> -0.
+#ifdef _LIBC
+.endp __truncl
+ASM_SIZE_DIRECTIVE(__truncl)
+weak_alias (__truncl, truncl)
+#else
 .endp truncl
 ASM_SIZE_DIRECTIVE(truncl)
+#endif
--- sysdeps/ia64/fpu/w_expl.c.weak	2004-10-26 10:56:40.000000000 -0700
+++ sysdeps/ia64/fpu/w_expl.c	2004-10-26 10:56:40.000000000 -0700
@@ -0,0 +1 @@
+/* Not needed. */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]