summaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2005-07-08 09:10:42 +0000
committerJakub Jelinek <jakub@redhat.com>2005-07-08 09:10:42 +0000
commit48f006fc656c70757103dc9efa92d5775717576b (patch)
tree49d57e1205b93471c3245fceab5dd5ac31ba743d /sysdeps
parent03d65262fdcc287ef8b691c7dff2f1a63cdd13c2 (diff)
Updated to fedora-glibc-20050708T0811
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/generic/libc-start.c14
-rw-r--r--sysdeps/generic/s_ctan.c16
-rw-r--r--sysdeps/generic/s_ctanf.c17
-rw-r--r--sysdeps/generic/s_ctanh.c16
-rw-r--r--sysdeps/generic/s_ctanhf.c16
-rw-r--r--sysdeps/generic/s_ctanhl.c16
-rw-r--r--sysdeps/generic/s_ctanl.c17
-rw-r--r--sysdeps/hppa/add_n.s12
-rw-r--r--sysdeps/hppa/hppa1.1/udiv_qrnnd.s20
-rw-r--r--sysdeps/hppa/lshift.s20
-rw-r--r--sysdeps/hppa/rshift.s20
-rw-r--r--sysdeps/hppa/setjmp.S22
-rw-r--r--sysdeps/hppa/sub_n.s12
-rw-r--r--sysdeps/hppa/udiv_qrnnd.s10
-rw-r--r--sysdeps/i386/dl-trampoline.S2
-rw-r--r--sysdeps/ia64/dl-trampoline.S4
-rw-r--r--sysdeps/powerpc/elf/libc-start.c1
-rw-r--r--sysdeps/powerpc/powerpc32/dl-trampoline.S2
-rw-r--r--sysdeps/powerpc/powerpc64/dl-trampoline.S45
-rw-r--r--sysdeps/s390/s390-32/dl-trampoline.S5
-rw-r--r--sysdeps/s390/s390-64/dl-trampoline.S2
-rw-r--r--sysdeps/unix/sysv/linux/bits/sched.h4
-rw-r--r--sysdeps/unix/sysv/linux/configure21
-rw-r--r--sysdeps/unix/sysv/linux/configure.in21
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/Makefile2
-rw-r--r--sysdeps/x86_64/dl-trampoline.S3
26 files changed, 191 insertions, 149 deletions
diff --git a/sysdeps/generic/libc-start.c b/sysdeps/generic/libc-start.c
index 3fcadcf19f..194db6b1ec 100644
--- a/sysdeps/generic/libc-start.c
+++ b/sysdeps/generic/libc-start.c
@@ -75,11 +75,7 @@ STATIC int LIBC_START_MAIN (int (*main) (int, char **, char **
#ifdef LIBC_START_MAIN_AUXVEC_ARG
ElfW(auxv_t) *__unbounded auxvec,
#endif
-#ifdef INIT_MAIN_ARGS
__typeof (main) init,
-#else
- void (*init) (void),
-#endif
void (*fini) (void),
void (*rtld_fini) (void),
void *__unbounded stack_end)
@@ -95,11 +91,7 @@ LIBC_START_MAIN (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL),
#ifdef LIBC_START_MAIN_AUXVEC_ARG
ElfW(auxv_t) *__unbounded auxvec,
#endif
-#ifdef INIT_MAIN_ARGS
__typeof (main) init,
-#else
- void (*init) (void),
-#endif
void (*fini) (void),
void (*rtld_fini) (void), void *__unbounded stack_end)
{
@@ -195,11 +187,7 @@ LIBC_START_MAIN (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL),
GLRO(dl_debug_printf) ("\ninitialize program: %s\n\n", argv[0]);
#endif
if (init)
- (*init) (
-#ifdef INIT_MAIN_ARGS
- argc, argv, __environ MAIN_AUXVEC_PARAM
-#endif
- );
+ (*init) (argc, argv, __environ MAIN_AUXVEC_PARAM);
#ifdef SHARED
/* Auditing checkpoint: we have a new object. */
diff --git a/sysdeps/generic/s_ctan.c b/sysdeps/generic/s_ctan.c
index 6a09fe465b..0464ab86d5 100644
--- a/sysdeps/generic/s_ctan.c
+++ b/sysdeps/generic/s_ctan.c
@@ -1,5 +1,5 @@
/* Complex tangent function for double.
- Copyright (C) 1997 Free Software Foundation, Inc.
+ Copyright (C) 1997, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -61,8 +61,18 @@ __ctan (__complex__ double x)
den = cos2rx + __ieee754_cosh (2.0 * __imag__ x);
- __real__ res = sin2rx / den;
- __imag__ res = __ieee754_sinh (2.0 * __imag__ x) / den;
+ if (den == 0.0)
+ {
+ __complex__ double ez = __cexp (1.0i * x);
+ __complex__ double emz = __cexp (-1.0i * x);
+
+ res = (ez - emz) / (ez + emz) * -1.0i;
+ }
+ else
+ {
+ __real__ res = sin2rx / den;
+ __imag__ res = __ieee754_sinh (2.0 * __imag__ x) / den;
+ }
}
return res;
diff --git a/sysdeps/generic/s_ctanf.c b/sysdeps/generic/s_ctanf.c
index e02971dd44..58d9d13298 100644
--- a/sysdeps/generic/s_ctanf.c
+++ b/sysdeps/generic/s_ctanf.c
@@ -1,5 +1,5 @@
/* Complex tangent function for float.
- Copyright (C) 1997 Free Software Foundation, Inc.
+ Copyright (C) 1997, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -61,8 +61,19 @@ __ctanf (__complex__ float x)
den = cos2rx + __ieee754_coshf (2.0 * __imag__ x);
- __real__ res = sin2rx / den;
- __imag__ res = __ieee754_sinhf (2.0 * __imag__ x) / den;
+
+ if (den == 0.0)
+ {
+ __complex__ float ez = __cexpf (1.0i * x);
+ __complex__ float emz = __cexpf (-1.0i * x);
+
+ res = (ez - emz) / (ez + emz) * -1.0i;
+ }
+ else
+ {
+ __real__ res = sin2rx / den;
+ __imag__ res = __ieee754_sinhf (2.0 * __imag__ x) / den;
+ }
}
return res;
diff --git a/sysdeps/generic/s_ctanh.c b/sysdeps/generic/s_ctanh.c
index 971cd9040c..fe38dae291 100644
--- a/sysdeps/generic/s_ctanh.c
+++ b/sysdeps/generic/s_ctanh.c
@@ -1,5 +1,5 @@
/* Complex hyperbole tangent for double.
- Copyright (C) 1997 Free Software Foundation, Inc.
+ Copyright (C) 1997, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -61,8 +61,18 @@ __ctanh (__complex__ double x)
den = (__ieee754_cosh (2.0 * __real__ x) + cos2ix);
- __real__ res = __ieee754_sinh (2.0 * __real__ x) / den;
- __imag__ res = sin2ix / den;
+ if (den == 0.0)
+ {
+ __complex__ double ez = __cexp (x);
+ __complex__ double emz = __cexp (-x);
+
+ res = (ez - emz) / (ez + emz);
+ }
+ else
+ {
+ __real__ res = __ieee754_sinh (2.0 * __real__ x) / den;
+ __imag__ res = sin2ix / den;
+ }
}
return res;
diff --git a/sysdeps/generic/s_ctanhf.c b/sysdeps/generic/s_ctanhf.c
index cfcabab36a..c331dbaabb 100644
--- a/sysdeps/generic/s_ctanhf.c
+++ b/sysdeps/generic/s_ctanhf.c
@@ -1,5 +1,5 @@
/* Complex hyperbole tangent for float.
- Copyright (C) 1997 Free Software Foundation, Inc.
+ Copyright (C) 1997, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -61,8 +61,18 @@ __ctanhf (__complex__ float x)
den = (__ieee754_coshf (2.0 * __real__ x) + cos2ix);
- __real__ res = __ieee754_sinhf (2.0 * __real__ x) / den;
- __imag__ res = sin2ix / den;
+ if (den == 0.0f)
+ {
+ __complex__ float ez = __cexpf (x);
+ __complex__ float emz = __cexpf (-x);
+
+ res = (ez - emz) / (ez + emz);
+ }
+ else
+ {
+ __real__ res = __ieee754_sinhf (2.0 * __real__ x) / den;
+ __imag__ res = sin2ix / den;
+ }
}
return res;
diff --git a/sysdeps/generic/s_ctanhl.c b/sysdeps/generic/s_ctanhl.c
index 7bf6b39199..77ca8f8717 100644
--- a/sysdeps/generic/s_ctanhl.c
+++ b/sysdeps/generic/s_ctanhl.c
@@ -1,5 +1,5 @@
/* Complex hyperbole tangent for long double.
- Copyright (C) 1997 Free Software Foundation, Inc.
+ Copyright (C) 1997, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -61,8 +61,18 @@ __ctanhl (__complex__ long double x)
den = (__ieee754_coshl (2.0 * __real__ x) + cos2ix);
- __real__ res = __ieee754_sinhl (2.0 * __real__ x) / den;
- __imag__ res = sin2ix / den;
+ if (den == 0.0L)
+ {
+ __complex__ long double ez = __cexpl (x);
+ __complex__ long double emz = __cexpl (-x);
+
+ res = (ez - emz) / (ez + emz);
+ }
+ else
+ {
+ __real__ res = __ieee754_sinhl (2.0 * __real__ x) / den;
+ __imag__ res = sin2ix / den;
+ }
}
return res;
diff --git a/sysdeps/generic/s_ctanl.c b/sysdeps/generic/s_ctanl.c
index fa153e9b35..89379a5ff9 100644
--- a/sysdeps/generic/s_ctanl.c
+++ b/sysdeps/generic/s_ctanl.c
@@ -1,5 +1,5 @@
/* Complex tangent function for long double.
- Copyright (C) 1997 Free Software Foundation, Inc.
+ Copyright (C) 1997, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -61,8 +61,19 @@ __ctanl (__complex__ long double x)
den = cos2rx + __ieee754_coshl (2.0 * __imag__ x);
- __real__ res = sin2rx / den;
- __imag__ res = __ieee754_sinhl (2.0 * __imag__ x) / den;
+
+ if (den == 0.0)
+ {
+ __complex__ long double ez = __cexpl (1.0i * x);
+ __complex__ long double emz = __cexpl (-1.0i * x);
+
+ res = (ez - emz) / (ez + emz) * -1.0i;
+ }
+ else
+ {
+ __real__ res = sin2rx / den;
+ __imag__ res = __ieee754_sinhl (2.0 * __imag__ x) / den;
+ }
}
return res;
diff --git a/sysdeps/hppa/add_n.s b/sysdeps/hppa/add_n.s
index aaabd72e20..a396b3471c 100644
--- a/sysdeps/hppa/add_n.s
+++ b/sysdeps/hppa/add_n.s
@@ -38,19 +38,19 @@ __mpn_add_n:
.callinfo frame=0,no_calls
.entry
- ldws,ma 4(0,%r25),%r21
- ldws,ma 4(0,%r24),%r20
+ ldws,ma 4(%r25),%r21
+ ldws,ma 4(%r24),%r20
addib,= -1,%r23,L$end ;! check for (SIZE == 1)
add %r21,%r20,%r28 ;! add first limbs ignoring cy
-L$loop: ldws,ma 4(0,%r25),%r21
- ldws,ma 4(0,%r24),%r20
- stws,ma %r28,4(0,%r26)
+L$loop: ldws,ma 4(%r25),%r21
+ ldws,ma 4(%r24),%r20
+ stws,ma %r28,4(%r26)
addib,<> -1,%r23,L$loop
addc %r21,%r20,%r28
-L$end: stws %r28,0(0,%r26)
+L$end: stws %r28,0(%r26)
bv 0(%r2)
addc %r0,%r0,%r28
diff --git a/sysdeps/hppa/hppa1.1/udiv_qrnnd.s b/sysdeps/hppa/hppa1.1/udiv_qrnnd.s
index fdc63e59e5..7b83619c7d 100644
--- a/sysdeps/hppa/hppa1.1/udiv_qrnnd.s
+++ b/sysdeps/hppa/hppa1.1/udiv_qrnnd.s
@@ -38,20 +38,20 @@ __udiv_qrnnd:
.entry
ldo 64(%r30),%r30
- stws %r25,-16(0,%r30) ;! n_hi
- stws %r24,-12(0,%r30) ;! n_lo
+ stws %r25,-16(%r30) ;! n_hi
+ stws %r24,-12(%r30) ;! n_lo
b,l L$0,%r1
ldo L$0000-L$0(%r1),%r1
L$0:
- fldds -16(0,%r30),%fr5
- stws %r23,-12(0,%r30)
+ fldds -16(%r30),%fr5
+ stws %r23,-12(%r30)
comib,<= 0,%r25,L$1
fcnvxf,dbl,dbl %fr5,%fr5
- fldds 0(0,%r1),%fr4
+ fldds 0(%r1),%fr4
fadd,dbl %fr4,%fr5,%fr5
L$1:
fcpy,sgl %fr0,%fr6L
- fldws -12(0,%r30),%fr6R
+ fldws -12(%r30),%fr6R
fcnvxf,dbl,dbl %fr6,%fr4
fdiv,dbl %fr5,%fr4,%fr5
@@ -60,9 +60,9 @@ L$1:
fstws %fr4R,-16(%r30)
xmpyu %fr4R,%fr6R,%fr6
ldws -16(%r30),%r28
- fstds %fr6,-16(0,%r30)
- ldws -12(0,%r30),%r21
- ldws -16(0,%r30),%r20
+ fstds %fr6,-16(%r30)
+ ldws -12(%r30),%r21
+ ldws -16(%r30),%r20
sub %r24,%r21,%r22
subb %r25,%r20,%r1
comib,= 0,%r1,L$2
@@ -72,7 +72,7 @@ L$1:
ldo -1(%r28),%r28
L$2:
bv 0(%r2)
- stws %r22,0(0,%r26)
+ stws %r22,0(%r26)
.exit
.procend
diff --git a/sysdeps/hppa/lshift.s b/sysdeps/hppa/lshift.s
index 400fbcf6dd..151b283e57 100644
--- a/sysdeps/hppa/lshift.s
+++ b/sysdeps/hppa/lshift.s
@@ -35,32 +35,32 @@ __mpn_lshift:
sh2add %r24,%r25,%r25
sh2add %r24,%r26,%r26
- ldws,mb -4(0,%r25),%r22
+ ldws,mb -4(%r25),%r22
subi 32,%r23,%r1
mtsar %r1
addib,= -1,%r24,L$0004
vshd %r0,%r22,%r28 ;! compute carry out limb
- ldws,mb -4(0,%r25),%r29
+ ldws,mb -4(%r25),%r29
addib,= -1,%r24,L$0002
vshd %r22,%r29,%r20
-L$loop: ldws,mb -4(0,%r25),%r22
- stws,mb %r20,-4(0,%r26)
+L$loop: ldws,mb -4(%r25),%r22
+ stws,mb %r20,-4(%r26)
addib,= -1,%r24,L$0003
vshd %r29,%r22,%r20
- ldws,mb -4(0,%r25),%r29
- stws,mb %r20,-4(0,%r26)
+ ldws,mb -4(%r25),%r29
+ stws,mb %r20,-4(%r26)
addib,<> -1,%r24,L$loop
vshd %r22,%r29,%r20
-L$0002: stws,mb %r20,-4(0,%r26)
+L$0002: stws,mb %r20,-4(%r26)
vshd %r29,%r0,%r20
bv 0(%r2)
- stw %r20,-4(0,%r26)
-L$0003: stws,mb %r20,-4(0,%r26)
+ stw %r20,-4(%r26)
+L$0003: stws,mb %r20,-4(%r26)
L$0004: vshd %r22,%r0,%r20
bv 0(%r2)
- stw %r20,-4(0,%r26)
+ stw %r20,-4(%r26)
.exit
.procend
diff --git a/sysdeps/hppa/rshift.s b/sysdeps/hppa/rshift.s
index acb772f523..dff189dc48 100644
--- a/sysdeps/hppa/rshift.s
+++ b/sysdeps/hppa/rshift.s
@@ -33,31 +33,31 @@ __mpn_rshift:
.callinfo frame=64,no_calls
.entry
- ldws,ma 4(0,%r25),%r22
+ ldws,ma 4(%r25),%r22
mtsar %r23
addib,= -1,%r24,L$0004
vshd %r22,%r0,%r28 ;! compute carry out limb
- ldws,ma 4(0,%r25),%r29
+ ldws,ma 4(%r25),%r29
addib,= -1,%r24,L$0002
vshd %r29,%r22,%r20
-L$loop: ldws,ma 4(0,%r25),%r22
- stws,ma %r20,4(0,%r26)
+L$loop: ldws,ma 4(%r25),%r22
+ stws,ma %r20,4(%r26)
addib,= -1,%r24,L$0003
vshd %r22,%r29,%r20
- ldws,ma 4(0,%r25),%r29
- stws,ma %r20,4(0,%r26)
+ ldws,ma 4(%r25),%r29
+ stws,ma %r20,4(%r26)
addib,<> -1,%r24,L$loop
vshd %r29,%r22,%r20
-L$0002: stws,ma %r20,4(0,%r26)
+L$0002: stws,ma %r20,4(%r26)
vshd %r0,%r29,%r20
bv 0(%r2)
- stw %r20,0(0,%r26)
-L$0003: stws,ma %r20,4(0,%r26)
+ stw %r20,0(%r26)
+L$0003: stws,ma %r20,4(%r26)
L$0004: vshd %r0,%r22,%r20
bv 0(%r2)
- stw %r20,0(0,%r26)
+ stw %r20,0(%r26)
.exit
.procend
diff --git a/sysdeps/hppa/setjmp.S b/sysdeps/hppa/setjmp.S
index f10a7a304d..0da34db6f1 100644
--- a/sysdeps/hppa/setjmp.S
+++ b/sysdeps/hppa/setjmp.S
@@ -53,17 +53,17 @@ __sigsetjmp:
stw %rp, 80(%r26)
- ldo 88(%r26),%r19
- fstds,ma %fr12, 8(%r19) /* 88 */
- fstds,ma %fr13, 8(%r19) /* 96 */
- fstds,ma %fr14, 8(%r19) /* 104 */
- fstds,ma %fr15, 8(%r19) /* 112 */
- fstds,ma %fr16, 8(%r19) /* 120 */
- fstds,ma %fr17, 8(%r19) /* 128 */
- fstds,ma %fr18, 8(%r19) /* 136 */
- fstds,ma %fr19, 8(%r19) /* 144 */
- fstds,ma %fr20, 8(%r19) /* 152 */
- fstds %fr21, 0(%r19) /* 160 */
+ ldo 88(%r26),%r1
+ fstds,ma %fr12, 8(%r1) /* 88 */
+ fstds,ma %fr13, 8(%r1) /* 96 */
+ fstds,ma %fr14, 8(%r1) /* 104 */
+ fstds,ma %fr15, 8(%r1) /* 112 */
+ fstds,ma %fr16, 8(%r1) /* 120 */
+ fstds,ma %fr17, 8(%r1) /* 128 */
+ fstds,ma %fr18, 8(%r1) /* 136 */
+ fstds,ma %fr19, 8(%r1) /* 144 */
+ fstds,ma %fr20, 8(%r1) /* 152 */
+ fstds %fr21, 0(%r1) /* 160 */
b __sigjmp_save
nop
.procend
diff --git a/sysdeps/hppa/sub_n.s b/sysdeps/hppa/sub_n.s
index 34f196826d..7764961a2d 100644
--- a/sysdeps/hppa/sub_n.s
+++ b/sysdeps/hppa/sub_n.s
@@ -38,19 +38,19 @@ __mpn_sub_n:
.callinfo frame=0,no_calls
.entry
- ldws,ma 4(0,%r25),%r21
- ldws,ma 4(0,%r24),%r20
+ ldws,ma 4(%r25),%r21
+ ldws,ma 4(%r24),%r20
addib,= -1,%r23,L$end ;! check for (SIZE == 1)
sub %r21,%r20,%r28 ;! subtract first limbs ignoring cy
-L$loop: ldws,ma 4(0,%r25),%r21
- ldws,ma 4(0,%r24),%r20
- stws,ma %r28,4(0,%r26)
+L$loop: ldws,ma 4(%r25),%r21
+ ldws,ma 4(%r24),%r20
+ stws,ma %r28,4(%r26)
addib,<> -1,%r23,L$loop
subb %r21,%r20,%r28
-L$end: stws %r28,0(0,%r26)
+L$end: stws %r28,0(%r26)
addc %r0,%r0,%r28
bv 0(%r2)
subi 1,%r28,%r28
diff --git a/sysdeps/hppa/udiv_qrnnd.s b/sysdeps/hppa/udiv_qrnnd.s
index cd2b58ddec..8e9c07a205 100644
--- a/sysdeps/hppa/udiv_qrnnd.s
+++ b/sysdeps/hppa/udiv_qrnnd.s
@@ -38,7 +38,7 @@ __udiv_qrnnd:
.callinfo frame=0,no_calls
.entry
- comb,< %r23,0,L$largedivisor
+ comb,< %r23,%r0,L$largedivisor
sub %r0,%r23,%r1 ;! clear cy as side-effect
ds %r0,%r1,%r0
addc %r24,%r24,%r24
@@ -107,7 +107,7 @@ __udiv_qrnnd:
ds %r25,%r23,%r25
comclr,>= %r25,%r0,%r0
addl %r25,%r23,%r25
- stws %r25,0(0,%r26)
+ stws %r25,0(%r26)
bv 0(%r2)
addc %r28,%r28,%r28
@@ -186,7 +186,7 @@ L$largedivisor:
comclr,>= %r25,%r0,%r0
addl %r25,%r22,%r25
sh1addl %r25,%r20,%r25
- stws %r25,0(0,%r26)
+ stws %r25,0(%r26)
bv 0(%r2)
addc %r24,%r24,%r28
@@ -269,7 +269,7 @@ L$odd: addib,sv,n 1,%r22,L$FF.. ;! r22 = (d / 2 + 1)
addc %r0,%r28,%r28
sub,<< %r25,%r23,%r0
addl %r25,%r1,%r25
- stws %r25,0(0,%r26)
+ stws %r25,0(%r26)
bv 0(%r2)
addc %r0,%r28,%r28
@@ -278,7 +278,7 @@ L$odd: addib,sv,n 1,%r22,L$FF.. ;! r22 = (d / 2 + 1)
L$FF..: add,uv %r25,%r24,%r24
sub,<< %r24,%r23,%r0
ldo 1(%r24),%r24
- stws %r24,0(0,%r26)
+ stws %r24,0(%r26)
bv 0(%r2)
addc %r0,%r25,%r28
diff --git a/sysdeps/i386/dl-trampoline.S b/sysdeps/i386/dl-trampoline.S
index 80dd300e86..fd87eb711d 100644
--- a/sysdeps/i386/dl-trampoline.S
+++ b/sysdeps/i386/dl-trampoline.S
@@ -45,6 +45,7 @@ _dl_runtime_resolve:
.size _dl_runtime_resolve, .-_dl_runtime_resolve
+#ifndef PROF
.globl _dl_runtime_profile
.type _dl_runtime_profile, @function
cfi_startproc
@@ -180,3 +181,4 @@ _dl_runtime_profile:
ret
cfi_endproc
.size _dl_runtime_profile, .-_dl_runtime_profile
+#endif
diff --git a/sysdeps/ia64/dl-trampoline.S b/sysdeps/ia64/dl-trampoline.S
index b7969a6cf0..1b31dc7c9c 100644
--- a/sysdeps/ia64/dl-trampoline.S
+++ b/sysdeps/ia64/dl-trampoline.S
@@ -175,7 +175,7 @@ END(_dl_runtime_resolve)
16byte f13
16byte f14
16byte f15
-
+
Since stack has to be 16 byte aligned, the stack allocation is in
16byte increment. Before calling _dl_profile_fixup, the stack will
look like
@@ -189,6 +189,7 @@ END(_dl_runtime_resolve)
#define PLTENTER_FRAME_SIZE (4*8 + 8*8 + 8*16 + 2*8 + 16)
#define PLTEXIT_FRAME_SIZE (PLTENTER_FRAME_SIZE + 4*8 + 8*16)
+#ifndef PROF
ENTRY(_dl_runtime_profile)
{ .mii
.prologue
@@ -535,3 +536,4 @@ ENTRY(_dl_runtime_profile)
;;
}
END(_dl_runtime_profile)
+#endif
diff --git a/sysdeps/powerpc/elf/libc-start.c b/sysdeps/powerpc/elf/libc-start.c
index eed3e06c8a..af67a39a29 100644
--- a/sysdeps/powerpc/elf/libc-start.c
+++ b/sysdeps/powerpc/elf/libc-start.c
@@ -30,7 +30,6 @@ weak_extern (__cache_line_size)
#define LIBC_START_DISABLE_INLINE
#define LIBC_START_MAIN_AUXVEC_ARG
#define MAIN_AUXVEC_ARG
-#define INIT_MAIN_ARGS
#include <sysdeps/generic/libc-start.c>
diff --git a/sysdeps/powerpc/powerpc32/dl-trampoline.S b/sysdeps/powerpc/powerpc32/dl-trampoline.S
index ea5ce7b45a..506e8022b9 100644
--- a/sysdeps/powerpc/powerpc32/dl-trampoline.S
+++ b/sysdeps/powerpc/powerpc32/dl-trampoline.S
@@ -66,6 +66,7 @@ _dl_runtime_resolve:
bctr
.size _dl_runtime_resolve,.-_dl_runtime_resolve
+#ifndef PROF
.align 2
.globl _dl_prof_resolve
.type _dl_prof_resolve,@function
@@ -172,3 +173,4 @@ _dl_prof_resolve:
addi r1,r1,320
bctr
.size _dl_prof_resolve,.-_dl_prof_resolve
+#endif
diff --git a/sysdeps/powerpc/powerpc64/dl-trampoline.S b/sysdeps/powerpc/powerpc64/dl-trampoline.S
index 0c617063c9..c90f961615 100644
--- a/sysdeps/powerpc/powerpc64/dl-trampoline.S
+++ b/sysdeps/powerpc/powerpc64/dl-trampoline.S
@@ -26,7 +26,7 @@
and r11 contains the link_map (from PLT0+16). The link_map becomes
parm1 (r3) and the index (r0) need to be converted to an offset
(index * 24) in parm2 (r4). */
-
+
EALIGN(_dl_runtime_resolve, 4, 0)
/* We need to save the registers used to pass parameters, ie. r3 thru
r10; the registers are saved in a stack frame. */
@@ -139,8 +139,8 @@ END(_dl_runtime_resolve)
* Parameter save area, Allocated by the call, at least 8 double words
+40 TOC save area
+32 Reserved for linker
- +24 Reserved for compiler
- +16 LR save area
+ +24 Reserved for compiler
+ +16 LR save area
+8 CR save area
r1+0 stack back chain
*/
@@ -169,7 +169,7 @@ END(_dl_runtime_resolve)
and r11 contains the link_map (from PLT0+16). The link_map becomes
parm1 (r3) and the index (r0) needs to be converted to an offset
(index * 24) in parm2 (r4). */
-
+#ifndef PROF
EALIGN(_dl_profile_resolve, 4, 0)
/* Spill r30, r31 to preserve the link_map* and reloc_addr, in case we
need to call _dl_call_pltexit. */
@@ -215,23 +215,23 @@ EALIGN(_dl_profile_resolve, 4, 0)
li r12,64
stvx v2,0,r10
stvx v3,0,r9
-
+
stvx v4,r11,r10
stvx v5,r11,r9
addi r11,r11,64
-
+
stvx v6,r12,r10
stvx v7,r12,r9
addi r12,r12,64
-
+
stvx v8,r11,r10
stvx v9,r11,r9
addi r11,r11,64
-
+
stvx v10,r12,r10
stvx v11,r12,r9
mfspr r0,VRSAVE
-
+
stvx v12,r11,r10
stvx v13,r11,r9
L(saveFP):
@@ -262,7 +262,7 @@ L(saveFP):
nop
/* Test *framesizep > 0 to see if need to do pltexit processing. */
ld r0,STACK_FRAME(r1)
-/* Put the registers back. */
+/* Put the registers back. */
lwz r12,VR_VRSAVE(r1)
cmpdi cr1,r0,0
cmpdi cr0,r12,0
@@ -275,22 +275,22 @@ L(saveFP):
li r12,64
lvx v2,0,r10
lvx v3,0,r9
-
+
lvx v4,r11,r10
lvx v5,r11,r9
addi r11,r11,64
-
+
lvx v6,r12,r10
lvx v7,r12,r9
addi r12,r12,64
-
+
lvx v8,r11,r10
lvx v9,r11,r9
addi r11,r11,64
-
+
lvx v10,r12,r10
lvx v11,r12,r9
-
+
lvx v12,r11,r10
lvx v13,r11,r9
L(restoreFXR):
@@ -339,22 +339,22 @@ L(do_pltexit):
li r12,64
lvx v2,0,r10
lvx v3,0,r9
-
+
lvx v4,r11,r10
lvx v5,r11,r9
addi r11,r11,64
-
+
lvx v6,r12,r10
lvx v7,r12,r9
addi r12,r12,64
-
+
lvx v8,r11,r10
lvx v9,r11,r9
addi r11,r11,64
-
+
lvx v10,r12,r10
lvx v11,r12,r9
-
+
lvx v12,r11,r10
lvx v13,r11,r9
L(restoreFXR2):
@@ -393,7 +393,7 @@ L(restoreFXR2):
lfd fp13,FPR_PARMS+96(r1)
/* Call the target function. */
bctrl
- ld r2,40(r1)
+ ld r2,40(r1)
lwz r12,VR_VRSAVE(r1)
/* But return here and store the return values. */
std r3,INT_RTN(r1)
@@ -413,7 +413,7 @@ L(callpltexit):
addi r6,r1,INT_RTN
bl JUMPTARGET(_dl_call_pltexit)
nop
-/* Restore the return values from target function. */
+/* Restore the return values from target function. */
lwz r12,VR_VRSAVE(r1)
ld r3,INT_RTN(r1)
ld r4,INT_RTN+8(r1)
@@ -433,3 +433,4 @@ L(pltexitreturn):
ld r1,0(r1)
blr
END(_dl_profile_resolve)
+#endif
diff --git a/sysdeps/s390/s390-32/dl-trampoline.S b/sysdeps/s390/s390-32/dl-trampoline.S
index 4ee2295b89..fbbbc189db 100644
--- a/sysdeps/s390/s390-32/dl-trampoline.S
+++ b/sysdeps/s390/s390-32/dl-trampoline.S
@@ -64,6 +64,7 @@ _dl_runtime_resolve:
.size _dl_runtime_resolve, .-_dl_runtime_resolve
+#ifndef PROF
.globl _dl_runtime_profile
.type _dl_runtime_profile, @function
cfi_startproc
@@ -124,10 +125,10 @@ _dl_runtime_profile:
5: l %r14,7f-5b(%r1)
la %r4,32(%r12) # pointer to struct La_s390_32_regs
la %r5,72(%r12) # pointer to struct La_s390_32_retval
- basr %r14,%r1 # call _dl_call_pltexit
+ basr %r14,%r1 # call _dl_call_pltexit
j 1b
6: .long _dl_profile_fixup - 0b
7: .long _dl_call_pltexit - 5b
cfi_endproc
.size _dl_runtime_profile, .-_dl_runtime_profile
-
+#endif
diff --git a/sysdeps/s390/s390-64/dl-trampoline.S b/sysdeps/s390/s390-64/dl-trampoline.S
index 215d869803..8093582163 100644
--- a/sysdeps/s390/s390-64/dl-trampoline.S
+++ b/sysdeps/s390/s390-64/dl-trampoline.S
@@ -58,6 +58,7 @@ _dl_runtime_resolve:
.size _dl_runtime_resolve, .-_dl_runtime_resolve
+#ifndef PROF
.globl _dl_runtime_profile
.type _dl_runtime_profile, @function
cfi_startproc
@@ -124,3 +125,4 @@ _dl_runtime_profile:
j 0b
cfi_endproc
.size _dl_runtime_profile, .-_dl_runtime_profile
+#endif
diff --git a/sysdeps/unix/sysv/linux/bits/sched.h b/sysdeps/unix/sysv/linux/bits/sched.h
index 24495e2b34..69462bf61c 100644
--- a/sysdeps/unix/sysv/linux/bits/sched.h
+++ b/sysdeps/unix/sysv/linux/bits/sched.h
@@ -1,6 +1,6 @@
/* Definitions of constants and data structure for POSIX 1003.1b-1993
scheduling interface.
- Copyright (C) 1996-1999,2001,2002,2003 Free Software Foundation, Inc.
+ Copyright (C) 1996-1999,2001-2003,2005 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
@@ -69,7 +69,7 @@ __BEGIN_DECLS
/* Clone current process. */
#ifdef __USE_MISC
extern int clone (int (*__fn) (void *__arg), void *__child_stack,
- int __flags, void *__arg) __THROW;
+ int __flags, void *__arg, ...) __THROW;
#endif
__END_DECLS
diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure
index 325073c62c..06683089ad 100644
--- a/sysdeps/unix/sysv/linux/configure
+++ b/sysdeps/unix/sysv/linux/configure
@@ -261,38 +261,29 @@ case "$prefix" in
;;
esac
-# Under Linux the LinuxThreads or NPTL add-on should be available.
+# Under Linux the NPTL add-on should be available.
case $add_ons in
- # Only one of the add-ons should be available.
- *linuxthreads*nptl*|*nptl*linuxthreads*)
- echo "\
-*** LinuxThreads and NPTL add-ons are both available. Only one must be used."
- exit 1
- ;;
# It is available. Good.
- *linuxthreads*)
- linuxthreads_missing=
- ;;
*nptl*)
- linuxthreads_missing=
+ nptl_missing=
;;
*)
- linuxthreads_missing=yes
+ nptl_missing=yes
;;
esac
-if test "$linuxthreads_missing"; then
+if test "$nptl_missing"; then
if test $enable_sanity = yes; then
echo "\
*** On GNU/Linux systems it is normal to compile GNU libc with the
-*** \`linuxthreads' add-on. Without that, the library will be
+*** \`nptl' add-on. Without that, the library will be
*** incompatible with normal GNU/Linux systems.
*** If you really mean to not use this add-on, run configure again
*** using the extra parameter \`--disable-sanity-checks'."
exit 1
else
echo "\
-*** WARNING: Are you sure you do not want to use the \`linuxthreads'
+*** WARNING: Are you sure you do not want to use the \`nptl'
*** add-on?"
fi
fi
diff --git a/sysdeps/unix/sysv/linux/configure.in b/sysdeps/unix/sysv/linux/configure.in
index 88feb868fe..b90de065af 100644
--- a/sysdeps/unix/sysv/linux/configure.in
+++ b/sysdeps/unix/sysv/linux/configure.in
@@ -196,38 +196,29 @@ case "$prefix" in
;;
esac
-# Under Linux the LinuxThreads or NPTL add-on should be available.
+# Under Linux the NPTL add-on should be available.
case $add_ons in
- # Only one of the add-ons should be available.
- *linuxthreads*nptl*|*nptl*linuxthreads*)
- echo "\
-*** LinuxThreads and NPTL add-ons are both available. Only one must be used."
- exit 1
- ;;
# It is available. Good.
- *linuxthreads*)
- linuxthreads_missing=
- ;;
*nptl*)
- linuxthreads_missing=
+ nptl_missing=
;;
*)
- linuxthreads_missing=yes
+ nptl_missing=yes
;;
esac
-if test "$linuxthreads_missing"; then
+if test "$nptl_missing"; then
if test $enable_sanity = yes; then
echo "\
*** On GNU/Linux systems it is normal to compile GNU libc with the
-*** \`linuxthreads' add-on. Without that, the library will be
+*** \`nptl' add-on. Without that, the library will be
*** incompatible with normal GNU/Linux systems.
*** If you really mean to not use this add-on, run configure again
*** using the extra parameter \`--disable-sanity-checks'."
exit 1
else
echo "\
-*** WARNING: Are you sure you do not want to use the \`linuxthreads'
+*** WARNING: Are you sure you do not want to use the \`nptl'
*** add-on?"
fi
fi
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile b/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile
index 05fd8523b7..e051f54637 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile
@@ -4,7 +4,7 @@ LD += -melf32_sparc
# When I get this to work, this is the right thing
ifeq ($(subdir),elf)
-CFLAGS-rtld.c += -mv8
+CFLAGS-rtld.c += -mcpu=v8
#rtld-routines += dl-sysdepsparc
sysdep-others += lddlibc4
install-bin += lddlibc4
diff --git a/sysdeps/x86_64/dl-trampoline.S b/sysdeps/x86_64/dl-trampoline.S
index eb46f29cf2..c1686dae10 100644
--- a/sysdeps/x86_64/dl-trampoline.S
+++ b/sysdeps/x86_64/dl-trampoline.S
@@ -56,7 +56,7 @@ _dl_runtime_resolve:
.size _dl_runtime_resolve, .-_dl_runtime_resolve
-
+#ifndef PROF
.globl _dl_runtime_profile
.type _dl_runtime_profile, @function
.align 16
@@ -186,3 +186,4 @@ _dl_runtime_profile:
retq
cfi_endproc
.size _dl_runtime_profile, .-_dl_runtime_profile
+#endif