diff options
Diffstat (limited to 'packages/glibc')
174 files changed, 336062 insertions, 0 deletions
diff --git a/packages/glibc/.mtn2git_empty b/packages/glibc/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/glibc/.mtn2git_empty diff --git a/packages/glibc/files/.mtn2git_empty b/packages/glibc/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/glibc/files/.mtn2git_empty diff --git a/packages/glibc/files/etc/.mtn2git_empty b/packages/glibc/files/etc/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/glibc/files/etc/.mtn2git_empty diff --git a/packages/glibc/files/etc/ld.so.conf b/packages/glibc/files/etc/ld.so.conf index e69de29bb2..3f9b41aabb 100644 --- a/packages/glibc/files/etc/ld.so.conf +++ b/packages/glibc/files/etc/ld.so.conf @@ -0,0 +1,3 @@ +/usr/local/lib +/opt/QtPalmtop/lib + diff --git a/packages/glibc/files/fhs-linux-paths.patch b/packages/glibc/files/fhs-linux-paths.patch index e69de29bb2..1f32f6d7f2 100644 --- a/packages/glibc/files/fhs-linux-paths.patch +++ b/packages/glibc/files/fhs-linux-paths.patch @@ -0,0 +1,11 @@ +--- glibc-2.1.1/sysdeps/unix/sysv/linux/paths.h~ Thu May 27 13:16:33 1999 ++++ glibc-2.1.1/sysdeps/unix/sysv/linux/paths.h Thu May 27 13:17:55 1999 +@@ -71,7 +71,7 @@ + /* Provide trailing slash, since mostly used for building pathnames. */ + #define _PATH_DEV "/dev/" + #define _PATH_TMP "/tmp/" +-#define _PATH_VARDB "/var/db/" ++#define _PATH_VARDB "/var/lib/misc/" + #define _PATH_VARRUN "/var/run/" + #define _PATH_VARTMP "/var/tmp/" + diff --git a/packages/glibc/files/generate-supported.mk b/packages/glibc/files/generate-supported.mk index e69de29bb2..d2a28c2dc6 100644 --- a/packages/glibc/files/generate-supported.mk +++ b/packages/glibc/files/generate-supported.mk @@ -0,0 +1,11 @@ +#!/usr/bin/make + +include $(IN) + +all: + rm -f $(OUT) + touch $(OUT) + for locale in $(SUPPORTED-LOCALES); do \ + [ $$locale = true ] && continue; \ + echo $$locale | sed 's,/, ,' >> $(OUT); \ + done diff --git a/packages/glibc/glibc-2.2.5/.mtn2git_empty b/packages/glibc/glibc-2.2.5/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/glibc/glibc-2.2.5/.mtn2git_empty diff --git a/packages/glibc/glibc-2.2.5/alpha-build-failure.patch b/packages/glibc/glibc-2.2.5/alpha-build-failure.patch index e69de29bb2..280a0a556d 100644 --- a/packages/glibc/glibc-2.2.5/alpha-build-failure.patch +++ b/packages/glibc/glibc-2.2.5/alpha-build-failure.patch @@ -0,0 +1,30 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/alpha/divrem.h~alpha-build-failure.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/alpha/divrem.h 2004-09-03 19:00:37.000000000 -0500 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. ++/* Copyright (C) 1996,97,2002 Free Software Foundation, Inc. + Contributed by David Mosberger (davidm@cs.arizona.edu). + This file is part of the GNU C Library. + +@@ -86,6 +86,7 @@ + + .align 3 + UFUNC_NAME: ++$udiv_entry: + lda sp, -STACK(sp) + .frame sp, STACK, retaddr, 0 + #ifdef PROF +@@ -206,7 +207,7 @@ + cmovge AT, AT, arg2 + + /* Do the unsigned division. */ +- bsr retaddr, UFUNC_NAME ++ bsr retaddr, $udiv_entry + + /* Restore originals and adjust the sign of the result. */ + ldq arg1, 0(sp) diff --git a/packages/glibc/glibc-2.2.5/arm-asm-clobber.patch b/packages/glibc/glibc-2.2.5/arm-asm-clobber.patch index e69de29bb2..eff21dc702 100644 --- a/packages/glibc/glibc-2.2.5/arm-asm-clobber.patch +++ b/packages/glibc/glibc-2.2.5/arm-asm-clobber.patch @@ -0,0 +1,16 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/unix/sysv/linux/arm/sysdep.h~arm-asm-clobber.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/unix/sysv/linux/arm/sysdep.h 2004-09-03 19:01:07.000000000 -0500 +@@ -131,7 +131,7 @@ + asm volatile ("swi %1 @ syscall " #name \ + : "=r" (_a1) \ + : "i" (SYS_ify(name)) ASM_ARGS_##nr \ +- : "a1", "memory"); \ ++ : "memory"); \ + _sys_result = _a1; \ + } \ + if (_sys_result >= (unsigned int) -4095) \ diff --git a/packages/glibc/glibc-2.2.5/arm-ctl_bus_isa.patch b/packages/glibc/glibc-2.2.5/arm-ctl_bus_isa.patch index e69de29bb2..b487d69239 100644 --- a/packages/glibc/glibc-2.2.5/arm-ctl_bus_isa.patch +++ b/packages/glibc/glibc-2.2.5/arm-ctl_bus_isa.patch @@ -0,0 +1,40 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/unix/sysv/linux/arm/ioperm.c~arm-ctl_bus_isa.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/unix/sysv/linux/arm/ioperm.c 2004-09-03 19:00:37.000000000 -0500 +@@ -47,6 +47,12 @@ + #include <asm/page.h> + #include <sys/sysctl.h> + ++/* see http://www.ussg.iu.edu/hypermail/linux/kernel/0311.0/0529.html */ ++#include <linux/version.h> ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,4,23)) ++#define CTL_BUS_ISA BUS_ISA /* and hope it's not the one from linux/input.h */ ++#endif ++ + #define PATH_ARM_SYSTYPE "/etc/arm_systype" + #define PATH_CPUINFO "/proc/cpuinfo" + +@@ -80,7 +86,7 @@ + * Initialize I/O system. There are several ways to get the information + * we need. Each is tried in turn until one succeeds. + * +- * 1. Sysctl (CTL_BUS, BUS_ISA, ISA_*). This is the preferred method ++ * 1. Sysctl (CTL_BUS, CTL_BUS_ISA, ISA_*). This is the preferred method + * but not all kernels support it. + * + * 2. Read the value (not the contents) of symlink PATH_ARM_SYSTYPE. +@@ -100,8 +106,8 @@ + { + char systype[256]; + int i, n; +- static int iobase_name[] = { CTL_BUS, BUS_ISA, BUS_ISA_PORT_BASE }; +- static int ioshift_name[] = { CTL_BUS, BUS_ISA, BUS_ISA_PORT_SHIFT }; ++ static int iobase_name[] = { CTL_BUS, CTL_BUS_ISA, BUS_ISA_PORT_BASE }; ++ static int ioshift_name[] = { CTL_BUS, CTL_BUS_ISA, BUS_ISA_PORT_SHIFT }; + size_t len = sizeof(io.base); + + if (! sysctl (iobase_name, 3, &io.io_base, &len, NULL, 0) diff --git a/packages/glibc/glibc-2.2.5/arm-longlong.patch b/packages/glibc/glibc-2.2.5/arm-longlong.patch index e69de29bb2..dfb9309b7b 100644 --- a/packages/glibc/glibc-2.2.5/arm-longlong.patch +++ b/packages/glibc/glibc-2.2.5/arm-longlong.patch @@ -0,0 +1,59 @@ +--- stdlib/longlong.h~ 2002-09-29 18:45:58.000000000 +0100 ++++ stdlib/longlong.h 2004-03-20 19:16:44.000000000 +0000 +@@ -210,6 +210,14 @@ + "rI" ((USItype) (bh)), \ + "r" ((USItype) (al)), \ + "rI" ((USItype) (bl))) ++/* v3m and all higher arches have long multiply support. */ ++#if !defined(__ARM_ARCH_2__) && !defined(__ARM_ARCH_3__) ++#define umul_ppmm(xh, xl, a, b) \ ++ __asm__ ("umull %0,%1,%2,%3" : "=&r" (xl), "=&r" (xh) : "r" (a), "r" (b)) ++#define UMUL_TIME 5 ++#define smul_ppmm(xh, xl, a, b) \ ++ __asm__ ("smull %0,%1,%2,%3" : "=&r" (xl), "=&r" (xh) : "r" (a), "r" (b)) ++#else + #define umul_ppmm(xh, xl, a, b) \ + {register USItype __t0, __t1, __t2; \ + __asm__ ("%@ Inlined umul_ppmm\n" \ +@@ -231,7 +239,14 @@ + : "r" ((USItype) (a)), \ + "r" ((USItype) (b)));} + #define UMUL_TIME 20 ++#endif + #define UDIV_TIME 100 ++ ++#if defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) || defined(__ARM_ARCH_5TE__) ++#define count_leading_zeros(COUNT,X) ((COUNT) = __builtin_clz (X)) ++#define COUNT_LEADING_ZEROS_0 32 ++#endif ++ + #endif /* __arm__ */ + + #if defined (__hppa) && W_TYPE_SIZE == 32 +--- /dev/null 2004-02-02 20:32:13.000000000 +0000 ++++ sysdeps/arm/mp_clz_tab.c 2004-03-20 19:24:26.000000000 +0000 +@@ -0,0 +1,24 @@ ++/* __clz_tab -- support for longlong.h ++ Copyright (C) 2004 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#if defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) || defined(__ARM_ARCH_5TE__) ++/* Nothing required. */ ++#else ++#include <sysdeps/generic/mp_clz_tab.c> ++#endif diff --git a/packages/glibc/glibc-2.2.5/arm-machine-gmon.patch b/packages/glibc/glibc-2.2.5/arm-machine-gmon.patch index e69de29bb2..0fa789d86b 100644 --- a/packages/glibc/glibc-2.2.5/arm-machine-gmon.patch +++ b/packages/glibc/glibc-2.2.5/arm-machine-gmon.patch @@ -0,0 +1,11 @@ +--- sysdeps/arm/machine-gmon.h~ 2001-07-06 00:55:48.000000000 -0400 ++++ sysdeps/arm/machine-gmon.h 2004-04-25 03:56:20.000000000 -0400 +@@ -35,7 +35,7 @@ + static void mcount_internal (u_long frompc, u_long selfpc); + + #define _MCOUNT_DECL(frompc, selfpc) \ +-static void mcount_internal (u_long frompc, u_long selfpc) ++static __attribute__((used)) void mcount_internal (u_long frompc, u_long selfpc) + + /* This macro/func MUST save r0, r1 because the compiler inserts + blind calls to _mount(), ignoring the fact that _mcount may diff --git a/packages/glibc/glibc-2.2.5/arm-memcpy.patch b/packages/glibc/glibc-2.2.5/arm-memcpy.patch index e69de29bb2..0f7009e549 100644 --- a/packages/glibc/glibc-2.2.5/arm-memcpy.patch +++ b/packages/glibc/glibc-2.2.5/arm-memcpy.patch @@ -0,0 +1,761 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- /dev/null 2004-06-02 16:28:12.000000000 -0500 ++++ glibc-2.2.5/sysdeps/arm/memcpy.S 2004-09-03 19:00:39.000000000 -0500 +@@ -0,0 +1,241 @@ ++/* ++ * Optimized memcpy implementation for ARM processors ++ * ++ * Author: Nicolas Pitre ++ * Created: Dec 23, 2003 ++ * Copyright: (C) MontaVista Software, Inc. ++ * ++ * This file is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This file is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ */ ++ ++#include <sysdep.h> ++ ++ ++/* ++ * Endian independent macros for shifting bytes within registers. ++ */ ++#ifndef __ARMEB__ ++#define pull lsr ++#define push lsl ++#else ++#define pull lsl ++#define push lsr ++#endif ++ ++/* ++ * Enable data preload for architectures that support it (ARMv5 and above) ++ */ ++#if defined(__ARM_ARCH_5__) || \ ++ defined(__ARM_ARCH_5T__) || \ ++ defined(__ARM_ARCH_5TE__) ++#define PLD(code...) code ++#else ++#define PLD(code...) ++#endif ++ ++ ++/* char * memcpy (char *dst, const char *src) */ ++ ++ENTRY(memcpy) ++ subs r2, r2, #4 ++ stmfd sp!, {r0, r4, lr} ++ blt 7f ++ ands ip, r0, #3 ++ PLD( pld [r1, #0] ) ++ bne 8f ++ ands ip, r1, #3 ++ bne 9f ++ ++1: subs r2, r2, #4 ++ blt 6f ++ subs r2, r2, #8 ++ blt 5f ++ subs r2, r2, #16 ++ blt 4f ++ ++ PLD( subs r2, r2, #65 ) ++ stmfd sp!, {r5 - r8} ++ PLD( blt 3f ) ++ PLD( pld [r1, #32] ) ++ ++ PLD( @ cache alignment ) ++ PLD( ands ip, r1, #31 ) ++ PLD( pld [r1, #64] ) ++ PLD( beq 2f ) ++ PLD( rsb ip, ip, #32 ) ++ PLD( cmp r2, ip ) ++ PLD( pld [r1, #96] ) ++ PLD( blt 2f ) ++ PLD( cmp ip, #16 ) ++ PLD( sub r2, r2, ip ) ++ PLD( ldmgeia r1!, {r3 - r6} ) ++ PLD( stmgeia r0!, {r3 - r6} ) ++ PLD( beq 2f ) ++ PLD( and ip, ip, #15 ) ++ PLD( cmp ip, #8 ) ++ PLD( ldr r3, [r1], #4 ) ++ PLD( ldrge r4, [r1], #4 ) ++ PLD( ldrgt r5, [r1], #4 ) ++ PLD( str r3, [r0], #4 ) ++ PLD( strge r4, [r0], #4 ) ++ PLD( strgt r5, [r0], #4 ) ++ ++2: PLD( pld [r1, #96] ) ++3: ldmia r1!, {r3 - r8, ip, lr} ++ subs r2, r2, #32 ++ stmia r0!, {r3 - r8, ip, lr} ++ bge 2b ++ PLD( cmn r2, #65 ) ++ PLD( bge 3b ) ++ PLD( add r2, r2, #65 ) ++ tst r2, #31 ++ ldmfd sp!, {r5 - r8} ++ ldmeqfd sp!, {r0, r4, pc} ++ ++ tst r2, #16 ++4: ldmneia r1!, {r3, r4, ip, lr} ++ stmneia r0!, {r3, r4, ip, lr} ++ ++ tst r2, #8 ++5: ldmneia r1!, {r3, r4} ++ stmneia r0!, {r3, r4} ++ ++ tst r2, #4 ++6: ldrne r3, [r1], #4 ++ strne r3, [r0], #4 ++ ++7: ands r2, r2, #3 ++ ldmeqfd sp!, {r0, r4, pc} ++ ++ cmp r2, #2 ++ ldrb r3, [r1], #1 ++ ldrgeb r4, [r1], #1 ++ ldrgtb ip, [r1] ++ strb r3, [r0], #1 ++ strgeb r4, [r0], #1 ++ strgtb ip, [r0] ++ ldmfd sp!, {r0, r4, pc} ++ ++8: rsb ip, ip, #4 ++ cmp ip, #2 ++ ldrb r3, [r1], #1 ++ ldrgeb r4, [r1], #1 ++ ldrgtb lr, [r1], #1 ++ strb r3, [r0], #1 ++ strgeb r4, [r0], #1 ++ strgtb lr, [r0], #1 ++ subs r2, r2, ip ++ blt 7b ++ ands ip, r1, #3 ++ beq 1b ++ ++9: bic r1, r1, #3 ++ cmp ip, #2 ++ ldr lr, [r1], #4 ++ beq 17f ++ bgt 18f ++ ++ ++ .macro forward_copy_shift pull push ++ ++ cmp r2, #12 ++ PLD( pld [r1, #0] ) ++ blt 15f ++ subs r2, r2, #28 ++ stmfd sp!, {r5 - r9} ++ blt 13f ++ ++ PLD( subs r2, r2, #97 ) ++ PLD( blt 12f ) ++ PLD( pld [r1, #32] ) ++ ++ PLD( @ cache alignment ) ++ PLD( rsb ip, r1, #36 ) ++ PLD( pld [r1, #64] ) ++ PLD( ands ip, ip, #31 ) ++ PLD( pld [r1, #96] ) ++ PLD( beq 11f ) ++ PLD( cmp r2, ip ) ++ PLD( pld [r1, #128] ) ++ PLD( blt 11f ) ++ PLD( sub r2, r2, ip ) ++10: PLD( mov r3, lr, pull #\pull ) ++ PLD( ldr lr, [r1], #4 ) ++ PLD( subs ip, ip, #4 ) ++ PLD( orr r3, r3, lr, push #\push ) ++ PLD( str r3, [r0], #4 ) ++ PLD( bgt 10b ) ++ ++11: PLD( pld [r1, #128] ) ++12: mov r3, lr, pull #\pull ++ ldmia r1!, {r4 - r9, ip, lr} ++ subs r2, r2, #32 ++ orr r3, r3, r4, push #\push ++ mov r4, r4, pull #\pull ++ orr r4, r4, r5, push #\push ++ mov r5, r5, pull #\pull ++ orr r5, r5, r6, push #\push ++ mov r6, r6, pull #\pull ++ orr r6, r6, r7, push #\push ++ mov r7, r7, pull #\pull ++ orr r7, r7, r8, push #\push ++ mov r8, r8, pull #\pull ++ orr r8, r8, r9, push #\push ++ mov r9, r9, pull #\pull ++ orr r9, r9, ip, push #\push ++ mov ip, ip, pull #\pull ++ orr ip, ip, lr, push #\push ++ stmia r0!, {r3 - r9, ip} ++ bge 11b ++ PLD( cmn r2, #97 ) ++ PLD( bge 12b ) ++ PLD( add r2, r2, #97 ) ++ cmn r2, #16 ++ blt 14f ++13: mov r3, lr, pull #\pull ++ ldmia r1!, {r4 - r6, lr} ++ sub r2, r2, #16 ++ orr r3, r3, r4, push #\push ++ mov r4, r4, pull #\pull ++ orr r4, r4, r5, push #\push ++ mov r5, r5, pull #\pull ++ orr r5, r5, r6, push #\push ++ mov r6, r6, pull #\pull ++ orr r6, r6, lr, push #\push ++ stmia r0!, {r3 - r6} ++14: adds r2, r2, #28 ++ ldmfd sp!, {r5 - r9} ++ blt 16f ++15: mov r3, lr, pull #\pull ++ ldr lr, [r1], #4 ++ subs r2, r2, #4 ++ orr r3, r3, lr, push #\push ++ str r3, [r0], #4 ++ bge 15b ++16: ++ .endm ++ ++ ++ forward_copy_shift pull=8 push=24 ++ sub r1, r1, #3 ++ b 7b ++ ++17: forward_copy_shift pull=16 push=16 ++ sub r1, r1, #2 ++ b 7b ++ ++18: forward_copy_shift pull=24 push=8 ++ sub r1, r1, #1 ++ b 7b ++ ++ .size memcpy, . - memcpy ++END(memcpy) ++libc_hidden_builtin_def (memcpy) +--- /dev/null 2004-06-02 16:28:12.000000000 -0500 ++++ glibc-2.2.5/sysdeps/arm/memmove.S 2004-09-03 19:00:39.000000000 -0500 +@@ -0,0 +1,251 @@ ++/* ++ * Optimized memmove implementation for ARM processors ++ * ++ * Author: Nicolas Pitre ++ * Created: Dec 23, 2003 ++ * Copyright: (C) MontaVista Software, Inc. ++ * ++ * This file is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This file is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ */ ++ ++#include <sysdep.h> ++ ++ ++/* ++ * Endian independent macros for shifting bytes within registers. ++ */ ++#ifndef __ARMEB__ ++#define pull lsr ++#define push lsl ++#else ++#define pull lsl ++#define push lsr ++#endif ++ ++/* ++ * Enable data preload for architectures that support it (ARMv5 and above) ++ */ ++#if defined(__ARM_ARCH_5__) || \ ++ defined(__ARM_ARCH_5T__) || \ ++ defined(__ARM_ARCH_5TE__) ++#define PLD(code...) code ++#else ++#define PLD(code...) ++#endif ++ ++ ++/* char * memmove (char *dst, const char *src) */ ++ENTRY(memmove) ++ subs ip, r0, r1 ++ cmphi r2, ip ++ bls memcpy(PLT) ++ ++ stmfd sp!, {r0, r4, lr} ++ add r1, r1, r2 ++ add r0, r0, r2 ++ subs r2, r2, #4 ++ blt 25f ++ ands ip, r0, #3 ++ PLD( pld [r1, #-4] ) ++ bne 26f ++ ands ip, r1, #3 ++ bne 27f ++ ++19: subs r2, r2, #4 ++ blt 24f ++ subs r2, r2, #8 ++ blt 23f ++ subs r2, r2, #16 ++ blt 22f ++ ++ PLD( pld [r1, #-32] ) ++ PLD( subs r2, r2, #96 ) ++ stmfd sp!, {r5 - r8} ++ PLD( blt 21f ) ++ ++ PLD( @ cache alignment ) ++ PLD( ands ip, r1, #31 ) ++ PLD( pld [r1, #-64] ) ++ PLD( beq 20f ) ++ PLD( cmp r2, ip ) ++ PLD( pld [r1, #-96] ) ++ PLD( blt 20f ) ++ PLD( cmp ip, #16 ) ++ PLD( sub r2, r2, ip ) ++ PLD( ldmgedb r1!, {r3 - r6} ) ++ PLD( stmgedb r0!, {r3 - r6} ) ++ PLD( beq 20f ) ++ PLD( and ip, ip, #15 ) ++ PLD( cmp ip, #8 ) ++ PLD( ldr r3, [r1, #-4]! ) ++ PLD( ldrge r4, [r1, #-4]! ) ++ PLD( ldrgt r5, [r1, #-4]! ) ++ PLD( str r3, [r0, #-4]! ) ++ PLD( strge r4, [r0, #-4]! ) ++ PLD( strgt r5, [r0, #-4]! ) ++ ++20: PLD( pld [r1, #-96] ) ++ PLD( pld [r1, #-128] ) ++21: ldmdb r1!, {r3, r4, ip, lr} ++ subs r2, r2, #32 ++ stmdb r0!, {r3, r4, ip, lr} ++ ldmdb r1!, {r3, r4, ip, lr} ++ stmgedb r0!, {r3, r4, ip, lr} ++ ldmgedb r1!, {r3, r4, ip, lr} ++ stmgedb r0!, {r3, r4, ip, lr} ++ ldmgedb r1!, {r3, r4, ip, lr} ++ subges r2, r2, #32 ++ stmdb r0!, {r3, r4, ip, lr} ++ bge 20b ++ PLD( cmn r2, #96 ) ++ PLD( bge 21b ) ++ PLD( add r2, r2, #96 ) ++ tst r2, #31 ++ ldmfd sp!, {r5 - r8} ++ ldmeqfd sp!, {r0, r4, pc} ++ ++ tst r2, #16 ++22: ldmnedb r1!, {r3, r4, ip, lr} ++ stmnedb r0!, {r3, r4, ip, lr} ++ ++ tst r2, #8 ++23: ldmnedb r1!, {r3, r4} ++ stmnedb r0!, {r3, r4} ++ ++ tst r2, #4 ++24: ldrne r3, [r1, #-4]! ++ strne r3, [r0, #-4]! ++ ++25: ands r2, r2, #3 ++ ldmeqfd sp!, {r0, r4, pc} ++ ++ cmp r2, #2 ++ ldrb r3, [r1, #-1] ++ ldrgeb r4, [r1, #-2] ++ ldrgtb ip, [r1, #-3] ++ strb r3, [r0, #-1] ++ strgeb r4, [r0, #-2] ++ strgtb ip, [r0, #-3] ++ ldmfd sp!, {r0, r4, pc} ++ ++26: cmp ip, #2 ++ ldrb r3, [r1, #-1]! ++ ldrgeb r4, [r1, #-1]! ++ ldrgtb lr, [r1, #-1]! ++ strb r3, [r0, #-1]! ++ strgeb r4, [r0, #-1]! ++ strgtb lr, [r0, #-1]! ++ subs r2, r2, ip ++ blt 25b ++ ands ip, r1, #3 ++ beq 19b ++ ++27: bic r1, r1, #3 ++ cmp ip, #2 ++ ldr r3, [r1] ++ beq 35f ++ blt 36f ++ ++ ++ .macro backward_copy_shift push pull ++ ++ cmp r2, #12 ++ PLD( pld [r1, #-4] ) ++ blt 33f ++ subs r2, r2, #28 ++ stmfd sp!, {r5 - r9} ++ blt 31f ++ ++ PLD( subs r2, r2, #96 ) ++ PLD( pld [r1, #-32] ) ++ PLD( blt 30f ) ++ PLD( pld [r1, #-64] ) ++ ++ PLD( @ cache alignment ) ++ PLD( ands ip, r1, #31 ) ++ PLD( pld [r1, #-96] ) ++ PLD( beq 29f ) ++ PLD( cmp r2, ip ) ++ PLD( pld [r1, #-128] ) ++ PLD( blt 29f ) ++ PLD( sub r2, r2, ip ) ++28: PLD( mov r4, r3, push #\push ) ++ PLD( ldr r3, [r1, #-4]! ) ++ PLD( subs ip, ip, #4 ) ++ PLD( orr r4, r4, r3, pull #\pull ) ++ PLD( str r4, [r0, #-4]! ) ++ PLD( bgt 28b ) ++ ++29: PLD( pld [r1, #-128] ) ++30: mov lr, r3, push #\push ++ ldmdb r1!, {r3 - r9, ip} ++ subs r2, r2, #32 ++ orr lr, lr, ip, pull #\pull ++ mov ip, ip, push #\push ++ orr ip, ip, r9, pull #\pull ++ mov r9, r9, push #\push ++ orr r9, r9, r8, pull #\pull ++ mov r8, r8, push #\push ++ orr r8, r8, r7, pull #\pull ++ mov r7, r7, push #\push ++ orr r7, r7, r6, pull #\pull ++ mov r6, r6, push #\push ++ orr r6, r6, r5, pull #\pull ++ mov r5, r5, push #\push ++ orr r5, r5, r4, pull #\pull ++ mov r4, r4, push #\push ++ orr r4, r4, r3, pull #\pull ++ stmdb r0!, {r4 - r9, ip, lr} ++ bge 29b ++ PLD( cmn r2, #96 ) ++ PLD( bge 30b ) ++ PLD( add r2, r2, #96 ) ++ cmn r2, #16 ++ blt 32f ++31: mov r7, r3, push #\push ++ ldmdb r1!, {r3 - r6} ++ sub r2, r2, #16 ++ orr r7, r7, r6, pull #\pull ++ mov r6, r6, push #\push ++ orr r6, r6, r5, pull #\pull ++ mov r5, r5, push #\push ++ orr r5, r5, r4, pull #\pull ++ mov r4, r4, push #\push ++ orr r4, r4, r3, pull #\pull ++ stmdb r0!, {r4 - r7} ++32: adds r2, r2, #28 ++ ldmfd sp!, {r5 - r9} ++ blt 34f ++33: mov r4, r3, push #\push ++ ldr r3, [r1, #-4]! ++ subs r2, r2, #4 ++ orr r4, r4, r3, pull #\pull ++ str r4, [r0, #-4]! ++ bge 33b ++34: ++ .endm ++ ++ ++ backward_copy_shift push=8 pull=24 ++ add r1, r1, #3 ++ b 25b ++ ++35: backward_copy_shift push=16 pull=16 ++ add r1, r1, #2 ++ b 25b ++ ++36: backward_copy_shift push=24 pull=8 ++ add r1, r1, #1 ++ b 25b ++ ++ .size memmove, . - memmove ++END(memmove) ++libc_hidden_builtin_def (memmove) +--- /dev/null 2004-06-02 16:28:12.000000000 -0500 ++++ glibc-2.2.5/sysdeps/arm/bcopy.S 2004-09-03 19:00:39.000000000 -0500 +@@ -0,0 +1,255 @@ ++/* ++ * Optimized memmove implementation for ARM processors ++ * ++ * Author: Nicolas Pitre ++ * Created: Dec 23, 2003 ++ * Copyright: (C) MontaVista Software, Inc. ++ * ++ * This file is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This file is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ */ ++ ++#include <sysdep.h> ++ ++ ++/* ++ * Endian independent macros for shifting bytes within registers. ++ */ ++#ifndef __ARMEB__ ++#define pull lsr ++#define push lsl ++#else ++#define pull lsl ++#define push lsr ++#endif ++ ++/* ++ * Enable data preload for architectures that support it (ARMv5 and above) ++ */ ++#if defined(__ARM_ARCH_5__) || \ ++ defined(__ARM_ARCH_5T__) || \ ++ defined(__ARM_ARCH_5TE__) ++#define PLD(code...) code ++#else ++#define PLD(code...) ++#endif ++ ++dst .req r1 ++src .req r0 ++ ++/* void *bcopy (const char *src, char *dst, size_t size) */ ++ENTRY(bcopy) ++ subs ip, dst, src ++ cmphi r2, ip ++ movls r3, r0 ++ movls r0, r1 ++ movls r1, r3 ++ bls memcpy(PLT) ++ ++ stmfd sp!, {r4, lr} ++ add src, src, r2 ++ add dst, dst, r2 ++ subs r2, r2, #4 ++ blt 25f ++ ands ip, dst, #3 ++ PLD( pld [src, #-4] ) ++ bne 26f ++ ands ip, src, #3 ++ bne 27f ++ ++19: subs r2, r2, #4 ++ blt 24f ++ subs r2, r2, #8 ++ blt 23f ++ subs r2, r2, #16 ++ blt 22f ++ ++ PLD( pld [src, #-32] ) ++ PLD( subs r2, r2, #96 ) ++ stmfd sp!, {r5 - r8} ++ PLD( blt 21f ) ++ ++ PLD( @ cache alignment ) ++ PLD( ands ip, src, #31 ) ++ PLD( pld [src, #-64] ) ++ PLD( beq 20f ) ++ PLD( cmp r2, ip ) ++ PLD( pld [src, #-96] ) ++ PLD( blt 20f ) ++ PLD( cmp ip, #16 ) ++ PLD( sub r2, r2, ip ) ++ PLD( ldmgedb src!, {r3 - r6} ) ++ PLD( stmgedb dst!, {r3 - r6} ) ++ PLD( beq 20f ) ++ PLD( and ip, ip, #15 ) ++ PLD( cmp ip, #8 ) ++ PLD( ldr r3, [src, #-4]! ) ++ PLD( ldrge r4, [src, #-4]! ) ++ PLD( ldrgt r5, [src, #-4]! ) ++ PLD( str r3, [dst, #-4]! ) ++ PLD( strge r4, [dst, #-4]! ) ++ PLD( strgt r5, [dst, #-4]! ) ++ ++20: PLD( pld [src, #-96] ) ++ PLD( pld [src, #-128] ) ++21: ldmdb src!, {r3, r4, ip, lr} ++ subs r2, r2, #32 ++ stmdb dst!, {r3, r4, ip, lr} ++ ldmdb src!, {r3, r4, ip, lr} ++ stmgedb dst!, {r3, r4, ip, lr} ++ ldmgedb src!, {r3, r4, ip, lr} ++ stmgedb dst!, {r3, r4, ip, lr} ++ ldmgedb src!, {r3, r4, ip, lr} ++ subges r2, r2, #32 ++ stmdb dst!, {r3, r4, ip, lr} ++ bge 20b ++ PLD( cmn r2, #96 ) ++ PLD( bge 21b ) ++ PLD( add r2, r2, #96 ) ++ tst r2, #31 ++ ldmfd sp!, {r5 - r8} ++ ldmeqfd sp!, {r4, pc} ++ ++ tst r2, #16 ++22: ldmnedb src!, {r3, r4, ip, lr} ++ stmnedb dst!, {r3, r4, ip, lr} ++ ++ tst r2, #8 ++23: ldmnedb src!, {r3, r4} ++ stmnedb dst!, {r3, r4} ++ ++ tst r2, #4 ++24: ldrne r3, [src, #-4]! ++ strne r3, [dst, #-4]! ++ ++25: ands r2, r2, #3 ++ ldmeqfd sp!, {dst, r4, pc} ++ ++ cmp r2, #2 ++ ldrb r3, [src, #-1] ++ ldrgeb r4, [src, #-2] ++ ldrgtb ip, [src, #-3] ++ strb r3, [dst, #-1] ++ strgeb r4, [dst, #-2] ++ strgtb ip, [dst, #-3] ++ ldmfd sp!, {dst, r4, pc} ++ ++26: cmp ip, #2 ++ ldrb r3, [src, #-1]! ++ ldrgeb r4, [src, #-1]! ++ ldrgtb lr, [src, #-1]! ++ strb r3, [dst, #-1]! ++ strgeb r4, [dst, #-1]! ++ strgtb lr, [dst, #-1]! ++ subs r2, r2, ip ++ blt 25b ++ ands ip, src, #3 ++ beq 19b ++ ++27: bic src, src, #3 ++ cmp ip, #2 ++ ldr r3, [src] ++ beq 35f ++ blt 36f ++ ++ ++ .macro backward_copy_shift push pull ++ ++ cmp r2, #12 ++ PLD( pld [src, #-4] ) ++ blt 33f ++ subs r2, r2, #28 ++ stmfd sp!, {r5 - r9} ++ blt 31f ++ ++ PLD( subs r2, r2, #96 ) ++ PLD( pld [src, #-32] ) ++ PLD( blt 30f ) ++ PLD( pld [src, #-64] ) ++ ++ PLD( @ cache alignment ) ++ PLD( ands ip, src, #31 ) ++ PLD( pld [src, #-96] ) ++ PLD( beq 29f ) ++ PLD( cmp r2, ip ) ++ PLD( pld [src, #-128] ) ++ PLD( blt 29f ) ++ PLD( sub r2, r2, ip ) ++28: PLD( mov r4, r3, push #\push ) ++ PLD( ldr r3, [src, #-4]! ) ++ PLD( subs ip, ip, #4 ) ++ PLD( orr r4, r4, r3, pull #\pull ) ++ PLD( str r4, [dst, #-4]! ) ++ PLD( bgt 28b ) ++ ++29: PLD( pld [src, #-128] ) ++30: mov lr, r3, push #\push ++ ldmdb src!, {r3 - r9, ip} ++ subs r2, r2, #32 ++ orr lr, lr, ip, pull #\pull ++ mov ip, ip, push #\push ++ orr ip, ip, r9, pull #\pull ++ mov r9, r9, push #\push ++ orr r9, r9, r8, pull #\pull ++ mov r8, r8, push #\push ++ orr r8, r8, r7, pull #\pull ++ mov r7, r7, push #\push ++ orr r7, r7, r6, pull #\pull ++ mov r6, r6, push #\push ++ orr r6, r6, r5, pull #\pull ++ mov r5, r5, push #\push ++ orr r5, r5, r4, pull #\pull ++ mov r4, r4, push #\push ++ orr r4, r4, r3, pull #\pull ++ stmdb dst!, {r4 - r9, ip, lr} ++ bge 29b ++ PLD( cmn r2, #96 ) ++ PLD( bge 30b ) ++ PLD( add r2, r2, #96 ) ++ cmn r2, #16 ++ blt 32f ++31: mov r7, r3, push #\push ++ ldmdb src!, {r3 - r6} ++ sub r2, r2, #16 ++ orr r7, r7, r6, pull #\pull ++ mov r6, r6, push #\push ++ orr r6, r6, r5, pull #\pull ++ mov r5, r5, push #\push ++ orr r5, r5, r4, pull #\pull ++ mov r4, r4, push #\push ++ orr r4, r4, r3, pull #\pull ++ stmdb dst!, {r4 - r7} ++32: adds r2, r2, #28 ++ ldmfd sp!, {r5 - r9} ++ blt 34f ++33: mov r4, r3, push #\push ++ ldr r3, [src, #-4]! ++ subs r2, r2, #4 ++ orr r4, r4, r3, pull #\pull ++ str r4, [dst, #-4]! ++ bge 33b ++34: ++ .endm ++ ++ ++ backward_copy_shift push=8 pull=24 ++ add src, src, #3 ++ b 25b ++ ++35: backward_copy_shift push=16 pull=16 ++ add src, src, #2 ++ b 25b ++ ++36: backward_copy_shift push=24 pull=8 ++ add src, src, #1 ++ b 25b ++ ++ .size bcopy, . - bcopy ++END(bcopy) diff --git a/packages/glibc/glibc-2.2.5/arm-no-hwcap.patch b/packages/glibc/glibc-2.2.5/arm-no-hwcap.patch index e69de29bb2..17bfdcd125 100644 --- a/packages/glibc/glibc-2.2.5/arm-no-hwcap.patch +++ b/packages/glibc/glibc-2.2.5/arm-no-hwcap.patch @@ -0,0 +1,11 @@ +--- sysdeps/unix/sysv/linux/arm/dl-procinfo.h Mon Jul 23 12:57:23 2001 ++++ sysdeps/unix/sysv/linux/arm/dl-procinfo.h Sun Feb 10 06:37:00 2002 +@@ -67,7 +67,7 @@ + HWCAP_ARM_VFP = 1 << 6, + HWCAP_ARM_EDSP = 1 << 7, + +- HWCAP_IMPORTANT = (HWCAP_ARM_HALF | HWCAP_ARM_FAST_MULT) ++ HWCAP_IMPORTANT = HWCAP_ARM_FAST_MULT + }; + + static inline int diff --git a/packages/glibc/glibc-2.2.5/cris-libc-symbols.patch b/packages/glibc/glibc-2.2.5/cris-libc-symbols.patch index e69de29bb2..93fc2c141f 100644 --- a/packages/glibc/glibc-2.2.5/cris-libc-symbols.patch +++ b/packages/glibc/glibc-2.2.5/cris-libc-symbols.patch @@ -0,0 +1,43 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/include/libc-symbols.h~cris-libc-symbols.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/include/libc-symbols.h 2004-09-03 19:00:37.000000000 -0500 +@@ -207,18 +207,29 @@ + # define __make_section_unallocated(section_string) + # endif + +-/* Tacking on "\n\t#" to the section name makes gcc put it's bogus +- section attributes on what looks like a comment to the assembler. */ ++/* Tacking on "\n\t#" to the section name makes gcc put its bogus ++ section attributes on what looks like a comment to the assembler. ++ Furthermore, with gas, we need to add a "#APP" line so the comment ++ is recognized as such. */ ++# ifdef HAVE_GNU_AS ++# define __as_app_line "#APP\n" ++# else ++# define __as_app_line "" ++# endif + # ifdef HAVE_SECTION_QUOTES + # define link_warning(symbol, msg) \ + __make_section_unallocated (".gnu.warning." #symbol) \ +- static const char __evoke_link_warning_##symbol[] \ +- __attribute__ ((section (".gnu.warning." #symbol "\"\n\t#\""))) = msg; ++ static const char __evoke_link_warning_##symbol[] \ ++ __attribute__ \ ++ ((section (".gnu.warning." #symbol "\"\n" __as_app_line "\t#\""))) \ ++ = msg; + # else + # define link_warning(symbol, msg) \ + __make_section_unallocated (".gnu.warning." #symbol) \ +- static const char __evoke_link_warning_##symbol[] \ +- __attribute__ ((section (".gnu.warning." #symbol "\n\t#"))) = msg; ++ static const char __evoke_link_warning_##symbol[] \ ++ __attribute__ \ ++ ((section (".gnu.warning." #symbol "\n" __as_app_line "\t#"))) \ ++ = msg; + # endif + # else /* Not ELF: a.out */ + # ifdef HAVE_XCOFF diff --git a/packages/glibc/glibc-2.2.5/cris-stack-direction.patch b/packages/glibc/glibc-2.2.5/cris-stack-direction.patch index e69de29bb2..785d3a2427 100644 --- a/packages/glibc/glibc-2.2.5/cris-stack-direction.patch +++ b/packages/glibc/glibc-2.2.5/cris-stack-direction.patch @@ -0,0 +1,36 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- /dev/null 2004-06-02 16:28:12.000000000 -0500 ++++ glibc-2.2.5/sysdeps/cris/stackinfo.h 2004-09-03 19:00:37.000000000 -0500 +@@ -0,0 +1,28 @@ ++/* Copyright (C) 2002 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++/* This file contains a bit of information about the stack allocation ++ of the processor. */ ++ ++#ifndef _STACKINFO_H ++#define _STACKINFO_H 1 ++ ++/* On cris the stack grows down. */ ++#define _STACK_GROWS_DOWN 1 ++ ++#endif /* stackinfo.h */ diff --git a/packages/glibc/glibc-2.2.5/dl-machine-alpha.patch b/packages/glibc/glibc-2.2.5/dl-machine-alpha.patch index e69de29bb2..1d34dba706 100644 --- a/packages/glibc/glibc-2.2.5/dl-machine-alpha.patch +++ b/packages/glibc/glibc-2.2.5/dl-machine-alpha.patch @@ -0,0 +1,420 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/alpha/dl-machine.h~dl-machine-alpha.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/alpha/dl-machine.h 2004-09-03 19:00:37.000000000 -0500 +@@ -134,125 +134,126 @@ + #define TRAMPOLINE_TEMPLATE(tramp_name, fixup_name, IMB) \ + extern void tramp_name (void); \ + asm ( "\ +- .globl " #tramp_name " +- .ent " #tramp_name " +-" #tramp_name ": +- lda $sp, -44*8($sp) +- .frame $sp, 44*8, $26 +- /* Preserve all integer registers that C normally doesn't. */ +- stq $26, 0*8($sp) +- stq $0, 1*8($sp) +- stq $1, 2*8($sp) +- stq $2, 3*8($sp) +- stq $3, 4*8($sp) +- stq $4, 5*8($sp) +- stq $5, 6*8($sp) +- stq $6, 7*8($sp) +- stq $7, 8*8($sp) +- stq $8, 9*8($sp) +- stq $16, 10*8($sp) +- stq $17, 11*8($sp) +- stq $18, 12*8($sp) +- stq $19, 13*8($sp) +- stq $20, 14*8($sp) +- stq $21, 15*8($sp) +- stq $22, 16*8($sp) +- stq $23, 17*8($sp) +- stq $24, 18*8($sp) +- stq $25, 19*8($sp) +- stq $29, 20*8($sp) +- stt $f0, 21*8($sp) +- stt $f1, 22*8($sp) +- stt $f10, 23*8($sp) +- stt $f11, 24*8($sp) +- stt $f12, 25*8($sp) +- stt $f13, 26*8($sp) +- stt $f14, 27*8($sp) +- stt $f15, 28*8($sp) +- stt $f16, 29*8($sp) +- stt $f17, 30*8($sp) +- stt $f18, 31*8($sp) +- stt $f19, 32*8($sp) +- stt $f20, 33*8($sp) +- stt $f21, 34*8($sp) +- stt $f22, 35*8($sp) +- stt $f23, 36*8($sp) +- stt $f24, 37*8($sp) +- stt $f25, 38*8($sp) +- stt $f26, 39*8($sp) +- stt $f27, 40*8($sp) +- stt $f28, 41*8($sp) +- stt $f29, 42*8($sp) +- stt $f30, 43*8($sp) +- .mask 0x27ff01ff, -44*8 +- .fmask 0xfffffc03, -(44-21)*8 +- /* Set up our $gp */ +- br $gp, .+4 +- ldgp $gp, 0($gp) +- .prologue 0 +- /* Set up the arguments for fixup: */ +- /* $16 = link_map out of plt0 */ +- /* $17 = offset of reloc entry = ($28 - $27 - 20) /12 * 24 */ +- /* $18 = return address */ +- subq $28, $27, $17 +- ldq $16, 8($27) +- subq $17, 20, $17 +- mov $26, $18 +- addq $17, $17, $17 +- /* Do the fixup */ +- bsr $26, " ASM_ALPHA_NG_SYMBOL_PREFIX #fixup_name "..ng +- /* Move the destination address into position. */ +- mov $0, $27 +- /* Restore program registers. */ +- ldq $26, 0*8($sp) +- ldq $0, 1*8($sp) +- ldq $1, 2*8($sp) +- ldq $2, 3*8($sp) +- ldq $3, 4*8($sp) +- ldq $4, 5*8($sp) +- ldq $5, 6*8($sp) +- ldq $6, 7*8($sp) +- ldq $7, 8*8($sp) +- ldq $8, 9*8($sp) +- ldq $16, 10*8($sp) +- ldq $17, 11*8($sp) +- ldq $18, 12*8($sp) +- ldq $19, 13*8($sp) +- ldq $20, 14*8($sp) +- ldq $21, 15*8($sp) +- ldq $22, 16*8($sp) +- ldq $23, 17*8($sp) +- ldq $24, 18*8($sp) +- ldq $25, 19*8($sp) +- ldq $29, 20*8($sp) +- ldt $f0, 21*8($sp) +- ldt $f1, 22*8($sp) +- ldt $f10, 23*8($sp) +- ldt $f11, 24*8($sp) +- ldt $f12, 25*8($sp) +- ldt $f13, 26*8($sp) +- ldt $f14, 27*8($sp) +- ldt $f15, 28*8($sp) +- ldt $f16, 29*8($sp) +- ldt $f17, 30*8($sp) +- ldt $f18, 31*8($sp) +- ldt $f19, 32*8($sp) +- ldt $f20, 33*8($sp) +- ldt $f21, 34*8($sp) +- ldt $f22, 35*8($sp) +- ldt $f23, 36*8($sp) +- ldt $f24, 37*8($sp) +- ldt $f25, 38*8($sp) +- ldt $f26, 39*8($sp) +- ldt $f27, 40*8($sp) +- ldt $f28, 41*8($sp) +- ldt $f29, 42*8($sp) +- ldt $f30, 43*8($sp) +- /* Flush the Icache after having modified the .plt code. */ +- " #IMB " +- /* Clean up and turn control to the destination */ +- lda $sp, 44*8($sp) +- jmp $31, ($27) ++ .globl " #tramp_name " \n\ ++ .ent " #tramp_name " \n\ ++" #tramp_name ": \n\ ++ lda $sp, -44*8($sp) \n\ ++ .frame $sp, 44*8, $26 \n\ ++ /* Preserve all integer registers that C normally \n\ ++ doesn't. */ \n\ ++ stq $26, 0*8($sp) \n\ ++ stq $0, 1*8($sp) \n\ ++ stq $1, 2*8($sp) \n\ ++ stq $2, 3*8($sp) \n\ ++ stq $3, 4*8($sp) \n\ ++ stq $4, 5*8($sp) \n\ ++ stq $5, 6*8($sp) \n\ ++ stq $6, 7*8($sp) \n\ ++ stq $7, 8*8($sp) \n\ ++ stq $8, 9*8($sp) \n\ ++ stq $16, 10*8($sp) \n\ ++ stq $17, 11*8($sp) \n\ ++ stq $18, 12*8($sp) \n\ ++ stq $19, 13*8($sp) \n\ ++ stq $20, 14*8($sp) \n\ ++ stq $21, 15*8($sp) \n\ ++ stq $22, 16*8($sp) \n\ ++ stq $23, 17*8($sp) \n\ ++ stq $24, 18*8($sp) \n\ ++ stq $25, 19*8($sp) \n\ ++ stq $29, 20*8($sp) \n\ ++ stt $f0, 21*8($sp) \n\ ++ stt $f1, 22*8($sp) \n\ ++ stt $f10, 23*8($sp) \n\ ++ stt $f11, 24*8($sp) \n\ ++ stt $f12, 25*8($sp) \n\ ++ stt $f13, 26*8($sp) \n\ ++ stt $f14, 27*8($sp) \n\ ++ stt $f15, 28*8($sp) \n\ ++ stt $f16, 29*8($sp) \n\ ++ stt $f17, 30*8($sp) \n\ ++ stt $f18, 31*8($sp) \n\ ++ stt $f19, 32*8($sp) \n\ ++ stt $f20, 33*8($sp) \n\ ++ stt $f21, 34*8($sp) \n\ ++ stt $f22, 35*8($sp) \n\ ++ stt $f23, 36*8($sp) \n\ ++ stt $f24, 37*8($sp) \n\ ++ stt $f25, 38*8($sp) \n\ ++ stt $f26, 39*8($sp) \n\ ++ stt $f27, 40*8($sp) \n\ ++ stt $f28, 41*8($sp) \n\ ++ stt $f29, 42*8($sp) \n\ ++ stt $f30, 43*8($sp) \n\ ++ .mask 0x27ff01ff, -44*8 \n\ ++ .fmask 0xfffffc03, -(44-21)*8 \n\ ++ /* Set up our $gp */ \n\ ++ br $gp, .+4 \n\ ++ ldgp $gp, 0($gp) \n\ ++ .prologue 0 \n\ ++ /* Set up the arguments for fixup: */ \n\ ++ /* $16 = link_map out of plt0 */ \n\ ++ /* $17 = offset of reloc entry = ($28 - $27 - 20) /12 * 24 */\n\ ++ /* $18 = return address */ \n\ ++ subq $28, $27, $17 \n\ ++ ldq $16, 8($27) \n\ ++ subq $17, 20, $17 \n\ ++ mov $26, $18 \n\ ++ addq $17, $17, $17 \n\ ++ /* Do the fixup */ \n\ ++ bsr $26, " ASM_ALPHA_NG_SYMBOL_PREFIX #fixup_name "..ng\n\ ++ /* Move the destination address into position. */ \n\ ++ mov $0, $27 \n\ ++ /* Restore program registers. */ \n\ ++ ldq $26, 0*8($sp) \n\ ++ ldq $0, 1*8($sp) \n\ ++ ldq $1, 2*8($sp) \n\ ++ ldq $2, 3*8($sp) \n\ ++ ldq $3, 4*8($sp) \n\ ++ ldq $4, 5*8($sp) \n\ ++ ldq $5, 6*8($sp) \n\ ++ ldq $6, 7*8($sp) \n\ ++ ldq $7, 8*8($sp) \n\ ++ ldq $8, 9*8($sp) \n\ ++ ldq $16, 10*8($sp) \n\ ++ ldq $17, 11*8($sp) \n\ ++ ldq $18, 12*8($sp) \n\ ++ ldq $19, 13*8($sp) \n\ ++ ldq $20, 14*8($sp) \n\ ++ ldq $21, 15*8($sp) \n\ ++ ldq $22, 16*8($sp) \n\ ++ ldq $23, 17*8($sp) \n\ ++ ldq $24, 18*8($sp) \n\ ++ ldq $25, 19*8($sp) \n\ ++ ldq $29, 20*8($sp) \n\ ++ ldt $f0, 21*8($sp) \n\ ++ ldt $f1, 22*8($sp) \n\ ++ ldt $f10, 23*8($sp) \n\ ++ ldt $f11, 24*8($sp) \n\ ++ ldt $f12, 25*8($sp) \n\ ++ ldt $f13, 26*8($sp) \n\ ++ ldt $f14, 27*8($sp) \n\ ++ ldt $f15, 28*8($sp) \n\ ++ ldt $f16, 29*8($sp) \n\ ++ ldt $f17, 30*8($sp) \n\ ++ ldt $f18, 31*8($sp) \n\ ++ ldt $f19, 32*8($sp) \n\ ++ ldt $f20, 33*8($sp) \n\ ++ ldt $f21, 34*8($sp) \n\ ++ ldt $f22, 35*8($sp) \n\ ++ ldt $f23, 36*8($sp) \n\ ++ ldt $f24, 37*8($sp) \n\ ++ ldt $f25, 38*8($sp) \n\ ++ ldt $f26, 39*8($sp) \n\ ++ ldt $f27, 40*8($sp) \n\ ++ ldt $f28, 41*8($sp) \n\ ++ ldt $f29, 42*8($sp) \n\ ++ ldt $f30, 43*8($sp) \n\ ++ /* Flush the Icache after having modified the .plt code. */\n\ ++ " #IMB " \n\ ++ /* Clean up and turn control to the destination */ \n\ ++ lda $sp, 44*8($sp) \n\ ++ jmp $31, ($27) \n\ + .end " #tramp_name) + + #ifndef PROF +@@ -270,85 +271,87 @@ + its return value is the user program's entry point. */ + + #define RTLD_START asm ("\ +-.text +- .set at +- .globl _start +- .ent _start +-_start: +- br $gp, 0f +-0: ldgp $gp, 0($gp) +- .prologue 0 +- /* Pass pointer to argument block to _dl_start. */ +- mov $sp, $16 +- bsr $26, "ASM_ALPHA_NG_SYMBOL_PREFIX"_dl_start..ng +- .end _start +- /* FALLTHRU */ +- .globl _dl_start_user +- .ent _dl_start_user +-_dl_start_user: +- .frame $30,0,$31,0 +- .prologue 0 +- /* Save the user entry point address in s0. */ +- mov $0, $9 +- /* Store the highest stack address. */ +- stq $30, __libc_stack_end +- /* See if we were run as a command with the executable file +- name as an extra leading argument. */ +- ldl $1, _dl_skip_args +- bne $1, $fixup_stack +-$fixup_stack_ret: +- /* The special initializer gets called with the stack just +- as the application's entry point will see it; it can +- switch stacks if it moves these contents over. */ +-" RTLD_START_SPECIAL_INIT " +- /* Call _dl_init(_dl_loaded, argc, argv, envp) to run initializers. */ +- ldq $16, _dl_loaded +- ldq $17, 0($sp) +- lda $18, 8($sp) +- s8addq $17, 8, $19 +- addq $19, $18, $19 +- jsr $26, _dl_init +- /* Pass our finalizer function to the user in $0. */ +- lda $0, _dl_fini +- /* Jump to the user's entry point. */ +- mov $9, $27 +- jmp ($9) +-$fixup_stack: +- /* Adjust the stack pointer to skip _dl_skip_args words. This +- involves copying everything down, since the stack pointer must +- always be 16-byte aligned. */ +- ldq $2, 0($sp) +- ldq $5, _dl_argv +- subq $31, $1, $6 +- subq $2, $1, $2 +- s8addq $6, $5, $5 +- mov $sp, $4 +- s8addq $1, $sp, $3 +- stq $2, 0($sp) +- stq $5, _dl_argv +- /* Copy down argv. */ +-0: ldq $5, 8($3) +- addq $4, 8, $4 +- addq $3, 8, $3 +- stq $5, 0($4) +- bne $5, 0b +- /* Copy down envp. */ +-1: ldq $5, 8($3) +- addq $4, 8, $4 +- addq $3, 8, $3 +- stq $5, 0($4) +- bne $5, 1b +- /* Copy down auxiliary table. */ +-2: ldq $5, 8($3) +- ldq $6, 16($3) +- addq $4, 16, $4 +- addq $3, 16, $3 +- stq $5, -8($4) +- stq $6, 0($4) +- bne $5, 2b +- br $fixup_stack_ret +- .end _dl_start_user +- .set noat ++.text \n\ ++ .set at \n\ ++ .globl _start \n\ ++ .ent _start \n\ ++_start: \n\ ++ br $gp, 0f \n\ ++0: ldgp $gp, 0($gp) \n\ ++ .prologue 0 \n\ ++ /* Pass pointer to argument block to _dl_start. */ \n\ ++ mov $sp, $16 \n\ ++ bsr $26, "ASM_ALPHA_NG_SYMBOL_PREFIX"_dl_start..ng \n\ ++ .end _start \n\ ++ /* FALLTHRU */ \n\ ++ .globl _dl_start_user \n\ ++ .ent _dl_start_user \n\ ++_dl_start_user: \n\ ++ .frame $30,0,$31,0 \n\ ++ .prologue 0 \n\ ++ /* Save the user entry point address in s0. */ \n\ ++ mov $0, $9 \n\ ++ /* Store the highest stack address. */ \n\ ++ stq $30, __libc_stack_end \n\ ++ /* See if we were run as a command with the executable \n\ ++ file name as an extra leading argument. */ \n\ ++ ldl $1, _dl_skip_args \n\ ++ bne $1, $fixup_stack \n\ ++$fixup_stack_ret: \n\ ++ /* The special initializer gets called with the stack \n\ ++ just as the application's entry point will see it; \n\ ++ it can switch stacks if it moves these contents \n\ ++ over. */ \n\ ++" RTLD_START_SPECIAL_INIT " \n\ ++ /* Call _dl_init(_dl_loaded, argc, argv, envp) to run \n\ ++ initializers. */ \n\ ++ ldq $16, _dl_loaded \n\ ++ ldq $17, 0($sp) \n\ ++ lda $18, 8($sp) \n\ ++ s8addq $17, 8, $19 \n\ ++ addq $19, $18, $19 \n\ ++ jsr $26, _dl_init \n\ ++ /* Pass our finalizer function to the user in $0. */ \n\ ++ lda $0, _dl_fini \n\ ++ /* Jump to the user's entry point. */ \n\ ++ mov $9, $27 \n\ ++ jmp ($9) \n\ ++$fixup_stack: \n\ ++ /* Adjust the stack pointer to skip _dl_skip_args words.\n\ ++ This involves copying everything down, since the \n\ ++ stack pointer must always be 16-byte aligned. */ \n\ ++ ldq $2, 0($sp) \n\ ++ ldq $5, _dl_argv \n\ ++ subq $31, $1, $6 \n\ ++ subq $2, $1, $2 \n\ ++ s8addq $6, $5, $5 \n\ ++ mov $sp, $4 \n\ ++ s8addq $1, $sp, $3 \n\ ++ stq $2, 0($sp) \n\ ++ stq $5, _dl_argv \n\ ++ /* Copy down argv. */ \n\ ++0: ldq $5, 8($3) \n\ ++ addq $4, 8, $4 \n\ ++ addq $3, 8, $3 \n\ ++ stq $5, 0($4) \n\ ++ bne $5, 0b \n\ ++ /* Copy down envp. */ \n\ ++1: ldq $5, 8($3) \n\ ++ addq $4, 8, $4 \n\ ++ addq $3, 8, $3 \n\ ++ stq $5, 0($4) \n\ ++ bne $5, 1b \n\ ++ /* Copy down auxiliary table. */ \n\ ++2: ldq $5, 8($3) \n\ ++ ldq $6, 16($3) \n\ ++ addq $4, 16, $4 \n\ ++ addq $3, 16, $3 \n\ ++ stq $5, -8($4) \n\ ++ stq $6, 0($4) \n\ ++ bne $5, 2b \n\ ++ br $fixup_stack_ret \n\ ++ .end _dl_start_user \n\ ++ .set noat \n\ + .previous"); + + #ifndef RTLD_START_SPECIAL_INIT diff --git a/packages/glibc/glibc-2.2.5/dl-machine-arm.patch b/packages/glibc/glibc-2.2.5/dl-machine-arm.patch index e69de29bb2..7684b43b39 100644 --- a/packages/glibc/glibc-2.2.5/dl-machine-arm.patch +++ b/packages/glibc/glibc-2.2.5/dl-machine-arm.patch @@ -0,0 +1,383 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/arm/dl-machine.h~dl-machine-arm.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/arm/dl-machine.h 2004-09-03 19:00:37.000000000 -0500 +@@ -121,14 +121,15 @@ + and then redirect to the address it returns. */ + // macro for handling PIC situation.... + #ifdef PIC +-#define CALL_ROUTINE(x) " ldr sl,0f +- add sl, pc, sl +-1: ldr r2, 2f +- mov lr, pc +- add pc, sl, r2 +- b 3f +-0: .word _GLOBAL_OFFSET_TABLE_ - 1b - 4 +-2: .word " #x "(GOTOFF) ++#define CALL_ROUTINE(x) "\ ++ ldr sl,0f\n\ ++ add sl, pc, sl\n\ ++1: ldr r2, 2f\n\ ++ mov lr, pc\n\ ++ add pc, sl, r2\n\ ++ b 3f\n\ ++0: .word _GLOBAL_OFFSET_TABLE_ - 1b - 4\n\ ++2: .word " #x "(GOTOFF)\n\ + 3: " + #else + #define CALL_ROUTINE(x) " bl " #x +@@ -136,114 +137,114 @@ + + #ifndef PROF + # define ELF_MACHINE_RUNTIME_TRAMPOLINE asm ("\ +- .text +- .globl _dl_runtime_resolve +- .type _dl_runtime_resolve, #function +- .align 2 +-_dl_runtime_resolve: +- @ we get called with +- @ stack[0] contains the return address from this call +- @ ip contains &GOT[n+3] (pointer to function) +- @ lr points to &GOT[2] +- +- @ save almost everything; lr is already on the stack +- stmdb sp!,{r0-r3,sl,fp} +- +- @ prepare to call fixup() +- @ change &GOT[n+3] into 8*n NOTE: reloc are 8 bytes each +- sub r1, ip, lr +- sub r1, r1, #4 +- add r1, r1, r1 +- +- @ get pointer to linker struct +- ldr r0, [lr, #-4] +- +- @ call fixup routine +- " CALL_ROUTINE(fixup) " +- +- @ save the return +- mov ip, r0 +- +- @ restore the stack +- ldmia sp!,{r0-r3,sl,fp,lr} +- +- @ jump to the newly found address +- mov pc, ip +- +- .size _dl_runtime_resolve, .-_dl_runtime_resolve +- +- .globl _dl_runtime_profile +- .type _dl_runtime_profile, #function +- .align 2 +-_dl_runtime_profile: +- @ save almost everything; lr is already on the stack +- stmdb sp!,{r0-r3,sl,fp} +- +- @ prepare to call fixup() +- @ change &GOT[n+3] into 8*n NOTE: reloc are 8 bytes each +- sub r1, ip, lr +- sub r1, r1, #4 +- add r1, r1, r1 +- +- @ get pointer to linker struct +- ldr r0, [lr, #-4] +- +- @ call profiling fixup routine +- " CALL_ROUTINE(profile_fixup) " +- +- @ save the return +- mov ip, r0 +- +- @ restore the stack +- ldmia sp!,{r0-r3,sl,fp,lr} +- +- @ jump to the newly found address +- mov pc, ip +- +- .size _dl_runtime_resolve, .-_dl_runtime_resolve +- .previous ++ .text\n\ ++ .globl _dl_runtime_resolve\n\ ++ .type _dl_runtime_resolve, #function\n\ ++ .align 2\n\ ++_dl_runtime_resolve:\n\ ++ @ we get called with\n\ ++ @ stack[0] contains the return address from this call\n\ ++ @ ip contains &GOT[n+3] (pointer to function)\n\ ++ @ lr points to &GOT[2]\n\ ++\n\ ++ @ save almost everything; lr is already on the stack\n\ ++ stmdb sp!,{r0-r3,sl,fp}\n\ ++\n\ ++ @ prepare to call fixup()\n\ ++ @ change &GOT[n+3] into 8*n NOTE: reloc are 8 bytes each\n\ ++ sub r1, ip, lr\n\ ++ sub r1, r1, #4\n\ ++ add r1, r1, r1\n\ ++\n\ ++ @ get pointer to linker struct\n\ ++ ldr r0, [lr, #-4]\n\ ++\n\ ++ @ call fixup routine\n\ ++ " CALL_ROUTINE(fixup) "\n\ ++\n\ ++ @ save the return\n\ ++ mov ip, r0\n\ ++\n\ ++ @ restore the stack\n\ ++ ldmia sp!,{r0-r3,sl,fp,lr}\n\ ++\n\ ++ @ jump to the newly found address\n\ ++ mov pc, ip\n\ ++\n\ ++ .size _dl_runtime_resolve, .-_dl_runtime_resolve\n\ ++\n\ ++ .globl _dl_runtime_profile\n\ ++ .type _dl_runtime_profile, #function\n\ ++ .align 2\n\ ++_dl_runtime_profile:\n\ ++ @ save almost everything; lr is already on the stack\n\ ++ stmdb sp!,{r0-r3,sl,fp}\n\ ++\n\ ++ @ prepare to call fixup()\n\ ++ @ change &GOT[n+3] into 8*n NOTE: reloc are 8 bytes each\n\ ++ sub r1, ip, lr\n\ ++ sub r1, r1, #4\n\ ++ add r1, r1, r1\n\ ++\n\ ++ @ get pointer to linker struct\n\ ++ ldr r0, [lr, #-4]\n\ ++\n\ ++ @ call profiling fixup routine\n\ ++ " CALL_ROUTINE(profile_fixup) "\n\ ++\n\ ++ @ save the return\n\ ++ mov ip, r0\n\ ++\n\ ++ @ restore the stack\n\ ++ ldmia sp!,{r0-r3,sl,fp,lr}\n\ ++\n\ ++ @ jump to the newly found address\n\ ++ mov pc, ip\n\ ++\n\ ++ .size _dl_runtime_resolve, .-_dl_runtime_resolve\n\ ++ .previous\n\ + "); + #else // PROF + # define ELF_MACHINE_RUNTIME_TRAMPOLINE asm ("\ +- .text +- .globl _dl_runtime_resolve +- .globl _dl_runtime_profile +- .type _dl_runtime_resolve, #function +- .type _dl_runtime_profile, #function +- .align 2 +-_dl_runtime_resolve: +-_dl_runtime_profile: +- @ we get called with +- @ stack[0] contains the return address from this call +- @ ip contains &GOT[n+3] (pointer to function) +- @ lr points to &GOT[2] +- +- @ save almost everything; return add is already on the stack +- stmdb sp!,{r0-r3,sl,fp} +- +- @ prepare to call fixup() +- @ change &GOT[n+3] into 8*n NOTE: reloc are 8 bytes each +- sub r1, ip, lr +- sub r1, r1, #4 +- add r1, r1, r1 +- +- @ get pointer to linker struct +- ldr r0, [lr, #-4] +- +- @ call profiling fixup routine +- " CALL_ROUTINE(fixup) " +- +- @ save the return +- mov ip, r0 +- +- @ restore the stack +- ldmia sp!,{r0-r3,sl,fp,lr} +- +- @ jump to the newly found address +- mov pc, ip +- +- .size _dl_runtime_profile, .-_dl_runtime_profile +- .previous ++ .text\n\ ++ .globl _dl_runtime_resolve\n\ ++ .globl _dl_runtime_profile\n\ ++ .type _dl_runtime_resolve, #function\n\ ++ .type _dl_runtime_profile, #function\n\ ++ .align 2\n\ ++_dl_runtime_resolve:\n\ ++_dl_runtime_profile:\n\ ++ @ we get called with\n\ ++ @ stack[0] contains the return address from this call\n\ ++ @ ip contains &GOT[n+3] (pointer to function)\n\ ++ @ lr points to &GOT[2]\n\ ++\n\ ++ @ save almost everything; return add is already on the stack\n\ ++ stmdb sp!,{r0-r3,sl,fp}\n\ ++\n\ ++ @ prepare to call fixup()\n\ ++ @ change &GOT[n+3] into 8*n NOTE: reloc are 8 bytes each\n\ ++ sub r1, ip, lr\n\ ++ sub r1, r1, #4\n\ ++ add r1, r1, r1\n\ ++\n\ ++ @ get pointer to linker struct\n\ ++ ldr r0, [lr, #-4]\n\ ++\n\ ++ @ call profiling fixup routine\n\ ++ " CALL_ROUTINE(fixup) "\n\ ++\n\ ++ @ save the return\n\ ++ mov ip, r0\n\ ++\n\ ++ @ restore the stack\n\ ++ ldmia sp!,{r0-r3,sl,fp,lr}\n\ ++\n\ ++ @ jump to the newly found address\n\ ++ mov pc, ip\n\ ++\n\ ++ .size _dl_runtime_profile, .-_dl_runtime_profile\n\ ++ .previous\n\ + "); + #endif //PROF + +@@ -256,70 +257,70 @@ + its return value is the user program's entry point. */ + + #define RTLD_START asm ("\ +-.text +-.globl _start +-.globl _dl_start_user +-_start: +- @ at start time, all the args are on the stack +- mov r0, sp +- bl _dl_start +- @ returns user entry point in r0 +-_dl_start_user: +- mov r6, r0 +- @ we are PIC code, so get global offset table +- ldr sl, .L_GET_GOT +- add sl, pc, sl +-.L_GOT_GOT: +- @ Store the highest stack address +- ldr r1, .L_STACK_END +- ldr r1, [sl, r1] +- str sp, [r1] +- @ See if we were run as a command with the executable file +- @ name as an extra leading argument. +- ldr r4, .L_SKIP_ARGS +- ldr r4, [sl, r4] +- @ get the original arg count +- ldr r1, [sp] +- @ subtract _dl_skip_args from it +- sub r1, r1, r4 +- @ adjust the stack pointer to skip them +- add sp, sp, r4, lsl #2 +- @ get the argv address +- add r2, sp, #4 +- @ store the new argc in the new stack location +- str r1, [sp] +- @ compute envp +- add r3, r2, r1, lsl #2 +- add r3, r3, #4 +- +- @ now we call _dl_init +- ldr r0, .L_LOADED +- ldr r0, [sl, r0] +- ldr r0, [r0] +- @ call _dl_init +- bl _dl_init(PLT) +- @ clear the startup flag +- ldr r2, .L_STARTUP_FLAG +- ldr r1, [sl, r2] +- mov r0, #0 +- str r0, [r1] +- @ load the finalizer function +- ldr r0, .L_FINI_PROC +- ldr r0, [sl, r0] +- @ jump to the user_s entry point +- mov pc, r6 +-.L_GET_GOT: ++.text\n\ ++.globl _start\n\ ++.globl _dl_start_user\n\ ++_start:\n\ ++ @ at start time, all the args are on the stack\n\ ++ mov r0, sp\n\ ++ bl _dl_start\n\ ++ @ returns user entry point in r0\n\ ++_dl_start_user:\n\ ++ mov r6, r0\n\ ++ @ we are PIC code, so get global offset table\n\ ++ ldr sl, .L_GET_GOT\n\ ++ add sl, pc, sl\n\ ++.L_GOT_GOT:\n\ ++ @ Store the highest stack address\n\ ++ ldr r1, .L_STACK_END\n\ ++ ldr r1, [sl, r1]\n\ ++ str sp, [r1]\n\ ++ @ See if we were run as a command with the executable file\n\ ++ @ name as an extra leading argument.\n\ ++ ldr r4, .L_SKIP_ARGS\n\ ++ ldr r4, [sl, r4]\n\ ++ @ get the original arg count\n\ ++ ldr r1, [sp]\n\ ++ @ subtract _dl_skip_args from it\n\ ++ sub r1, r1, r4\n\ ++ @ adjust the stack pointer to skip them\n\ ++ add sp, sp, r4, lsl #2\n\ ++ @ get the argv address\n\ ++ add r2, sp, #4\n\ ++ @ store the new argc in the new stack location\n\ ++ str r1, [sp]\n\ ++ @ compute envp\n\ ++ add r3, r2, r1, lsl #2\n\ ++ add r3, r3, #4\n\ ++\n\ ++ @ now we call _dl_init\n\ ++ ldr r0, .L_LOADED\n\ ++ ldr r0, [sl, r0]\n\ ++ ldr r0, [r0]\n\ ++ @ call _dl_init\n\ ++ bl _dl_init(PLT)\n\ ++ @ clear the startup flag\n\ ++ ldr r2, .L_STARTUP_FLAG\n\ ++ ldr r1, [sl, r2]\n\ ++ mov r0, #0\n\ ++ str r0, [r1]\n\ ++ @ load the finalizer function\n\ ++ ldr r0, .L_FINI_PROC\n\ ++ ldr r0, [sl, r0]\n\ ++ @ jump to the user_s entry point\n\ ++ mov pc, r6\n\ ++.L_GET_GOT:\n\ + .word _GLOBAL_OFFSET_TABLE_ - .L_GOT_GOT - 4 \n\ + .L_SKIP_ARGS: \n\ + .word _dl_skip_args(GOTOFF) \n\ +-.L_STARTUP_FLAG: +- .word _dl_starting_up(GOT) +-.L_FINI_PROC: +- .word _dl_fini(GOT) +-.L_STACK_END: +- .word __libc_stack_end(GOT) +-.L_LOADED: +- .word _dl_loaded(GOT) ++.L_STARTUP_FLAG:\n\ ++ .word _dl_starting_up(GOT)\n\ ++.L_FINI_PROC:\n\ ++ .word _dl_fini(GOT)\n\ ++.L_STACK_END:\n\ ++ .word __libc_stack_end(GOT)\n\ ++.L_LOADED:\n\ ++ .word _dl_loaded(GOT)\n\ + .previous\n\ + "); + diff --git a/packages/glibc/glibc-2.2.5/dl-machine-m68k.patch b/packages/glibc/glibc-2.2.5/dl-machine-m68k.patch index e69de29bb2..41a6f3a573 100644 --- a/packages/glibc/glibc-2.2.5/dl-machine-m68k.patch +++ b/packages/glibc/glibc-2.2.5/dl-machine-m68k.patch @@ -0,0 +1,171 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/m68k/dl-machine.h~dl-machine-m68k.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/m68k/dl-machine.h 2004-09-03 19:00:37.000000000 -0500 +@@ -1,5 +1,5 @@ + /* Machine-dependent ELF dynamic relocation inline functions. m68k version. +- Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc. ++ Copyright (C) 1996-2001, 2002 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 +@@ -85,11 +85,11 @@ + { + got[2] = (Elf32_Addr) &_dl_runtime_profile; + +- if (_dl_name_match_p (_dl_profile, l)) ++ if (_dl_name_match_p (GL(dl_profile), l)) + { + /* This is the object we are looking for. Say that we really + want profiling and the timers are started. */ +- _dl_profile_map = l; ++ GL(dl_profile_map) = l; + } + } + else +@@ -104,22 +104,22 @@ + /* This code is used in dl-runtime.c to call the `fixup' function + and then redirect to the address it returns. */ + #define TRAMPOLINE_TEMPLATE(tramp_name, fixup_name) \ +-"| Trampoline for " #fixup_name " +- .globl " #tramp_name " +- .type " #tramp_name ", @function +-" #tramp_name ": +- | Save %a0 (struct return address) and %a1. +- move.l %a0, -(%sp) +- move.l %a1, -(%sp) +- | Call the real address resolver. +- jbsr " #fixup_name " +- | Restore register %a0 and %a1. +- move.l (%sp)+, %a1 +- move.l (%sp)+, %a0 +- | Pop parameters +- addq.l #8, %sp +- | Call real function. +- jmp (%d0) ++"| Trampoline for " #fixup_name "\n\ ++ .globl " #tramp_name "\n\ ++ .type " #tramp_name ", @function\n\ ++" #tramp_name ":\n\ ++ | Save %a0 (struct return address) and %a1.\n\ ++ move.l %a0, -(%sp)\n\ ++ move.l %a1, -(%sp)\n\ ++ | Call the real address resolver.\n\ ++ jbsr " #fixup_name "\n\ ++ | Restore register %a0 and %a1.\n\ ++ move.l (%sp)+, %a1\n\ ++ move.l (%sp)+, %a0\n\ ++ | Pop parameters\n\ ++ addq.l #8, %sp\n\ ++ | Call real function.\n\ ++ jmp (%d0)\n\ + .size " #tramp_name ", . - " #tramp_name "\n" + #ifndef PROF + #define ELF_MACHINE_RUNTIME_TRAMPOLINE \ +@@ -143,50 +143,50 @@ + its return value is the user program's entry point. */ + + #define RTLD_START asm ("\ +- .text +- .globl _start +- .type _start,@function +-_start: +- move.l %sp, -(%sp) +- jbsr _dl_start +- addq.l #4, %sp +- /* FALLTHRU */ +- +- .globl _dl_start_user +- .type _dl_start_user,@function +-_dl_start_user: +- | Save the user entry point address in %a4. +- move.l %d0, %a4 +- | Point %a5 at the GOT. +- lea _GLOBAL_OFFSET_TABLE_@GOTPC(%pc), %a5 +- | Remember the highest stack address. +- move.l %sp, ([__libc_stack_end@GOT.w, %a5]) +- | See if we were run as a command with the executable file +- | name as an extra leading argument. +- move.l ([_dl_skip_args@GOT.w, %a5]), %d0 +- | Pop the original argument count +- move.l (%sp)+, %d1 +- | Subtract _dl_skip_args from it. +- sub.l %d0, %d1 +- | Adjust the stack pointer to skip _dl_skip_args words. +- lea (%sp, %d0*4), %sp +- | Push back the modified argument count. +- move.l %d1, -(%sp) +- # Call _dl_init (struct link_map *main_map, int argc, char **argv, char **env) +- pea 8(%sp, %d1*4) +- pea 8(%sp) +- move.l %d1, -(%sp) +- move.l ([_dl_loaded@GOT.w, %a5]), -(%sp) +- jbsr _dl_init@PLTPC +- addq.l #8, %sp +- addq.l #8, %sp +- | Pass our finalizer function to the user in %a1. +- move.l _dl_fini@GOT.w(%a5), %a1 +- | Initialize %fp with the stack pointer. +- move.l %sp, %fp +- | Jump to the user's entry point. +- jmp (%a4) +- .size _dl_start_user, . - _dl_start_user ++ .text\n\ ++ .globl _start\n\ ++ .type _start,@function\n\ ++_start:\n\ ++ move.l %sp, -(%sp)\n\ ++ jbsr _dl_start\n\ ++ addq.l #4, %sp\n\ ++ /* FALLTHRU */\n\ ++\n\ ++ .globl _dl_start_user\n\ ++ .type _dl_start_user,@function\n\ ++_dl_start_user:\n\ ++ | Save the user entry point address in %a4.\n\ ++ move.l %d0, %a4\n\ ++ | Point %a5 at the GOT.\n\ ++ lea _GLOBAL_OFFSET_TABLE_@GOTPC(%pc), %a5\n\ ++ | Remember the highest stack address.\n\ ++ move.l %sp, ([__libc_stack_end@GOT.w, %a5])\n\ ++ | See if we were run as a command with the executable file\n\ ++ | name as an extra leading argument.\n\ ++ move.l ([_dl_skip_args@GOT.w, %a5]), %d0\n\ ++ | Pop the original argument count\n\ ++ move.l (%sp)+, %d1\n\ ++ | Subtract _dl_skip_args from it.\n\ ++ sub.l %d0, %d1\n\ ++ | Adjust the stack pointer to skip _dl_skip_args words.\n\ ++ lea (%sp, %d0*4), %sp\n\ ++ | Push back the modified argument count.\n\ ++ move.l %d1, -(%sp)\n\ ++ # Call _dl_init (struct link_map *main_map, int argc, char **argv, char **env)\n\ ++ pea 8(%sp, %d1*4)\n\ ++ pea 8(%sp)\n\ ++ move.l %d1, -(%sp)\n\ ++ move.l ([_rtld_global@GOT.w, %a5]), -(%sp)\n\ ++ jbsr _dl_init@PLTPC\n\ ++ addq.l #8, %sp\n\ ++ addq.l #8, %sp\n\ ++ | Pass our finalizer function to the user in %a1.\n\ ++ move.l _dl_fini@GOT.w(%a5), %a1\n\ ++ | Initialize %fp with the stack pointer.\n\ ++ move.l %sp, %fp\n\ ++ | Jump to the user's entry point.\n\ ++ jmp (%a4)\n\ ++ .size _dl_start_user, . - _dl_start_user\n\ + .previous"); + + /* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry, so +@@ -251,7 +251,7 @@ + found. */ + break; + if (sym->st_size > refsym->st_size +- || (sym->st_size < refsym->st_size && _dl_verbose)) ++ || (sym->st_size < refsym->st_size && GL(dl_verbose))) + { + extern char **_dl_argv; + const char *strtab; diff --git a/packages/glibc/glibc-2.2.5/dl-machine-mips.patch b/packages/glibc/glibc-2.2.5/dl-machine-mips.patch index e69de29bb2..b9c7ad8f1e 100644 --- a/packages/glibc/glibc-2.2.5/dl-machine-mips.patch +++ b/packages/glibc/glibc-2.2.5/dl-machine-mips.patch @@ -0,0 +1,16 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/mips/dl-machine.h~dl-machine-mips.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/mips/dl-machine.h 2004-09-03 19:00:37.000000000 -0500 +@@ -450,7 +450,7 @@ + addu $7, $7, 4\n\ + subu $29, 16\n\ + # Call the function to run the initializers.\n\ +- jal _dl_init ++ jal _dl_init_internal\n\ + addiu $29, 16\n\ + # Pass our finalizer function to the user in $2 as per ELF ABI.\n\ + la $2, _dl_fini\n\ diff --git a/packages/glibc/glibc-2.2.5/dl-machine-sh.patch b/packages/glibc/glibc-2.2.5/dl-machine-sh.patch index e69de29bb2..c5f84b42a4 100644 --- a/packages/glibc/glibc-2.2.5/dl-machine-sh.patch +++ b/packages/glibc/glibc-2.2.5/dl-machine-sh.patch @@ -0,0 +1,30 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/sh/dl-machine.h~dl-machine-sh.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/sh/dl-machine.h 2004-09-03 19:00:37.000000000 -0500 +@@ -53,16 +53,16 @@ + elf_machine_load_address (void) + { + Elf32_Addr addr; +- asm ("mov.l .L1,r0\n\ +- mov.l .L3,r2\n\ ++ asm ("mov.l 1f,r0\n\ ++ mov.l 3f,r2\n\ + add r12,r2\n\ + mov.l @(r0,r12),r0\n\ +- bra .L2\n\ ++ bra 2f\n\ + sub r0,r2\n\ + .align 2\n\ +- .L1: .long _dl_start@GOT\n\ +- .L3: .long _dl_start@GOTOFF\n\ +- .L2: mov r2,%0" ++ 1: .long _dl_start@GOT\n\ ++ 3: .long _dl_start@GOTOFF\n\ ++ 2: mov r2,%0" + : "=r" (addr) : : "r0", "r1", "r2"); + return addr; + } diff --git a/packages/glibc/glibc-2.2.5/dl-machine-sparc.patch b/packages/glibc/glibc-2.2.5/dl-machine-sparc.patch index e69de29bb2..910e18035d 100644 --- a/packages/glibc/glibc-2.2.5/dl-machine-sparc.patch +++ b/packages/glibc/glibc-2.2.5/dl-machine-sparc.patch @@ -0,0 +1,235 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/sparc/sparc32/dl-machine.h~dl-machine-sparc.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/sparc/sparc32/dl-machine.h 2004-09-03 19:00:37.000000000 -0500 +@@ -148,23 +148,23 @@ + and then redirect to the address it returns. */ + #define TRAMPOLINE_TEMPLATE(tramp_name, fixup_name) \ + asm ( "\ +- .text +- .globl " #tramp_name " +- .type " #tramp_name ", @function +- .align 32 +-" #tramp_name ": +- /* Set up the arguments to fixup -- +- %o0 = link_map out of plt0 +- %o1 = offset of reloc entry +- %o2 = return address */ +- ld [%o7 + 8], %o0 +- srl %g1, 10, %o1 +- mov %i7, %o2 +- call " #fixup_name " +- sub %o1, 4*12, %o1 +- jmp %o0 +- restore +- .size " #tramp_name ", . - " #tramp_name " ++ .text\n\ ++ .globl " #tramp_name "\n\ ++ .type " #tramp_name ", @function\n\ ++ .align 32\n\ ++" #tramp_name ":\n\ ++ /* Set up the arguments to fixup --\n\ ++ %o0 = link_map out of plt0\n\ ++ %o1 = offset of reloc entry\n\ ++ %o2 = return address */\n\ ++ ld [%o7 + 8], %o0\n\ ++ srl %g1, 10, %o1\n\ ++ mov %i7, %o2\n\ ++ call " #fixup_name "\n\ ++ sub %o1, 4*12, %o1\n\ ++ jmp %o0\n\ ++ restore\n\ ++ .size " #tramp_name ", . - " #tramp_name "\n\ + .previous") + + #ifndef PROF +@@ -199,96 +199,96 @@ + its return value is the user program's entry point. */ + + #define RTLD_START __asm__ ("\ +- .text +- .globl _start +- .type _start, @function +- .align 32 +-_start: +- /* Allocate space for functions to drop their arguments. */ +- sub %sp, 6*4, %sp +- /* Pass pointer to argument block to _dl_start. */ +- call _dl_start +- add %sp, 22*4, %o0 +- /* FALTHRU */ +- .globl _dl_start_user +- .type _dl_start_user, @function +-_dl_start_user: +- /* Load the PIC register. */ +-1: call 2f +- sethi %hi(_GLOBAL_OFFSET_TABLE_-(1b-.)), %l7 +-2: or %l7, %lo(_GLOBAL_OFFSET_TABLE_-(1b-.)), %l7 +- add %l7, %o7, %l7 +- /* Save the user entry point address in %l0 */ +- mov %o0, %l0 +- /* Store the highest stack address. */ +- sethi %hi(__libc_stack_end), %g2 +- or %g2, %lo(__libc_stack_end), %g2 +- ld [%l7 + %g2], %l1 +- sethi %hi(_dl_skip_args), %g2 +- add %sp, 6*4, %l2 +- or %g2, %lo(_dl_skip_args), %g2 +- st %l2, [%l1] +- /* See if we were run as a command with the executable file name as an +- extra leading argument. If so, adjust the contents of the stack. */ +- ld [%l7+%g2], %i0 +- ld [%i0], %i0 +- tst %i0 +- beq 3f +- ld [%sp+22*4], %i5 /* load argc */ +- /* Find out how far to shift. */ +- sethi %hi(_dl_argv), %l3 +- or %l3, %lo(_dl_argv), %l3 +- ld [%l7+%l3], %l3 +- sub %i5, %i0, %i5 +- ld [%l3], %l4 +- sll %i0, 2, %i2 +- st %i5, [%sp+22*4] +- sub %l4, %i2, %l4 +- add %sp, 23*4, %i1 +- add %i1, %i2, %i2 +- st %l4, [%l3] +- /* Copy down argv */ +-21: ld [%i2], %i3 +- add %i2, 4, %i2 +- tst %i3 +- st %i3, [%i1] +- bne 21b +- add %i1, 4, %i1 +- /* Copy down env */ +-22: ld [%i2], %i3 +- add %i2, 4, %i2 +- tst %i3 +- st %i3, [%i1] +- bne 22b +- add %i1, 4, %i1 +- /* Copy down auxiliary table. */ +-23: ld [%i2], %i3 +- ld [%i2+4], %i4 +- add %i2, 8, %i2 +- tst %i3 +- st %i3, [%i1] +- st %i4, [%i1+4] +- bne 23b +- add %i1, 8, %i1 +- /* %o0 = _dl_loaded, %o1 = argc, %o2 = argv, %o3 = envp. */ +-3: sethi %hi(_dl_loaded), %o0 +- add %sp, 23*4, %o2 +- orcc %o0, %lo(_dl_loaded), %o0 +- sll %i5, 2, %o3 +- ld [%l7+%o0], %o0 +- add %o3, 4, %o3 +- mov %i5, %o1 +- add %o2, %o3, %o3 +- call _dl_init +- ld [%o0], %o0 +- /* Pass our finalizer function to the user in %g1. */ +- sethi %hi(_dl_fini), %g1 +- or %g1, %lo(_dl_fini), %g1 +- ld [%l7+%g1], %g1 +- /* Jump to the user's entry point and deallocate the extra stack we got. */ +- jmp %l0 +- add %sp, 6*4, %sp +- .size _dl_start_user, . - _dl_start_user ++ .text\n\ ++ .globl _start\n\ ++ .type _start, @function\n\ ++ .align 32\n\ ++_start:\n\ ++ /* Allocate space for functions to drop their arguments. */\n\ ++ sub %sp, 6*4, %sp\n\ ++ /* Pass pointer to argument block to _dl_start. */\n\ ++ call _dl_start\n\ ++ add %sp, 22*4, %o0\n\ ++ /* FALTHRU */\n\ ++ .globl _dl_start_user\n\ ++ .type _dl_start_user, @function\n\ ++_dl_start_user:\n\ ++ /* Load the PIC register. */\n\ ++1: call 2f\n\ ++ sethi %hi(_GLOBAL_OFFSET_TABLE_-(1b-.)), %l7\n\ ++2: or %l7, %lo(_GLOBAL_OFFSET_TABLE_-(1b-.)), %l7\n\ ++ add %l7, %o7, %l7\n\ ++ /* Save the user entry point address in %l0 */\n\ ++ mov %o0, %l0\n\ ++ /* Store the highest stack address. */\n\ ++ sethi %hi(__libc_stack_end), %g2\n\ ++ or %g2, %lo(__libc_stack_end), %g2\n\ ++ ld [%l7 + %g2], %l1\n\ ++ sethi %hi(_dl_skip_args), %g2\n\ ++ add %sp, 6*4, %l2\n\ ++ or %g2, %lo(_dl_skip_args), %g2\n\ ++ st %l2, [%l1]\n\ ++ /* See if we were run as a command with the executable file name as an\n\ ++ extra leading argument. If so, adjust the contents of the stack. */\n\ ++ ld [%l7+%g2], %i0\n\ ++ ld [%i0], %i0\n\ ++ tst %i0\n\ ++ beq 3f\n\ ++ ld [%sp+22*4], %i5 /* load argc */\n\ ++ /* Find out how far to shift. */\n\ ++ sethi %hi(_dl_argv), %l3\n\ ++ or %l3, %lo(_dl_argv), %l3\n\ ++ ld [%l7+%l3], %l3\n\ ++ sub %i5, %i0, %i5\n\ ++ ld [%l3], %l4\n\ ++ sll %i0, 2, %i2\n\ ++ st %i5, [%sp+22*4]\n\ ++ sub %l4, %i2, %l4\n\ ++ add %sp, 23*4, %i1\n\ ++ add %i1, %i2, %i2\n\ ++ st %l4, [%l3]\n\ ++ /* Copy down argv */\n\ ++21: ld [%i2], %i3\n\ ++ add %i2, 4, %i2\n\ ++ tst %i3\n\ ++ st %i3, [%i1]\n\ ++ bne 21b\n\ ++ add %i1, 4, %i1\n\ ++ /* Copy down env */\n\ ++22: ld [%i2], %i3\n\ ++ add %i2, 4, %i2\n\ ++ tst %i3\n\ ++ st %i3, [%i1]\n\ ++ bne 22b\n\ ++ add %i1, 4, %i1\n\ ++ /* Copy down auxiliary table. */\n\ ++23: ld [%i2], %i3\n\ ++ ld [%i2+4], %i4\n\ ++ add %i2, 8, %i2\n\ ++ tst %i3\n\ ++ st %i3, [%i1]\n\ ++ st %i4, [%i1+4]\n\ ++ bne 23b\n\ ++ add %i1, 8, %i1\n\ ++ /* %o0 = _dl_loaded, %o1 = argc, %o2 = argv, %o3 = envp. */\n\ ++3: sethi %hi(_dl_loaded), %o0\n\ ++ add %sp, 23*4, %o2\n\ ++ orcc %o0, %lo(_dl_loaded), %o0\n\ ++ sll %i5, 2, %o3\n\ ++ ld [%l7+%o0], %o0\n\ ++ add %o3, 4, %o3\n\ ++ mov %i5, %o1\n\ ++ add %o2, %o3, %o3\n\ ++ call _dl_init\n\ ++ ld [%o0], %o0\n\ ++ /* Pass our finalizer function to the user in %g1. */\n\ ++ sethi %hi(_dl_fini), %g1\n\ ++ or %g1, %lo(_dl_fini), %g1\n\ ++ ld [%l7+%g1], %g1\n\ ++ /* Jump to the user's entry point and deallocate the extra stack we got. */\n\ ++ jmp %l0\n\ ++ add %sp, 6*4, %sp\n\ ++ .size _dl_start_user, . - _dl_start_user\n\ + .previous"); + + static inline Elf32_Addr diff --git a/packages/glibc/glibc-2.2.5/errlist-1.9.patch b/packages/glibc/glibc-2.2.5/errlist-1.9.patch index e69de29bb2..ced22eecf9 100644 --- a/packages/glibc/glibc-2.2.5/errlist-1.9.patch +++ b/packages/glibc/glibc-2.2.5/errlist-1.9.patch @@ -0,0 +1,25 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/unix/sysv/linux/errlist.c~errlist-1.9.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/unix/sysv/linux/errlist.c 2004-09-03 19:00:37.000000000 -0500 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 1998, 2000 Free Software Foundation, Inc. ++/* Copyright (C) 1998, 2000, 2002 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 +@@ -38,10 +38,9 @@ + const int __old_sys_nerr = OLD_ERRLIST_SIZE; + + strong_alias (__old_sys_nerr, _old_sys_nerr); +-weak_alias (__old_sys_nerr, _old_sys_nerr) + compat_symbol (libc, __old_sys_nerr, _sys_nerr, GLIBC_2_0); + compat_symbol (libc, _old_sys_nerr, sys_nerr, GLIBC_2_0); +-weak_alias (__old_sys_errlist, _old_sys_errlist); ++strong_alias (__old_sys_errlist, _old_sys_errlist); + compat_symbol (libc, __old_sys_errlist, _sys_errlist, GLIBC_2_0); + compat_symbol (libc, _old_sys_errlist, sys_errlist, GLIBC_2_0); + #endif diff --git a/packages/glibc/glibc-2.2.5/errlist-arm.patch b/packages/glibc/glibc-2.2.5/errlist-arm.patch index e69de29bb2..a2afbd036e 100644 --- a/packages/glibc/glibc-2.2.5/errlist-arm.patch +++ b/packages/glibc/glibc-2.2.5/errlist-arm.patch @@ -0,0 +1,25 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/unix/sysv/linux/arm/errlist.c~errlist-arm.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/unix/sysv/linux/arm/errlist.c 2004-09-03 19:00:37.000000000 -0500 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 1998, 2000 Free Software Foundation, Inc. ++/* Copyright (C) 1998, 2000, 2002 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 +@@ -38,10 +38,9 @@ + const int __old_sys_nerr = OLD_ERRLIST_SIZE; + + strong_alias (__old_sys_nerr, _old_sys_nerr); +-weak_alias (__old_sys_nerr, _old_sys_nerr) + compat_symbol (libc, __old_sys_nerr, _sys_nerr, GLIBC_2_0); + compat_symbol (libc, _old_sys_nerr, sys_nerr, GLIBC_2_0); +-weak_alias (__old_sys_errlist, _old_sys_errlist); ++strong_alias (__old_sys_errlist, _old_sys_errlist); + compat_symbol (libc, __old_sys_errlist, _sys_errlist, GLIBC_2_0); + compat_symbol (libc, _old_sys_errlist, sys_errlist, GLIBC_2_0); + #endif diff --git a/packages/glibc/glibc-2.2.5/etc/.mtn2git_empty b/packages/glibc/glibc-2.2.5/etc/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/glibc/glibc-2.2.5/etc/.mtn2git_empty diff --git a/packages/glibc/glibc-2.2.5/etc/ld.so.conf b/packages/glibc/glibc-2.2.5/etc/ld.so.conf index e69de29bb2..3f9b41aabb 100644 --- a/packages/glibc/glibc-2.2.5/etc/ld.so.conf +++ b/packages/glibc/glibc-2.2.5/etc/ld.so.conf @@ -0,0 +1,3 @@ +/usr/local/lib +/opt/QtPalmtop/lib + diff --git a/packages/glibc/glibc-2.2.5/fhs-linux-paths.patch b/packages/glibc/glibc-2.2.5/fhs-linux-paths.patch index e69de29bb2..9ba033fd8d 100644 --- a/packages/glibc/glibc-2.2.5/fhs-linux-paths.patch +++ b/packages/glibc/glibc-2.2.5/fhs-linux-paths.patch @@ -0,0 +1,16 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/unix/sysv/linux/paths.h~fhs-linux-paths.patch 2000-11-15 17:06:47.000000000 -0600 ++++ glibc-2.2.5/sysdeps/unix/sysv/linux/paths.h 2004-09-03 19:00:39.000000000 -0500 +@@ -67,7 +67,7 @@ + /* Provide trailing slash, since mostly used for building pathnames. */ + #define _PATH_DEV "/dev/" + #define _PATH_TMP "/tmp/" +-#define _PATH_VARDB "/var/db/" ++#define _PATH_VARDB "/var/lib/misc/" + #define _PATH_VARRUN "/var/run/" + #define _PATH_VARTMP "/var/tmp/" + diff --git a/packages/glibc/glibc-2.2.5/glibc-2.2.5-allow-gcc-3.4-fixup.patch b/packages/glibc/glibc-2.2.5/glibc-2.2.5-allow-gcc-3.4-fixup.patch index e69de29bb2..e4abfe3f49 100644 --- a/packages/glibc/glibc-2.2.5/glibc-2.2.5-allow-gcc-3.4-fixup.patch +++ b/packages/glibc/glibc-2.2.5/glibc-2.2.5-allow-gcc-3.4-fixup.patch @@ -0,0 +1,55 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/i386/dl-machine.h~glibc-2.2.5-allow-gcc-3.4-fixup.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/i386/dl-machine.h 2004-09-03 19:00:37.000000000 -0500 +@@ -63,11 +63,12 @@ + destroys the passed register information. */ + /* GKM FIXME: Fix trampoline to pass bounds so we can do + without the `__unbounded' qualifier. */ ++#define ARCH_FIXUP_ATTRIBUTE __attribute__ ((regparm (3), unused)) + static ElfW(Addr) fixup (struct link_map *__unbounded l, ElfW(Word) reloc_offset) +- __attribute__ ((regparm (2), unused)); ++ ARCH_FIXUP_ATTRIBUTE; + static ElfW(Addr) profile_fixup (struct link_map *l, ElfW(Word) reloc_offset, + ElfW(Addr) retaddr) +- __attribute__ ((regparm (3), unused)); ++ ARCH_FIXUP_ATTRIBUTE; + #endif + + /* Set up the loaded object described by L so its unrelocated PLT +--- glibc-2.2.5/elf/dl-runtime.c~glibc-2.2.5-allow-gcc-3.4-fixup.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/elf/dl-runtime.c 2004-09-03 19:00:37.000000000 -0500 +@@ -33,6 +33,12 @@ + # define VERSYMIDX(sym) (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGIDX (sym)) + #endif + ++/* The fixup functions might have need special attributes. If none ++ are provided define the macro as empty. */ ++#ifndef ARCH_FIXUP_ATTRIBUTE ++# define ARCH_FIXUP_ATTRIBUTE ++#endif ++ + + /* This function is called through a special trampoline from the PLT the + first time each PLT entry is called. We must perform the relocation +@@ -42,7 +48,7 @@ + function. */ + + #ifndef ELF_MACHINE_NO_PLT +-static ElfW(Addr) __attribute_used__ ++static ElfW(Addr) __attribute_used__ ARCH_FIXUP_ATTRIBUTE + fixup ( + # ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS + ELF_MACHINE_RUNTIME_FIXUP_ARGS, +@@ -126,7 +132,7 @@ + + #if !defined PROF && !defined ELF_MACHINE_NO_PLT && !__BOUNDED_POINTERS__ + +-static ElfW(Addr) __attribute_used__ ++static ElfW(Addr) __attribute_used__ ARCH_FIXUP_ATTRIBUTE + profile_fixup ( + #ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS + ELF_MACHINE_RUNTIME_FIXUP_ARGS, diff --git a/packages/glibc/glibc-2.2.5/glibc-2.2.5-allow-gcc-3.4-grp.patch b/packages/glibc/glibc-2.2.5/glibc-2.2.5-allow-gcc-3.4-grp.patch index e69de29bb2..5a9b3057dd 100644 --- a/packages/glibc/glibc-2.2.5/glibc-2.2.5-allow-gcc-3.4-grp.patch +++ b/packages/glibc/glibc-2.2.5/glibc-2.2.5-allow-gcc-3.4-grp.patch @@ -0,0 +1,36 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/grp/initgroups.c~glibc-2.2.5-allow-gcc-3.4-grp.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/grp/initgroups.c 2004-09-03 19:00:38.000000000 -0500 +@@ -176,7 +176,7 @@ + + /* This is really only for debugging. */ + if (NSS_STATUS_TRYAGAIN > status || status > NSS_STATUS_RETURN) +- __libc_fatal ("illegal status in " __FUNCTION__); ++ __libc_fatal ("illegal status in internal_getgrouplist"); + + if (status != NSS_STATUS_SUCCESS + && nss_next_action (nip, status) == NSS_ACTION_RETURN) +@@ -214,7 +214,7 @@ + } + else + *ngroups = result; +- ++ + memcpy (groups, newgroups, *ngroups * sizeof (gid_t)); + + free (newgroups); +--- glibc-2.2.5/nss/nsswitch.c~glibc-2.2.5-allow-gcc-3.4-grp.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/nss/nsswitch.c 2004-09-03 19:00:38.000000000 -0500 +@@ -178,7 +178,7 @@ + { + /* This is really only for debugging. */ + if (NSS_STATUS_TRYAGAIN > status || status > NSS_STATUS_RETURN) +- __libc_fatal ("illegal status in " __FUNCTION__); ++ __libc_fatal ("illegal status in __nss_next"); + + if (nss_next_action (*ni, status) == NSS_ACTION_RETURN) + return 1; diff --git a/packages/glibc/glibc-2.2.5/glibc-2.2.5-allow-gcc-3.4-td.patch b/packages/glibc/glibc-2.2.5/glibc-2.2.5-allow-gcc-3.4-td.patch index e69de29bb2..0a6cee11fe 100644 --- a/packages/glibc/glibc-2.2.5/glibc-2.2.5-allow-gcc-3.4-td.patch +++ b/packages/glibc/glibc-2.2.5/glibc-2.2.5-allow-gcc-3.4-td.patch @@ -0,0 +1,881 @@ +Fixes following error building glibc-2.2.5 with gcc-3.4: +td_init.c: In function `td_init': +td_init.c:30: error: parse error before string constant +td_init.c:30: error: parse error before string constant +make[2]: *** [/home/dank/wk/crosstool-0.28-rc4h/build/i686-unknown-linux-gnu/gcc-3.4.0-20040406-glibc-2.2.5/build-glibc/linuxthreads_db/td_init.os] Error 1 + +# Retrieved by diffing a +-1 day rng around the time mentioned +# in http://sources.redhat.com/ml/glibc-cvs/2001-q4/msg00654.html +# cvs -z 9 -d :pserver:anoncvs@sources.redhat.com:/cvs/glibc diff -u -D"2001-12-27 08:41:30" -D"2001-12-29 08:41:32" +# then fixing paths. + +Index: ChangeLog +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/ChangeLog,v +retrieving revision 1.41 +retrieving revision 1.42 +diff -u -r1.41 -r1.42 +--- libc/linuxthreads_db/ChangeLog 13 Apr 2001 00:09:54 -0000 1.41 ++++ libc/linuxthreads_db/ChangeLog 29 Dec 2001 00:59:58 -0000 1.42 +@@ -1,3 +1,43 @@ ++2001-12-28 Andreas Jaeger <aj@suse.de> ++ ++ * td_init.c (td_init): Don't use __FUNCTION__ as literal. ++ * td_log.c (td_log): Likewise. ++ * td_ta_delete.c (td_ta_delete): Likewise. ++ * td_ta_get_nthreads.c (td_ta_get_nthreads): Likewise. ++ * td_ta_get_ph.c (td_ta_get_ph): Likewise. ++ * td_ta_map_id2thr.c (td_ta_map_id2thr): Likewise. ++ * td_ta_map_lwp2thr.c (td_ta_map_lwp2thr): Likewise. ++ * td_ta_new.c (td_ta_new): Likewise. ++ * td_ta_clear_event.c (td_ta_clear_event): Likewise. ++ * td_ta_enable_stats.c (td_ta_enable_stats): Likewise. ++ * td_ta_event_addr.c (td_ta_event_addr): Likewise. ++ * td_ta_event_getmsg.c (td_ta_event_getmsg): Likewise. ++ * td_ta_get_stats.c (td_ta_get_stats): Likewise. ++ * td_ta_reset_stats.c (td_ta_reset_stats): Likewise. ++ * td_ta_set_event.c (td_ta_set_event): Likewise. ++ * td_ta_setconcurrency.c (td_ta_setconcurrency): Likewise. ++ * td_ta_thr_iter.c (td_ta_thr_iter): Likewise. ++ * td_ta_tsd_iter.c (td_ta_tsd_iter): Likewise. ++ * td_thr_clear_event.c (td_thr_clear_event): Likewise. ++ * td_thr_dbresume.c (td_thr_dbresume): Likewise. ++ * td_thr_dbsuspend.c (td_thr_dbsuspend): Likewise. ++ * td_thr_event_enable.c (td_thr_event_enable): Likewise. ++ * td_thr_event_getmsg.c (td_thr_event_getmsg): Likewise. ++ * td_thr_get_info.c (td_thr_get_info): Likewise. ++ * td_thr_getfpregs.c (td_thr_getfpregs): Likewise. ++ * td_thr_getgregs.c (td_thr_getgregs): Likewise. ++ * td_thr_getxregs.c (td_thr_getxregs): Likewise. ++ * td_thr_getxregsize.c (td_thr_getxregsize): Likewise. ++ * td_thr_set_event.c (td_thr_set_event): Likewise. ++ * td_thr_setfpregs.c (td_thr_setfpregs): Likewise. ++ * td_thr_setgregs.c (td_thr_setgregs): Likewise. ++ * td_thr_setprio.c (td_thr_setprio): Likewise. ++ * td_thr_setsigpending.c (td_thr_setsigpending): Likewise. ++ * td_thr_setxregs.c (td_thr_setxregs): Likewise. ++ * td_thr_sigsetmask.c (td_thr_sigsetmask): Likewise. ++ * td_thr_tsd.c (td_thr_tsd): Likewise. ++ * td_thr_validate.c (td_thr_validate): Likewise. ++ + 2001-04-12 Ulrich Drepper <drepper@redhat.com> + + * td_ta_map_id2thr.c: If thread terminated return TD_NOTHR. +Index: td_init.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_init.c,v +retrieving revision 1.3 +retrieving revision 1.4 +diff -u -r1.3 -r1.4 +--- libc/linuxthreads_db/td_init.c 6 Jul 2001 05:27:23 -0000 1.3 ++++ libc/linuxthreads_db/td_init.c 28 Dec 2001 16:41:29 -0000 1.4 +@@ -1,5 +1,5 @@ + /* Initialization function of thread debugger support library. +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -27,6 +27,6 @@ + td_init (void) + { + /* XXX We have to figure out what has to be done. */ +- LOG (__FUNCTION__); ++ LOG ("td_init"); + return TD_OK; + } +Index: td_log.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_log.c,v +retrieving revision 1.2 +retrieving revision 1.3 +diff -u -r1.2 -r1.3 +--- libc/linuxthreads_db/td_log.c 6 Jul 2001 05:27:23 -0000 1.2 ++++ libc/linuxthreads_db/td_log.c 28 Dec 2001 16:41:29 -0000 1.3 +@@ -1,5 +1,5 @@ + /* Noop, left for historical reasons. +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -25,8 +25,8 @@ + td_log (void) + { + /* This interface is deprecated in the Sun interface. We provide it +- for compatibility but don't do anyhting ourself. We might in ++ for compatibility but don't do anything ourself. We might in + future do some logging if this seems reasonable. */ +- LOG (__FUNCTION__); ++ LOG ("td_log"); + return TD_OK; + } +Index: td_ta_clear_event.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_ta_clear_event.c,v +retrieving revision 1.3 +retrieving revision 1.4 +diff -u -r1.3 -r1.4 +--- libc/linuxthreads_db/td_ta_clear_event.c 6 Jul 2001 05:27:23 -0000 1.3 ++++ libc/linuxthreads_db/td_ta_clear_event.c 28 Dec 2001 16:41:29 -0000 1.4 +@@ -1,5 +1,5 @@ + /* Globally disable events. +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -29,7 +29,7 @@ + td_thr_events_t old_event; + int i; + +- LOG (__FUNCTION__); ++ LOG ("td_ta_clear_event"); + + /* Test whether the TA parameter is ok. */ + if (! ta_ok (ta)) +Index: td_ta_delete.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_ta_delete.c,v +retrieving revision 1.3 +retrieving revision 1.4 +diff -u -r1.3 -r1.4 +--- libc/linuxthreads_db/td_ta_delete.c 6 Jul 2001 05:27:23 -0000 1.3 ++++ libc/linuxthreads_db/td_ta_delete.c 28 Dec 2001 16:41:29 -0000 1.4 +@@ -1,5 +1,5 @@ + /* Detach to target process. +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -26,7 +26,7 @@ + td_err_e + td_ta_delete (td_thragent_t *ta) + { +- LOG (__FUNCTION__); ++ LOG ("td_ta_delete"); + + /* Safety check. */ + if (ta == NULL || __td_agent_list == NULL) +Index: td_ta_enable_stats.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_ta_enable_stats.c,v +retrieving revision 1.3 +retrieving revision 1.4 +diff -u -r1.3 -r1.4 +--- libc/linuxthreads_db/td_ta_enable_stats.c 6 Jul 2001 05:27:23 -0000 1.3 ++++ libc/linuxthreads_db/td_ta_enable_stats.c 28 Dec 2001 16:41:29 -0000 1.4 +@@ -1,5 +1,5 @@ + /* Enable collection of statistics for process. +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -25,7 +25,7 @@ + td_ta_enable_stats (const td_thragent_t *ta, int enable) + { + /* XXX We have to figure out what has to be done. */ +- LOG (__FUNCTION__); ++ LOG ("td_ta_enable_stats"); + + /* Test whether the TA parameter is ok. */ + if (! ta_ok (ta)) +Index: td_ta_event_addr.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_ta_event_addr.c,v +retrieving revision 1.5 +retrieving revision 1.6 +diff -u -r1.5 -r1.6 +--- libc/linuxthreads_db/td_ta_event_addr.c 6 Jul 2001 05:27:23 -0000 1.5 ++++ libc/linuxthreads_db/td_ta_event_addr.c 28 Dec 2001 16:41:29 -0000 1.6 +@@ -27,7 +27,7 @@ + td_err_e res = TD_NOEVENT; + int idx = -1; + +- LOG (__FUNCTION__); ++ LOG ("td_ta_event_addr"); + + /* Test whether the TA parameter is ok. */ + if (! ta_ok (ta)) +Index: td_ta_event_getmsg.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_ta_event_getmsg.c,v +retrieving revision 1.5 +retrieving revision 1.6 +diff -u -r1.5 -r1.6 +--- libc/linuxthreads_db/td_ta_event_getmsg.c 6 Jul 2001 05:27:23 -0000 1.5 ++++ libc/linuxthreads_db/td_ta_event_getmsg.c 28 Dec 2001 16:41:29 -0000 1.6 +@@ -1,5 +1,5 @@ + /* Retrieve event. +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -32,7 +32,7 @@ + td_eventbuf_t event; + psaddr_t addr; + +- LOG (__FUNCTION__); ++ LOG ("td_ta_event_getmsg"); + + /* Test whether the TA parameter is ok. */ + if (! ta_ok (ta)) +Index: td_ta_get_nthreads.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_ta_get_nthreads.c,v +retrieving revision 1.5 +retrieving revision 1.6 +diff -u -r1.5 -r1.6 +--- libc/linuxthreads_db/td_ta_get_nthreads.c 6 Jul 2001 05:27:23 -0000 1.5 ++++ libc/linuxthreads_db/td_ta_get_nthreads.c 28 Dec 2001 16:41:29 -0000 1.6 +@@ -25,7 +25,7 @@ + { + psaddr_t addr; + +- LOG (__FUNCTION__); ++ LOG ("td_ta_get_nthreads"); + + /* Test whether the TA parameter is ok. */ + if (! ta_ok (ta)) +Index: td_ta_get_ph.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_ta_get_ph.c,v +retrieving revision 1.3 +retrieving revision 1.4 +diff -u -r1.3 -r1.4 +--- libc/linuxthreads_db/td_ta_get_ph.c 6 Jul 2001 05:27:23 -0000 1.3 ++++ libc/linuxthreads_db/td_ta_get_ph.c 28 Dec 2001 16:41:29 -0000 1.4 +@@ -1,5 +1,5 @@ + /* Get external process handle. +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -24,7 +24,7 @@ + td_err_e + td_ta_get_ph (const td_thragent_t *ta, struct ps_prochandle **ph) + { +- LOG (__FUNCTION__); ++ LOG ("td_ta_get_ph"); + + /* Test whether the TA parameter is ok. */ + if (! ta_ok (ta)) +Index: td_ta_get_stats.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_ta_get_stats.c,v +retrieving revision 1.3 +retrieving revision 1.4 +diff -u -r1.3 -r1.4 +--- libc/linuxthreads_db/td_ta_get_stats.c 6 Jul 2001 05:27:23 -0000 1.3 ++++ libc/linuxthreads_db/td_ta_get_stats.c 28 Dec 2001 16:41:29 -0000 1.4 +@@ -1,5 +1,5 @@ + /* Retrieve statistics for process. +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -25,7 +25,7 @@ + td_ta_get_stats (const td_thragent_t *ta, td_ta_stats_t *statsp) + { + /* XXX We have to figure out what has to be done. */ +- LOG (__FUNCTION__); ++ LOG ("td_ta_get_stats"); + + /* Test whether the TA parameter is ok. */ + if (! ta_ok (ta)) +Index: td_ta_map_id2thr.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_ta_map_id2thr.c,v +retrieving revision 1.4 +retrieving revision 1.5 +diff -u -r1.4 -r1.5 +--- libc/linuxthreads_db/td_ta_map_id2thr.c 6 Jul 2001 05:27:23 -0000 1.4 ++++ libc/linuxthreads_db/td_ta_map_id2thr.c 28 Dec 2001 16:41:29 -0000 1.5 +@@ -28,7 +28,7 @@ + struct _pthread_descr_struct pds; + int pthread_threads_max; + +- LOG (__FUNCTION__); ++ LOG ("td_ta_map_id2thr"); + + /* Test whether the TA parameter is ok. */ + if (! ta_ok (ta)) +Index: td_ta_map_lwp2thr.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_ta_map_lwp2thr.c,v +retrieving revision 1.5 +retrieving revision 1.6 +diff -u -r1.5 -r1.6 +--- libc/linuxthreads_db/td_ta_map_lwp2thr.c 6 Jul 2001 05:27:23 -0000 1.5 ++++ libc/linuxthreads_db/td_ta_map_lwp2thr.c 28 Dec 2001 16:41:29 -0000 1.6 +@@ -1,5 +1,5 @@ + /* Which thread is running on an lwp? +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -34,7 +34,7 @@ + # define num 1 + #endif + +- LOG (__FUNCTION__); ++ LOG ("td_ta_map_lwp2thr"); + + /* Test whether the TA parameter is ok. */ + if (! ta_ok (ta)) +Index: td_ta_new.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_ta_new.c,v +retrieving revision 1.10 +retrieving revision 1.11 +diff -u -r1.10 -r1.11 +--- libc/linuxthreads_db/td_ta_new.c 6 Jul 2001 05:27:23 -0000 1.10 ++++ libc/linuxthreads_db/td_ta_new.c 28 Dec 2001 16:41:29 -0000 1.11 +@@ -35,7 +35,7 @@ + psaddr_t addr; + struct agent_list *elemp; + +- LOG (__FUNCTION__); ++ LOG ("td_ta_new"); + + /* Get the global event mask. This is one of the variables which + are new in the thread library to enable debugging. If it is +Index: td_ta_reset_stats.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_ta_reset_stats.c,v +retrieving revision 1.3 +retrieving revision 1.4 +diff -u -r1.3 -r1.4 +--- libc/linuxthreads_db/td_ta_reset_stats.c 6 Jul 2001 05:27:23 -0000 1.3 ++++ libc/linuxthreads_db/td_ta_reset_stats.c 28 Dec 2001 16:41:29 -0000 1.4 +@@ -1,5 +1,5 @@ + /* Reset statistics. +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -25,7 +25,7 @@ + td_ta_reset_stats (const td_thragent_t *ta) + { + /* XXX We have to figure out what has to be done. */ +- LOG (__FUNCTION__); ++ LOG ("td_ta_reset_stats"); + + /* Test whether the TA parameter is ok. */ + if (! ta_ok (ta)) +Index: td_ta_set_event.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_ta_set_event.c,v +retrieving revision 1.4 +retrieving revision 1.5 +diff -u -r1.4 -r1.5 +--- libc/linuxthreads_db/td_ta_set_event.c 6 Jul 2001 05:27:23 -0000 1.4 ++++ libc/linuxthreads_db/td_ta_set_event.c 28 Dec 2001 16:41:29 -0000 1.5 +@@ -1,5 +1,5 @@ + /* Globally enable events. +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -29,7 +29,7 @@ + td_thr_events_t old_event; + int i; + +- LOG (__FUNCTION__); ++ LOG ("td_ta_set_event"); + + /* Test whether the TA parameter is ok. */ + if (! ta_ok (ta)) +Index: td_ta_setconcurrency.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_ta_setconcurrency.c,v +retrieving revision 1.3 +retrieving revision 1.4 +diff -u -r1.3 -r1.4 +--- libc/linuxthreads_db/td_ta_setconcurrency.c 6 Jul 2001 05:27:23 -0000 1.3 ++++ libc/linuxthreads_db/td_ta_setconcurrency.c 28 Dec 2001 16:41:29 -0000 1.4 +@@ -1,5 +1,5 @@ + /* Set suggested concurrency level for process. +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -25,7 +25,7 @@ + td_ta_setconcurrency (const td_thragent_t *ta, int level) + { + /* This is something LinuxThreads does not support. */ +- LOG (__FUNCTION__); ++ LOG ("td_ta_setconcurrency"); + + /* Test whether the TA parameter is ok. */ + if (! ta_ok (ta)) +Index: td_ta_thr_iter.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_ta_thr_iter.c,v +retrieving revision 1.11 +retrieving revision 1.12 +diff -u -r1.11 -r1.12 +--- libc/linuxthreads_db/td_ta_thr_iter.c 6 Jul 2001 05:27:23 -0000 1.11 ++++ libc/linuxthreads_db/td_ta_thr_iter.c 28 Dec 2001 16:41:29 -0000 1.12 +@@ -1,5 +1,5 @@ + /* Iterate over a process's threads. +- Copyright (C) 1999, 2000 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -86,7 +86,7 @@ + # define num 1 + #endif + +- LOG (__FUNCTION__); ++ LOG ("td_ta_thr_iter"); + + /* Test whether the TA parameter is ok. */ + if (! ta_ok (ta)) +Index: td_ta_tsd_iter.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_ta_tsd_iter.c,v +retrieving revision 1.4 +retrieving revision 1.5 +diff -u -r1.4 -r1.5 +--- libc/linuxthreads_db/td_ta_tsd_iter.c 6 Jul 2001 05:27:23 -0000 1.4 ++++ libc/linuxthreads_db/td_ta_tsd_iter.c 28 Dec 2001 16:41:29 -0000 1.5 +@@ -1,5 +1,5 @@ + /* Iterate over a process's thread-specific data. +- Copyright (C) 1999, 2000 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -29,7 +29,7 @@ + int pthread_keys_max; + int cnt; + +- LOG (__FUNCTION__); ++ LOG ("td_ta_tsd_iter"); + + /* Test whether the TA parameter is ok. */ + if (! ta_ok (ta)) +Index: td_thr_clear_event.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_thr_clear_event.c,v +retrieving revision 1.3 +retrieving revision 1.4 +diff -u -r1.3 -r1.4 +--- libc/linuxthreads_db/td_thr_clear_event.c 6 Jul 2001 05:27:23 -0000 1.3 ++++ libc/linuxthreads_db/td_thr_clear_event.c 28 Dec 2001 16:41:29 -0000 1.4 +@@ -1,5 +1,5 @@ + /* Disable specific event for thread. +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -31,7 +31,7 @@ + td_thr_events_t old_event; + int i; + +- LOG (__FUNCTION__); ++ LOG ("td_thr_clear_event"); + + /* Write the new value into the thread data structure. */ + if (ps_pdread (th->th_ta_p->ph, +Index: td_thr_dbresume.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_thr_dbresume.c,v +retrieving revision 1.2 +retrieving revision 1.3 +diff -u -r1.2 -r1.3 +--- libc/linuxthreads_db/td_thr_dbresume.c 6 Jul 2001 05:27:23 -0000 1.2 ++++ libc/linuxthreads_db/td_thr_dbresume.c 28 Dec 2001 16:41:29 -0000 1.3 +@@ -1,5 +1,5 @@ + /* Resume execution of given thread. +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -25,6 +25,6 @@ + td_thr_dbresume (const td_thrhandle_t *th) + { + /* XXX We have to figure out what has to be done. */ +- LOG (__FUNCTION__); ++ LOG ("td_thr_dbresume"); + return TD_NOCAPAB; + } +Index: td_thr_dbsuspend.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_thr_dbsuspend.c,v +retrieving revision 1.2 +retrieving revision 1.3 +diff -u -r1.2 -r1.3 +--- libc/linuxthreads_db/td_thr_dbsuspend.c 6 Jul 2001 05:27:23 -0000 1.2 ++++ libc/linuxthreads_db/td_thr_dbsuspend.c 28 Dec 2001 16:41:29 -0000 1.3 +@@ -1,5 +1,5 @@ + /* Suspend execution of given thread. +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -25,6 +25,6 @@ + td_thr_dbsuspend (const td_thrhandle_t *th) + { + /* XXX We have to figure out what has to be done. */ +- LOG (__FUNCTION__); ++ LOG ("td_thr_dbsuspend"); + return TD_NOCAPAB; + } +Index: td_thr_event_enable.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_thr_event_enable.c,v +retrieving revision 1.3 +retrieving revision 1.4 +diff -u -r1.3 -r1.4 +--- libc/linuxthreads_db/td_thr_event_enable.c 6 Jul 2001 05:27:23 -0000 1.3 ++++ libc/linuxthreads_db/td_thr_event_enable.c 28 Dec 2001 16:41:29 -0000 1.4 +@@ -1,5 +1,5 @@ + /* Enable event process-wide. +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -28,7 +28,7 @@ + const td_thrhandle_t *th; + int onoff; + { +- LOG (__FUNCTION__); ++ LOG ("td_thr_event_enable"); + + /* Write the new value into the thread data structure. */ + if (ps_pdwrite (th->th_ta_p->ph, +Index: td_thr_event_getmsg.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_thr_event_getmsg.c,v +retrieving revision 1.3 +retrieving revision 1.4 +diff -u -r1.3 -r1.4 +--- libc/linuxthreads_db/td_thr_event_getmsg.c 6 Jul 2001 05:27:23 -0000 1.3 ++++ libc/linuxthreads_db/td_thr_event_getmsg.c 28 Dec 2001 16:41:29 -0000 1.4 +@@ -1,5 +1,5 @@ + /* Retrieve event. +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -29,7 +29,7 @@ + { + td_eventbuf_t event; + +- LOG (__FUNCTION__); ++ LOG ("td_thr_event_getmsg"); + + /* Read the even structure from the target. */ + if (ps_pdread (th->th_ta_p->ph, +Index: td_thr_get_info.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_thr_get_info.c,v +retrieving revision 1.9 +retrieving revision 1.10 +diff -u -r1.9 -r1.10 +--- libc/linuxthreads_db/td_thr_get_info.c 6 Jul 2001 05:27:23 -0000 1.9 ++++ libc/linuxthreads_db/td_thr_get_info.c 28 Dec 2001 16:41:29 -0000 1.10 +@@ -1,5 +1,5 @@ + /* Get thread information. +- Copyright (C) 1999, 2000 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -29,7 +29,7 @@ + { + struct _pthread_descr_struct pds; + +- LOG (__FUNCTION__); ++ LOG ("td_thr_get_info"); + + /* Get the thread descriptor. */ + if (ps_pdread (th->th_ta_p->ph, th->th_unique, &pds, +Index: td_thr_getfpregs.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_thr_getfpregs.c,v +retrieving revision 1.4 +retrieving revision 1.5 +diff -u -r1.4 -r1.5 +--- libc/linuxthreads_db/td_thr_getfpregs.c 6 Jul 2001 05:27:23 -0000 1.4 ++++ libc/linuxthreads_db/td_thr_getfpregs.c 28 Dec 2001 16:41:29 -0000 1.5 +@@ -26,7 +26,7 @@ + { + struct _pthread_descr_struct pds; + +- LOG (__FUNCTION__); ++ LOG ("td_thr_getfpregs"); + + /* We have to get the state and the PID for this thread. */ + if (ps_pdread (th->th_ta_p->ph, th->th_unique, &pds, +Index: td_thr_getgregs.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_thr_getgregs.c,v +retrieving revision 1.8 +retrieving revision 1.9 +diff -u -r1.8 -r1.9 +--- libc/linuxthreads_db/td_thr_getgregs.c 6 Jul 2001 05:27:23 -0000 1.8 ++++ libc/linuxthreads_db/td_thr_getgregs.c 28 Dec 2001 16:41:29 -0000 1.9 +@@ -26,7 +26,7 @@ + { + struct _pthread_descr_struct pds; + +- LOG (__FUNCTION__); ++ LOG ("td_thr_getgregs"); + + /* We have to get the state and the PID for this thread. */ + if (ps_pdread (th->th_ta_p->ph, th->th_unique, &pds, +Index: td_thr_getxregs.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_thr_getxregs.c,v +retrieving revision 1.2 +retrieving revision 1.3 +diff -u -r1.2 -r1.3 +--- libc/linuxthreads_db/td_thr_getxregs.c 6 Jul 2001 05:27:23 -0000 1.2 ++++ libc/linuxthreads_db/td_thr_getxregs.c 28 Dec 2001 16:41:29 -0000 1.3 +@@ -1,5 +1,5 @@ + /* Get a thread's extra state register set. +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -25,6 +25,6 @@ + td_thr_getxregs (const td_thrhandle_t *th, void *xregs) + { + /* XXX This might be platform specific. */ +- LOG (__FUNCTION__); ++ LOG ("td_thr_getxregs"); + return TD_NOXREGS; + } +Index: td_thr_getxregsize.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_thr_getxregsize.c,v +retrieving revision 1.2 +retrieving revision 1.3 +diff -u -r1.2 -r1.3 +--- libc/linuxthreads_db/td_thr_getxregsize.c 6 Jul 2001 05:27:23 -0000 1.2 ++++ libc/linuxthreads_db/td_thr_getxregsize.c 28 Dec 2001 16:41:29 -0000 1.3 +@@ -1,5 +1,5 @@ + /* Get the size of the extra state register set for this architecture. +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -25,6 +25,6 @@ + td_thr_getxregsize (const td_thrhandle_t *th, int *sizep) + { + /* XXX This might be platform specific. */ +- LOG (__FUNCTION__); ++ LOG ("td_thr_getxregsize"); + return TD_NOXREGS; + } +Index: td_thr_set_event.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_thr_set_event.c,v +retrieving revision 1.4 +retrieving revision 1.5 +diff -u -r1.4 -r1.5 +--- libc/linuxthreads_db/td_thr_set_event.c 6 Jul 2001 05:27:23 -0000 1.4 ++++ libc/linuxthreads_db/td_thr_set_event.c 28 Dec 2001 16:41:29 -0000 1.5 +@@ -1,5 +1,5 @@ + /* Enable specific event for thread. +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -31,7 +31,7 @@ + td_thr_events_t old_event; + int i; + +- LOG (__FUNCTION__); ++ LOG ("td_thr_set_event"); + + /* Write the new value into the thread data structure. */ + if (ps_pdread (th->th_ta_p->ph, +Index: td_thr_setfpregs.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_thr_setfpregs.c,v +retrieving revision 1.4 +retrieving revision 1.5 +diff -u -r1.4 -r1.5 +--- libc/linuxthreads_db/td_thr_setfpregs.c 6 Jul 2001 05:27:23 -0000 1.4 ++++ libc/linuxthreads_db/td_thr_setfpregs.c 28 Dec 2001 16:41:29 -0000 1.5 +@@ -26,7 +26,7 @@ + { + struct _pthread_descr_struct pds; + +- LOG (__FUNCTION__); ++ LOG ("td_thr_setfpregs"); + + /* We have to get the state and the PID for this thread. */ + if (ps_pdread (th->th_ta_p->ph, th->th_unique, &pds, +Index: td_thr_setgregs.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_thr_setgregs.c,v +retrieving revision 1.6 +retrieving revision 1.7 +diff -u -r1.6 -r1.7 +--- libc/linuxthreads_db/td_thr_setgregs.c 6 Jul 2001 05:27:23 -0000 1.6 ++++ libc/linuxthreads_db/td_thr_setgregs.c 28 Dec 2001 16:41:29 -0000 1.7 +@@ -26,7 +26,7 @@ + { + struct _pthread_descr_struct pds; + +- LOG (__FUNCTION__); ++ LOG ("td_thr_setgregs"); + + /* We have to get the state and the PID for this thread. */ + if (ps_pdread (th->th_ta_p->ph, th->th_unique, &pds, +Index: td_thr_setprio.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_thr_setprio.c,v +retrieving revision 1.2 +retrieving revision 1.3 +diff -u -r1.2 -r1.3 +--- libc/linuxthreads_db/td_thr_setprio.c 6 Jul 2001 05:27:23 -0000 1.2 ++++ libc/linuxthreads_db/td_thr_setprio.c 28 Dec 2001 16:41:29 -0000 1.3 +@@ -1,5 +1,5 @@ + /* Set a thread's priority. +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -25,6 +25,6 @@ + td_thr_setprio (const td_thrhandle_t *th, int prio) + { + /* XXX We have to figure out what has to be done. */ +- LOG (__FUNCTION__); ++ LOG ("td_thr_setprio"); + return TD_OK; + } +Index: td_thr_setsigpending.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_thr_setsigpending.c,v +retrieving revision 1.2 +retrieving revision 1.3 +diff -u -r1.2 -r1.3 +--- libc/linuxthreads_db/td_thr_setsigpending.c 6 Jul 2001 05:27:23 -0000 1.2 ++++ libc/linuxthreads_db/td_thr_setsigpending.c 28 Dec 2001 16:41:29 -0000 1.3 +@@ -1,5 +1,5 @@ + /* Raise a signal for a thread. +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -26,6 +26,6 @@ + const sigset_t *ss) + { + /* XXX We have to figure out what has to be done. */ +- LOG (__FUNCTION__); ++ LOG ("td_thr_setsigpending"); + return TD_OK; + } +Index: td_thr_setxregs.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_thr_setxregs.c,v +retrieving revision 1.2 +retrieving revision 1.3 +diff -u -r1.2 -r1.3 +--- libc/linuxthreads_db/td_thr_setxregs.c 6 Jul 2001 05:27:23 -0000 1.2 ++++ libc/linuxthreads_db/td_thr_setxregs.c 28 Dec 2001 16:41:29 -0000 1.3 +@@ -1,5 +1,5 @@ + /* Set a thread's extra state register set. +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -25,6 +25,6 @@ + td_thr_setxregs (const td_thrhandle_t *ta, const void *addr) + { + /* XXX This might have to be platform specific. */ +- LOG (__FUNCTION__); ++ LOG ("td_thr_setxregs"); + return TD_NOXREGS; + } +Index: td_thr_sigsetmask.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_thr_sigsetmask.c,v +retrieving revision 1.2 +retrieving revision 1.3 +diff -u -r1.2 -r1.3 +--- libc/linuxthreads_db/td_thr_sigsetmask.c 6 Jul 2001 05:27:23 -0000 1.2 ++++ libc/linuxthreads_db/td_thr_sigsetmask.c 28 Dec 2001 16:41:29 -0000 1.3 +@@ -1,5 +1,5 @@ + /* Set a thread's signal mask. +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -25,6 +25,6 @@ + td_thr_sigsetmask (const td_thrhandle_t *th, const sigset_t *ss) + { + /* XXX We have to figure out what has to be done. */ +- LOG (__FUNCTION__); ++ LOG ("td_thr_sigsetmask"); + return TD_OK; + } +Index: td_thr_tsd.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_thr_tsd.c,v +retrieving revision 1.2 +retrieving revision 1.3 +diff -u -r1.2 -r1.3 +--- libc/linuxthreads_db/td_thr_tsd.c 6 Jul 2001 05:27:23 -0000 1.2 ++++ libc/linuxthreads_db/td_thr_tsd.c 28 Dec 2001 16:41:29 -0000 1.3 +@@ -1,5 +1,5 @@ + /* Get a thread-specific data pointer for a thread. +- Copyright (C) 1999 Free Software Foundation, Inc. ++ Copyright (C) 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + +@@ -33,7 +33,7 @@ + unsigned int idx2nd; + void *p; + +- LOG (__FUNCTION__); ++ LOG ("td_thr_tsd"); + + /* Get the thread descriptor. */ + if (ps_pdread (th->th_ta_p->ph, th->th_unique, &pds, +Index: td_thr_validate.c +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads_db/td_thr_validate.c,v +retrieving revision 1.4 +retrieving revision 1.5 +diff -u -r1.4 -r1.5 +--- libc/linuxthreads_db/td_thr_validate.c 6 Jul 2001 05:27:23 -0000 1.4 ++++ libc/linuxthreads_db/td_thr_validate.c 28 Dec 2001 16:41:29 -0000 1.5 +@@ -28,7 +28,7 @@ + int pthread_threads_max = th->th_ta_p->pthread_threads_max; + int cnt; + +- LOG (__FUNCTION__); ++ LOG ("td_thr_validate"); + + /* Now get all descriptors, one after the other. */ + for (cnt = 0; cnt < pthread_threads_max; ++cnt, ++handles) diff --git a/packages/glibc/glibc-2.2.5/glibc-2.2.5-alpha-pwrite64.patch b/packages/glibc/glibc-2.2.5/glibc-2.2.5-alpha-pwrite64.patch index e69de29bb2..8466731834 100644 --- a/packages/glibc/glibc-2.2.5/glibc-2.2.5-alpha-pwrite64.patch +++ b/packages/glibc/glibc-2.2.5/glibc-2.2.5-alpha-pwrite64.patch @@ -0,0 +1,35 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/unix/sysv/linux/alpha/sysdep.h~glibc-2.2.5-alpha-pwrite64.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/unix/sysv/linux/alpha/sysdep.h 2004-09-03 19:00:38.000000000 -0500 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 1992, 1993, 1995, 1996, 1997 Free Software Foundation, Inc. ++/* Copyright (C) 1992, 1993, 1995, 1996, 1997, 2004 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995. + +@@ -56,6 +56,21 @@ + #define __NR_osf_getsysinfo 256 + #define __NR_osf_setsysinfo 257 + ++/* Help old kernel headers where particular syscalls are not available. */ ++#ifndef __NR_semtimedop ++# define __NR_semtimedop 423 ++#endif ++ ++/* This is a kludge to make syscalls.list find these under the names ++ pread and pwrite, since some kernel headers define those names ++ and some define the *64 names for the same system calls. */ ++#if !defined __NR_pread && defined __NR_pread64 ++# define __NR_pread __NR_pread64 ++#endif ++#if !defined __NR_pwrite && defined __NR_pwrite64 ++# define __NR_pwrite __NR_pwrite64 ++#endif ++ + /* + * In order to get the hidden arguments for rt_sigaction set up + * properly, we need to call the assembly version. Detect this in the diff --git a/packages/glibc/glibc-2.2.5/glibc-2.2.5-alpha-self-clobber.patch b/packages/glibc/glibc-2.2.5/glibc-2.2.5-alpha-self-clobber.patch index e69de29bb2..fd3403405a 100644 --- a/packages/glibc/glibc-2.2.5/glibc-2.2.5-alpha-self-clobber.patch +++ b/packages/glibc/glibc-2.2.5/glibc-2.2.5-alpha-self-clobber.patch @@ -0,0 +1,25 @@ +wget http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/linuxthreads/sysdeps/alpha/pt-machine.h.diff?r1=1.9&r2=1.10&cvsroot=glibc + +Should fix error + +internals.h: In function `pthread_setcancelstate': +internals.h:381: error: asm-specifier for variable `__self' conflicts with asm clobber list +make[2]: *** [/home/dank/crosstool-0.28/build/alpha-unknown-linux-gnu/gcc-3.4.1-glibc-2.2.5/build-glibc/linuxthreads/cancel.o] Error 1 +make[2]: Leaving directory `/home/dank/crosstool-0.28/build/alpha-unknown-linux-gnu/gcc-3.4.1-glibc-2.2.5/glibc-2.2.5/linuxthreads' + +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads/sysdeps/alpha/pt-machine.h,v +retrieving revision 1.9 +retrieving revision 1.10 +diff -u -r1.9 -r1.10 +--- libc/linuxthreads/sysdeps/alpha/pt-machine.h 2002/04/06 04:05:13 1.9 ++++ libc/linuxthreads/sysdeps/alpha/pt-machine.h 2002/05/20 20:09:34 1.10 +@@ -76,7 +76,7 @@ + #define THREAD_SELF \ + ({ \ + register pthread_descr __self __asm__("$0"); \ +- __asm__ ("call_pal %1" : "=r"(__self) : "i"(PAL_rduniq) : "$0"); \ ++ __asm__ ("call_pal %1" : "=r"(__self) : "i"(PAL_rduniq)); \ + __self; \ + }) + diff --git a/packages/glibc/glibc-2.2.5/glibc-2.2.5-arm-pwrite64.patch b/packages/glibc/glibc-2.2.5/glibc-2.2.5-arm-pwrite64.patch index e69de29bb2..eb7fa996fa 100644 --- a/packages/glibc/glibc-2.2.5/glibc-2.2.5-arm-pwrite64.patch +++ b/packages/glibc/glibc-2.2.5/glibc-2.2.5-arm-pwrite64.patch @@ -0,0 +1,23 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/unix/sysv/linux/arm/sysdep.h~glibc-2.2.5-arm-pwrite64.patch 2004-09-03 19:00:37.000000000 -0500 ++++ glibc-2.2.5/sysdeps/unix/sysv/linux/arm/sysdep.h 2004-09-03 19:00:38.000000000 -0500 +@@ -32,6 +32,15 @@ + #define SWI_BASE (0x900000) + #define SYS_ify(syscall_name) (__NR_##syscall_name) + ++/* This is a kludge to make syscalls.list find these under the names ++ pread and pwrite, since some kernel headers define those names ++ and some define the *64 names for the same system calls. */ ++#if !defined __NR_pread && defined __NR_pread64 ++# define __NR_pread __NR_pread64 ++#endif ++#if !defined __NR_pwrite && defined __NR_pwrite64 ++# define __NR_pwrite __NR_pwrite64 ++#endif + + #ifdef __ASSEMBLER__ + diff --git a/packages/glibc/glibc-2.2.5/glibc-2.2.5-crosstest.patch b/packages/glibc/glibc-2.2.5/glibc-2.2.5-crosstest.patch index e69de29bb2..4029bf4f2a 100644 --- a/packages/glibc/glibc-2.2.5/glibc-2.2.5-crosstest.patch +++ b/packages/glibc/glibc-2.2.5/glibc-2.2.5-crosstest.patch @@ -0,0 +1,28 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/dlfcn/Makefile~glibc-2.2.5-crosstest.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/dlfcn/Makefile 2004-09-03 19:00:38.000000000 -0500 +@@ -60,6 +60,8 @@ + test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(modules-names))) + $(test-modules): $(objpfx)%.so: $(objpfx)%.os + $(build-module) ++# without following rule, test-modules don't get built when cross-compiling ++tests: $(test-modules) + + $(objpfx)glrefmain: $(libdl) + $(objpfx)glrefmain.out: $(objpfx)glrefmain \ +--- glibc-2.2.5/elf/Makefile~glibc-2.2.5-crosstest.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/elf/Makefile 2004-09-03 19:00:38.000000000 -0500 +@@ -263,6 +263,9 @@ + test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(strip $(modules-names)))) + generated += $(addsuffix .so,$(strip $(modules-names))) + ++# without following rule, test-modules don't get built when cross-compiling ++tests: $(test-modules) ++ + ifeq (yes,$(build-shared)) + ifeq ($(cross-compiling),no) + tests: $(objpfx)tst-pathopt.out diff --git a/packages/glibc/glibc-2.2.5/glibc-2.2.5-crossyes.patch b/packages/glibc/glibc-2.2.5/glibc-2.2.5-crossyes.patch index e69de29bb2..a27be24275 100644 --- a/packages/glibc/glibc-2.2.5/glibc-2.2.5-crossyes.patch +++ b/packages/glibc/glibc-2.2.5/glibc-2.2.5-crossyes.patch @@ -0,0 +1,16 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/configure~glibc-2.2.5-crossyes.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/configure 2004-09-03 19:00:38.000000000 -0500 +@@ -1738,7 +1738,7 @@ + ac_cv_prog_cc_works=yes + # If we can't run a trivial program, we are probably using a cross compiler. + if (./conftest; exit) 2>/dev/null; then +- ac_cv_prog_cc_cross=no ++ ac_cv_prog_cc_cross=yes + else + ac_cv_prog_cc_cross=yes + fi diff --git a/packages/glibc/glibc-2.2.5/glibc-2.2.5-cygwin.patch b/packages/glibc/glibc-2.2.5/glibc-2.2.5-cygwin.patch index e69de29bb2..9b732188ca 100644 --- a/packages/glibc/glibc-2.2.5/glibc-2.2.5-cygwin.patch +++ b/packages/glibc/glibc-2.2.5/glibc-2.2.5-cygwin.patch @@ -0,0 +1,79 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/Makeconfig~glibc-2.2.5-cygwin.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/Makeconfig 2004-09-03 19:00:38.000000000 -0500 +@@ -439,13 +439,13 @@ + # run the linked programs. + link-libc = -Wl,-rpath-link=$(rpath-link) \ + $(common-objpfx)libc.so$(libc.so-version) \ +- $(common-objpfx)$(patsubst %,$(libtype.oS),c) $(gnulib) ++ $(common-objpfx)$(patsubst %,$(libtype.oST),c) $(gnulib) + # This is how to find at build-time things that will be installed there. + rpath-dirs = math elf dlfcn nss nis rt resolv crypt + else + ifneq (,$(findstring aix,$(config-os))) + link-libc = $(common-objpfx)libc.a \ +- $(common-objpfx)$(patsubst %,$(libtype.oS),c) $(gnulib) ++ $(common-objpfx)$(patsubst %,$(libtype.oST),c) $(gnulib) + rpath-dirs = math dlfcn nss nis rt resolv crypt + endif + endif +@@ -649,7 +649,7 @@ + # The compilation rules use $(CPPFLAGS-${SUFFIX}) and $(CFLAGS-${SUFFIX}) + # to pass different flags for each flavor. + libtypes = $(foreach o,$(object-suffixes-for-libc),$(libtype$o)) +-all-object-suffixes := .o .os .op .og .ob .oS ++all-object-suffixes := .o .os .op .og .ob .oST + object-suffixes := + CPPFLAGS-.o = $(pic-default) + CFLAGS-.o = $(filter %frame-pointer,$(+cflags)) +@@ -703,14 +703,14 @@ + + ifeq (yes,$(build-shared)) + # Build special library that contains the static-only routines for libc. +-object-suffixes-for-libc += .oS ++object-suffixes-for-libc += .oST + + # Must build the routines as PIC, though, because they can end up in (users') + # shared objects. We don't want to use CFLAGS-os because users may, for + # example, make that processor-specific. +-CFLAGS-.oS = $(CFLAGS-.o) $(pic-ccflag) +-CPPFLAGS-.oS = $(CPPFLAGS-.o) -DPIC +-libtype.oS = lib%_nonshared.a ++CFLAGS-.oST = $(CFLAGS-.o) $(pic-ccflag) ++CPPFLAGS-.oST = $(CPPFLAGS-.o) -DPIC ++libtype.oST = lib%_nonshared.a + endif + + +--- glibc-2.2.5/Makerules~glibc-2.2.5-cygwin.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/Makerules 2004-09-03 19:00:38.000000000 -0500 +@@ -361,7 +361,7 @@ + # Bounded pointer thunks are only built for *.ob + elide-bp-thunks = $(addprefix $(bppfx),$(bp-thunks)) + +-elide-routines.oS += $(filter-out $(static-only-routines),\ ++elide-routines.oST += $(filter-out $(static-only-routines),\ + $(routines) $(aux) $(sysdep_routines)) \ + $(elide-bp-thunks) + elide-routines.os += $(static-only-routines) $(elide-bp-thunks) +@@ -842,14 +842,14 @@ + # of the files are taken by the linker. + install: $(inst_libdir)/libc.so + $(inst_libdir)/libc.so: $(common-objpfx)libc.so$(libc.so-version) \ +- $(inst_libdir)/$(patsubst %,$(libtype.oS),\ ++ $(inst_libdir)/$(patsubst %,$(libtype.oST),\ + $(libprefix)$(libc-name)) \ + $(+force) + (echo '/* GNU ld script';\ + echo ' Use the shared library, but some functions are only in';\ + echo ' the static library, so try that secondarily. */';\ + echo 'GROUP ( $(slibdir)/libc.so$(libc.so-version)' \ +- '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)$(libc-name))'\ ++ '$(libdir)/$(patsubst %,$(libtype.oST),$(libprefix)$(libc-name))'\ + ')' \ + ) > $@.new + mv -f $@.new $@ diff --git a/packages/glibc/glibc-2.2.5/glibc-2.2.5-hhl-powerpc-fpu.patch b/packages/glibc/glibc-2.2.5/glibc-2.2.5-hhl-powerpc-fpu.patch index e69de29bb2..73cfd1a832 100644 --- a/packages/glibc/glibc-2.2.5/glibc-2.2.5-hhl-powerpc-fpu.patch +++ b/packages/glibc/glibc-2.2.5/glibc-2.2.5-hhl-powerpc-fpu.patch @@ -0,0 +1,1108 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/powerpc/Dist~glibc-2.2.5-hhl-powerpc-fpu.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/powerpc/Dist 2004-09-03 19:00:38.000000000 -0500 +@@ -1,9 +1,6 @@ + dl-machine.c + dl-start.S + ppc-mcount.S +-fe_nomask.c +-fprrest.S +-fprsave.S + gprsave1.S + gprsave0.S + gprrest1.S +--- glibc-2.2.5/sysdeps/powerpc/Makefile~glibc-2.2.5-hhl-powerpc-fpu.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/powerpc/Makefile 2004-09-03 19:00:38.000000000 -0500 +@@ -3,16 +3,12 @@ + +cflags += -mnew-mnemonics -Wa,-mppc -mpowerpc + asm-CPPFLAGS += -Wa,-mppc + +-ifeq ($(subdir),math) +-libm-support += fenv_const fe_nomask +-endif +- + ifeq ($(subdir),gmon) + sysdep_routines += ppc-mcount + endif + + ifeq ($(subdir),misc) +-sysdep_routines += gprsave0 gprrest0 gprsave1 gprrest1 fprsave fprrest ++sysdep_routines += gprsave0 gprrest0 gprsave1 gprrest1 + endif + + # On PPC, -fpic works until the GOT contains 2^15 bytes, and possibly +--- glibc-2.2.5/sysdeps/powerpc/Versions~glibc-2.2.5-hhl-powerpc-fpu.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/powerpc/Versions 2004-09-03 19:00:38.000000000 -0500 +@@ -1,8 +1,4 @@ + libm { +- GLIBC_2.1 { +- # symbols used in macros from sysdeps/powerpc/bits/fenv.h +- __fe_dfl_env; __fe_enabled_env; __fe_nonieee_env; __fe_nomask_env; +- } + GLIBC_2.2 { + # Special functions to save and restore registers used by the + # runtime libraries. +--- glibc-2.2.5/sysdeps/powerpc/__longjmp.S~glibc-2.2.5-hhl-powerpc-fpu.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/powerpc/__longjmp.S 2004-09-03 19:00:38.000000000 -0500 +@@ -24,6 +24,8 @@ + #include <bp-sym.h> + #include <bp-asm.h> + ++/* The FPU loads have been removed from this file - see fpu/__longjmp.S */ ++ + ENTRY (BP_SYM (__longjmp)) + CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE) + +@@ -31,44 +33,26 @@ + lwz r2,(JB_GPR2*4)(r3) + lwz r0,(JB_LR*4)(r3) + lwz r14,((JB_GPRS+0)*4)(r3) +- lfd fp14,((JB_FPRS+0*2)*4)(r3) + lwz r15,((JB_GPRS+1)*4)(r3) +- lfd fp15,((JB_FPRS+1*2)*4)(r3) + lwz r16,((JB_GPRS+2)*4)(r3) +- lfd fp16,((JB_FPRS+2*2)*4)(r3) + lwz r17,((JB_GPRS+3)*4)(r3) +- lfd fp17,((JB_FPRS+3*2)*4)(r3) + lwz r18,((JB_GPRS+4)*4)(r3) +- lfd fp18,((JB_FPRS+4*2)*4)(r3) + lwz r19,((JB_GPRS+5)*4)(r3) +- lfd fp19,((JB_FPRS+5*2)*4)(r3) + lwz r20,((JB_GPRS+6)*4)(r3) +- lfd fp20,((JB_FPRS+6*2)*4)(r3) + mtlr r0 + lwz r21,((JB_GPRS+7)*4)(r3) +- lfd fp21,((JB_FPRS+7*2)*4)(r3) + lwz r22,((JB_GPRS+8)*4)(r3) +- lfd fp22,((JB_FPRS+8*2)*4)(r3) + lwz r0,(JB_CR*4)(r3) + lwz r23,((JB_GPRS+9)*4)(r3) +- lfd fp23,((JB_FPRS+9*2)*4)(r3) + lwz r24,((JB_GPRS+10)*4)(r3) +- lfd fp24,((JB_FPRS+10*2)*4)(r3) + lwz r25,((JB_GPRS+11)*4)(r3) +- lfd fp25,((JB_FPRS+11*2)*4)(r3) + mtcrf 0xFF,r0 + lwz r26,((JB_GPRS+12)*4)(r3) +- lfd fp26,((JB_FPRS+12*2)*4)(r3) + lwz r27,((JB_GPRS+13)*4)(r3) +- lfd fp27,((JB_FPRS+13*2)*4)(r3) + lwz r28,((JB_GPRS+14)*4)(r3) +- lfd fp28,((JB_FPRS+14*2)*4)(r3) + lwz r29,((JB_GPRS+15)*4)(r3) +- lfd fp29,((JB_FPRS+15*2)*4)(r3) + lwz r30,((JB_GPRS+16)*4)(r3) +- lfd fp30,((JB_FPRS+16*2)*4)(r3) + lwz r31,((JB_GPRS+17)*4)(r3) +- lfd fp31,((JB_FPRS+17*2)*4)(r3) + mr r3,r4 + blr + END (BP_SYM (__longjmp)) +--- glibc-2.2.5/sysdeps/powerpc/bits/setjmp.h~glibc-2.2.5-hhl-powerpc-fpu.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/powerpc/bits/setjmp.h 2004-09-03 19:00:38.000000000 -0500 +@@ -17,6 +17,7 @@ + 02111-1307 USA. */ + + /* Define the machine-dependent type `jmp_buf'. PowerPC version. */ ++/* For processors without floating point. */ + + #ifndef _SETJMP_H + # error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead." +@@ -33,12 +34,11 @@ + # define JB_LR 2 /* The address we will return to */ + # define JB_GPRS 3 /* GPRs 14 through 31 are saved, 18 in total */ + # define JB_CR 21 /* Condition code registers. */ +-# define JB_FPRS 22 /* FPRs 14 through 31 are saved, 18*2 words total */ +-# define JB_SIZE (58*4) ++# define JB_SIZE (22*4) + #endif + + #ifndef _ASM +-typedef long int __jmp_buf[58]; ++typedef long int __jmp_buf[22]; + #endif + + /* Test if longjmp to JMPBUF would unwind the frame +--- glibc-2.2.5/sysdeps/powerpc/fclrexcpt.c~glibc-2.2.5-hhl-powerpc-fpu.patch ++++ glibc-2.2.5/sysdeps/powerpc/fclrexcpt.c +-/* Clear given exceptions in current floating-point environment. +- Copyright (C) 1997,99,2000,01 Free Software Foundation, Inc. +- This file is part of the GNU C Library. +- +- The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU Lesser General Public +- License as published by the Free Software Foundation; either +- version 2.1 of the License, or (at your option) any later version. +- +- The GNU C Library is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public +- License along with the GNU C Library; if not, write to the Free +- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +- 02111-1307 USA. */ +- +-#include <fenv_libc.h> +- +-#undef feclearexcept +-int +-__feclearexcept (int excepts) +-{ +- fenv_union_t u; +- +- /* Get the current state. */ +- u.fenv = fegetenv_register (); +- +- /* Clear the relevant bits. */ +- u.l[1] = u.l[1] & ~((-(excepts >> (31 - FPSCR_VX) & 1) & FE_ALL_INVALID) +- | (excepts & FPSCR_STICKY_BITS)); +- +- /* Put the new state in effect. */ +- fesetenv_register (u.fenv); +- +- /* Success. */ +- return 0; +-} +- +-#include <shlib-compat.h> +-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2) +-strong_alias (__feclearexcept, __old_feclearexcept) +-compat_symbol (libm, __old_feclearexcept, feclearexcept, GLIBC_2_1); +-#endif +- +-versioned_symbol (libm, __feclearexcept, feclearexcept, GLIBC_2_2); +--- glibc-2.2.5/sysdeps/powerpc/fe_nomask.c~glibc-2.2.5-hhl-powerpc-fpu.patch ++++ glibc-2.2.5/sysdeps/powerpc/fe_nomask.c +-/* Procedure definition for FE_NOMASK_ENV. +- Copyright (C) 1997 Free Software Foundation, Inc. +- This file is part of the GNU C Library. +- +- The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU Lesser General Public +- License as published by the Free Software Foundation; either +- version 2.1 of the License, or (at your option) any later version. +- +- The GNU C Library is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public +- License along with the GNU C Library; if not, write to the Free +- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +- 02111-1307 USA. */ +- +-#include <fenv.h> +-#include <errno.h> +- +-/* This is presently a stub, until it's decided how the kernels should +- support this. */ +- +-const fenv_t * +-__fe_nomask_env(void) +-{ +- __set_errno (ENOSYS); +- return FE_ENABLED_ENV; +-} +-stub_warning (__fe_nomask_env) +--- glibc-2.2.5/sysdeps/powerpc/fprrest.S~glibc-2.2.5-hhl-powerpc-fpu.patch ++++ glibc-2.2.5/sysdeps/powerpc/fprrest.S +-/* Copyright (C) 2000, 2001 Free Software Foundation, Inc. +- This file is part of the GNU C Library. +- +- The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU Lesser General Public +- License as published by the Free Software Foundation; either +- version 2.1 of the License, or (at your option) any later version. +- +- The GNU C Library is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public +- License along with the GNU C Library; if not, write to the Free +- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +- 02111-1307 USA. */ +- +-/* +- Floating Point Registers (FPRs) restore routine +-*/ +- +-#include <sysdep.h> +- +-ENTRY(_restfpr_all) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf14) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_14) +-C_TEXT(_restf14): +-C_TEXT(_restfpr_14): lfd fp14,-144(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf15) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_15) +-C_TEXT(_restf15): +-C_TEXT(_restfpr_15): lfd fp15,-136(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf16) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_16) +-C_TEXT(_restf16): +-C_TEXT(_restfpr_16): lfd fp16,-128(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf17) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_17) +-C_TEXT(_restf17): +-C_TEXT(_restfpr_17): lfd fp17,-120(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf18) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_18) +-C_TEXT(_restf18): +-C_TEXT(_restfpr_18): lfd fp18,-112(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf19) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_19) +-C_TEXT(_restf19): +-C_TEXT(_restfpr_19): lfd fp19,-104(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf20) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_20) +-C_TEXT(_restf20): +-C_TEXT(_restfpr_20): lfd fp20,-96(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf21) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_21) +-C_TEXT(_restf21): +-C_TEXT(_restfpr_21): lfd fp21,-88(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf22) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_22) +-C_TEXT(_restf22): +-C_TEXT(_restfpr_22): lfd fp22,-80(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf23) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_23) +-C_TEXT(_restf23): +-C_TEXT(_restfpr_23): lfd fp23,-72(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf24) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_24) +-C_TEXT(_restf24): +-C_TEXT(_restfpr_24): lfd fp24,-64(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf25) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_25) +-C_TEXT(_restf25): +-C_TEXT(_restfpr_25): lfd fp25,-56(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf26) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_26) +-C_TEXT(_restf26): +-C_TEXT(_restfpr_26): lfd fp26,-48(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf27) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_27) +-C_TEXT(_restf27): +-C_TEXT(_restfpr_27): lfd fp27,-40(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf28) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_28) +-C_TEXT(_restf28): +-C_TEXT(_restfpr_28): lfd fp28,-32(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf29) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_29) +-C_TEXT(_restf29): +-C_TEXT(_restfpr_29): lwz r0,8(r1) #get return address from frame +- lfd fp29,-24(r1) #restore f29 +- mtlr r0 #move return address to LR +- lfd fp30,-16(r1) #restore f30 +- lfd fp31,-8(r1) #restore f31 +- blr #return +--- glibc-2.2.5/sysdeps/powerpc/fprsave.S~glibc-2.2.5-hhl-powerpc-fpu.patch ++++ glibc-2.2.5/sysdeps/powerpc/fprsave.S +-/* Copyright (C) 2000, 2001 Free Software Foundation, Inc. +- This file is part of the GNU C Library. +- +- The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU Lesser General Public +- License as published by the Free Software Foundation; either +- version 2.1 of the License, or (at your option) any later version. +- +- The GNU C Library is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public +- License along with the GNU C Library; if not, write to the Free +- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +- 02111-1307 USA. */ +- +-/* +- Floating Point Registers (FPRs) save routine +-*/ +- +-#include <sysdep.h> +- +-ENTRY(_savefpr_all) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef14) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_14) +-C_TEXT(_savef14): +-C_TEXT(_savefpr_14): stfd fp14,-144(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef15) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_15) +-C_TEXT(_savef15): +-C_TEXT(_savefpr_15): stfd fp15,-136(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef16) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_16) +-C_TEXT(_savef16): +-C_TEXT(_savefpr_16): stfd fp16,-128(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef17) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_17) +-C_TEXT(_savef17): +-C_TEXT(_savefpr_17): stfd fp17,-120(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef18) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_18) +-C_TEXT(_savef18): +-C_TEXT(_savefpr_18): stfd fp18,-112(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef19) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_19) +-C_TEXT(_savef19): +-C_TEXT(_savefpr_19): stfd fp19,-104(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef20) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_20) +-C_TEXT(_savef20): +-C_TEXT(_savefpr_20): stfd fp20,-96(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef21) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_21) +-C_TEXT(_savef21): +-C_TEXT(_savefpr_21): stfd fp21,-88(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef22) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_22) +-C_TEXT(_savef22): +-C_TEXT(_savefpr_22): stfd fp22,-80(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef23) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_23) +-C_TEXT(_savef23): +-C_TEXT(_savefpr_23): stfd fp23,-72(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef24) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_24) +-C_TEXT(_savef24): +-C_TEXT(_savefpr_24): stfd fp24,-64(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef25) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_25) +-C_TEXT(_savef25): +-C_TEXT(_savefpr_25): stfd fp25,-56(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef26) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_26) +-C_TEXT(_savef26): +-C_TEXT(_savefpr_26): stfd fp26,-48(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef27) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_27) +-C_TEXT(_savef27): +-C_TEXT(_savefpr_27): stfd fp27,-40(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef28) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_28) +-C_TEXT(_savef28): +-C_TEXT(_savefpr_28): stfd fp28,-32(r1) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef29) +- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_29) +-C_TEXT(_savef29): +-C_TEXT(_savefpr_29): stfd fp29,-24(r1) #save f29 +- stfd fp30,-16(r1) #save f30 +- stfd fp31,-8(r1) #save f31 +- stw r0,8(r1) #save LR in callers frame +- blr #return +--- glibc-2.2.5/sysdeps/powerpc/fpu/Dist~glibc-2.2.5-hhl-powerpc-fpu.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/powerpc/fpu/Dist 2004-09-03 19:00:38.000000000 -0500 +@@ -1,3 +1,6 @@ ++fe_nomask.c ++fprrest.S ++fprsave.S + fenv_const.c + fenv_libc.h + t_sqrt.c +--- glibc-2.2.5/sysdeps/powerpc/fpu/Makefile~glibc-2.2.5-hhl-powerpc-fpu.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/powerpc/fpu/Makefile 2004-09-03 19:00:38.000000000 -0500 +@@ -1,3 +1,7 @@ + ifeq ($(subdir),math) + libm-support += fenv_const fe_nomask t_sqrt + endif ++ ++ifeq ($(subdir),misc) ++sysdep_routines += fprsave fprrest ++endif +--- /dev/null 2004-06-02 16:28:12.000000000 -0500 ++++ glibc-2.2.5/sysdeps/powerpc/fpu/Versions 2004-09-03 19:00:38.000000000 -0500 +@@ -0,0 +1,6 @@ ++libm { ++ GLIBC_2.1 { ++ # symbols used in macros from sysdeps/powerpc/bits/fenv.h ++ __fe_dfl_env; __fe_enabled_env; __fe_nonieee_env; __fe_nomask_env; ++ } ++} +--- /dev/null 2004-06-02 16:28:12.000000000 -0500 ++++ glibc-2.2.5/sysdeps/powerpc/fpu/__longjmp.S 2004-09-03 19:00:38.000000000 -0500 +@@ -0,0 +1,74 @@ ++/* longjmp for PowerPC. ++ Copyright (C) 1995, 1996, 1997, 1999, 2000 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Library General Public License as ++ published by the Free Software Foundation; either version 2 of the ++ License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with the GNU C Library; see the file COPYING.LIB. If not, ++ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++ Boston, MA 02111-1307, USA. */ ++ ++#include <sysdep.h> ++#define _ASM ++#define _SETJMP_H ++#include <bits/setjmp.h> ++#include <bp-sym.h> ++#include <bp-asm.h> ++ ++ENTRY (BP_SYM (__longjmp)) ++ CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE) ++ ++ lwz r1,(JB_GPR1*4)(r3) ++ lwz r2,(JB_GPR2*4)(r3) ++ lwz r0,(JB_LR*4)(r3) ++ lwz r14,((JB_GPRS+0)*4)(r3) ++ lfd fp14,((JB_FPRS+0*2)*4)(r3) ++ lwz r15,((JB_GPRS+1)*4)(r3) ++ lfd fp15,((JB_FPRS+1*2)*4)(r3) ++ lwz r16,((JB_GPRS+2)*4)(r3) ++ lfd fp16,((JB_FPRS+2*2)*4)(r3) ++ lwz r17,((JB_GPRS+3)*4)(r3) ++ lfd fp17,((JB_FPRS+3*2)*4)(r3) ++ lwz r18,((JB_GPRS+4)*4)(r3) ++ lfd fp18,((JB_FPRS+4*2)*4)(r3) ++ lwz r19,((JB_GPRS+5)*4)(r3) ++ lfd fp19,((JB_FPRS+5*2)*4)(r3) ++ lwz r20,((JB_GPRS+6)*4)(r3) ++ lfd fp20,((JB_FPRS+6*2)*4)(r3) ++ mtlr r0 ++ lwz r21,((JB_GPRS+7)*4)(r3) ++ lfd fp21,((JB_FPRS+7*2)*4)(r3) ++ lwz r22,((JB_GPRS+8)*4)(r3) ++ lfd fp22,((JB_FPRS+8*2)*4)(r3) ++ lwz r0,(JB_CR*4)(r3) ++ lwz r23,((JB_GPRS+9)*4)(r3) ++ lfd fp23,((JB_FPRS+9*2)*4)(r3) ++ lwz r24,((JB_GPRS+10)*4)(r3) ++ lfd fp24,((JB_FPRS+10*2)*4)(r3) ++ lwz r25,((JB_GPRS+11)*4)(r3) ++ lfd fp25,((JB_FPRS+11*2)*4)(r3) ++ mtcrf 0xFF,r0 ++ lwz r26,((JB_GPRS+12)*4)(r3) ++ lfd fp26,((JB_FPRS+12*2)*4)(r3) ++ lwz r27,((JB_GPRS+13)*4)(r3) ++ lfd fp27,((JB_FPRS+13*2)*4)(r3) ++ lwz r28,((JB_GPRS+14)*4)(r3) ++ lfd fp28,((JB_FPRS+14*2)*4)(r3) ++ lwz r29,((JB_GPRS+15)*4)(r3) ++ lfd fp29,((JB_FPRS+15*2)*4)(r3) ++ lwz r30,((JB_GPRS+16)*4)(r3) ++ lfd fp30,((JB_FPRS+16*2)*4)(r3) ++ lwz r31,((JB_GPRS+17)*4)(r3) ++ lfd fp31,((JB_FPRS+17*2)*4)(r3) ++ mr r3,r4 ++ blr ++END (BP_SYM (__longjmp)) +--- /dev/null 2004-06-02 16:28:12.000000000 -0500 ++++ glibc-2.2.5/sysdeps/powerpc/fpu/bits/setjmp.h 2004-09-03 19:00:38.000000000 -0500 +@@ -0,0 +1,47 @@ ++/* Copyright (C) 1997, 1998, 2000 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Library General Public License as ++ published by the Free Software Foundation; either version 2 of the ++ License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with the GNU C Library; see the file COPYING.LIB. If not, ++ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++ Boston, MA 02111-1307, USA. */ ++ ++/* Define the machine-dependent type `jmp_buf'. PowerPC version. */ ++ ++#ifndef _SETJMP_H ++# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead." ++#endif ++ ++/* The previous bits/setjmp.h had __jmp_buf defined as a structure. ++ We use an array of 'long int' instead, to make writing the ++ assembler easier. Naturally, user code should not depend on ++ either representation. */ ++ ++#if defined __USE_MISC || defined _ASM ++# define JB_GPR1 0 /* Also known as the stack pointer */ ++# define JB_GPR2 1 ++# define JB_LR 2 /* The address we will return to */ ++# define JB_GPRS 3 /* GPRs 14 through 31 are saved, 18 in total */ ++# define JB_CR 21 /* Condition code registers. */ ++# define JB_FPRS 22 /* FPRs 14 through 31 are saved, 18*2 words total */ ++# define JB_SIZE (58*4) ++#endif ++ ++#ifndef _ASM ++typedef long int __jmp_buf[58]; ++#endif ++ ++/* Test if longjmp to JMPBUF would unwind the frame ++ containing a local variable at ADDRESS. */ ++#define _JMPBUF_UNWINDS(jmpbuf, address) \ ++ ((void *) (address) < (void *) (jmpbuf)[JB_GPR1]) +--- /dev/null 2004-06-02 16:28:12.000000000 -0500 ++++ glibc-2.2.5/sysdeps/powerpc/fpu/fclrexcpt.c 2004-09-03 19:00:38.000000000 -0500 +@@ -0,0 +1,48 @@ ++/* Clear given exceptions in current floating-point environment. ++ Copyright (C) 1997,99,2000,01 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include <fenv_libc.h> ++ ++#undef feclearexcept ++int ++__feclearexcept (int excepts) ++{ ++ fenv_union_t u; ++ ++ /* Get the current state. */ ++ u.fenv = fegetenv_register (); ++ ++ /* Clear the relevant bits. */ ++ u.l[1] = u.l[1] & ~((-(excepts >> (31 - FPSCR_VX) & 1) & FE_ALL_INVALID) ++ | (excepts & FPSCR_STICKY_BITS)); ++ ++ /* Put the new state in effect. */ ++ fesetenv_register (u.fenv); ++ ++ /* Success. */ ++ return 0; ++} ++ ++#include <shlib-compat.h> ++#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2) ++strong_alias (__feclearexcept, __old_feclearexcept) ++compat_symbol (libm, __old_feclearexcept, feclearexcept, GLIBC_2_1); ++#endif ++ ++versioned_symbol (libm, __feclearexcept, feclearexcept, GLIBC_2_2); +--- /dev/null 2004-06-02 16:28:12.000000000 -0500 ++++ glibc-2.2.5/sysdeps/powerpc/fpu/fe_nomask.c 2004-09-03 19:00:38.000000000 -0500 +@@ -0,0 +1,32 @@ ++/* Procedure definition for FE_NOMASK_ENV. ++ Copyright (C) 1997 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include <fenv.h> ++#include <errno.h> ++ ++/* This is presently a stub, until it's decided how the kernels should ++ support this. */ ++ ++const fenv_t * ++__fe_nomask_env(void) ++{ ++ __set_errno (ENOSYS); ++ return FE_ENABLED_ENV; ++} ++stub_warning (__fe_nomask_env) +--- /dev/null 2004-06-02 16:28:12.000000000 -0500 ++++ glibc-2.2.5/sysdeps/powerpc/fpu/fprrest.S 2004-09-03 19:00:38.000000000 -0500 +@@ -0,0 +1,94 @@ ++/* Copyright (C) 2000, 2001 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++/* ++ Floating Point Registers (FPRs) restore routine ++*/ ++ ++#include <sysdep.h> ++ ++ENTRY(_restfpr_all) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf14) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_14) ++C_TEXT(_restf14): ++C_TEXT(_restfpr_14): lfd fp14,-144(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf15) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_15) ++C_TEXT(_restf15): ++C_TEXT(_restfpr_15): lfd fp15,-136(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf16) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_16) ++C_TEXT(_restf16): ++C_TEXT(_restfpr_16): lfd fp16,-128(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf17) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_17) ++C_TEXT(_restf17): ++C_TEXT(_restfpr_17): lfd fp17,-120(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf18) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_18) ++C_TEXT(_restf18): ++C_TEXT(_restfpr_18): lfd fp18,-112(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf19) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_19) ++C_TEXT(_restf19): ++C_TEXT(_restfpr_19): lfd fp19,-104(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf20) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_20) ++C_TEXT(_restf20): ++C_TEXT(_restfpr_20): lfd fp20,-96(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf21) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_21) ++C_TEXT(_restf21): ++C_TEXT(_restfpr_21): lfd fp21,-88(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf22) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_22) ++C_TEXT(_restf22): ++C_TEXT(_restfpr_22): lfd fp22,-80(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf23) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_23) ++C_TEXT(_restf23): ++C_TEXT(_restfpr_23): lfd fp23,-72(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf24) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_24) ++C_TEXT(_restf24): ++C_TEXT(_restfpr_24): lfd fp24,-64(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf25) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_25) ++C_TEXT(_restf25): ++C_TEXT(_restfpr_25): lfd fp25,-56(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf26) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_26) ++C_TEXT(_restf26): ++C_TEXT(_restfpr_26): lfd fp26,-48(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf27) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_27) ++C_TEXT(_restf27): ++C_TEXT(_restfpr_27): lfd fp27,-40(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf28) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_28) ++C_TEXT(_restf28): ++C_TEXT(_restfpr_28): lfd fp28,-32(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf29) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_29) ++C_TEXT(_restf29): ++C_TEXT(_restfpr_29): lwz r0,8(r1) #get return address from frame ++ lfd fp29,-24(r1) #restore f29 ++ mtlr r0 #move return address to LR ++ lfd fp30,-16(r1) #restore f30 ++ lfd fp31,-8(r1) #restore f31 ++ blr #return +--- /dev/null 2004-06-02 16:28:12.000000000 -0500 ++++ glibc-2.2.5/sysdeps/powerpc/fpu/fprsave.S 2004-09-03 19:00:38.000000000 -0500 +@@ -0,0 +1,93 @@ ++/* Copyright (C) 2000, 2001 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++/* ++ Floating Point Registers (FPRs) save routine ++*/ ++ ++#include <sysdep.h> ++ ++ENTRY(_savefpr_all) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef14) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_14) ++C_TEXT(_savef14): ++C_TEXT(_savefpr_14): stfd fp14,-144(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef15) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_15) ++C_TEXT(_savef15): ++C_TEXT(_savefpr_15): stfd fp15,-136(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef16) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_16) ++C_TEXT(_savef16): ++C_TEXT(_savefpr_16): stfd fp16,-128(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef17) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_17) ++C_TEXT(_savef17): ++C_TEXT(_savefpr_17): stfd fp17,-120(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef18) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_18) ++C_TEXT(_savef18): ++C_TEXT(_savefpr_18): stfd fp18,-112(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef19) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_19) ++C_TEXT(_savef19): ++C_TEXT(_savefpr_19): stfd fp19,-104(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef20) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_20) ++C_TEXT(_savef20): ++C_TEXT(_savefpr_20): stfd fp20,-96(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef21) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_21) ++C_TEXT(_savef21): ++C_TEXT(_savefpr_21): stfd fp21,-88(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef22) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_22) ++C_TEXT(_savef22): ++C_TEXT(_savefpr_22): stfd fp22,-80(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef23) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_23) ++C_TEXT(_savef23): ++C_TEXT(_savefpr_23): stfd fp23,-72(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef24) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_24) ++C_TEXT(_savef24): ++C_TEXT(_savefpr_24): stfd fp24,-64(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef25) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_25) ++C_TEXT(_savef25): ++C_TEXT(_savefpr_25): stfd fp25,-56(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef26) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_26) ++C_TEXT(_savef26): ++C_TEXT(_savefpr_26): stfd fp26,-48(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef27) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_27) ++C_TEXT(_savef27): ++C_TEXT(_savefpr_27): stfd fp27,-40(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef28) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_28) ++C_TEXT(_savef28): ++C_TEXT(_savefpr_28): stfd fp28,-32(r1) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef29) ++ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_29) ++C_TEXT(_savef29): ++C_TEXT(_savefpr_29): stfd fp29,-24(r1) #save f29 ++ stfd fp30,-16(r1) #save f30 ++ stfd fp31,-8(r1) #save f31 ++ stw r0,8(r1) #save LR in callers frame ++ blr #return +--- /dev/null 2004-06-02 16:28:12.000000000 -0500 ++++ glibc-2.2.5/sysdeps/powerpc/fpu/fpu_control.h 2004-09-03 19:00:38.000000000 -0500 +@@ -0,0 +1,67 @@ ++/* FPU control word definitions. PowerPC version. ++ Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#ifndef _FPU_CONTROL_H ++#define _FPU_CONTROL_H ++ ++/* rounding control */ ++#define _FPU_RC_NEAREST 0x00 /* RECOMMENDED */ ++#define _FPU_RC_DOWN 0x03 ++#define _FPU_RC_UP 0x02 ++#define _FPU_RC_ZERO 0x01 ++ ++#define _FPU_MASK_NI 0x04 /* non-ieee mode */ ++ ++/* masking of interrupts */ ++#define _FPU_MASK_ZM 0x10 /* zero divide */ ++#define _FPU_MASK_OM 0x40 /* overflow */ ++#define _FPU_MASK_UM 0x20 /* underflow */ ++#define _FPU_MASK_XM 0x08 /* inexact */ ++#define _FPU_MASK_IM 0x80 /* invalid operation */ ++ ++#define _FPU_RESERVED 0xffffff00 /* These bits are reserved are not changed. */ ++ ++/* The fdlibm code requires no interrupts for exceptions. */ ++#define _FPU_DEFAULT 0x00000000 /* Default value. */ ++ ++/* IEEE: same as above, but (some) exceptions; ++ we leave the 'inexact' exception off. ++ */ ++#define _FPU_IEEE 0x000000f0 ++ ++/* Type of the control word. */ ++typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__))); ++ ++/* Macros for accessing the hardware control word. */ ++#define _FPU_GETCW(cw) ( { \ ++ union { double d; fpu_control_t cw[2]; } tmp __attribute__ ((__aligned__(8))); \ ++ __asm__ ("mffs 0; stfd%U0 0,%0" : "=m" (tmp.d) : : "fr0"); \ ++ (cw)=tmp.cw[1]; \ ++ tmp.cw[1]; } ) ++#define _FPU_SETCW(cw) { \ ++ union { double d; fpu_control_t cw[2]; } tmp __attribute__ ((__aligned__(8))); \ ++ tmp.cw[0] = 0xFFF80000; /* More-or-less arbitrary; this is a QNaN. */ \ ++ tmp.cw[1] = cw; \ ++ __asm__ ("lfd%U0 0,%0; mtfsf 255,0" : : "m" (tmp.d) : "fr0"); \ ++} ++ ++/* Default control word set at startup. */ ++extern fpu_control_t __fpu_control; ++ ++#endif /* _FPU_CONTROL_H */ +--- /dev/null 2004-06-02 16:28:12.000000000 -0500 ++++ glibc-2.2.5/sysdeps/powerpc/fpu/setjmp.S 2004-09-03 19:00:38.000000000 -0500 +@@ -0,0 +1,73 @@ ++/* setjmp for PowerPC. ++ Copyright (C) 1995, 1996, 1997, 1999, 2000 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Library General Public License as ++ published by the Free Software Foundation; either version 2 of the ++ License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with the GNU C Library; see the file COPYING.LIB. If not, ++ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++ Boston, MA 02111-1307, USA. */ ++ ++#include <sysdep.h> ++#define _ASM ++#define _SETJMP_H ++#include <bits/setjmp.h> ++#include <bp-sym.h> ++#include <bp-asm.h> ++ ++ENTRY (BP_SYM (__sigsetjmp)) ++ CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE) ++ ++ stw r1,(JB_GPR1*4)(3) ++ mflr r0 ++ stw r2,(JB_GPR2*4)(3) ++ stw r14,((JB_GPRS+0)*4)(3) ++ stfd fp14,((JB_FPRS+0*2)*4)(3) ++ stw r0,(JB_LR*4)(3) ++ stw r15,((JB_GPRS+1)*4)(3) ++ stfd fp15,((JB_FPRS+1*2)*4)(3) ++ mfcr r0 ++ stw r16,((JB_GPRS+2)*4)(3) ++ stfd fp16,((JB_FPRS+2*2)*4)(3) ++ stw r0,(JB_CR*4)(3) ++ stw r17,((JB_GPRS+3)*4)(3) ++ stfd fp17,((JB_FPRS+3*2)*4)(3) ++ stw r18,((JB_GPRS+4)*4)(3) ++ stfd fp18,((JB_FPRS+4*2)*4)(3) ++ stw r19,((JB_GPRS+5)*4)(3) ++ stfd fp19,((JB_FPRS+5*2)*4)(3) ++ stw r20,((JB_GPRS+6)*4)(3) ++ stfd fp20,((JB_FPRS+6*2)*4)(3) ++ stw r21,((JB_GPRS+7)*4)(3) ++ stfd fp21,((JB_FPRS+7*2)*4)(3) ++ stw r22,((JB_GPRS+8)*4)(3) ++ stfd fp22,((JB_FPRS+8*2)*4)(3) ++ stw r23,((JB_GPRS+9)*4)(3) ++ stfd fp23,((JB_FPRS+9*2)*4)(3) ++ stw r24,((JB_GPRS+10)*4)(3) ++ stfd fp24,((JB_FPRS+10*2)*4)(3) ++ stw r25,((JB_GPRS+11)*4)(3) ++ stfd fp25,((JB_FPRS+11*2)*4)(3) ++ stw r26,((JB_GPRS+12)*4)(3) ++ stfd fp26,((JB_FPRS+12*2)*4)(3) ++ stw r27,((JB_GPRS+13)*4)(3) ++ stfd fp27,((JB_FPRS+13*2)*4)(3) ++ stw r28,((JB_GPRS+14)*4)(3) ++ stfd fp28,((JB_FPRS+14*2)*4)(3) ++ stw r29,((JB_GPRS+15)*4)(3) ++ stfd fp29,((JB_FPRS+15*2)*4)(3) ++ stw r30,((JB_GPRS+16)*4)(3) ++ stfd fp30,((JB_FPRS+16*2)*4)(3) ++ stw r31,((JB_GPRS+17)*4)(3) ++ stfd fp31,((JB_FPRS+17*2)*4)(3) ++ b JUMPTARGET (BP_SYM (__sigjmp_save)) ++END (BP_SYM (__sigsetjmp)) +--- glibc-2.2.5/sysdeps/powerpc/fpu_control.h~glibc-2.2.5-hhl-powerpc-fpu.patch ++++ glibc-2.2.5/sysdeps/powerpc/fpu_control.h +-/* FPU control word definitions. PowerPC version. +- Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. +- This file is part of the GNU C Library. +- +- The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU Lesser General Public +- License as published by the Free Software Foundation; either +- version 2.1 of the License, or (at your option) any later version. +- +- The GNU C Library is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public +- License along with the GNU C Library; if not, write to the Free +- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +- 02111-1307 USA. */ +- +-#ifndef _FPU_CONTROL_H +-#define _FPU_CONTROL_H +- +-/* rounding control */ +-#define _FPU_RC_NEAREST 0x00 /* RECOMMENDED */ +-#define _FPU_RC_DOWN 0x03 +-#define _FPU_RC_UP 0x02 +-#define _FPU_RC_ZERO 0x01 +- +-#define _FPU_MASK_NI 0x04 /* non-ieee mode */ +- +-/* masking of interrupts */ +-#define _FPU_MASK_ZM 0x10 /* zero divide */ +-#define _FPU_MASK_OM 0x40 /* overflow */ +-#define _FPU_MASK_UM 0x20 /* underflow */ +-#define _FPU_MASK_XM 0x08 /* inexact */ +-#define _FPU_MASK_IM 0x80 /* invalid operation */ +- +-#define _FPU_RESERVED 0xffffff00 /* These bits are reserved are not changed. */ +- +-/* The fdlibm code requires no interrupts for exceptions. */ +-#define _FPU_DEFAULT 0x00000000 /* Default value. */ +- +-/* IEEE: same as above, but (some) exceptions; +- we leave the 'inexact' exception off. +- */ +-#define _FPU_IEEE 0x000000f0 +- +-/* Type of the control word. */ +-typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__))); +- +-/* Macros for accessing the hardware control word. */ +-#define _FPU_GETCW(cw) ( { \ +- union { double d; fpu_control_t cw[2]; } tmp __attribute__ ((__aligned__(8))); \ +- __asm__ ("mffs 0; stfd%U0 0,%0" : "=m" (tmp.d) : : "fr0"); \ +- (cw)=tmp.cw[1]; \ +- tmp.cw[1]; } ) +-#define _FPU_SETCW(cw) { \ +- union { double d; fpu_control_t cw[2]; } tmp __attribute__ ((__aligned__(8))); \ +- tmp.cw[0] = 0xFFF80000; /* More-or-less arbitrary; this is a QNaN. */ \ +- tmp.cw[1] = cw; \ +- __asm__ ("lfd%U0 0,%0; mtfsf 255,0" : : "m" (tmp.d) : "fr0"); \ +-} +- +-/* Default control word set at startup. */ +-extern fpu_control_t __fpu_control; +- +-#endif /* _FPU_CONTROL_H */ +--- glibc-2.2.5/sysdeps/powerpc/setjmp.S~glibc-2.2.5-hhl-powerpc-fpu.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/powerpc/setjmp.S 2004-09-03 19:00:38.000000000 -0500 +@@ -24,6 +24,8 @@ + #include <bp-sym.h> + #include <bp-asm.h> + ++/* The FPU stores have been removed from this file - see fpu/setjmp.S */ ++ + ENTRY (BP_SYM (__sigsetjmp)) + CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE) + +@@ -31,43 +33,25 @@ + mflr r0 + stw r2,(JB_GPR2*4)(3) + stw r14,((JB_GPRS+0)*4)(3) +- stfd fp14,((JB_FPRS+0*2)*4)(3) + stw r0,(JB_LR*4)(3) + stw r15,((JB_GPRS+1)*4)(3) +- stfd fp15,((JB_FPRS+1*2)*4)(3) + mfcr r0 + stw r16,((JB_GPRS+2)*4)(3) +- stfd fp16,((JB_FPRS+2*2)*4)(3) + stw r0,(JB_CR*4)(3) + stw r17,((JB_GPRS+3)*4)(3) +- stfd fp17,((JB_FPRS+3*2)*4)(3) + stw r18,((JB_GPRS+4)*4)(3) +- stfd fp18,((JB_FPRS+4*2)*4)(3) + stw r19,((JB_GPRS+5)*4)(3) +- stfd fp19,((JB_FPRS+5*2)*4)(3) + stw r20,((JB_GPRS+6)*4)(3) +- stfd fp20,((JB_FPRS+6*2)*4)(3) + stw r21,((JB_GPRS+7)*4)(3) +- stfd fp21,((JB_FPRS+7*2)*4)(3) + stw r22,((JB_GPRS+8)*4)(3) +- stfd fp22,((JB_FPRS+8*2)*4)(3) + stw r23,((JB_GPRS+9)*4)(3) +- stfd fp23,((JB_FPRS+9*2)*4)(3) + stw r24,((JB_GPRS+10)*4)(3) +- stfd fp24,((JB_FPRS+10*2)*4)(3) + stw r25,((JB_GPRS+11)*4)(3) +- stfd fp25,((JB_FPRS+11*2)*4)(3) + stw r26,((JB_GPRS+12)*4)(3) +- stfd fp26,((JB_FPRS+12*2)*4)(3) + stw r27,((JB_GPRS+13)*4)(3) +- stfd fp27,((JB_FPRS+13*2)*4)(3) + stw r28,((JB_GPRS+14)*4)(3) +- stfd fp28,((JB_FPRS+14*2)*4)(3) + stw r29,((JB_GPRS+15)*4)(3) +- stfd fp29,((JB_FPRS+15*2)*4)(3) + stw r30,((JB_GPRS+16)*4)(3) +- stfd fp30,((JB_FPRS+16*2)*4)(3) + stw r31,((JB_GPRS+17)*4)(3) +- stfd fp31,((JB_FPRS+17*2)*4)(3) + b JUMPTARGET (BP_SYM (__sigjmp_save)) + END (BP_SYM (__sigsetjmp)) diff --git a/packages/glibc/glibc-2.2.5/glibc-2.2.5-mips-build-gmon.patch b/packages/glibc/glibc-2.2.5/glibc-2.2.5-mips-build-gmon.patch index e69de29bb2..9a9eb37c7d 100644 --- a/packages/glibc/glibc-2.2.5/glibc-2.2.5-mips-build-gmon.patch +++ b/packages/glibc/glibc-2.2.5/glibc-2.2.5-mips-build-gmon.patch @@ -0,0 +1,88 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/mips/machine-gmon.h~glibc-2.2.5-mips-build-gmon.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/mips/machine-gmon.h 2004-09-03 19:00:38.000000000 -0500 +@@ -17,42 +17,52 @@ + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +-#define _MCOUNT_DECL static void __mcount ++#define _MCOUNT_DECL(frompc,selfpc) \ ++static void __attribute_used__ __mcount (u_long frompc, u_long selfpc) + + /* Call __mcount with our the return PC for our caller, + and the return PC our caller will return to. */ + #ifdef __PIC__ + #define CPLOAD ".cpload $25;" ++#define CPRESTORE ".cprestore 44\n\t" + #else + #define CPLOAD ++#define CPRESTORE + #endif + + #define MCOUNT asm(\ +- ".globl _mcount;" \ +- ".align 2;" \ +- ".type _mcount,@function;" \ +- "_mcount:;" \ +- ".set noreorder;" \ +- ".set noat;" \ ++ ".globl _mcount;\n\t" \ ++ ".align 2;\n\t" \ ++ ".type _mcount,@function;\n\t" \ ++ ".ent _mcount\n\t" \ ++ "_mcount:\n\t" \ ++ ".frame $sp,44,$31\n\t" \ ++ ".set noreorder;\n\t" \ ++ ".set noat;\n\t" \ + CPLOAD \ +- "sw $4,8($29);" \ +- "sw $5,12($29);" \ +- "sw $6,16($29);" \ +- "sw $7,20($29);" \ +- "sw $1,0($29);" \ +- "sw $31,4($29);" \ +- "move $5,$31;" \ +- "move $4,$1;" \ +- "jal __mcount;" \ +- "nop;" \ +- "lw $4,8($29);" \ +- "lw $5,12($29);" \ +- "lw $6,16($29);" \ +- "lw $7,20($29);" \ +- "lw $31,4($29);" \ +- "lw $1,0($29);" \ +- "addu $29,$29,8;" \ +- "j $31;" \ +- "move $31,$1;" \ +- ".set reorder;" \ +- ".set at"); ++ "subu $29,$29,48;\n\t" \ ++ CPRESTORE \ ++ "sw $4,24($29);\n\t" \ ++ "sw $5,28($29);\n\t" \ ++ "sw $6,32($29);\n\t" \ ++ "sw $7,36($29);\n\t" \ ++ "sw $2,40($29);\n\t" \ ++ "sw $1,16($29);\n\t" \ ++ "sw $31,20($29);\n\t" \ ++ "move $5,$31;\n\t" \ ++ "move $4,$1;\n\t" \ ++ "jal __mcount;\n\t" \ ++ "nop;\n\t" \ ++ "lw $4,24($29);\n\t" \ ++ "lw $5,28($29);\n\t" \ ++ "lw $6,32($29);\n\t" \ ++ "lw $7,36($29);\n\t" \ ++ "lw $2,40($29);\n\t" \ ++ "lw $31,20($29);\n\t" \ ++ "lw $1,16($29);\n\t" \ ++ "addu $29,$29,56;\n\t" \ ++ "j $31;\n\t" \ ++ "move $31,$1;\n\t" \ ++ ".set reorder;\n\t" \ ++ ".set at\n\t" \ ++ ".end _mcount"); diff --git a/packages/glibc/glibc-2.2.5/glibc-2.2.5-mips-clone-local-label.patch b/packages/glibc/glibc-2.2.5/glibc-2.2.5-mips-clone-local-label.patch index e69de29bb2..18d64201fa 100644 --- a/packages/glibc/glibc-2.2.5/glibc-2.2.5-mips-clone-local-label.patch +++ b/packages/glibc/glibc-2.2.5/glibc-2.2.5-mips-clone-local-label.patch @@ -0,0 +1,24 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/unix/sysv/linux/mips/clone.S~glibc-2.2.5-mips-clone-local-label.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/unix/sysv/linux/mips/clone.S 2004-09-03 19:00:38.000000000 -0500 +@@ -63,7 +63,7 @@ + syscall + + bnez a3,error +- beqz v0,__thread_start ++ beqz v0,.Lthread_start + + /* Successful return from the parent */ + addiu sp,32 +@@ -85,6 +85,7 @@ + debug info. */ + + ENTRY(__thread_start) ++.Lthread_start: + /* cp is already loaded. */ + .cprestore 16 + /* The stackframe has been created on entry of clone(). */ diff --git a/packages/glibc/glibc-2.2.5/glibc-2.2.5-ppc405erratum77.patch b/packages/glibc/glibc-2.2.5/glibc-2.2.5-ppc405erratum77.patch index e69de29bb2..7a27bacea1 100644 --- a/packages/glibc/glibc-2.2.5/glibc-2.2.5-ppc405erratum77.patch +++ b/packages/glibc/glibc-2.2.5/glibc-2.2.5-ppc405erratum77.patch @@ -0,0 +1,65 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/powerpc/atomicity.h~glibc-2.2.5-ppc405erratum77.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/powerpc/atomicity.h 2004-09-03 19:00:38.000000000 -0500 +@@ -28,6 +28,17 @@ + # define __ATOMICITY_INLINE inline + #endif + ++#ifdef __PPC405__ ++/* workaround for PPC405 erratum #77 - Mark Hatle, dank. References: ++ http://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/89DED00DEBFF54BF87256A8000491BA2/$file/405CR_C_errata_1_2.pdf ++ http://ppc.bkbits.net:8080/linuxppc_2_4_devel/cset@1.489 ++ http://www.kegel.com/xgcc3/ppc405erratum77.html ++ FIXME: using dbct instead of sync would be faster */ ++#define __LIBC_PPC405_ERR77_SYNC "sync \n\t" ++#else ++#define __LIBC_PPC405_ERR77_SYNC ++#endif ++ + static __ATOMICITY_INLINE int + __attribute__ ((unused)) + exchange_and_add (volatile uint32_t *mem, int val) +@@ -36,6 +47,7 @@ + __asm__ ("\n\ + 0: lwarx %0,0,%2 \n\ + add%I3 %1,%0,%3 \n\ ++ " __LIBC_PPC405_ERR77_SYNC "\n\ + stwcx. %1,0,%2 \n\ + bne- 0b \n\ + " : "=&b"(result), "=&r"(tmp) : "r" (mem), "Ir"(val) : "cr0", "memory"); +@@ -50,6 +62,7 @@ + __asm__ ("\n\ + 0: lwarx %0,0,%1 \n\ + add%I2 %0,%0,%2 \n\ ++ " __LIBC_PPC405_ERR77_SYNC "\n\ + stwcx. %0,0,%1 \n\ + bne- 0b \n\ + " : "=&b"(tmp) : "r" (mem), "Ir"(val) : "cr0", "memory"); +@@ -65,6 +78,7 @@ + sub%I2c. %0,%0,%2 \n\ + cntlzw %0,%0 \n\ + bne- 1f \n\ ++ " __LIBC_PPC405_ERR77_SYNC "\n\ + stwcx. %3,0,%1 \n\ + bne- 0b \n\ + 1: \n\ +@@ -79,6 +93,7 @@ + long int result; + __asm__ ("\n\ + 0: lwarx %0,0,%1 \n\ ++ " __LIBC_PPC405_ERR77_SYNC "\n\ + stwcx. %2,0,%1 \n\ + bne- 0b \n\ + " : "=&r"(result) : "r"(p), "r"(newval) : "cr0", "memory"); +@@ -94,6 +109,7 @@ + 0: lwarx %0,0,%1 \n\ + cmpwi %0,0 \n\ + bne- 1f \n\ ++ " __LIBC_PPC405_ERR77_SYNC "\n\ + stwcx. %2,0,%1 \n\ + bne- 0b \n\ + 1: \n\ diff --git a/packages/glibc/glibc-2.2.5/glibc-2.3.2-initfini.patch b/packages/glibc/glibc-2.2.5/glibc-2.3.2-initfini.patch index e69de29bb2..8bfbcb173a 100644 --- a/packages/glibc/glibc-2.2.5/glibc-2.3.2-initfini.patch +++ b/packages/glibc/glibc-2.2.5/glibc-2.3.2-initfini.patch @@ -0,0 +1,12 @@ +diff -urNd glibc-2.3.2-ct25/csu/Makefile glibc-2.3.2/csu/Makefile +--- glibc-2.3.2-ct25/csu/Makefile 2004-06-25 13:47:54.000000000 +0200 ++++ glibc-2.3.2/csu/Makefile 2004-06-25 13:54:33.000000000 +0200 +@@ -99,7 +99,7 @@ + $(objpfx)crt%.o: $(objpfx)crt%.S $(objpfx)defs.h + $(compile.S) -g0 $(ASFLAGS-.os) -o $@ + +-CFLAGS-initfini.s = -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time) ++CFLAGS-initfini.s = -O1 -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time) + + vpath initfini.c $(full_config_sysdirs) + diff --git a/packages/glibc/glibc-2.2.5/glibc-drow-sh.patch b/packages/glibc/glibc-2.2.5/glibc-drow-sh.patch index e69de29bb2..c0e4bbd58c 100644 --- a/packages/glibc/glibc-2.2.5/glibc-drow-sh.patch +++ b/packages/glibc/glibc-2.2.5/glibc-drow-sh.patch @@ -0,0 +1,30 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/unix/sysv/linux/kernel-features.h~glibc-drow-sh.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/unix/sysv/linux/kernel-features.h 2004-09-03 19:00:38.000000000 -0500 +@@ -134,11 +134,20 @@ + + /* The changed st_ino field appeared in 2.4.0-test6. But we cannot + distinguish this version from other 2.4.0 releases. Therefore play +- save and assume it available is for 2.4.1 and up. */ +-#if __LINUX_KERNEL_VERSION >= 132097 ++ save and assume it available is for 2.4.1 and up. However, SH is lame, ++ and still does not have a 64-bit inode field. */ ++#if __LINUX_KERNEL_VERSION >= 132097 \ ++ && !defined __sh__ + # define __ASSUME_ST_INO_64_BIT 1 + #endif + ++/* SH kernels got stat64, mmap2, and truncate64 during 2.4.0-test. */ ++#if __LINUX_KERNEL_VERSION >= 132096 && defined __sh__ ++# define __ASSUME_TRUNCATE64_SYSCALL 1 ++# define __ASSUME_MMAP2_SYSCALL 1 ++# define __ASSUME_STAT64_SYSCALL 1 ++#endif ++ + /* To support locking of large files a new fcntl() syscall was introduced + in 2.4.0-test7. We test for 2.4.1 for the earliest version we know + the syscall is available. */ diff --git a/packages/glibc/glibc-2.2.5/glibc-linuxthreads-2.3.2-initfini.patch b/packages/glibc/glibc-2.2.5/glibc-linuxthreads-2.3.2-initfini.patch index e69de29bb2..4556e858d2 100644 --- a/packages/glibc/glibc-2.2.5/glibc-linuxthreads-2.3.2-initfini.patch +++ b/packages/glibc/glibc-2.2.5/glibc-linuxthreads-2.3.2-initfini.patch @@ -0,0 +1,12 @@ +diff -urNd glibc-2.3.2-ct25/linuxthreads/Makefile glibc-2.3.2/linuxthreads/Makefile +--- glibc-2.3.2-ct25/linuxthreads/Makefile 2004-06-25 13:48:03.000000000 +0200 ++++ glibc-2.3.2/linuxthreads/Makefile 2004-06-25 13:53:02.000000000 +0200 +@@ -81,7 +81,7 @@ + extra-objs += crti.o crtn.o + omit-deps += crti crtn + +-CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time) ++CFLAGS-pt-initfini.s = -O1 -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time) + endif + + librt-tests = ex10 ex11 diff --git a/packages/glibc/glibc-2.2.5/glibc-test-lowram.patch b/packages/glibc/glibc-2.2.5/glibc-test-lowram.patch index e69de29bb2..658d14bac6 100644 --- a/packages/glibc/glibc-2.2.5/glibc-test-lowram.patch +++ b/packages/glibc/glibc-2.2.5/glibc-test-lowram.patch @@ -0,0 +1,19 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/malloc/tst-calloc.c~glibc-test-lowram.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/malloc/tst-calloc.c 2004-09-03 19:00:38.000000000 -0500 +@@ -24,9 +24,8 @@ + #include <stdio.h> + + +-/* Number of samples per size. */ +-#define N 50000 +- ++/* Number of samples per size. This is also the maximum memory consumption in kilobytes. */ ++#define N 8000 + + static void + fixed_test (int size) diff --git a/packages/glibc/glibc-2.2.5/initfini-alpha.patch b/packages/glibc/glibc-2.2.5/initfini-alpha.patch index e69de29bb2..94dc2aba25 100644 --- a/packages/glibc/glibc-2.2.5/initfini-alpha.patch +++ b/packages/glibc/glibc-2.2.5/initfini-alpha.patch @@ -0,0 +1,128 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/alpha/elf/initfini.c~initfini-alpha.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/alpha/elf/initfini.c 2004-09-03 19:00:38.000000000 -0500 +@@ -37,62 +37,62 @@ + files, all of which may have different GP values. So we must reload + the GP value from crti.o in crtn.o. */ + +-__asm__ (" +- +-#include \"defs.h\" +- +-/*@HEADER_ENDS*/ +- +-/*@_init_PROLOG_BEGINS*/ +- .section .init, \"ax\", @progbits +- .globl _init +- .ent _init +-_init: +- ldgp $29, 0($27) +- subq $30, 16, $30 +- lda $27, __gmon_start__ +- stq $26, 0($30) +- stq $29, 8($30) +- .prologue 1 +- beq $27, 1f +- jsr $26, ($27), __gmon_start__ +- ldq $29, 8($30) +-1: +- .align 3 +- .end _init +- .size _init, 0 +-/*@_init_PROLOG_ENDS*/ +- +-/*@_init_EPILOG_BEGINS*/ +- .section .init, \"ax\", @progbits +- ldq $26, 0($30) +- ldq $29, 8($30) +- addq $30, 16, $30 +- ret +-/*@_init_EPILOG_ENDS*/ +- +-/*@_fini_PROLOG_BEGINS*/ +- .section .fini, \"ax\", @progbits +- .globl _fini +- .ent _fini +-_fini: +- ldgp $29, 0($27) +- subq $30, 16, $30 +- stq $26, 0($30) +- stq $29, 8($30) +- .prologue 1 +- .align 3 +- .end _fini +- .size _fini, 0 +-/*@_fini_PROLOG_ENDS*/ +- +-/*@_fini_EPILOG_BEGINS*/ +- .section .fini, \"ax\", @progbits +- ldq $26, 0($30) +- ldq $29, 8($30) +- addq $30, 16, $30 +- ret +-/*@_fini_EPILOG_ENDS*/ +- +-/*@TRAILER_BEGINS*/ ++__asm__ ("\n\ ++\n\ ++#include \"defs.h\"\n\ ++\n\ ++/*@HEADER_ENDS*/\n\ ++\n\ ++/*@_init_PROLOG_BEGINS*/\n\ ++ .section .init, \"ax\", @progbits\n\ ++ .globl _init\n\ ++ .ent _init\n\ ++_init:\n\ ++ ldgp $29, 0($27)\n\ ++ subq $30, 16, $30\n\ ++ lda $27, __gmon_start__\n\ ++ stq $26, 0($30)\n\ ++ stq $29, 8($30)\n\ ++ .prologue 1\n\ ++ beq $27, 1f\n\ ++ jsr $26, ($27), __gmon_start__\n\ ++ ldq $29, 8($30)\n\ ++1:\n\ ++ .align 3\n\ ++ .end _init\n\ ++ .size _init, 0\n\ ++/*@_init_PROLOG_ENDS*/\n\ ++\n\ ++/*@_init_EPILOG_BEGINS*/\n\ ++ .section .init, \"ax\", @progbits\n\ ++ ldq $26, 0($30)\n\ ++ ldq $29, 8($30)\n\ ++ addq $30, 16, $30\n\ ++ ret\n\ ++/*@_init_EPILOG_ENDS*/\n\ ++\n\ ++/*@_fini_PROLOG_BEGINS*/\n\ ++ .section .fini, \"ax\", @progbits\n\ ++ .globl _fini\n\ ++ .ent _fini\n\ ++_fini:\n\ ++ ldgp $29, 0($27)\n\ ++ subq $30, 16, $30\n\ ++ stq $26, 0($30)\n\ ++ stq $29, 8($30)\n\ ++ .prologue 1\n\ ++ .align 3\n\ ++ .end _fini\n\ ++ .size _fini, 0\n\ ++/*@_fini_PROLOG_ENDS*/\n\ ++\n\ ++/*@_fini_EPILOG_BEGINS*/\n\ ++ .section .fini, \"ax\", @progbits\n\ ++ ldq $26, 0($30)\n\ ++ ldq $29, 8($30)\n\ ++ addq $30, 16, $30\n\ ++ ret\n\ ++/*@_fini_EPILOG_ENDS*/\n\ ++\n\ ++/*@TRAILER_BEGINS*/\n\ + "); diff --git a/packages/glibc/glibc-2.2.5/initfini-flags.patch b/packages/glibc/glibc-2.2.5/initfini-flags.patch index e69de29bb2..1c9bd2bcf2 100644 --- a/packages/glibc/glibc-2.2.5/initfini-flags.patch +++ b/packages/glibc/glibc-2.2.5/initfini-flags.patch @@ -0,0 +1,16 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- glibc-2.2.5/csu/Makefile~glibc-2.3.2-initfini ++++ glibc-2.2.5/csu/Makefile +@@ -92,7 +92,7 @@ + $(objpfx)crt%.o: $(objpfx)crt%.S $(objpfx)defs.h + $(compile.S) -g0 $(ASFLAGS-.os) -o $@ + +-CFLAGS-initfini.s = -g0 -fPIC -fno-inline-functions ++CFLAGS-initfini.s = -O1 -g0 -fPIC -fno-inline-functions + + vpath initfini.c $(full_config_sysdirs) + diff --git a/packages/glibc/glibc-2.2.5/initfini-sh.patch b/packages/glibc/glibc-2.2.5/initfini-sh.patch index e69de29bb2..2566cd933a 100644 --- a/packages/glibc/glibc-2.2.5/initfini-sh.patch +++ b/packages/glibc/glibc-2.2.5/initfini-sh.patch @@ -0,0 +1,248 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/sh/elf/initfini.c~initfini-sh.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/sh/elf/initfini.c 2004-09-03 19:00:39.000000000 -0500 +@@ -27,122 +27,122 @@ + * crtn.s puts the corresponding function epilogues + in the .init and .fini sections. */ + +-__asm__ (" +- +-#include \"defs.h\" +-#define SHARED +- +-/*@HEADER_ENDS*/ +- +-/*@TESTS_BEGIN*/ +- +-/*@TESTS_END*/ +- +-/*@_init_PROLOG_BEGINS*/ +- .section .init +- .align 5 +- .global _init +- .type _init,@function +-_init: +- mov.l r12,@-r15 +- mov.l r14,@-r15 +- sts.l pr,@-r15 +-#ifdef SHARED +- mova .L22,r0 +- mov.l .L22,r12 +- add r0,r12 +- mova .L23,r0 +- mov.l .L23,r1 +- add r0,r1 +-#else +- mov.l .L23,r1 +-#endif +- jsr @r1 +- mov r15,r14 +- bra 1f +- nop +- .align 2 +-#ifdef SHARED +-.L22: +- .long _GLOBAL_OFFSET_TABLE_ +-.L23: +- .long __gmon_start__@PLT +-#else +-.L23: +- .long __gmon_start__ +-#endif +- .data +- .global __fpscr_values +-__fpscr_values: +- .long 0 +- .long 0x80000 +- .previous +-1: +- ALIGN +- END_INIT +- +- +-/*@_init_PROLOG_ENDS*/ +- +-/*@_init_EPILOG_BEGINS*/ +- .section .init +- mov r14,r15 +- lds.l @r15+,pr +- mov.l @r15+,r14 +- rts +- mov.l @r15+,r12 +- END_INIT +- .section .text +- .align 5 +- .weak __gmon_start__ +- .type __gmon_start__,@function +-__gmon_start__: +- mov.l r14,@-r15 +- mov r15,r14 +- mov r14,r15 +- rts +- mov.l @r15+,r14 +- +-/*@_init_EPILOG_ENDS*/ +- +-/*@_fini_PROLOG_BEGINS*/ +- .section .fini +- .align 5 +- .global _fini +- .type _fini,@function +-_fini: +- mov.l r12,@-r15 +- mov.l r14,@-r15 +- sts.l pr,@-r15 +-#ifdef SHARED +- mova .L27,r0 +- mov.l .L27,r12 +- add r0,r12 +-#endif +- mov r15,r14 +- ALIGN +- END_FINI +-#ifdef SHARED +- bra 1f +- nop +- .align 2 +-.L27: +- .long _GLOBAL_OFFSET_TABLE_ +-#endif +-1: +-/*@_fini_PROLOG_ENDS*/ +- +-/*@_fini_EPILOG_BEGINS*/ +- .section .fini +- mov r14,r15 +- lds.l @r15+,pr +- mov.l @r15+,r14 +- rts +- mov.l @r15+,r12 +- +- END_FINI +- +-/*@_fini_EPILOG_ENDS*/ +- +-/*@TRAILER_BEGINS*/ ++__asm__ ("\n\ ++\n\ ++#include \"defs.h\"\n\ ++#define SHARED\n\ ++\n\ ++/*@HEADER_ENDS*/\n\ ++\n\ ++/*@TESTS_BEGIN*/\n\ ++\n\ ++/*@TESTS_END*/\n\ ++\n\ ++/*@_init_PROLOG_BEGINS*/\n\ ++ .section .init\n\ ++ .align 5\n\ ++ .global _init\n\ ++ .type _init,@function\n\ ++_init:\n\ ++ mov.l r12,@-r15\n\ ++ mov.l r14,@-r15\n\ ++ sts.l pr,@-r15\n\ ++#ifdef SHARED\n\ ++ mova .L22,r0\n\ ++ mov.l .L22,r12\n\ ++ add r0,r12\n\ ++ mova .L23,r0\n\ ++ mov.l .L23,r1\n\ ++ add r0,r1\n\ ++#else\n\ ++ mov.l .L23,r1\n\ ++#endif\n\ ++ jsr @r1\n\ ++ mov r15,r14\n\ ++ bra 1f\n\ ++ nop\n\ ++ .align 2\n\ ++#ifdef SHARED\n\ ++.L22:\n\ ++ .long _GLOBAL_OFFSET_TABLE_\n\ ++.L23:\n\ ++ .long __gmon_start__@PLT\n\ ++#else\n\ ++.L23:\n\ ++ .long __gmon_start__\n\ ++#endif\n\ ++ .data\n\ ++ .global __fpscr_values\n\ ++__fpscr_values:\n\ ++ .long 0\n\ ++ .long 0x80000\n\ ++ .previous\n\ ++1:\n\ ++ ALIGN\n\ ++ END_INIT\n\ ++\n\ ++ \n\ ++/*@_init_PROLOG_ENDS*/\n\ ++\n\ ++/*@_init_EPILOG_BEGINS*/\n\ ++ .section .init\n\ ++ mov r14,r15\n\ ++ lds.l @r15+,pr\n\ ++ mov.l @r15+,r14\n\ ++ rts \n\ ++ mov.l @r15+,r12\n\ ++ END_INIT\n\ ++ .section .text\n\ ++ .align 5\n\ ++ .weak __gmon_start__\n\ ++ .type __gmon_start__,@function\n\ ++__gmon_start__:\n\ ++ mov.l r14,@-r15\n\ ++ mov r15,r14\n\ ++ mov r14,r15\n\ ++ rts \n\ ++ mov.l @r15+,r14\n\ ++ \n\ ++/*@_init_EPILOG_ENDS*/\n\ ++\n\ ++/*@_fini_PROLOG_BEGINS*/\n\ ++ .section .fini\n\ ++ .align 5\n\ ++ .global _fini\n\ ++ .type _fini,@function\n\ ++_fini:\n\ ++ mov.l r12,@-r15\n\ ++ mov.l r14,@-r15\n\ ++ sts.l pr,@-r15\n\ ++#ifdef SHARED\n\ ++ mova .L27,r0\n\ ++ mov.l .L27,r12\n\ ++ add r0,r12\n\ ++#endif\n\ ++ mov r15,r14\n\ ++ ALIGN\n\ ++ END_FINI\n\ ++#ifdef SHARED\n\ ++ bra 1f\n\ ++ nop\n\ ++ .align 2\n\ ++.L27:\n\ ++ .long _GLOBAL_OFFSET_TABLE_\n\ ++#endif\n\ ++1:\n\ ++/*@_fini_PROLOG_ENDS*/\n\ ++\n\ ++/*@_fini_EPILOG_BEGINS*/\n\ ++ .section .fini\n\ ++ mov r14,r15\n\ ++ lds.l @r15+,pr\n\ ++ mov.l @r15+,r14\n\ ++ rts \n\ ++ mov.l @r15+,r12\n\ ++\n\ ++ END_FINI\n\ ++ \n\ ++/*@_fini_EPILOG_ENDS*/\n\ ++\n\ ++/*@TRAILER_BEGINS*/\n\ + "); diff --git a/packages/glibc/glibc-2.2.5/ldd.patch b/packages/glibc/glibc-2.2.5/ldd.patch index e69de29bb2..01719dbe08 100644 --- a/packages/glibc/glibc-2.2.5/ldd.patch +++ b/packages/glibc/glibc-2.2.5/ldd.patch @@ -0,0 +1,38 @@ +--- elf/ldd.bash.in~ Tue Apr 3 21:43:31 2001 ++++ elf/ldd.bash.in Tue Apr 3 21:54:15 2001 +@@ -32,6 +32,7 @@ + warn= + bind_now= + verbose= ++filename_magic_regex="((^|/)lib|.so$)" + + while test $# -gt 0; do + case "$1" in +@@ -123,8 +124,11 @@ + echo "ldd: ${file}:" $"No such file or directory" >&2 + result=1 + elif test -r "$file"; then +- test -x "$file" || echo 'ldd:' $"\ +-warning: you do not have execution permission for" "\`$file'" >&2 ++ if test ! -x "$file" && eval echo "$file" \ ++ | egrep -v "$filename_magic_regex" > /dev/null; then ++ echo 'ldd:' $"warning: you do not have execution permission for"\ ++ "\`$file'" >&2 ++ fi + RTLD= + for rtld in ${RTLDLIST}; do + if test -x $rtld; then +@@ -143,7 +147,12 @@ + fi + case $ret in + 0) +- eval $add_env '"$file"' || result=1 ++ if [ ! -x "$file" ] && eval file -L "$file" 2>/dev/null \ ++ | sed 10q | egrep "$file_magic_regex" > /dev/null; then ++ eval $add_env ${RTLD} '"$file"' || result=1 ++ else ++ eval $add_env '"$file"' || result=1 ++ fi + ;; + 1) + # This can be a non-ELF binary or no binary at all. diff --git a/packages/glibc/glibc-2.2.5/linuxthreads-2.2.5-ppc405erratum77.patch b/packages/glibc/glibc-2.2.5/linuxthreads-2.2.5-ppc405erratum77.patch index e69de29bb2..48127a1281 100644 --- a/packages/glibc/glibc-2.2.5/linuxthreads-2.2.5-ppc405erratum77.patch +++ b/packages/glibc/glibc-2.2.5/linuxthreads-2.2.5-ppc405erratum77.patch @@ -0,0 +1,34 @@ +# see http://bugs.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=4155 +# and http://www.kegel.com/xgcc3/ppc405erratum77.html +# See also matching patch for glibc + +diff -aur glibc-2.2.5.orig/linuxthreads/sysdeps/powerpc/pt-machine.h glibc-2.2.5/linuxthreads/sysdeps/powerpc/pt-machine.h +--- glibc-2.2.5.orig/linuxthreads/sysdeps/powerpc/pt-machine.h Thu May 17 12:47:46 2001 ++++ glibc-2.2.5/linuxthreads/sysdeps/powerpc/pt-machine.h Tue Jul 23 05:38:24 2002 +@@ -41,6 +41,17 @@ + #define HAS_COMPARE_AND_SWAP_WITH_RELEASE_SEMANTICS + #define IMPLEMENT_TAS_WITH_CAS + ++#ifdef __PPC405__ ++/* workaround for PPC405 erratum #77 - Mark Hatle, dank. References: ++ http://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/89DED00DEBFF54BF87256A8000491BA2/$file/405CR_C_errata_1_2.pdf ++ http://ppc.bkbits.net:8080/linuxppc_2_4_devel/cset@1.489 ++ http://www.kegel.com/xgcc3/ppc405erratum77.html ++ FIXME: using dbct instead of sync would be faster */ ++#define __LINUXTHREADS_PPC405_ERR77_SYNC "sync \n\t" ++#else ++#define __LINUXTHREADS_PPC405_ERR77_SYNC ++#endif ++ + PT_EI int + __compare_and_swap (long int *p, long int oldval, long int newval) + { +@@ -50,6 +61,7 @@ + "0: lwarx %0,0,%1 ;" + " xor. %0,%3,%0;" + " bne 1f;" ++ __LINUXTHREADS_PPC405_ERR77_SYNC + " stwcx. %2,0,%1;" + " bne- 0b;" + "1: " + diff --git a/packages/glibc/glibc-2.2.5/longjmp-sparc.patch b/packages/glibc/glibc-2.2.5/longjmp-sparc.patch index e69de29bb2..8bce091779 100644 --- a/packages/glibc/glibc-2.2.5/longjmp-sparc.patch +++ b/packages/glibc/glibc-2.2.5/longjmp-sparc.patch @@ -0,0 +1,16 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h~longjmp-sparc.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h 2004-09-03 19:00:39.000000000 -0500 +@@ -48,7 +48,7 @@ + #define END(name) \ + .size name, . - name + +-#define LOC(name) . ## L ## name ++#define LOC(name) .##L##name + + #ifdef PIC + #define SYSCALL_ERROR_HANDLER \ diff --git a/packages/glibc/glibc-2.2.5/pt-initfini-alpha.patch b/packages/glibc/glibc-2.2.5/pt-initfini-alpha.patch index e69de29bb2..22a1cfed17 100644 --- a/packages/glibc/glibc-2.2.5/pt-initfini-alpha.patch +++ b/packages/glibc/glibc-2.2.5/pt-initfini-alpha.patch @@ -0,0 +1,119 @@ +--- glibc-2.2.5/linuxthreads/sysdeps/alpha/elf/pt-initfini.c.old Fri Jun 6 22:02:08 2003 ++++ glibc-2.2.5/linuxthreads/sysdeps/alpha/elf/pt-initfini.c Fri Jun 6 22:02:33 2003 +@@ -37,60 +37,60 @@ + files, all of which may have different GP values. So we must reload + the GP value from crti.o in crtn.o. */ + +-__asm__ (" +- +-#include \"defs.h\" +- +-/*@HEADER_ENDS*/ +- +-/*@_init_PROLOG_BEGINS*/ +- .section .init, \"ax\", @progbits +- .globl _init +- .ent _init +-_init: +- ldgp $29, 0($27) +- subq $30, 16, $30 +- lda $27, __pthread_initialize_minimal +- stq $26, 0($30) +- stq $29, 8($30) +- .prologue 1 +- jsr $26, ($27), __pthread_initialize_minimal +- ldq $29, 8($30) +- .align 3 +- .end _init +- .size _init, 0 +-/*@_init_PROLOG_ENDS*/ +- +-/*@_init_EPILOG_BEGINS*/ +- .section .init, \"ax\", @progbits +- ldq $26, 0($30) +- ldq $29, 8($30) +- addq $30, 16, $30 +- ret +-/*@_init_EPILOG_ENDS*/ +- +-/*@_fini_PROLOG_BEGINS*/ +- .section .fini, \"ax\", @progbits +- .globl _fini +- .ent _fini +-_fini: +- ldgp $29, 0($27) +- subq $30, 16, $30 +- stq $26, 0($30) +- stq $29, 8($30) +- .prologue 1 +- .align 3 +- .end _fini +- .size _fini, 0 +-/*@_fini_PROLOG_ENDS*/ +- +-/*@_fini_EPILOG_BEGINS*/ +- .section .fini, \"ax\", @progbits +- ldq $26, 0($30) +- ldq $29, 8($30) +- addq $30, 16, $30 +- ret +-/*@_fini_EPILOG_ENDS*/ +- +-/*@TRAILER_BEGINS*/ ++__asm__ ("\n\ ++\n\ ++#include \"defs.h\"\n\ ++\n\ ++/*@HEADER_ENDS*/\n\ ++\n\ ++/*@_init_PROLOG_BEGINS*/\n\ ++ .section .init, \"ax\", @progbits\n\ ++ .globl _init\n\ ++ .ent _init\n\ ++_init:\n\ ++ ldgp $29, 0($27)\n\ ++ subq $30, 16, $30\n\ ++ lda $27, __pthread_initialize_minimal\n\ ++ stq $26, 0($30)\n\ ++ stq $29, 8($30)\n\ ++ .prologue 1\n\ ++ jsr $26, ($27), __pthread_initialize_minimal\n\ ++ ldq $29, 8($30)\n\ ++ .align 3\n\ ++ .end _init\n\ ++ .size _init, 0\n\ ++/*@_init_PROLOG_ENDS*/\n\ ++\n\ ++/*@_init_EPILOG_BEGINS*/\n\ ++ .section .init, \"ax\", @progbits\n\ ++ ldq $26, 0($30)\n\ ++ ldq $29, 8($30)\n\ ++ addq $30, 16, $30\n\ ++ ret\n\ ++/*@_init_EPILOG_ENDS*/\n\ ++\n\ ++/*@_fini_PROLOG_BEGINS*/\n\ ++ .section .fini, \"ax\", @progbits\n\ ++ .globl _fini\n\ ++ .ent _fini\n\ ++_fini:\n\ ++ ldgp $29, 0($27)\n\ ++ subq $30, 16, $30\n\ ++ stq $26, 0($30)\n\ ++ stq $29, 8($30)\n\ ++ .prologue 1\n\ ++ .align 3\n\ ++ .end _fini\n\ ++ .size _fini, 0\n\ ++/*@_fini_PROLOG_ENDS*/\n\ ++\n\ ++/*@_fini_EPILOG_BEGINS*/\n\ ++ .section .fini, \"ax\", @progbits\n\ ++ ldq $26, 0($30)\n\ ++ ldq $29, 8($30)\n\ ++ addq $30, 16, $30\n\ ++ ret\n\ ++/*@_fini_EPILOG_ENDS*/\n\ ++\n\ ++/*@TRAILER_BEGINS*/\n\ + "); diff --git a/packages/glibc/glibc-2.2.5/pt-initfini-flags.patch b/packages/glibc/glibc-2.2.5/pt-initfini-flags.patch index e69de29bb2..e8ba2facfc 100644 --- a/packages/glibc/glibc-2.2.5/pt-initfini-flags.patch +++ b/packages/glibc/glibc-2.2.5/pt-initfini-flags.patch @@ -0,0 +1,16 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- glibc-2.2.5/linuxthreads/Makefile~glibc-linuxthreads-2.3.2-initfini ++++ glibc-2.2.5/linuxthreads/Makefile +@@ -54,7 +54,7 @@ + extra-objs += crti.o + omit-deps += crti + +-CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions ++CFLAGS-pt-initfini.s = -O1 -g0 -fPIC -fno-inline-functions + endif + + librt-tests = ex10 ex11 diff --git a/packages/glibc/glibc-2.2.5/pt-initfini-sh.patch b/packages/glibc/glibc-2.2.5/pt-initfini-sh.patch index e69de29bb2..8c9cdb8ada 100644 --- a/packages/glibc/glibc-2.2.5/pt-initfini-sh.patch +++ b/packages/glibc/glibc-2.2.5/pt-initfini-sh.patch @@ -0,0 +1,267 @@ +--- glibc-2.2.5/linuxthreads/sysdeps/unix/sysv/linux/sh/pt-initfini.c.old Wed May 28 09:29:55 2003 ++++ glibc-2.2.5/linuxthreads/sysdeps/unix/sysv/linux/sh/pt-initfini.c Wed May 28 09:30:11 2003 +@@ -36,134 +36,134 @@ + * crtn.s puts the corresponding function epilogues + in the .init and .fini sections. */ + +-__asm__ (" +- +-#include \"defs.h\" +-#define SHARED +- +-/*@HEADER_ENDS*/ +- +-/*@TESTS_BEGIN*/ +- +-/*@TESTS_END*/ +- +-/*@_init_PROLOG_BEGINS*/ +- .section .init +- .align 5 +- .global _init +- .type _init,@function +-_init: +- mov.l r12,@-r15 +- mov.l r14,@-r15 +- sts.l pr,@-r15 +-#ifdef SHARED +- mova .L22,r0 +- mov.l .L22,r12 +- add r0,r12 +- mova .L24,r0 +- mov.l .L24,r1 +- add r0,r1 +- jsr @r1 +- nop +- mova .L23,r0 +- mov.l .L23,r1 +- add r0,r1 +-#else +- mov.l .L24,r1 +- jsr @r1 +- nop +- mov.l .L23,r1 +-#endif +- jsr @r1 +- mov r15,r14 +- bra 1f +- nop +- .align 2 +-#ifdef SHARED +-.L22: +- .long _GLOBAL_OFFSET_TABLE_ +-.L23: +- .long __gmon_start__@PLT +-.L24: +- .long __pthread_initialize_minimal@PLT +-#else +-.L23: +- .long __gmon_start__ +-.L24: +- .long __pthread_initialize_minimal +-#endif +- .data +- .global __fpscr_values +-__fpscr_values: +- .long 0 +- .long 0x80000 +- .previous +-1: +- ALIGN +- END_INIT +- +- +-/*@_init_PROLOG_ENDS*/ +- +-/*@_init_EPILOG_BEGINS*/ +- .section .init +- mov r14,r15 +- lds.l @r15+,pr +- mov.l @r15+,r14 +- rts +- mov.l @r15+,r12 +- END_INIT +- .section .text +- .align 5 +- .weak __gmon_start__ +- .type __gmon_start__,@function +-__gmon_start__: +- mov.l r14,@-r15 +- mov r15,r14 +- mov r14,r15 +- rts +- mov.l @r15+,r14 +- +-/*@_init_EPILOG_ENDS*/ +- +-/*@_fini_PROLOG_BEGINS*/ +- .section .fini +- .align 5 +- .global _fini +- .type _fini,@function +-_fini: +- mov.l r12,@-r15 +- mov.l r14,@-r15 +- sts.l pr,@-r15 +-#ifdef SHARED +- mova .L27,r0 +- mov.l .L27,r12 +- add r0,r12 +-#endif +- mov r15,r14 +- ALIGN +- END_FINI +-#ifdef SHARED +- bra 1f +- nop +- .align 2 +-.L27: +- .long _GLOBAL_OFFSET_TABLE_ +-#endif +-1: +-/*@_fini_PROLOG_ENDS*/ +- +-/*@_fini_EPILOG_BEGINS*/ +- .section .fini +- mov r14,r15 +- lds.l @r15+,pr +- mov.l @r15+,r14 +- rts +- mov.l @r15+,r12 +- +- END_FINI +- +-/*@_fini_EPILOG_ENDS*/ +- +-/*@TRAILER_BEGINS*/ ++__asm__ ("\n\ ++\n\ ++#include \"defs.h\"\n\ ++#define SHARED\n\ ++\n\ ++/*@HEADER_ENDS*/\n\ ++\n\ ++/*@TESTS_BEGIN*/\n\ ++\n\ ++/*@TESTS_END*/\n\ ++\n\ ++/*@_init_PROLOG_BEGINS*/\n\ ++ .section .init\n\ ++ .align 5\n\ ++ .global _init\n\ ++ .type _init,@function\n\ ++_init:\n\ ++ mov.l r12,@-r15\n\ ++ mov.l r14,@-r15\n\ ++ sts.l pr,@-r15\n\ ++#ifdef SHARED\n\ ++ mova .L22,r0\n\ ++ mov.l .L22,r12\n\ ++ add r0,r12\n\ ++ mova .L24,r0\n\ ++ mov.l .L24,r1\n\ ++ add r0,r1\n\ ++ jsr @r1\n\ ++ nop\n\ ++ mova .L23,r0\n\ ++ mov.l .L23,r1\n\ ++ add r0,r1\n\ ++#else\n\ ++ mov.l .L24,r1\n\ ++ jsr @r1\n\ ++ nop\n\ ++ mov.l .L23,r1\n\ ++#endif\n\ ++ jsr @r1\n\ ++ mov r15,r14\n\ ++ bra 1f\n\ ++ nop\n\ ++ .align 2\n\ ++#ifdef SHARED\n\ ++.L22:\n\ ++ .long _GLOBAL_OFFSET_TABLE_\n\ ++.L23:\n\ ++ .long __gmon_start__@PLT\n\ ++.L24:\n\ ++ .long __pthread_initialize_minimal@PLT\n\ ++#else\n\ ++.L23:\n\ ++ .long __gmon_start__\n\ ++.L24:\n\ ++ .long __pthread_initialize_minimal\n\ ++#endif\n\ ++ .data\n\ ++ .global __fpscr_values\n\ ++__fpscr_values:\n\ ++ .long 0\n\ ++ .long 0x80000\n\ ++ .previous\n\ ++1:\n\ ++ ALIGN\n\ ++ END_INIT\n\ ++\n\ ++ \n\ ++/*@_init_PROLOG_ENDS*/\n\ ++\n\ ++/*@_init_EPILOG_BEGINS*/\n\ ++ .section .init\n\ ++ mov r14,r15\n\ ++ lds.l @r15+,pr\n\ ++ mov.l @r15+,r14\n\ ++ rts \n\ ++ mov.l @r15+,r12\n\ ++ END_INIT\n\ ++ .section .text\n\ ++ .align 5\n\ ++ .weak __gmon_start__\n\ ++ .type __gmon_start__,@function\n\ ++__gmon_start__:\n\ ++ mov.l r14,@-r15\n\ ++ mov r15,r14\n\ ++ mov r14,r15\n\ ++ rts \n\ ++ mov.l @r15+,r14\n\ ++ \n\ ++/*@_init_EPILOG_ENDS*/\n\ ++\n\ ++/*@_fini_PROLOG_BEGINS*/\n\ ++ .section .fini\n\ ++ .align 5\n\ ++ .global _fini\n\ ++ .type _fini,@function\n\ ++_fini:\n\ ++ mov.l r12,@-r15\n\ ++ mov.l r14,@-r15\n\ ++ sts.l pr,@-r15\n\ ++#ifdef SHARED\n\ ++ mova .L27,r0\n\ ++ mov.l .L27,r12\n\ ++ add r0,r12\n\ ++#endif\n\ ++ mov r15,r14\n\ ++ ALIGN\n\ ++ END_FINI\n\ ++#ifdef SHARED\n\ ++ bra 1f\n\ ++ nop\n\ ++ .align 2\n\ ++.L27:\n\ ++ .long _GLOBAL_OFFSET_TABLE_\n\ ++#endif\n\ ++1:\n\ ++/*@_fini_PROLOG_ENDS*/\n\ ++\n\ ++/*@_fini_EPILOG_BEGINS*/\n\ ++ .section .fini\n\ ++ mov r14,r15\n\ ++ lds.l @r15+,pr\n\ ++ mov.l @r15+,r14\n\ ++ rts \n\ ++ mov.l @r15+,r12\n\ ++\n\ ++ END_FINI\n\ ++ \n\ ++/*@_fini_EPILOG_ENDS*/\n\ ++\n\ ++/*@TRAILER_BEGINS*/\n\ + "); diff --git a/packages/glibc/glibc-2.2.5/sh-setjmp-fix.patch b/packages/glibc/glibc-2.2.5/sh-setjmp-fix.patch index e69de29bb2..fa2f51aab6 100644 --- a/packages/glibc/glibc-2.2.5/sh-setjmp-fix.patch +++ b/packages/glibc/glibc-2.2.5/sh-setjmp-fix.patch @@ -0,0 +1,17 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/sh/bits/setjmp.h~sh-setjmp-fix.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/sh/bits/setjmp.h 2004-09-03 19:00:39.000000000 -0500 +@@ -42,7 +42,9 @@ + } __jmp_buf[1]; + #endif + ++#if defined __USE_MISC || defined _ASM + #define JB_SIZE (4 * 15) ++#endif + + /* Test if longjmp to JMPBUF would unwind the frame + containing a local variable at ADDRESS. */ diff --git a/packages/glibc/glibc-2.2.5/sprintf-prototype.patch b/packages/glibc/glibc-2.2.5/sprintf-prototype.patch index e69de29bb2..47dc672a38 100644 --- a/packages/glibc/glibc-2.2.5/sprintf-prototype.patch +++ b/packages/glibc/glibc-2.2.5/sprintf-prototype.patch @@ -0,0 +1,18 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/stdio-common/sprintf.c~sprintf-prototype.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/stdio-common/sprintf.c 2004-09-03 19:00:39.000000000 -0500 +@@ -27,9 +27,7 @@ + /* Write formatted output into S, according to the format string FORMAT. */ + /* VARARGS2 */ + int +-sprintf (s, format) +- char *s; +- const char *format; ++sprintf (char *s, const char *format, ...) + { + va_list arg; + int done; diff --git a/packages/glibc/glibc-2.2.5/sscanf.patch b/packages/glibc/glibc-2.2.5/sscanf.patch index e69de29bb2..2958b1f8e0 100644 --- a/packages/glibc/glibc-2.2.5/sscanf.patch +++ b/packages/glibc/glibc-2.2.5/sscanf.patch @@ -0,0 +1,64 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/stdio-common/sscanf.c~sscanf.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/stdio-common/sscanf.c 2004-09-03 19:00:39.000000000 -0500 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 1991, 1995, 1996, 1998 Free Software Foundation, Inc. ++/* Copyright (C) 1991,1995,1996,1998,2002,2003 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 +@@ -27,9 +27,7 @@ + /* Read formatted input from S, according to the format string FORMAT. */ + /* VARARGS2 */ + int +-sscanf (s, format) +- const char *s; +- const char *format; ++sscanf (const char *s, const char *format, ...) + { + va_list arg; + int done; +--- glibc-2.2.5/libio/swprintf.c~sscanf.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/libio/swprintf.c 2004-09-03 19:00:39.000000000 -0500 +@@ -1,4 +1,5 @@ +-/* Copyright (C) 1991,1995,1997,1998,1999,2000 Free Software Foundation, Inc. ++/* Copyright (C) 1991,1995,1997,1998,1999,2000,2003 ++ 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 +@@ -22,10 +23,7 @@ + /* Write formatted output into S, according to the format string FORMAT. */ + /* VARARGS3 */ + int +-swprintf (s, n, format) +- wchar_t *s; +- size_t n; +- const wchar_t *format; ++swprintf (wchar_t *s, size_t n, const wchar_t *format, ...) + { + va_list arg; + int done; +--- glibc-2.2.5/libio/swscanf.c~sscanf.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/libio/swscanf.c 2004-09-03 19:00:39.000000000 -0500 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 1991, 1995, 1996, 1998, 1999 Free Software Foundation, Inc. ++/* Copyright (C) 1991,1995,1996,1998,1999,2003 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 +@@ -22,9 +22,7 @@ + /* Read formatted input from S, according to the format string FORMAT. */ + /* VARARGS2 */ + int +-swscanf (s, format) +- const wchar_t *s; +- const wchar_t *format; ++swscanf (const wchar_t *s, const wchar_t *format, ...) + { + va_list arg; + int done; diff --git a/packages/glibc/glibc-2.2.5/threadparam.patch b/packages/glibc/glibc-2.2.5/threadparam.patch index e69de29bb2..dd97838c07 100644 --- a/packages/glibc/glibc-2.2.5/threadparam.patch +++ b/packages/glibc/glibc-2.2.5/threadparam.patch @@ -0,0 +1,69 @@ +2002-05-21 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/pthread/pthread.h (pthread_create): Rename first parameter. + (pthread_cancel): Likewise. + * internals.h (__pthread_create_2_1): Likewise. + * sysdeps/unix/sysv/linux/bits/sigthread.h (pthread_kill): Likewise. +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads/internals.h,v +retrieving revision 1.69.2.2 +retrieving revision 1.69.2.3 +diff -u -r1.69.2.2 -r1.69.2.3 +--- libc/linuxthreads/internals.h 2002/03/22 08:30:32 1.69.2.2 ++++ libc/linuxthreads/internals.h 2002/08/20 22:01:25 1.69.2.3 +@@ -554,7 +554,7 @@ + /* Prototypes for compatibility functions. */ + extern int __pthread_attr_init_2_1 (pthread_attr_t *__attr); + extern int __pthread_attr_init_2_0 (pthread_attr_t *__attr); +-extern int __pthread_create_2_1 (pthread_t *__restrict __thread, ++extern int __pthread_create_2_1 (pthread_t *__restrict __threadp, + const pthread_attr_t *__attr, + void *(*__start_routine) (void *), + void *__restrict __arg); +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads/sysdeps/pthread/pthread.h,v +retrieving revision 1.31 +retrieving revision 1.31.2.1 +diff -u -r1.31 -r1.31.2.1 +--- libc/linuxthreads/sysdeps/pthread/pthread.h 2001/03/15 21:12:31 1.31 ++++ libc/linuxthreads/sysdeps/pthread/pthread.h 2002/08/20 22:01:26 1.31.2.1 +@@ -160,7 +160,7 @@ + /* Create a thread with given attributes ATTR (or default attributes + if ATTR is NULL), and call function START_ROUTINE with given + arguments ARG. */ +-extern int pthread_create (pthread_t *__restrict __thread, ++extern int pthread_create (pthread_t *__restrict __threadp, + __const pthread_attr_t *__restrict __attr, + void *(*__start_routine) (void *), + void *__restrict __arg) __THROW; +@@ -588,7 +588,7 @@ + extern int pthread_setcanceltype (int __type, int *__oldtype) __THROW; + + /* Cancel THREAD immediately or at the next possibility. */ +-extern int pthread_cancel (pthread_t __thread) __THROW; ++extern int pthread_cancel (pthread_t __cancelthread) __THROW; + + /* Test for pending cancellation for the current thread and terminate + the thread as per pthread_exit(PTHREAD_CANCELED) if it has been +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads/sysdeps/unix/sysv/linux/bits/sigthread.h,v +retrieving revision 1.5 +retrieving revision 1.5.2.1 +diff -u -r1.5 -r1.5.2.1 +--- libc/linuxthreads/sysdeps/unix/sysv/linux/bits/sigthread.h 2000/08/21 06:48:03 1.5 ++++ libc/linuxthreads/sysdeps/unix/sysv/linux/bits/sigthread.h 2002/08/20 22:01:26 1.5.2.1 +@@ -1,5 +1,5 @@ + /* Signal handling function for threaded programs. +- Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. ++ Copyright (C) 1998, 1999, 2000, 2002 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 +@@ -33,6 +33,6 @@ + __sigset_t *__restrict __oldmask)__THROW; + + /* Send signal SIGNO to the given thread. */ +-extern int pthread_kill (pthread_t __thread, int __signo) __THROW; ++extern int pthread_kill (pthread_t __threadid, int __signo) __THROW; + + #endif /* bits/sigthread.h */ diff --git a/packages/glibc/glibc-2.2.5/unwind-arm.patch b/packages/glibc/glibc-2.2.5/unwind-arm.patch index e69de29bb2..b44f41aec0 100644 --- a/packages/glibc/glibc-2.2.5/unwind-arm.patch +++ b/packages/glibc/glibc-2.2.5/unwind-arm.patch @@ -0,0 +1,18 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- glibc-2.2.5/sysdeps/unix/sysv/linux/configure~unwind-arm.patch 2004-09-03 19:00:33.000000000 -0500 ++++ glibc-2.2.5/sysdeps/unix/sysv/linux/configure 2004-09-03 19:00:39.000000000 -0500 +@@ -56,6 +56,10 @@ + arch_minimum_kernel=2.1.100 + libc_cv_gcc_unwind_find_fde=yes + ;; ++ arm*) ++ libc_cv_gcc_unwind_find_fde=yes ++ arch_minimum_kernel=2.0.10 ++ ;; + i386*) + libc_cv_gcc_unwind_find_fde=yes + arch_minimum_kernel=2.0.10 diff --git a/packages/glibc/glibc-2.3.2/.mtn2git_empty b/packages/glibc/glibc-2.3.2/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/glibc/glibc-2.3.2/.mtn2git_empty diff --git a/packages/glibc/glibc-2.3.2/10_cvs.patch b/packages/glibc/glibc-2.3.2/10_cvs.patch index e69de29bb2..0c3ecdcb40 100644 --- a/packages/glibc/glibc-2.3.2/10_cvs.patch +++ b/packages/glibc/glibc-2.3.2/10_cvs.patch @@ -0,0 +1,177118 @@ +--- glibc-2.3.2/CANCEL-FILE-WAIVE 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/CANCEL-FILE-WAIVE 2003-09-02 05:24:58.000000000 -0400 +@@ -0,0 +1,33 @@ ++mkdtemp.os ++tmpnam.os ++tmpnam_r.os ++__assert.os ++assert.os ++assert-perr.os ++gconv_builtin.os ++gconv_simple.os ++gconv.os ++iconv.os ++strfmon.os ++strfmon_l.os ++argp-xinl.os ++iofdopen.os ++printf_fp.os ++printf_fphex.os ++printf_size.os ++strxfrm.os ++strxfrm_l.os ++strcoll.os ++strcoll_l.os ++alphasort.os ++alphasort64.os ++set-freeres.os ++btowc.os ++wctob.os ++mblen.os ++strops.os ++wstrops.os ++fmemopen.os ++closedir.os ++hsearch.os ++hsearch_r.os +--- glibc-2.3.2/ChangeLog 2003-02-28 20:10:14.000000000 -0500 ++++ glibc-2.3.2/ChangeLog 2003-09-20 09:40:33.000000000 -0400 +@@ -1,3 +1,5919 @@ ++2003-09-19 Ulrich Drepper <drepper@redhat.com> ++ ++ * elf/Makefile ($(objpfx)librtld.os): Create link map also for ++ final build to ease quality control. ++ ++ * sysdeps/unix/sysv/linux/getcwd.c (__getcwd): If compiled for ++ ld.so, don't include NULL buffer pointer handling. ++ ++2003-09-19 Jakub Jelinek <jakub@redhat.com> ++ ++ * dlfcn/dlopen.c (dlopen): Add static_link_warning. ++ ++2003-09-18 Jakub Jelinek <jakub@redhat.com> ++ ++ * libio/memstream.c (open_memstream): Use _IO_init instead of ++ _IO_old_init. ++ ++2003-09-17 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/wordexp.c (eval_expr_val): Use strtol since we ++ have to recognize octal and hexadecimal numbers as well. Simplify ++ function, signs are handled in strtol. ++ * posix/wordexp-test.c: Add tests for octal and hexadecimal ++ numbers in arithmetic expressions. ++ ++2003-09-17 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/Makefile (distribute): Add tst-alignmod.c. ++ (tests): Add tst-align. ++ (modules-names): Add tst-alignmod. ++ (CFLAGS-tst-align.c, CFLAGS-tst-alignmod.c): Add ++ $(stack-align-test-flags). ++ ($(objpfx)tst-align): Depend on libdl. ++ ($(objpfx)tst-align.out): Depend on tst-alignmod.so. ++ * elf/tst-align.c: New file. ++ * elf/tst-alignmod.c: New file. ++ * misc/Makefile (CFLAGS-tst-tsearch.c): Add $(stack-align-test-flags). ++ * misc/tst-tsearch.c: Include tst-stack-align.h. ++ (stack_align_check): New array. ++ (cmp_fn, walk_action): Use TEST_STACK_ALIGN (). ++ (main): Report error if stack was not enough aligned ++ in cmp_fn or walk_action. ++ * stdlib/Makefile (CFLAGS-tst-qsort.c): Add $(stack-align-test-flags). ++ * stdlib/tst-qsort.c: Include tst-stack-align.h. ++ (align_check): New var. ++ (compare): Use TEST_STACK_ALIGN () macro. ++ (main): Report error if stack was not enough aligned in compare. ++ * sysdeps/i386/i686/Makefile (stack-align-test-flags): Remove ++ unneeded -mpreferred-stack-boundary=4. ++ * sysdeps/x86_64/tst-stack-align.h: New file. ++ ++ * libio/memstream.c (_IO_wmem_jumps): Remove unused structure. ++ (_IO_wmem_sync, _IO_wmem_finish): Remove unused functions. ++ ++2003-09-17 Philip Blundell <philb@gnu.org> ++ ++ * sysdeps/arm/dl-machine.h (CALL_ROUTINE): Deleted. ++ (BX): Define. ++ (ELF_MACHINE_RUNTIME_TRAMPOLINE): Optimise a little. ++ ++ * sysdeps/arm/sysdep.h (DO_RET): New. ++ ++ * sysdeps/unix/sysv/linux/arm/vfork.S: Add #error if __NR_vfork ++ required but not defined. Improve test of error code. ++ ++2003-09-17 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/i386/Makefile (stack-align-test-flags): Add ++ -malign-double -mpreferred-stack-boundary=4. ++ ++2003-09-17 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/posix/utimes.c (__utimes): Truncate instead of round. ++ * sysdeps/unix/sysv/linux/utimes.c (__utimes): Likewise. ++ ++2003-09-15 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/i386/Makefile (sysdep-CFLAGS): If not in math or csu ++ subdir, add -mpreferred-stack-boundary=4, with few exceptions. ++ ++2003-09-17 Jakub Jelinek <jakub@redhat.com> ++ ++ * Makeconfig (stack-align-test-flags): Set. ++ * stdlib/Makefile (CFLAGS-tst-bsearch.c): Add ++ $(stack-align-test-flags). ++ * stdlib/tst-bsearch.c: Include tst-stack-align.h. ++ (align_check): New var. ++ (comp): Use TEST_STACK_ALIGN macro. ++ (do_test): Fail if align_check != 1. ++ * sysdeps/generic/tst-stack-align.h: New file. ++ * sysdeps/i386/i686/Makefile (stack-align-test-flags): Add -msse. ++ * sysdeps/i386/i686/tst-stack-align.h: New file. ++ ++2003-09-17 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/i386/clone.S: Make sure child gets a ++ stack which is aligned (mod 16). ++ ++2003-09-17 Uwe Reimann <Uwe_Reimann@gmx.net> ++ Hans-Peter Nilsson <hp@axis.com> ++ ++ * sysdeps/cris/dl-machine.h (elf_machine_type_class): Classify ++ R_CRIS_GLOB_DAT as ELF_RTYPE_CLASS_PLT. Clarify comment. ++ ++2003-09-17 Jakub Jelinek <jakub@redhat.com> ++ ++ * dirent/scandir.c: Include bits/libc-lock.h. ++ (struct scandir_cancel_struct): New type. ++ (cancel_handler): New function. ++ (SCANDIR): Add __libc_cleanup_{push,pop}, save state into ++ scandir_cancel_struct. ++ ++2003-09-16 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/Dist: Remove internal_statvfs.c. ++ * sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines): ++ Add internal_statvfs. ++ * sysdeps/unix/sysv/linux/fstatvfs.c: Call __internal_statvfs ++ instead of including "internal_statvfs.c". ++ * sysdeps/unix/sysv/linux/statvfs.c: Likewise. ++ * sysdeps/unix/sysv/linux/internal_statvfs.c: Make it a real function. ++ Add code to avoid the stat calls on all the reported mount points ++ when we can determine mismatch in advance. ++ * sysdeps/unix/sysv/linux/linux_fsinfo.h: Add AUTOFS_SUPER_MAGIC and ++ USBDEVFS_SUPER_MAGIC. ++ ++2003-09-16 Jakub Jelinek <jakub@redhat.com> ++ ++ * posix/Versions (sched_getaffinity, sched_setaffinity): Change ++ from GLIBC_2.3.2 to GLIBC_2.3.3 symbol version. ++ ++2003-09-16 Bruno Haible <bruno@clisp.org> ++ ++ * intl/tst-gettext2.sh: Set GCONV_PATH and LOCPATH only after ++ invoking msgfmt, not before. ++ ++2003-09-15 Jakub Jelinek <jakub@redhat.com> ++ ++ * argp/argp.h (argp_parse, __argp_parse): Remove __THROW. ++ * argp/Makefile (CFLAGS-argp-help.c, CFLAGS-argp-parse.c): Add ++ $(uses-callbacks). ++ * dirent/Makefile (CFLAGS-scandir.c, CFLAGS-scandir64.c): Likewise. ++ * elf/Makefile (CFLAGS-dl-iterate-phdr.c, ++ CFLAGS-dl-iterate-phdr-static.c): Add $(uses-callbacks). ++ * elf/dl-iteratephdr.c (cancel_handler): New function. ++ (__dl_iterate_phdr): Add __libc_cleanup_{push,pop}. ++ * elf/link.h (dl_iterate_phdr): Remove __THROW. ++ * io/Makefile (CFLAGS-fts.c): Merge into one assignment. ++ Add $(uses-callbacks). ++ (CFLAGS-ftw.c, CFLAGS-ftw64.c): Add $(uses-callbacks). ++ * misc/Makefile (CFLAGS-tsearch.c, CFLAGS-lsearch.c): Change ++ $(exceptions) to $(uses-callbacks). ++ * Makeconfig (uses-callbacks): Set to $(exceptions). ++ * posix/Makefile (CFLAGS-glob.c, CFLAGS-glob64.c): Add ++ $(uses-callbacks). ++ * stdlib/Makefile (CFLAGS-bsearch.c, CFLAGS-msort.c, CFLAGS-qsort.c): ++ Likewise. ++ ++2003-09-15 Andreas Schwab <schwab@suse.de> ++ ++ * sysdeps/m68k/setjmp.c: Add hidden_def. ++ ++2003-09-14 Ulrich Drepper <drepper@redhat.com> ++ ++ * libio/memstream.c (open_memstream): Don't allow wide char operations. ++ ++ * dirent/dirent.h: Remove __THROW from scandir. ++ ++2003-09-14 Philip Blundell <philb@gnu.org> ++ ++ * sysdeps/unix/sysv/linux/arm/mmap.S: Use sys_mmap2 if it's known ++ to be available. ++ ++ * sysdeps/unix/sysv/linux/arm/mmap64.S: Optimise code a little. ++ ++ * sysdeps/arm/memset.S: Rewrite. ++ ++2003-09-12 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/s390/bits/typesizes.h: New. ++ (__SSIZE_T_TYPE): Define to __SWORD_TYPE for gcc 2.95.x and ++ __SLONGWORD_TYPE otherwise. ++ ++2003-09-14 Ulrich Drepper <drepper@redhat.com> ++ ++ * io/Makefile (CFLAGS-ftw.c): Add -fexceptions. ++ (CFLAGS-ftw64.c): Likewise. ++ ++2003-09-13 Ulrich Drepper <drepper@redhat.com> ++ ++ * nscd/Makefile (CFLAGS-nscd_getpw_r.c): Add -fexceptions. ++ (CFLAGS-nscd_getgr_r.c): Likewise. ++ (CFLAGS-nscd_gethst_r.c): Likewise. ++ ++2003-09-12 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/if_index.c: Use only non-cancelable ++ interfaces. ++ ++ * grp/Makefile (CFLAGS-getgrgid_r.c, CFLAGS-getgrnam_r.c, ++ CFLAGS-fgetgrent.c, CFLAGS-fgetgrent_r.c, CFLAGS-putgrent.c, ++ CFLAGS-initgroups.c, CFLAGS-getgrgid.c): Add -fexceptions. ++ * inet/Makefile (CFLAGS-either_ntoh.c, CFLAGS-either_hton.c, ++ CFLAGS-getnetgrent.c, CFLAGS-getnetgrent_r.c): Likewise. ++ * io/Makefile (CFLAGS-posix_fallocate.c, CFLAGS-posix_fallocate64.c): ++ Likewise. ++ * misc/Makefile (CFLAGS-err.c): Likewise. ++ * posix/Makefile (CFLAGS-getaddrinfo.c, CFLAGS-spawn.c, ++ CFLAGS-spawnp.c, CFLAGS-spawni.c, CFLAGS-pause.c, CFLAGS-glob.c, ++ CFLAGS-glob64.c): Likewise. ++ * pwd/Makefile (CFLAGS-getpw.c): Likewise. ++ * shadow/Makefile (CFLAGS-fgetspent.c, CFLAGS-fgetspent_r.c, ++ CFLAGS-putspent.c, CFLAGS-getspnam.c, CFLAGS-getspnam_r.c): Likewise. ++ * stdio-common/Makefile (CFLAGS-cuserid.c): Likewise. ++ * sunrpc/Makefile (CFLAGS-openchild.c): Likewise. ++ ++ * stdlib/Makefile (CFLAGS-mkstemp.c): Remove definition. ++ ++ * libio/stdio.h: Remove __THROW from cuserid prototype. ++ ++ * locale/loadarchive.c: Use only non-cancelable interfaces. ++ * resolv/herror.c (herror): Likewise. ++ ++ * malloc/hooks.c: Before using IO stream mark stream so it uses ++ only non-cancelable interfaces. ++ * malloc/malloc.c: Likewise. ++ * posix/getopt.c: Likewise. ++ ++ ++2003-09-11 Jakub Jelinek <jakub@redhat.com> ++ ++ * Makerules (LDFLAGS-c.so): Remove -u __register_frame. ++ ++2003-09-12 Ulrich Drepper <drepper@redhat.com> ++ ++ * stdio-common/stdio_ext.h: Mark most functions with __THROW. ++ ++ * misc/err.h: Remove __THROW from all prototypes. ++ ++ * posix/getopt.h (__THROW): Define if not already defined. Add ++ __THROW to the getopt functions. ++ ++2003-09-11 Ulrich Drepper <drepper@redhat.com> ++ ++ * io/Makefile (CFLAGS-lockf.c): Add -fexceptions. ++ (CFLAGS-fts.c): Likewise. ++ * io/fcntl.h: Remove __THROW from lockf prototypes. ++ * io/fts.h: Remove most __THROW. ++ ++2003-09-11 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * elf/tls-macros.h (TLS_IE): Add a stop bit for ia64. ++ (TLS_LD): Likewise. ++ (TLS_GD): Likewise. ++ ++2003-09-11 Jakub Jelinek <jakub@redhat.com> ++ ++ * libio/fileops.c (_IO_new_file_overflow): Add INTUSE to ++ _IO_free_backup_area call. ++ ++2003-09-10 Chris Demetriou <cgd@broadcom.com> ++ ++ * sysdeps/unix/sysv/linux/mips/pread64.c (__libc_pread64): Fix ++ syscall invocation. ++ * sysdeps/unix/sysv/linux/mips/pwrite64.c (__libc_pwrite64): Likewise. ++ * sysdeps/unix/sysv/linux/mips/pread.c (__libc_pread): Likewise. ++ Also, only assert off_t size is 4 for N32 and O32, and clean up ++ white space. ++ * sysdeps/unix/sysv/linux/mips/pwrite.c (__libc_pwrite): Likewise. ++ ++2003-09-10 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/tcgetattr.c (__tcgetattr): ++ Don't use c_ispeed under [! _HAVE_STRUCT_TERMIOS_C_ISPEED]. ++ Don't use c_ospeed under [! _HAVE_STRUCT_TERMIOS_C_OSPEED]. ++ * sysdeps/unix/sysv/linux/tcsetattr.c (tcsetattr): Likewise. ++ Reported by Daniel Jacobowitz <drow@mvista.com>. ++ ++2003-09-10 Jakub Jelinek <jakub@redhat.com> ++ ++ * string/Makefile (strop-tests): Add memccpy. ++ * string/test-memccpy.c: New test. ++ ++2003-09-09 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h (SIGCONTEXT): Add ++ siginfo_t * argument before, change into struct ucontext *. ++ (SIGCONTEXT_EXTRA_ARGS): Define to _si,. ++ (GET_PC, GET_FRAME, GET_STACK): Adjust for ctx being a pointer ++ instead of structure. ++ * sysdeps/unix/sysv/linux/x86_64/register-dump.h (REGISTER_DUMP): ++ Likewise. ++ ++2003-09-09 Ulrich Drepper <drepper@redhat.com> ++ ++ * string/stratcliff.c (main): Check memccpy. ++ ++2003-04-11 Jes Sorensen <jes@wildopensource.com> ++ ++ * sysdeps/ia64/memccpy.S: When recovering for src_aligned and the ++ character is found during recovery, use correct register when ++ determining the position of the found character. ++ ++2003-04-01 Jes Sorensen <jes@wildopensource.com> ++ ++ * sysdeps/ia64/memccpy.S: Use speculatively loads for readahead to ++ avoid segfaults when reading from unmapped pages. For aligned ++ reload and continue, for misaligned, roll back and use byte copy. ++ Save ar.ec on entry and restore on exit. ++ ++2003-09-09 Chris Demetriou <cgd@broadcom.com> ++ ++ * sysdeps/unix/mips/sysdep.h (PSEUDO_END): Undef before defining. ++ ++2003-09-08 Chris Demetriou <cgd@broadcom.com> ++ ++ * sysdeps/mips/mips64/n32/Implies: Move ieee754/ldbl-128 to ++ the top of the list. ++ * sysdeps/mips/mips64/n64/Implies: Likewise. ++ ++2003-09-08 Roland McGrath <roland@frob.com> ++ ++ * sysdeps/unix/sysv/linux/speed.c ++ (cfsetospeed): Only set c_ospeed under [_HAVE_STRUCT_TERMIOS_C_OSPEED]. ++ (cfsetispeed): Only set c_ispeed under [_HAVE_STRUCT_TERMIOS_C_ISPEED]. ++ * sysdeps/unix/sysv/linux/bits/termios.h ++ (_HAVE_STRUCT_TERMIOS_C_ISPEED, _HAVE_STRUCT_TERMIOS_C_OSPEED): Define. ++ * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise. ++ * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. ++ ++2003-09-08 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/x86_64/register-dump.h: Undo last change. ++ * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h: Likewise. ++ ++2003-09-08 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/generic/bits/types.h (__quad_t): Make long int if 64-bit. ++ (__u_quad_t): Make unsigned long int if 64-bit. ++ (__SQUAD_TYPE): Make long int if 64-bit. ++ (__UQUAD_TYPE): Make unsigned long int if 64-bit. ++ * sysdeps/unix/sysv/linux/s390/bits/typesizes.h: Remove. ++ ++2003-09-08 Ulrich Drepper <drepper@redhat.com> ++ ++ * Makefile (tests): Run check-c++-types.sh if possible. ++ * scripts/check-c++-types.h: New file. ++ * scripts/data/c++-types-i386-linux-gnu.data: New file. ++ ++2003-09-08 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/unix/sysv/linux/x86_64/register-dump.h (register_dump): ++ Use struct sigcontext. ++ ++ * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h (SIGCONTEXT): ++ Use struct sigcontext. ++ (GET_PC): Adopt. ++ (GET_FRAME): Likewise. ++ (GET_STACK): Likewise. ++ ++2003-09-08 Wolfram Gloger <wg@malloc.de> ++ ++ * malloc/malloc.c (sYSMALLOc): Move foreign sbrk accounting into ++ contiguous case. Bug report from Prem Gopalan <prem@mazunetworks.com>. ++ (mALLOPt): Avoid requirement of C99. ++ ++2003-09-08 Ulrich Drepper <drepper@redhat.com> ++ ++ * libio/bug-ftell.c: Include <sys/types.h>. ++ (main): Mark cp as const. ++ ++2003-09-07 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/syscalls.list (fcntl): Remove. ++ * sysdeps/unix/sysv/linux/x86_64/fcntl.c: Remove. ++ ++2003-09-05 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/tcgetattr.c (__tcgetattr): Fill in c_ispeed ++ and c_ospeed fields. ++ * sysdeps/unix/sysv/linux/speed.c (cfsetospeed): Set c_ospeed field. ++ (cfsetispeed): Set c_ispeed field. ++ * sysdeps/unix/sysv/linux/tcsetattr.c (IBAUD0): Define unconditionally ++ to match corresponding speed.c code. ++ ++2003-09-06 Ulrich Drepper <drepper@redhat.com> ++ ++ * libio/wfileops.c (_IO_wfile_underflow): Mark beginning of the ++ narrow character buffer. ++ * libio/Makefile: Add rules to build and run bug-ftell. ++ * libio/bug-ftell.c: New file. ++ ++ * stdio-common/vfprintf.c: Don't use the first grouping number twice. ++ ++ * stdio-common/vfscanf.c (vfscanf): Fix recognition of characters ++ matching the decimal point and possibly leading the thousands ++ separator. This caused the recognition of thousands separators to ++ always fail. ++ ++2003-09-05 Ulrich Drepper <drepper@redhat.com> ++ ++ * libio/fileops.c (_IO_new_file_overflow): Handle switching to ++ write mode from read in backup buffer. ++ * libio/Makefile (tests): Add bug-ungetc2. ++ * libio/bug-ungetc2.c: New file. ++ ++2003-09-05 Roland McGrath <roland@redhat.com> ++ ++ * nss/getXXbyYY.c (FUNCTION_NAME): Remove unused variable. ++ ++2003-09-04 Roland McGrath <roland@frob.com> ++ ++ * sysdeps/mach/hurd/mmap.c (__mmap): If io_map fails with MIG_BAD_ID, ++ EOPNOTSUPP, or ENOSYS, change it to ENODEV. ++ ++2003-09-04 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/bits/sigstack.h (MINSIGSTKSZ): ++ Fix a typo. ++ ++2003-09-05 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/i386/bits/string.h (__memrchr): Do addition in assembler ++ to make it conforming C. ++ * sysdeps/i386/i486/bits/string.h (__memrchr): Likewise. ++ ++ * sysdeps/unix/sysv/linux/i386/fcntl.c (__fcntl_nocancel): Change ++ prototype to use variable argument lists and get the possible one ++ argument via va_arg. ++ * sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Likewise. ++ * sysdeps/unix/sysv/linux/x86_64/fcntl.c: New. ++ ++2003-09-04 Ulrich Drepper <drepper@redhat.com> ++ ++ * posix/unistd.h: Add back __THROW to sysconf, pathconf, fpathconf. ++ ++ * sysdeps/unix/sysv/linux/pathconf.c (__statfs_filesize_max): ++ Report correct value for vxfs. ++ * sysdeps/unix/sysv/linux/linux_fsinfo.h: Define VXFS_SUPER_MAGIC. ++ ++ * gmon/gmon.c: Use only not-cancelable syscalls to write profiling ++ data. ++ ++ * sysdeps/generic/utmp_file.c: Use not-cancelable syscalls all ++ over the place. It would be allowed to have these functions as ++ cancellation points but the cleanup would be ugly and a lot of ++ work. ++ ++ * sysdeps/generic/not-cancel.h (fcntl_not_cancel): Define. ++ * sysdeps/unix/sysv/linux/not-cancel.h (fcntl_not_cancel): Define. ++ ++ * include/fcntl.h (__fcntl_nocancel): Declare. ++ * sysdeps/unix/sysv/linux/fcntl.c: New file. ++ * sysdeps/unix/sysv/linux/i386/fcntl.c (__libc_fcntl): Only enable ++ cancellation if absolutely needed. ++ (__fcntl_nocancel): Define. ++ ++ * posix/unistd.h (gethostid): Remove __THROW. Clarify comment. ++ * sysdeps/unix/sysv/linux/Makefile (CFLAGS-gethostid.c): Add ++ -fexceptions. ++ * sysdeps/unix/sysv/linux/gethostid.c (gethostid): Use ++ extend_alloca. ++ ++ * resolv/res_init.c (__res_nclose): Use close_not_cancel_no_status ++ instead of __close. ++ ++ * nss/getXXbyYY.c (FUNCTION_NAME): Add a few casts. Remove ++ unnecessary errno handling. ++ ++ * nss/getXXbyYY_r.c (INTERNAL): Use better variable name. ++ Initialize it in all cases. Change it to be a bit more like the ++ code we had before. ++ ++2003-09-04 Jakub Jelinek <jakub@redhat.com> ++ ++ * libio/fileops.c (_IO_file_read, _IO_new_file_write): Add ++ __builtin_expect. ++ (_IO_file_open): Likewise. Use close_not_cancel. ++ ++2003-09-04 Ulrich Drepper <drepper@redhat.com> ++ ++ * libio/libio.h: Define _IO_FLAGS2_NOTCANCEL. ++ * libio/fileops.c [_LIBC]: Remove close macro. ++ (_IO_file_open): If _IO_FLAGS2_NOTCANCEL is set, use open_not_cancel. ++ (_IO_new_file_open): Recognize 'c' flag in mode string. ++ (_IO_file_read): If _IO_FLAGS2_NOTCANCEL is set use read_not_cancel. ++ (_IO_new_file_write): If _IO_FLAGS2_NOTCANCEL is set use ++ write_not_cancel. ++ * iconv/gconv_conf.c: Use fopen with 'c' mode flag. ++ * inet/rcmd.c: Likewise. ++ * inet/ruserpass.c: Likewise. ++ * intl/localealias.c: Likewise. ++ * malloc/mtrace.c: Likewise. ++ * misc/getpass.c: Likewise. ++ * misc/getttyent.c: Likewise. ++ * misc/mntent_r.c: Likewise. ++ * misc/getusershell.c: Likewise. ++ * nss/nsswitch.c: Likewise. ++ * resolv/res_hconf.c: Likewise. ++ * resolv/res_init.c: Likewise. ++ * sysdeps/unix/sysv/linux/getsysstats.c: Likewise. ++ * time/getdate.c: Likewise. ++ * time/tzfile.c: Likewise. ++ * misc/fstab.h: Undo last change. ++ * misc/mntent.h: Likewise. ++ * misc/Makefile: Remove CFLAGS-mntent_r.c, CFLAGS-mntent.c, and ++ CFLAGS-fstab.c definition. ++ ++2003-09-04 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/generic/unwind.h (_Unwind_GetBSP): Add prototype. ++ ++2003-09-03 Ulrich Drepper <drepper@redhat.com> ++ ++ * nss/getXXbyYY_r.c (INTERNAL): Explicitly set errno and avoid ++ returning ERANGE if this wasn't intended. ++ ++2003-09-03 Jakub Jelinek <jakub@redhat.com> ++ ++ * intl/loadmsgcat.c (open, close, read, mmap, munmap): Define as ++ function-like macros. ++ ++2003-09-03 Ulrich Drepper <drepper@redhat.com> ++ ++ * grp/Makefile (CFLAGS-getgrent_r.c): Add -fexceptions. ++ (CFLAGS-getgrent.c): Likewise. ++ * pwd/Makefile (CFLAGS-getpwent_r.c): Add -fexceptions. ++ (CFLAGS-getpwent.c): Likewise. ++ * shadow/Makefile (CFLAGS-getspent_r.c): Add -fexceptions. ++ (CFLAGS-getspent.c): Likewise. ++ ++ * inet/Makefile: Add -fexceptions to CFLAGS for the various ++ getXXent and getXXbyYY functions. ++ ++ * locale/loadlocale.c: Use not-cancelable variants of open, close, ++ and read. ++ ++2003-09-02 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/alpha/Makefile (sysdep_routines): Remove ++ rt_sigsuspend, rt_sigprocmask, rt_sigtimedwait, rt_sigqueueinfo and ++ rt_sigpending. ++ * sysdeps/unix/sysv/linux/alpha/sigaction.c (__syscall_rt_sigaction): ++ New prototype. ++ * sysdeps/unix/sysv/linux/arm/syscalls.list (__syscall_*): Remove ++ unused __syscall_ stubs. ++ * sysdeps/unix/sysv/linux/arm/Makefile (sysdep_routines): Remove ++ rt_*. ++ * sysdeps/unix/sysv/linux/cris/Makefile: Removed. ++ * sysdeps/unix/sysv/linux/mips/mips64/syscalls.list ++ (__syscall_recvfrom, __syscall_sendto): Remove unused aliases. ++ * sysdeps/unix/sysv/linux/mips/syscalls.list (__syscall_*): Remove ++ unused __syscall_ stubs. ++ * sysdeps/unix/sysv/linux/mips/Makefile (sysdep_routines): Remove rt_*. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list ++ (__syscall_*): Remove unused __syscall_ stubs. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list ++ (__syscall_*): Likewise. ++ * sysdeps/unix/sysv/linux/powerpc/Makefile (sysdep_routines): Remove ++ rt_*. ++ * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (__syscall_*): ++ Remove unused __syscall_ stubs. ++ * sysdeps/unix/sysv/linux/sh/Makefile (sysdep_routines): Remove rt_*. ++ * sysdeps/unix/sysv/linux/rt_sigaction.c: Removed. ++ * sysdeps/unix/sysv/linux/rt_sigpending.c: Removed. ++ * sysdeps/unix/sysv/linux/rt_sigprocmask.c: Removed. ++ * sysdeps/unix/sysv/linux/rt_sigqueueinfo.c: Removed. ++ * sysdeps/unix/sysv/linux/rt_sigreturn.c: Removed. ++ * sysdeps/unix/sysv/linux/rt_sigsuspend.c: Removed. ++ * sysdeps/unix/sysv/linux/rt_sigtimedwait.c: Removed. ++ * sysdeps/unix/sysv/linux/s_pread64.c: Removed. ++ * sysdeps/unix/sysv/linux/s_pwrite64.c: Removed. ++ * sysdeps/unix/sysv/linux/alpha/gethostname.c: Remove unused ++ __syscall_* prototypes. ++ * sysdeps/unix/sysv/linux/alpha/ipc_priv.h: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/msgctl.c: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/semctl.c: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/shmctl.c: Likewise. ++ * sysdeps/unix/sysv/linux/arm/sigaction.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/chown.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/fchown.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/fxstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/getegid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/geteuid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/setuid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/getgid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/getgroups.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/getmsg.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/xstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/getresgid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/getresuid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/getrlimit.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/getuid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/lchown.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/lockf64.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/lxstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/putmsg.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/setfsgid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/setfsuid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/setgid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/setgroups.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/setregid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/setrlimit.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/fxstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/lxstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/sigaction.c: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/sigpending.c: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/sigprocmask.c: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/sigsuspend.c: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/xstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/m68k/chown.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/ftruncate64.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/pread.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/ptrace.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/truncate64.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/ustat.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/xmknod.c: Likewise. ++ * sysdeps/unix/sysv/linux/powerpc/chown.c: Likewise. ++ * sysdeps/unix/sysv/linux/powerpc/ioctl.c: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-32/chown.c: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-32/lchown.c: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/xstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/sigprocmask.c: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c: Likewise. ++ * sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise. ++ * sysdeps/unix/sysv/linux/pwrite.c: Likewise. ++ * sysdeps/unix/sysv/linux/execve.c: Likewise. ++ * sysdeps/unix/sysv/linux/aio_sigqueue.c: Likewise. ++ * sysdeps/unix/sysv/linux/reboot.c: Likewise. ++ * sysdeps/unix/sysv/linux/_exit.c: Likewise. ++ * sysdeps/unix/sysv/linux/ftruncate64.c: Likewise. ++ * sysdeps/unix/sysv/linux/pwrite64.c: Likewise. ++ * sysdeps/unix/sysv/linux/fxstat64.c: Likewise. ++ * sysdeps/unix/sysv/linux/gai_sigqueue.c: Likewise. ++ * sysdeps/unix/sysv/linux/readahead.c: Likewise. ++ * sysdeps/unix/sysv/linux/getcwd.c: Likewise. ++ * sysdeps/unix/sysv/linux/sigwait.c: Likewise. ++ * sysdeps/unix/sysv/linux/getdents.c: Likewise. ++ * sysdeps/unix/sysv/linux/readv.c: Likewise. ++ * sysdeps/unix/sysv/linux/getpriority.c: Likewise. ++ * sysdeps/unix/sysv/linux/sigaction.c: Likewise. ++ * sysdeps/unix/sysv/linux/ipc_priv.h: Likewise. ++ * sysdeps/unix/sysv/linux/llseek.c: Likewise. ++ * sysdeps/unix/sysv/linux/sysctl.c: Likewise. ++ * sysdeps/unix/sysv/linux/lxstat64.c: Likewise. ++ * sysdeps/unix/sysv/linux/mmap64.c: Likewise. ++ * sysdeps/unix/sysv/linux/ustat.c: Likewise. ++ * sysdeps/unix/sysv/linux/poll.c: Likewise. ++ * sysdeps/unix/sysv/linux/pread64.c: Likewise. ++ * sysdeps/unix/sysv/linux/writev.c: Likewise. ++ * sysdeps/unix/sysv/linux/pread.c: Likewise. ++ * sysdeps/unix/sysv/linux/ptrace.c: Likewise. ++ * sysdeps/unix/sysv/linux/sigpending.c: Likewise. ++ * sysdeps/unix/sysv/linux/sigprocmask.c: Likewise. ++ * sysdeps/unix/sysv/linux/sigqueue.c: Likewise. ++ * sysdeps/unix/sysv/linux/sigsuspend.c: Likewise. ++ * sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise. ++ * sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise. ++ * sysdeps/unix/sysv/linux/truncate64.c: Likewise. ++ * sysdeps/unix/sysv/linux/xmknod.c: Likewise. ++ * sysdeps/unix/sysv/linux/xstat64.c: Likewise. ++ ++2003-09-02 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/i386/sysdep.h (PSEUDO): Revert last change. ++ * sysdeps/unix/sysv/linux/powerpc/syscalls.list: New file. ++ * sysdeps/unix/sysv/linux/sparc/syscalls.list: New file. ++ ++2003-09-02 Ulrich Drepper <drepper@redhat.com> ++ ++ * stdio-common/Makefile (CFLAGS-vprintf.c): Add -fexceptions. ++ ++ * intl/loadmsgcat.c: For _LIBC, call not cancelable versions of ++ open, close, and read. ++ ++ * sysdeps/unix/sysv/linux/i386/sysdep.h (PSEUDO): Also define ++ *_nocancel name. ++ ++ * sysdeps/unix/sysv/linux/i386/syscalls.list: Add waitpid. ++ ++ * libio/Makefile (CFLAGS-oldtmpfile.c): Add -fexceptions. ++ * sysdeps/generic/tmpfile.c (tmpfile): Use __unlink instead of remove. ++ * libio/oldtmpfile.c (__old_tmpfile): Likewise. ++ ++ * misc/Makefile (CFLAGS-getusershell.c): Add -fexceptions. ++ ++ * io/Makefile (CFLAGS-statfs.c): Add -fexceptions. ++ (CFLAGS-fstatfs.c): Likewise. ++ (CFLAGS-statvfs.c): Likewise. ++ (CFLAGS-fstatvfs.c): Likewise. ++ ++2003-09-01 Ulrich Drepper <drepper@redhat.com> ++ ++ * misc/Makefile (CFLAGS-getsysstats.c): Add -fexceptions. ++ * posix/unistd.h: Remove __THROW from pathconf, fpathconf, ++ sysconf. ++ * posix/Makefile (CFLAGS-sysconf.c): Add -fexceptions. ++ (CFLAGS-pathconf.c): Likewise. ++ (CFLAGS-fpathconf.c): Likewise. ++ ++ * misc/Makefile (CFLAGS-fstab.c): Add -fexceptions. ++ * misc/fstab.h: Remove all __THROW. ++ * misc/Makefile (CFLAGS-mntent.c): Add -fexceptions. ++ (CFLAGS-mntent_r.c): Likewise. ++ * misc/mntent.h: Remove most __THROW. ++ ++ * misc/Makefile (CFLAGS-mkstemp.c): Add -fexceptions. ++ (CFLAGS-mkstemp64.c): Likewise. ++ ++ * sysdeps/generic/wordexp.c (parse_comm): Disable cancellation ++ around call to exec_comm. ++ * posix/wordexp.h: Remove __THROW from wordexp. ++ * posix/Makefile (CFLAGS-wordexp.c): Add -fexceptions. ++ ++ * sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Use ++ not-cancelable functions. ++ ++ * libio/Makefile (CFLAGS-oldiofopen.c): Add -fexceptions. ++ (CFLAGS-iofopen.c): Likewise. ++ (CFLAGS-iofopen64.c): Likewise. ++ ++ * stdlib/fmtmsg.c (fmtmsg): Disable cancellation around output ++ functions. ++ * stdlib/Makefile (CFLAGS-fmtmsg.c): Add -fexceptions. ++ * stdlib/fmtmsg.h: Remove __THROW from fmtmsg. ++ ++ * stdlib/stdlib.h: Remove __THROW from posix_openpt and getpt. ++ * login/Makefile (CFLAGS-getpt.c): Add -fexceptions. ++ ++2003-09-01 Thorsten Kukuk <kukuk@suse.de> ++ ++ * nis/nss_compat/compat-spwd.c (getspnam_plususer): Return ++ NSS_STATUS_SUCCESS if entry was found. ++ (getspent_next_file): Store user in blacklist after entry ++ was found, use innetgr. ++ ++2003-09-01 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/posix_fadvise.c: New. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/posix_fadvise64.c: New. ++ ++ * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Fix tls offset ++ computation for TCB_AT_TP. Support l_firstbyte_offset != 0 for ++ DTV_AT_TP, optimize. ++ ++2003-08-31 Kaz Kojima <kkojima@rr.iij4u.or.jp> ++ ++ * sysdeps/unix/sysv/linux/sh/Versions: Add posix_fadvise64 and ++ posix_fallocate64 at GLIBC_2.3.3. ++ * sysdeps/unix/sysv/linux/sh/sysdep.h (PSEUDO_ERRVAL): Define. ++ (PSEUDO_END_ERRVAL, ret_ERRVAL): Likewise. ++ ++2003-08-08 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/syscalls.list: Remove __syscall_ ++ functions. ++ ++2003-08-31 Ulrich Drepper <drepper@redhat.com> ++ ++ * libio/libioP.h (_IO_acquire_lock_fct): Define as inline function. ++ Code by Richard Henderson. ++ ++2003-08-31 Philip Blundell <philb@gnu.org> ++ ++ * sysdeps/unix/sysv/linux/arm/Versions: Add posix_fadvise64 and ++ posix_fallocate64 at GLIBC_2.3.3. ++ ++2003-08-31 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/x86_64/bsd-_setjmp.S: Use HIDDEN_JUMPTARGET. ++ * include/setjmp.h: Add libc_hidden_proto for __sigsetjmp. ++ ++2003-08-30 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/generic/sysdep.h (cfi_window_save, CFI_WINDOW_SAVE): Define. ++ * sysdeps/unix/sysv/linux/sparc/bits/setjmp.h: Allow file to be ++ included multiple times. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone): Pass ++ ptid, tls, ctid arguments to the kernel. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c (__getpagesize): ++ Use INTERNAL_SYSCALL instead of __syscall_getpagesize. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c ++ (__libc_sigaction): Use INLINE_SYSCALL instead of ++ __syscall_rt_sigaction. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list ++ (__syscall_getgroups, __syscall_getpagesize, __syscall__llseek, ++ __syscall_setfsgid, __syscall_setfsuid, __syscall_setgid, ++ __syscall_setgroups, __syscall_setregid, __syscall_setreuid, ++ __syscall_ipc, __syscall_setuid, __syscall_rt_sigaction, ++ __syscall_rt_sigpending, __syscall_rt_sigprocmask, ++ __syscall_rt_sigqueueinfo, __syscall_rt_sigsuspend, ++ __syscall_rt_sigtimedwait): Remove unneeded syscall stubs. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/Makefile (sysdep_routines): ++ Remove rt_sigsuspend, rt_sigprocmask, rt_sigtimedwait, ++ rt_sigqueueinfo, rt_sigaction and rt_sigpending. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h ++ (__CLONE_SYSCALL_STRING): Define. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/socket.S (__socket): Add ++ CFI directives. ++ * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h ++ (__CLONE_SYSCALL_STRING): Define. ++ * sysdeps/unix/sysv/linux/sparc/sysdep.h (INLINE_CLONE_SYSCALL): ++ Define. ++ * sysdeps/unix/sysv/linux/sparc/system.c: New file. ++ ++2003-08-30 Ulrich Drepper <drepper@redhat.com> ++ ++ * sunrpc/rpc/clnt.h: Remove a few __THROW. ++ * sunrpc/Makefile (CFLAGS-auth_unix.c): Add -fexceptions. ++ (CFLAGS-key_call.c): Likewise. ++ (CFLAGS-pmap_rmt.c): Likewise. ++ (CFLAGS-clnt_perr.c): Likewise. ++ * sunrpc/rpc/auth.h: Remove serveral __THROW. ++ ++ * inet/Makefile (CFLAGS-gethstbyad_r.c): Add -fexceptions. ++ (CFLAGS-gethstbynm_r.c): Likewise. ++ (CFLAGS-gethstbynm2_r.c): Likewise. ++ (CFLAGS-rcmd.c): Likewise. ++ * resolv/Makefile (CFLAGS-res_hconf.c): Add -fexceptions. ++ ++ * argp/Makefile (CFLAGS-argp-help.c): Add -fexceptions. ++ (CFLAGS-argp-fmtstream.c): Likewise. ++ * argp/argp.h: Remove a number of __THROW. ++ ++ * misc/sys/syslog.h (vsyslog): Remove __THROW. ++ ++ * misc/Makefile (CFLAGS-getpass.c): Add -fexceptions. ++ * misc/getpass.c (getpass): Add cleanup handler to ensure the ++ stream is closed even if the thread is canceled. ++ (call_fclose): New function. ++ * posix/unistd.h: Remove __THROW from getpass prototype. ++ ++ * posix/Makefile (CFLAGS-getopt.c): Add -fexceptions. ++ ++ * signal/signal.h (psignal): Remove __THROW. ++ * stdio-common/Makefile (CFLAGS-psignal.c): Add -fexceptions. ++ ++ * misc/Makefile (CFLAGS-error.c): Define. ++ * misc/error.c (error): Disable cancellation handling around the ++ actual output. The message should in any case be printed. ++ (error_at_line): Likewise. ++ ++ * misc/error.h: Protect parameter names with leading __. ++ ++2003-08-28 Carlos O'Donell <carlos@baldric.uwo.ca> ++ ++ * sysdeps/unix/sysv/linux/hppa/syscalls.list: Add semtimedop. ++ ++2003-08-29 Jakub Jelinek <jakub@redhat.com> ++ ++ * libio/iofgetpos64.c (_IO_new_fgetpos64): Move lock release to the ++ end. ++ ++2003-08-29 Ulrich Drepper <drepper@redhat.com> ++ ++ * libio/stdio.h: Remove a few more __THROW. ++ ++2003-08-29 Jakub Jelinek <jakub@redhat.com> ++ ++ * libio/Makefile: Compile fputc.c, fputwc.c, freopen64.c, freopen.c, ++ fseek.c, fseeko64.c, fseeko.c, ftello64.c, ftello.c, fwide.c, getc.c, ++ getchar.c, getwc.c, getwchar.c, iofclose.c, iofflush.c, iofgetpos64.c, ++ iofgetpos.c, iofgets.c, iofgetws.c, iofputs.c, iofputws.c, iofread.c, ++ iofsetpos64.c, iofsetpos.c, ioftell.c, iofwrite.c, iogetdelim.c, ++ iogetline.c, iogets.c, iogetwline.c, ioputs.c, ioseekoff.c, ++ ioseekpos.c, iosetbuffer.c, iosetvbuf.c, ioungetc.c, ioungetwc.c, ++ oldfileops.c, oldiofclose.c, oldiofgetpos64.c, oldiofgetpos.c, ++ oldiofsetpos64.c, oldiofsetpos.c, peekc.c, putc.c, putchar.c, putwc.c, ++ putwchar.c and rewind.c with exceptions. ++ * sysdeps/generic/bits/stdio-lock.h (_IO_acquire_lock, ++ _IO_release_lock): Define. ++ * libio/fileops.c (_IO_new_file_underflow): Use it. ++ * libio/fputc.c (fputc): Likewise. ++ * libio/fputwc.c (fputwc): Likewise. ++ * libio/freopen64.c (freopen64): ++ * libio/freopen.c (freopen): Likewise. ++ * libio/fseek.c (fseek): Likewise. ++ * libio/fseeko64.c (fseeko64): Likewise. ++ * libio/fseeko.c (fseeko): Likewise. ++ * libio/ftello64.c (ftello64): Likewise. ++ * libio/ftello.c (ftello): Likewise. ++ * libio/fwide.c (fwide): Likewise. ++ * libio/getc.c (_IO_getc): Likewise. ++ * libio/getchar.c (getchar): Likewise. ++ * libio/getwc.c (_IO_getwc): Likewise. ++ * libio/getwchar.c (getwchar): Likewise. ++ * libio/iofclose.c (_IO_new_fclose): ++ * libio/iofflush.c (_IO_fflush): Likewise. ++ * libio/iofgetpos64.c (_IO_new_fgetpos64): Likewise. ++ * libio/iofgetpos.c (_IO_new_fgetpos): Likewise. ++ * libio/iofgets.c (_IO_fgets): Likewise. ++ * libio/iofgetws.c (fgetws): Likewise. ++ * libio/iofputs.c (_IO_fputs): Likewise. ++ * libio/iofputws.c (fputws): Likewise. ++ * libio/iofread.c (_IO_fread): Likewise. ++ * libio/iofsetpos64.c (_IO_new_fsetpos64): Likewise. ++ * libio/iofsetpos.c (_IO_new_fsetpos): Likewise. ++ * libio/ioftell.c (_IO_ftell): Likewise. ++ * libio/iofwrite.c (_IO_fwrite): Likewise. ++ * libio/iogetdelim.c (_IO_getdelim): Likewise. ++ * libio/iogets.c (_IO_gets): Likewise. ++ * libio/ioputs.c (_IO_puts): Likewise. ++ * libio/ioseekoff.c (_IO_seekoff): Likewise. ++ * libio/ioseekpos.c (_IO_seekpos): Likewise. ++ * libio/iosetbuffer.c (_IO_setbuffer): Likewise. ++ * libio/iosetvbuf.c (_IO_setvbuf): Likewise. ++ * libio/ioungetc.c (_IO_ungetc): Likewise. ++ * libio/ioungetwc.c (ungetwc): Likewise. ++ * libio/oldiofclose.c (_IO_old_fclose): Likewise. ++ * libio/oldiofgetpos64.c (_IO_old_fgetpos64): Likewise. ++ * libio/oldiofgetpos.c (_IO_old_fgetpos): Likewise. ++ * libio/oldiofsetpos64.c (_IO_old_fsetpos64): Likewise. ++ * libio/oldiofsetpos.c (_IO_old_fsetpos): Likewise. ++ * libio/peekc.c (_IO_peekc_locked): Likewise. ++ * libio/putc.c (_IO_putc): Likewise. ++ * libio/putchar.c (putchar): Likewise. ++ * libio/putwc.c (putwc): Likewise. ++ * libio/putwchar.c (putwchar): Likewise. ++ * libio/rewind.c (rewind): Likewise. ++ * libio/wfileops.c (_IO_wfile_underflow): Likewise. ++ ++2003-08-29 Ulrich Drepper <drepper@redhat.com> ++ ++ * signal/signal.h: sighold, sigrelse, sigignore, sigset were ++ available in XPG4.2. ++ ++2003-08-27 Phil Knirsch <pknirsch@redhat.com> ++ Jakub Jelinek <jakub@redhat.com> ++ ++ * sunrpc/svc.c (svc_getreqset): Fix fds_bits reading on 64-bit ++ big endian arches. Don't read beyond end of fds_bits array. ++ ++2003-04-27 Bruno Haible <bruno@clisp.org> ++ ++ * manual/message.texi (Advanced gettext functions): Add information ++ about Korean, Portuguese, Latvian. Gaeilge is also known as Irish. ++ Add section about Lithuanian, reported by Ricardas Cepas ++ <rch@richard.eu.org>. ++ Add information about Croatian. ++ Ukrainian is like Russian, reported by Andy Rysin <arysin@yahoo.com>. ++ Remove remark about continuation lines that is not true for PO files. ++ Fix formula for Slovenian, reported by Roman Maurer ++ <roman.maurer@amis.net>. ++ ++2003-08-27 Ulrich Drepper <drepper@redhat.com> ++ ++ * math/math_private.h: Declare __copysignf. ++ * sysdeps/ieee754/flt-32/s_scalbnf.c: Use __copysignf instead of ++ copysignf. ++ ++ * sysdeps/x86_64/fpu/bits/mathinline.h: Define __signbitf, ++ __signbit, and __signbitl inline functions. ++ ++ * sysdeps/unix/sysv/linux/x86_64/__start_context.S: Use ++ HIDDEN_JUMPTARGET instead of JUMPTARGET to call exit(). ++ ++ * sysdeps/x86_64/bsd-_setjmp.S [PIC]: Jump to __GI___sigsetjmp. ++ * sysdeps/x86_64/setjmp.S: Add libc_hidden_def for __sigsetjmp. ++ ++2003-08-27 Jakub Jelinek <jakub@redhat.com> ++ ++ * inet/inet_mkadr.c (inet_makeaddr): Optimize. ++ ++2003-08-27 Ulrich Drepper <drepper@redhat.com> ++ ++ * include/stdio.h: Add declarations for __builtin_fwrite and ++ __builtin_fwrite_unlocked. ++ ++2003-08-27 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/opendir.c (__opendir): Make sure even struct dirent64 ++ fits into allocation. Add padding on 32-bit arches so that ++ dirp->data is enough aligned for struct dirent64. ++ Avoid clearing of the buffer, just clear DIR structure. ++ ++2003-08-26 Ulrich Drepper <drepper@redhat.com> ++ ++ * nss/nsswitch.c: Add libc_hidden_def for __nss_lookup_function. ++ * nss/nsswitch.h: Add libc_hidden_proto for __nss_lookup_function. ++ ++2003-08-26 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/powerpc/powerpc64/elf/Makefile: New file. ++ ++2003-08-26 Jakub Jelinek <jakub@redhat.com> ++ ++ * login/programs/utmpdump.c (print_entry): Cast tv_usec to long ++ to match format string. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c (union semun): Add ++ __old_buf. ++ (__new_semctl): Shut up warning. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h ++ (_dl_string_hwcap): Add __attribute__ ((always_inline)). ++ ++2003-08-26 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/ldconfig.c (search_dir): When checking for GNU-style .so ++ link file use the real file name, not the resolved name we got by ++ following the symlinks. ++ ++2003-08-25 Ulrich Drepper <drepper@redhat.com> ++ ++ * libio/oldfileops.c (_IO_old_file_init): Initialize _mode field ++ if the object size is large enough. ++ ++2003-08-25 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/ldconfig.c (search_dir): Treat symlink as regular file ++ if it won't point to itself unless it is .so symlink for the linker. ++ ++2003-08-25 Ulrich Drepper <drepper@redhat.com> ++ ++ * libio/libio.h (_IO_fwide): In the mode==0 optimization, don't ++ use _mode if _IO_fwide_maybe_incompatible. ++ * libio/iofwide.c (_IO_fwide): Move the test for mode == 0 after ++ the compatibility test. ++ ++2003-08-25 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/cache.c (save_cache): Don't write beyond end of file_entries ++ buffer. ++ Duplicate last old cache entry if the count would be odd. ++ ++2003-08-25 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/unix/sysv/linux/posix_fadvise64.c: Cast arguments of ++ __LONG_LONG_PAIR to long. ++ ++2003-08-25 Philip Blundell <philb@gnu.org> ++ ++ * sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO_ERRVAL): Define. ++ (PSEUDO_END_ERRVAL, ret_ERRVAL): Likewise. ++ ++2003-08-18 Alfred M. Szmidt <ams@kemisten.nu> ++ ++ * sysdeps/generic/bits/libc-lock.h (__libc_cleanup_pop): Redefine ++ and use __libc_cleanup_region_end instead. ++ ++2003-08-25 Ulrich Drepper <drepper@redhat.com> ++ ++ * elf/ldconfig.c (search_dir): Revert patch of 2003-7-21. ++ ++2003-08-22 Ulrich Drepper <drepper@redhat.com> ++ ++ * io/fcntl.h (posix_fallocate): Change type of third parameter to ++ off_t. ++ (posix_fallocate64): Change type of third parameter to off64_t. ++ * sysdeps/generic/posix_fallocate.c: Adjust for type change. ++ * sysdeps/posix/posix_fallocate.c: Likewise. ++ * sysdeps/generic/posix_fallocate64.c: Likewise. ++ * sysdeps/posix/posix_fallocate64.c: Likewise. Add compatibility ++ code for 32-bit platforms. ++ * sysdeps/unix/sysv/linux/i386/Versions: Add new version for ++ posix_fallocate64. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-32/Versions: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/Versions: Likewise. ++ ++2003-08-19 Ulrich Drepper <drepper@redhat.com> ++ ++ * string/bits/string2.h (__STRING2_COPY_TYPE): Add attribute to ++ the type, not to name. ++ ++ * stdio-common/test-vfprintf.c (main): Don't write temporary file ++ into source directory. ++ ++ * malloc/malloc.c (_int_free): Add cheap test for some invalid ++ block sizes. ++ ++ * sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: Fix typo in ++ syscall name. ++ ++2003-08-18 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/shm_open.c (shm_open): Fold EISDIR error ++ into EINVAL. ++ ++2003-08-18 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * sysdeps/ia64/dl-machine.h (elf_machine_rela): Use _dl_reloc_bad_type. ++ (elf_machine_lazy_rel): Likewise. ++ ++2003-08-18 Art Haas <ahaas@airmail.net> ++ ++ * malloc/malloc.h: Remove unneeded ';' where closing the C++ ++ extern block. ++ ++2003-08-18 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/ia64/dl-fptr.h (ELF_MACHINE_LOAD_ADDRESS): Support ++ loading big binaries where @gprel(sym) cannot be handled in 'add' ++ but instead has to be used with 'movl'. ++ ++2003-08-17 Juergen Kreileder <jk@blackdown.de> ++ Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/x86_64/bits/byteswap.h: New file. ++ ++2003-08-17 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: Fix typo. ++ ++2003-08-16 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/powerpc/powerpc32/sysdep.h (PSEUDO_ERRVAL, ++ PSEUDO_RET_ERRVAL, ret_ERRVAL, PSEUDO_END_ERRVAL): Define. ++ * sysdeps/powerpc/powerpc64/sysdep.h (PSEUDO_ERRVAL, ++ PSEUDO_RET_ERRVAL, ret_ERRVAL, PSEUDO_END_ERRVAL): Define. ++ * sysdeps/unix/alpha/sysdep.h (PSEUDO_ERRVAL, ++ ret_ERRVAL, PSEUDO_END_ERRVAL): Define. ++ * sysdeps/unix/mips/sysdep.h (PSEUDO_ERRVAL, ++ ret_ERRVAL, PSEUDO_END_ERRVAL): Define. ++ * sysdeps/unix/sparc/sysdep.h (PSEUDO_ERRVAL, ++ ret_ERRVAL): Define. ++ * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (PSEUDO_ERRVAL, ++ PSEUDO_END_ERRVAL, ret_ERRVAL): Define. ++ * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (PSEUDO_ERRVAL, ++ PSEUDO_END_ERRVAL, ret_ERRVAL): Define. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (PSEUDO_ERRVAL): ++ Define. ++ * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (PSEUDO_ERRVAL, ++ PSEUDO_END_ERRVAL, ret_ERRVAL): Define. ++ * sysdeps/unix/sysdep.h (PSEUDO_END_ERRVAL): Define. ++ ++ * sysdeps/unix/sysv/linux/syscalls.list (posix_fadvise64, ++ posix_fadvise64_64): Remove. ++ * sysdeps/unix/sysv/linux/alpha/syscalls.list (posix_fadvise64): Add ++ V flag. ++ * sysdeps/unix/sysv/linux/ia64/syscalls.list (posix_fadvise64): ++ Likewise. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list ++ (posix_fadvise64): Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list ++ (posix_fadvise64): Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list ++ (posix_fadvise64): Likewise. ++ * sysdeps/unix/sysv/linux/x86_64/syscalls.list (posix_fadvise64): ++ Likewise. ++ * sysdeps/unix/sysv/linux/i386/posix_fadvise64_64.S: Moved to... ++ * sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: ...here. ++ (__posix_fadvise64_l64): Fix a typo in fadvise64 syscall invocation. ++ (__posix_fadvise64_l32): New function. ++ * sysdeps/unix/sysv/linux/i386/Makefile: Revert last change. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions (libc): Export ++ posix_fadvise64@@GLIBC_2.3.3. ++ * sysdeps/unix/sysv/linux/s390/s390-32/Versions (libc): Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/Versions (libc): Likewise. ++ * sysdeps/unix/sysv/linux/posix_fadvise.c (posix_fadvise): Return ++ error value. ++ * sysdeps/unix/sysv/linux/posix_fadvise64.c: New file. ++ ++ * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h ++ (SYSCALL_ERROR_HANDLER): Use TLS errno/__libc_errno if USE___THREAD. ++ ++2003-08-15 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/sparc/sparc32/dl-machine.h (WEAKADDR): Remove. ++ (elf_machine_matches_host): Remove weak extern stuff. ++ Use GL(dl_hwcap) unconditionally and GL(dl_hwcap_mask) if SHARED. ++ (elf_machine_runtime_setup, sparc_fixup_plt): Remove weak extern ++ stuff. Use GL(dl_hwcap) unconditionally. ++ ++2003-08-16 Alan Modra <amodra@bigpond.net.au> ++ ++ * sysdeps/powerpc/powerpc64/elf/start.S: Add a nop after ++ __libc_start_main branch. ++ ++2003-08-16 Jakub Jelinek <jakub@redhat.com>, ++ Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/generic/posix_fadvise.c (posix_fadvise): Return ENOSYS ++ instead of setting errno. ++ * sysdeps/generic/posix_fadvise64.c (posix_fadvise64): Likewise. ++ ++2003-08-16 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/generic/posix_fadvise.c (posix_fadvise): Adjust prototype. ++ * sysdeps/generic/posix_fadvise64.c (posix_fadvise64): Likewise. ++ ++2003-08-15 Ulrich Drepper <drepper@redhat.com> ++ ++ * io/fcntl.h (posix_fadvise64): Change type of third parameter to ++ off_t. ++ * sysdeps/unix/sysv/linux/posix_fadvise.c: Adjust definition. ++ * sysdeps/unix/make-syscalls.sh: Recognize V prefix to the parameter ++ description indicating the error value is returned, not -1. ++ * sysdeps/unix/sysv/linux/kernel-features.h: Add definition of ++ __ASSUME_FADVISE64_64_SYSCALL. ++ * sysdeps/unix/sysv/linux/syscalls.list: Don't define madvise and ++ posix_madvise in one file. Have posix_madvise defined with error ++ value returned. ++ Define posix_fadvise64_64 entry. Add version info to posix_fadvise64 ++ entry. ++ * sysdeps/unix/sysv/linux/i386/posix_fadvise.S: New file. ++ * sysdeps/unix/sysv/linux/i386/sysdep.h: Define PSEUDO_ERRVAL, ++ PSEUDO_END_ERRVAL, and ret_ERRVAL. ++ * sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/i386/Versions [GLIBC_2.3.3]: Add ++ posix_fadvise64. ++ ++ * posix/Makefile (routines): Add posix_madvise. ++ * sysdeps/generic/madvise.c: Don't define posix_madvise. ++ * sysdeps/generic/posix_madvise.c: New file. ++ * sysdeps/unix/sysv/aix/posix_madvise.c: New file. ++ * sysdeps/unix/sysv/linux/i386/Makefile [subdir=io] (subdir_routines): ++ Add posix_fadvise64_64. ++ ++2003-08-15 Jakub Jelinek <jakub@redhat.com> ++ ++ * assert/assert.h (assert_perror): Use __builtin_expect for gcc >= ++ 3.0, not for !gcc or gcc < 3.0. ++ ++2003-08-11 Carlos O'Donell <carlos@baldric.uwo.ca> ++ ++ * dlfcn/default.c (main): Cast dlsym loaded value to same type as main. ++ Address passed to test_in_mod1 and test_in_mod2 without casting. ++ * dlfcn/defaultmod1.c: Change prototype of test_in_mod1. ++ (test_in_mod1): Cast dlsym loaded value to same type as mainp. ++ * dlfcn/defaultmod2.c: Change prototype of test_in_mod2. ++ (test_in_mod2): Cast dlsym loaded value to same type as mainp. ++ ++2003-08-15 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/sparc/sparc32/elf/configure.in (libc_cv_sparc32_tls): ++ Change quotes before using []. ++ ++ * sysdeps/unix/sysv/linux/sparc/sys/user.h: New file. ++ ++ * sysdeps/sparc/sparc32/bits/atomic.h (__sparc32_atomic_lock): ++ Renamed to... ++ (__sparc32_atomic_locks): ...this. Change into 64-byte array. ++ (__sparc32_atomic_do_lock, __sparc32_atomic_do_unlock): Add addr ++ argument. Select one of 64 locks from address bits. ++ (atomic_compare_and_exchange_val_acq, ++ atomic_compare_and_exchange_bool_acq): Pass memory address to ++ __sparc32_atomic_do_{,un}lock. ++ ++2003-08-14 Ulrich Drepper <drepper@redhat.com> ++ ++ * assert/assert.h (assert): Use !! in front of expression to allow ++ use of pointers. ++ ++ * iconvdata/cp932.c: Fixed checking of a few border of code areas. ++ Changed conversion of JIS X 0201 from using a table to calculating. ++ * iconvdata/euc-jp-ms.c: Fixed conversion table and rewrote ++ conversion routine. Changed CHARSET_NAME definition from EUCJP-MS to ++ EUC-JP-MS. ++ * iconvdata/tst-tables.sh: Add CP932 and EUC-JP-MS. ++ * iconvdata/CP932.irreversible: New file. ++ * iconvdata/EUC-JP-MS.irreversible: New file. ++ Patch by MORIYAMA Masayuki <msyk@mtg.biglobe.ne.jp>. ++ ++2003-08-13 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/i386/syscalls.list: Add time syscall. ++ ++ * elf/Makefile: Use LC_ALL=C in a few cases where we call external ++ text processing tools. ++ ++ * sysdeps/pthread/aio_misc.h (struct waitlist): Don't add caller_pid ++ element unless BROKEN_THREAD_SIGNALS is defined. ++ (struct requestlist): Likewise. ++ * sysdeps/pthread/aio_misc.c (__aio_enqueue_request): Don't fill in ++ caller_pid of new request unless BROKEN_THREAD_SIGNALS is defined. ++ * sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise. ++ * sysdeps/pthread/aio_notify.c (__aio_notify_only): Remove caller_pid ++ parameter unless BROKEN_THREAD_SIGNALS is defined. Adjust callers. ++ Pass current PID to __aio_sigqueue. ++ * sysdeps/pthread/lio_listio.c (lio_listio): Adjust __aio_notify_only ++ call. Don't initialize caller_pid field of waitlist element. ++ ++2003-08-12 Jakub Jelinek <jakub@redhat.com> ++ ++ * libio/libioP.h (_IO_vtable_offset): Define. ++ * libio/freopen.c (freopen): Use it. ++ * libio/ioputs.c (_IO_puts): Likewise. ++ * libio/freopen64.c (freopen64): Likewise. ++ * libio/genops.c (__underflow, __uflow, _IO_flush_all_lockp): ++ Likewise. ++ * libio/iofclose.c (_IO_new_fclose): Likewise. ++ * libio/iofputs.c (_IO_fputs): Likewise. ++ * libio/ioftell.c (_IO_ftell): Likewise. ++ * libio/iofwrite.c (_IO_fwrite): Likewise. ++ * libio/ioseekoff.c (_IO_seekoff_unlocked): Likewise. ++ * libio/iosetbuffer.c (_IO_setbuffer): Likewise. ++ * stdio-common/vfprintf.c (ORIENT, vfprintf): Likewise. ++ * stdio-common/vfscanf.c (ORIENT): Likewise. ++ ++2003-08-11 Ulrich Drepper <drepper@redhat.com> ++ ++ * assert/assert.h: Use __builtin_expect in assert and ++ assert_perror definitions if possible. ++ ++2003-08-07 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/generic/ldsodefs.h (_rtld_global): Add ++ _dl_rtld_lock_recursive and _dl_rtld_unlock_recursive. ++ * elf/rtld.c (rtld_lock_default_lock_recursive, ++ rtld_lock_default_unlock_recursive): New functions. ++ (dl_main): Initialize _dl_rtld_lock_recursive and ++ _dl_rtld_unlock_recursive. ++ ++2003-08-05 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/ldconfig.c (main): Append SLIBDIR and LIBDIR to ++ config_file directories instead of prepending. ++ ++2003-08-02 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/kernel-features.h: Define ++ __ASSUME_CLONE_STOPPED. ++ ++2003-08-01 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/bits/libc-lock.h ++ (__libc_cleanup_push,__libc_cleanup_pop): Define even here. ++ ++2003-08-01 Roland McGrath <roland@frob.com> ++ ++ * sysdeps/mach/hurd/getdents.c: Just use sysdeps/generic/getdents.c. ++ ++2003-07-31 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/generic/bits/types.h (__ssize_t): Use __SSIZE_T_TYPE ++ instead of __SWORD_TYPE. ++ * sysdeps/generic/bits/typesizes.h (__SSIZE_T_TYPE): Define. ++ * sysdeps/mach/hurd/bits/typesizes.h (__SSIZE_T_TYPE): Define. ++ * sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h (__SSIZE_T_TYPE): ++ Define. ++ * sysdeps/unix/sysv/linux/alpha/bits/typesizes.h (__SSIZE_T_TYPE): ++ Define. ++ * sysdeps/unix/sysv/linux/sparc/bits/typesizes.h (__SSIZE_T_TYPE): ++ Define. ++ * sysdeps/unix/sysv/linux/s390/bits/typesizes.h: New file. ++ ++ * dlfcn/dlerror.c (once): New. ++ (dlerror): Call __libc_once. ++ (_dlerror_run): Remove once. ++ ++ * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h (struct sigcontext): ++ Sync with 2.5.7 and 2.5.73 kernel changes. ++ ++ * dlfcn/eval.c (funcall): Add noinline attribute to shut up warnings. ++ * elf/rtld.c (dl_main): Cast ElfW(Addr) arguments with %Zx/%Zd ++ formats to size_t. ++ * elf/dl-lookup.c (_dl_debug_bindings): Likewise. ++ * elf/tst-tls6.c (do_test): Use %zd format for l_tls_modid. ++ * elf/tst-tls8.c (do_test): Use %zd format for modid1 and modid2. ++ * gmon/tst-sprofil.c (main): Add parens to shut up warning. ++ * iconv/tst-iconv3.c (main): Use %td instead of %zd for pointer ++ difference argument. ++ * stdio-common/tst-wc-printf.c (main): Cast arguments with %C ++ format to wint_t. ++ * stdlib/tst-limits.c (main): For WORD_BIT and LONG_BIT, use ++ %d format and cast expected value to int. ++ * sysdeps/generic/libc-start.c (STATIC): Add ++ __attribute__((always_inline) if LIBC_START_MAIN is already defined. ++ * sysdeps/powerpc/fpu/w_sqrt.c (a_nan, a_inf): Change from uint32_t ++ to ieee_float_shape_type. ++ (__sqrt): Avoid type punning. ++ * sysdeps/powerpc/fpu/w_sqrtf.c (a_nan, a_inf): Change from uint32_t ++ to ieee_float_shape_type. ++ (__sqrtf): Avoid type punning. ++ * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): Don't define ++ refsym if in dl-conflict.c. ++ * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela): Likewise. ++ * sysdeps/unix/sysv/linux/i386/semctl.c (union semun): Add __old_buf. ++ (__new_semctl): Shut up warning. ++ * sysdeps/unix/sysv/linux/semctl.c (union semun): Add __old_buf. ++ (__new_semctl): Shut up warning. ++ * sysdeps/unix/sysv/linux/shmctl.c (__new_shmctl): Wrap long lines. ++ Change old into union of __old_shmid_ds and __old_shminfo structs. ++ Adjust all users. ++ * wcsmbs/wcsmbs-tst1.c (main): Cast arguments with %C format to wint_t. ++ ++ * sysdeps/unix/sysv/linux/utimes.c (__utimes): Fix actime and ++ modtime computation. ++ * sysdeps/unix/sysv/linux/futimes.c (__futimes): Likewise. ++ * sysdeps/posix/utimes.c (__utimes): Likewise. ++ ++2003-07-30 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/dl-reloc.c (_dl_allocate_static_tls): Don't return any value, ++ call dl_signal_error directly. If already relocated, call ++ GL(dl_init_static_tls) directly, otherwise queue it for later. ++ (CHECK_STATIC_TLS): Undo 2003-07-24 change. ++ * elf/rtld.c (dl_main): Initialize GL(dl_init_static_tls). ++ * elf/dl-open.c (dl_open_worker): Call GL_dl_init_static_tls ++ for all static TLS initializations delayed in _dl_allocate_static_tls. ++ * elf/dl-support.c (_dl_init_static_tls): New variable. ++ * include/link.h (struct link_map): Add l_need_tls_init. ++ * sysdeps/generic/ldsodefs.h (_rtld_global): Add _dl_init_static_tls. ++ (_dl_nothread_init_static_tls): New prototype. ++ (_dl_allocate_static_tls): Adjust prototype. ++ ++ * elf/tls-macros.h (VAR_INT_DEF): Add alignment directive. ++ ++2003-07-31 Alexandre Oliva <aoliva@redhat.com> ++ ++ * elf/dynamic-link.h (elf_machine_rel, elf_machine_rela, ++ elf_machine_rel_relative, elf_machine_rela_relative): Don't assume ++ reloc_addr is aligned. ++ * sysdeps/alpha/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ * sysdeps/arm/dl-machine.h (elf_machine_rel, elf_machine_rela, ++ elf_machine_rel_relative, elf_machine_rela_relative): Adjust. ++ * sysdeps/cris/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ * sysdeps/hppa/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ * sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela, ++ elf_machine_rel_relative, elf_machine_rela_relative): Adjust. ++ * sysdeps/ia64/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ * sysdeps/m68k/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ * sysdeps/mips/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ * sysdeps/powerpc/powerpc64/dl-machine.h ++ (elf_machine_rela_relative, elf_machine_rela): Adjust. ++ * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ * sysdeps/sh/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ * sysdeps/x86_64/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ ++2003-07-29 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Restore ++ alignment of TCB used before the last change so that it matches ++ ld's output for IE code. ++ ++2003-07-29 Jakub Jelinek <jakub@redhat.com> ++ ++ * include/ctype.h (__ctype_b_loc, __ctype_toupper_loc, ++ __ctype_tolower_loc): Avoid "dereferencing type-punned pointer will ++ break strict-aliasing rules" warnings. ++ ++2003-07-29 Roland McGrath <roland@redhat.com> ++ ++ * elf/Makefile: Revert accidental changes in last commit. ++ * elf/dl-support.c: Likewise. ++ ++ * rt/tst-timer2.c: New file. ++ * rt/Makefile (tests): Add it. ++ ++2003-07-25 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/dl-support.c (_dl_hwcap): Add nocommon attribute. ++ ++2003-07-29 Roland McGrath <roland@redhat.com> ++ ++ * elf/Makefile (tests) [$(build-shared) = yes]: ++ Depend on $(test-modules). ++ * dlfcn/Makefile: Likewise. ++ ++2003-07-28 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/generic/bits/types.h (__STD_TYPE): New macro. ++ Use that instead of `typedef' when using __*_TYPE macros in rhs. ++ ++ * elf/tst-tls14.c [USE_TLS && HAVE___THREAD]: Conditionalize on this. ++ * elf/tst-tlsmod14a.c: Likewise. ++ ++ * sysdeps/unix/sysv/linux/sys/sysctl.h: Include <linux/compiler.h> ++ before <linux/sysctl.h>. ++ ++2003-07-27 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/syscalls.list: time syscall never fails. ++ * sysdeps/unix/sysv/linux/x86_64/time.S: time syscall never fails. ++ * sysdeps/unix/sysv/i386/time.S: time syscall never fails. ++ * sysdeps/unix/syscalls.list: umask syscall never fails. ++ ++2003-07-27 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/unix/sysv/linux/init-first.c: Mark init as used. ++ ++2003-07-25 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/a.out.h: Replace with i386 version. ++ Include bits/a.out.h. ++ * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add ++ bits/a.out.h. ++ * sysdeps/unix/sysv/linux/bits/a.out.h: New file. ++ * sysdeps/unix/sysv/linux/i386/bits/a.out.h: New file. ++ * sysdeps/unix/sysv/linux/m68k/bits/a.out.h: New file. ++ * sysdeps/unix/sysv/linux/x86_64/bits/a.out.h: New file. ++ * sysdeps/unix/sysv/linux/alpha/a.out.h: New file. ++ * sysdeps/unix/sysv/linux/alpha/bits/a.out.h: New file. ++ * sysdeps/unix/sysv/linux/sparc/a.out.h: New file. ++ * sysdeps/unix/sysv/linux/sparc/bits/a.out.h: New file. ++ ++2003-07-24 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/pthread/aio_cancel.c (aio_cancel): Return AIO_ALLDONE ++ if aiocbp != NULL and has already completed. Return -1/EINVAL if ++ aiocbp->aio_fildes does not match fildes. ++ ++2003-07-24 Ulrich Drepper <drepper@redhat.com> ++ ++ * timezone/zic.c (rpytime): Replace cheap overflow check with a ++ functioning one. ++ ++ * include/link.h (struct link_map): Add l_tls_firstbyte_offset field. ++ * sysdeps/generic/dl-tls.c [TLS_TCB_AT_TP] (_dl_determine_tlsoffset): ++ Fix calculation of offsets to take misalignment of first byte in ++ file into account. ++ * elf/dl-load.c (_dl_map_object_from_fd): Initialize ++ l_tls_firstbyte_offset field. ++ * elf/rtld.c (_dl_start_final, _dl_start, dl_main): Likewise. ++ * elf/dl-reloc.c (_dl_allocate_static_tls): Change return type to int. ++ Take l_tls_firstbyte_offset information into account. ++ (CHECK_STATIC_TLS): _dl_allocate_static_tls can fail now. ++ * sysdeps/generic/ldsodefs.h: Adjust _dl_allocate_static_tls prototype. ++ * elf/Makefile: Add rules to build and run tst-tls14. ++ * elf/tst-tls14.c: New file. ++ * elf/tst-tlsmod14a.c: New file. ++ * elf/tst-tlsmod14b.c: New file. ++ ++2003-07-23 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/pthread/lio_listio.c (LIO_OPCODE_BASE): Define. ++ (lio_listio): Use it. ++ * sysdeps/pthread/lio_listio64.c: Include lio_listio.c instead of ++ after few defines to avoid duplication. ++ ++2003-07-22 Jakub Jelinek <jakub@redhat.com> ++ ++ * include/stdio.h (__libc_fatal): Add libc_hidden_proto. ++ * include/dlfcn.h (__libc_dlopen_mode, __libc_dlsym, __libc_dlclose): ++ Likewise. ++ * elf/dl-libc.c (__libc_dlopen_mode, __libc_dlsym, __libc_dlclose): ++ Add libc_hidden_def. ++ * sysdeps/generic/libc_fatal.c (__libc_fatal): Likewise. ++ * sysdeps/posix/libc_fatal.c (__libc_fatal): Likewise. ++ * sysdeps/unix/sysv/linux/libc_fatal.c (__libc_fatal): Likewise. ++ * elf/Versions (libc): Export __libc_dlopen_mode@@GLIBC_PRIVATE, ++ __libc_dlsym@@GLIBC_PRIVATE and __libc_dlclose@@GLIBC_PRIVATE. ++ * libio/Versions (libc): Export __libc_fatal@@GLIBC_PRIVATE. ++ * sysdeps/generic/unwind-dw2.c: Readd #ifs removed during last ++ change. ++ * sysdeps/generic/unwind.inc: Removed. ++ ++ * include/resolv.h (__resp): Declare. Define to __libc_resp ++ if in libc.so. ++ (_res): If USE___THREAD, define to (*__resp). ++ * resolv/res_libc.c (_res): Normal .bss variable with compat_symbol ++ even if USE___THREAD. ++ (__resp): New __thread variable. ++ (__libc_resp): New alias. ++ * resolv/Versions (libc): Export _res@GLIBC_2.0 even if ++ USE_TLS && HAVE___THREAD. Export __resp@@GLIBC_PRIVATE. ++ * sysdeps/generic/res-state.c (__res_state): Return __resp ++ if USE___THREAD. ++ ++2003-07-22 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * elf/dl-support.c (_dl_hwcap): New variable. ++ (_dl_aux_init): Initialize GL(dl_hwcap) for static binaries. ++ ++ * sysdeps/i386/fpu/fclrexcpt.c: Include <unistd.h>, <ldsodefs.h> ++ and <dl-procinfo.h>. ++ (__feclearexcept): Clear MXCSR if needed. ++ * sysdeps/i386/fpu/fsetexcptflg.c: Likewise. ++ ++ * sysdeps/i386/fpu_control.h (_FPU_GETCW, _FPU_SETCW): Document ++ that newer hardware needs more than these macros. ++ ++ * sysdeps/i386/setfpucw.c: New file. ++ ++2003-07-22 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/Makefile (CFLAGS-ldconfig.c): Define IS_IN_ldconfig. ++ * elf/ldconfig.c: Include dl-procinfo.c. ++ (PROCINFO_CLASS): Define. ++ * sysdeps/generic/ldsodefs.h (PROCINFO_CLASS): Define. ++ * sysdeps/unix/sysv/linux/x86_64/dl-procinfo.c: New file. ++ * sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h: New file. ++ * sysdeps/unix/sysv/linux/i386/dl-procinfo.c (PROCINFO_CLASS): ++ Define if not yet defined. Use it instead of EXTERN. Undefine ++ at the end of the file. ++ * sysdeps/unix/sysv/linux/arm/dl-procinfo.c (PROCINFO_CLASS): ++ Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.c ++ (PROCINFO_CLASS): Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.c ++ (PROCINFO_CLASS): Likewise. ++ ++2003-07-22 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * elf/ldconfig.c (main): Issue a fatal error if relative path ++ is used to build cache. ++ ++2003-07-22 Ulrich Drepper <drepper@redhat.com> ++ ++ * elf/readlib.c (process_file): Avoid possible overflow in assignment. ++ ++2003-07-21 Art Haas <ahaas@airmail.net> ++ ++ * manual/charset.texi (Converting a Character): Fix example code so a ++ valid pointer is returned. ++ ++2003-07-22 Andreas Jaeger <aj@suse.de> ++ ++ * elf/readlib.c (process_file): Check that file is a shared ++ object. ++ ++ * elf/sofini.c (__FRAME_END__): Use attribute used so that gcc ++ will not optimize it away. ++ (__DTOR_END__): Likewise. ++ (__CTOR_END__): Likewise. ++ ++ * include/libc-symbols.h (_elf_set_element): Use attribute used so ++ that gcc will not optimize it away. ++ (link_warning): Likewise. ++ ++2003-07-22 Ulrich Drepper <drepper@redhat.com> ++ ++ * wcsmbs/wcpncpy.c (__wcpncpy): Correct destination pointer handling. ++ * wcsmbs/Makefile (tests): Add tst-wcpncpy. ++ * wcsmbs/tst-wcpncpy.c: New file. ++ ++2003-07-21 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/bits/sched.h (CLONE_STOPPED): Define. ++ ++ * sysdeps/i386/fpu/feenablxcpt.c (feenableexcept): Reverse use of ++ stmxcsr and ldmxcsr. ++ ++ * Makerules (build-module-helper): Add -z defs unless explicitly said ++ not to do it. ++ * dlfcn/Makefile: Define various *-no-z-defs variables for test DSOs ++ which has undefined symbols. ++ * elf/Makefile: Likewise. ++ ++ * sysdeps/i386/fpu/fedisblxcpt.c: Use dl_hwcap, not dl_hwcap_mask. ++ * sysdeps/i386/fpu/feenablxcpt.c: Likewise. ++ * sysdeps/i386/fpu/feholdexcpt.c: Likewise. ++ * sysdeps/i386/fpu/fesetround.c: Likewise. ++ * sysdeps/i386/fpu/ftestexcept.c: Likewise. ++ ++2003-07-21 HJ Lu <hongjiu.lu@intel.com> ++ ++ * elf/ldconfig.c (search_dir): Treat symlink as regular file ++ if it won't point to itself. ++ ++2003-07-20 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/ia64/hp-timing.h (REPEAT_READ): Cast to long int not to int. ++ ++2003-07-20 Andreas Jaeger <aj@suse.de> ++ ++ * iconvdata/cp932.c (BODY): STANDARD_ERR_HANDLER is now called ++ STANDARD_TO_LOOP_ERR_HANDLER. ++ * iconvdata/euc-jp-ms.c (BODY): Likewise. ++ ++2003-07-19 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/bits/sched.h (__CPU_ZERO): Fix typo. ++ ++ * sysdeps/unix/sysv/linux/syscalls.list: Remove affinity syscalls. ++ ++2003-07-16 Daniel Jacobowitz <drow@mvista.com> ++ Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/unix/sysv/linux/mips/bits/shm.h (SHMLBA): Define to ++ 256K, remove unneeded declaration of __getpagesize. ++ ++2003-07-16 Andreas Schwab <schwab@suse.de> ++ ++ * sysdeps/unix/sysv/linux/futimes.c: Include <string.h>. ++ ++2003-07-15 Ulrich Drepper <drepper@redhat.com> ++ ++ * io/test-utime.c (main): Make test yet more robust. ++ ++2003-07-14 Ulrich Drepper <drepper@redhat.com> ++ ++ More cancellation handling fixups. ++ * sysdeps/unix/sysv/linux/not-cancel.h: Add waitpid_not_cancel. ++ * sysdeps/generic/not-cancel.h: Likewise. ++ * catgets/open_catalog.c: Use not-cancelable syscalls. ++ * time/Makefile (CFLAGS-getdate.c): Add -fexceptions. ++ * sysdeps/unix/sysv/linux/llseek.c: Must not be cancelable. ++ * sysdeps/unix/syscalls.list: Don't mark lseek as cancelable. ++ * dlfcn/dlfcn.h: Mark dlopen with __THROW again. ++ * io/fcntl.h: Don't mark posix_fallocate with __THROW. ++ * libio/fileops.c: Use not-cancelable syscalls for fclose. ++ * libio/iopopen.c: Use no-cancelable syscalls. ++ * libio/stdio.h: Mark popen and pclose with __THROW again. ++ * misc/Makefile (CFLAGS-syslog.c): Add -fexceptions. ++ * misc/syslog.c: Fix locking and cancellation cleanup handling. ++ * posix/unistd.h: Mark ttyname and ttyname_r again with __THROW. ++ * stdio-common/Makefile (CFLAGS-tmpfile.c, CFLAGS-tmpfile64.c, ++ CFLAGS-tempname.c): Add -fexceptions. ++ * stdlib/Makefile (CFLAGS-mkstemp.c): Add -fexceptions. ++ * string/string.h: Mark strerror and strerror_r with _THROW again. ++ * sysdeps/generic/unwind.inc: New file. Copied from gcc. ++ * sysdeps/generic/unwind-dw2.c: Update from gcc version. Remove ++ #ifs since we now need all the code compiled. ++ * sysdeps/posix/spawni.c: Use close_not_cancel instead of close. ++ * sysdeps/unix/closedir.c: Use not-cancelable syscalls. ++ * sysdeps/unix/opendir.c: Likewise. ++ ++ * iconvdata/Makefile (modules): Add CP932 and EUC-JP-MS. ++ Add rule for EUC-JP-MS dependency. ++ * iconvdata/cp932.c: New file. ++ * iconvdata/eucjp-ms.c: New file. ++ * iconvdata/gconv-modules: Add entries for CP932 and EUC-JP-MS. ++ Patch by MORIYAMA Masayuki <msyk@mtg.biglobe.ne.jp>. ++ ++2003-07-15 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S (__socket): Add ++ cfi directives. ++ ++2003-07-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> ++ ++ * sysdeps/unix/sysv/linux/kernel-features.h ++ (__ASSUME_FIXED_CLONE_SYSCALL): New macro. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Use it. ++ ++ * sysdeps/unix/sysv/linux/utimes.c: Include sysdep.h. ++ ++2003-07-14 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/kernel-features.h: Define ++ __ASSUME_TGKILL for Alpha appropriately. ++ ++2003-07-12 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/bits/statfs.h (_STATFS_F_FRSIZE): Define. ++ * sysdeps/unix/sysv/linux/alpha/bits/statfs.h (_STATFS_F_FRSIZE): ++ Likewise. ++ * sysdeps/unix/sysv/linux/s390/bits/statfs.h (_STATFS_F_FRSIZE): ++ Likewise. ++ ++ * sysdeps/unix/sysv/linux/kernel-features.h: Define ++ __ASSUME_UTIMES for x86 and kernels > 2.5.75. ++ ++ * sysdeps/unix/sysv/linux/futimes.c (__futimes): Handle case with ++ second parameter == NULL. ++ * sysdeps/unix/sysv/linux/utimes.c: New file. ++ ++2003-07-12 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/futimes.c: Include kernel-features.h. ++ * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_UTIMES): Fix ++ a typo. ++ ++2003-07-12 Ulrich Drepper <drepper@redhat.com> ++ ++ * time/sys/time.h: Namespace cleanup. ++ * sysdeps/unix/sysv/linux/kernel-features.h: Define ++ __ASSUME_UTIMES for the architectures which always had the syscall. ++ * sysdeps/unix/sysv/linux/futimes.c: New file. ++ ++2003-07-12 Kaz Kojima <kkojima@rr.iij4u.or.jp> ++ ++ * sysdeps/unix/sysv/linux/sh/socket.S: Save and restore the PR ++ register across CENABLE and CDISABLE. ++ ++2003-07-11 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/sigwait.c: Include string.h. ++ * sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise. ++ * sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise. ++ * sysdeps/unix/sysv/linux/sleep.c (__sleep): Cast value to unsigned ++ int before assigning to max to avoid warnings. ++ ++2003-07-11 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S (__socket): Add ++ cfi directives. ++ * sysdeps/unix/sysv/linux/s390/s390-32/socket.S (__socket): Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/socket.S (__socket): Likewise. ++ ++2003-07-10 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/powerpc/powerpc64/elf/start.S: Set section flags of ++ .data.rel.ro.local to "aw". ++ ++2003-07-10 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/m68k/Makefile: Remove CLFAGS-.oS addition. ++ * Makeconfig (CFLAGS-.oS): Use PIC-ccflag instead of pic-ccflag. ++ (PIC-ccflag): Define. ++ ++2003-07-04 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/s390/s390-32/elf/start.S: Emit position independent code ++ if PIC. ++ * sysdeps/s390/s390-64/elf/start.S: Likewise. ++ ++2003-07-07 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/powerpc/powerpc64/elf/start.S: Put L(start_address) ++ into .data.rel.ro.local section if PIC to avoid DT_TEXTREL. ++ ++2003-07-07 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/kernel-features.h: Version ++ __ASSUME_CORRECT_SI_PID and __ASSUME_TGKILL if possible. ++ ++ * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Adjust for ++ compilation with HAVE_AUX_SECURE defined. ++ ++2003-07-05 Richard Henderson <rth@redhat.com> ++ ++ * sysdeps/alpha/elf/initfini.c: Avoid .ent/.end. ++ ++2003-07-03 Ulrich Drepper <drepper@redhat.com> ++ ++ * configure.in: Also check for .cfi_rel_offset pseudo-op. ++ ++2003-07-03 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/prof-freq.c (__profile_frequency): Fix a ++ typo. ++ ++2003-07-03 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_AT_CLKTCK): ++ Define. ++ * sysdeps/unix/sysv/linux/prof-freq.h: New file. ++ ++2003-07-02 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Protect new_sysinfo ++ decl and use with #ifdef NEED_DL_SYSINFO. ++ ++2003-07-02 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Don't set ++ GL(dl_sysinfo) unles GL(dl_sysinfo_dso) is also set. ++ * sysdeps/unix/sysv/linux/kernel-features.h: Define ++ __ASSUME_VSYSCALL only for 2.5.69 and up since this is when the ++ vsyscall DSO was added. ++ ++ * posix/bits/posix1_lim.h (_POSIX_NGROUPS_MAX): Define to 8 or 0 ++ depending on selected standard. ++ (NGROUPS_MAX): Define to 8 if not defined. ++ ++2003-07-02 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/unix/sysv/linux/x86_64/sys/epoll.h: New file. ++ ++2003-05-04 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * malloc/arena.c (arena_get2): Add atomic_write_barrier. ++ * malloc/thread-m.h: Include <atomic.h>. ++ (atomic_full_barrier): Provide default. ++ (atomic_read_barrier): Likewise. ++ (atomic_write_barrier): Likewise. ++ * sysdeps/ia64/bits/atomic.h (atomic_full_barrier): New #define. ++ ++2003-06-30 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/sysdep.h: Define cfi_rel_offset and CFI_REL_OFFSET. ++ ++2003-06-30 Richard Henderson <rth@redhat.com> ++ ++ * sysdeps/alpha/bits/atomic.h (__arch_compare_and_exchange_bool_*_int): ++ Invert the sense of the return value. ++ (__arch_exchange_16_int): Fix paste-o. ++ (__arch_exchange_{32,64}_int): Fix think-o. ++ ++ * sysdeps/unix/sysv/linux/alpha/clone.S: Load child_tid properly. ++ ++2003-06-30 Richard Henderson <rth@redhat.com> ++ ++ * include/sys/resource.h (__getrusage): Mark hidden. ++ * include/sys/time.h (__settimeofday, __setitimer, __utimes): Likewise. ++ * include/sys/wait.h (__wait4): Likewise. ++ ++2003-06-17 Guido Guenther <agx@sigxcpu.org> ++ ++ * sysdeps/unix/sysv/linux/mips/xstatconv.c: Handle STAT_IS_KERNEL_STAT ++ case. ++ (xstat_conv): Rename to __xstat_conv and remove static inline. ++ (xstat64_conv): Likewise. ++ ++2003-06-29 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/sleep.c (__sleep): Handle parameter ++ values which cannot be handled in one nanosleep call. ++ ++2003-06-25 Alfred M. Szmidt <ams@kemisten.nu> ++ ++ * sysdeps/generic/bits/in.h (IPV6_HOPOPTS, IPV6_DSTOPTS): New macros. ++ (IPV6_RXHOPOPTS, IPV6_RXDSTOPTS): Use them. ++ ++ * sysdeps/generic/ifreq.h (__if_nextreq) [_HAVE_SA_LEN]: Typo fix. ++ ++2003-06-04 Thorsten Kukuk <kukuk@suse.de> ++ ++ * sysdeps/unix/sysv/linux/net/if_arp.h: Sync with kernel header, ++ fix typo. ++ ++2003-06-26 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/unix/sysv/linux/xstatconv.h [!STAT_IS_KERNEL_STAT]: ++ Conditionalize function definitions that use struct kernel_stat. ++ * sysdeps/unix/sysv/linux/fxstat.c: Remove __syscall_fstat extern. ++ * sysdeps/unix/sysv/linux/lxstat.c: Remove __syscall_lstat extern. ++ * sysdeps/unix/sysv/linux/xstat.c: Remove __syscall_stat extern. ++ ++2003-06-28 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/s390/semtimedop.c (semtimedop): Add real ++ implementation. ++ ++2003-06-07 Thorsten Kukuk <kukuk@suse.de> ++ ++ * nis/nss_compat/compat-grp.c: Remove unused nis_first variable. ++ (getgrent_next_file): Don't store group name to early in blacklist. ++ ++ * nis/nss_compat/compat-pwd.c (internal_getpwuid_r): Save strlen result ++ and use memcpy instead of strcpy. ++ ++2003-06-28 Ulrich Drepper <drepper@redhat.com> ++ ++ * nis/nss_compat/compat-grp.c: Optimize several little things. Use ++ stream unlocked. ++ * nis/nss_compat/compat-initgroups.c: Likewise. ++ * nis/nss_compat/compat-pwd.c: Likewise. ++ * nis/nss_compat/compat-spwd.c: Likewise. ++ ++2003-06-27 Thorsten Kukuk <kukuk@suse.de> ++ ++ * nis/nss_compat/compat-initgroups.c: Don't use our own NIS/NIS+ ++ functions, dlopen corresponding NSS module instead. ++ ++2003-06-27 Jeroen Dekkers <jeroen@dekkers.cx> ++ ++ * sysdeps/mach/hurd/alpha/init-first.c: Remove call to __libc_init. ++ * sysdeps/mach/hurd/i386/init-first.c: Likewise. ++ * sysdeps/mach/hurd/mips/init-first.c: Likewise. ++ * sysdeps/mach/hurd/powerpc/init-first.c: Likewise. ++ ++2003-06-27 Ulrich Drepper <drepper@redhat.com> ++ ++ * rt/Makefile (CFLAGS-librt-cancellation.c): Define. ++ ++2003-06-26 Roland McGrath <roland@frob.com> ++ ++ * sysdeps/mach/configure.in: Barf rather than define NO_CREATION_TIME. ++ * sysdeps/mach/configure: Regenerated. ++ * sysdeps/mach/hurd/times.c (times_init): Function removed. ++ (__times): Assume `creation_time' field is available. ++ * sysdeps/mach/hurd/Makefile [$(subdir) = csu] (sysdep_routines): ++ Don't append set-init. ++ * sysdeps/mach/hurd/set-init.c: File removed. ++ ++2003-06-26 Roland McGrath <roland@redhat.com> ++ ++ * elf/elf.h (AT_SECURE): New macro. ++ * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Grok it, ++ set __libc_enable_secure. ++ (_dl_show_auxv): Add AT_SECURE to name table. ++ * elf/dl-support.c (_dl_aux_init): Grok AT_SECURE, set ++ __libc_enable_secure and __libc_enable_secure_decided. ++ * sysdeps/unix/sysv/linux/ldsodefs.h ++ [__ASSUME_AT_SECURE] (HAVE_AUX_SECURE): Define it. ++ * sysdeps/unix/sysv/linux/kernel-features.h ++ [__LINUX_KERNEL_VERSION >= 132426] (__ASSUME_AT_SECURE): Define it. ++ ++2003-06-26 Ulrich Drepper <drepper@redhat.com> ++ ++ * io/test-utime.c: If _STATBUF_ST_NSEC is defined, adjust lower ++ boundary test to take rounding of nanoseconds into account. ++ ++ * sysdeps/unix/sysv/linux/bits/stat.h: Define _STATBUF_ST_NSEC. ++ * sysdeps/unix/sysv/linux/ia64/bits/stat.h: Likewise. ++ * sysdeps/unix/sysv/linux/m68k/bits/stat.h: Likewise. ++ * sysdeps/unix/sysv/linux/powerpc/bits/stat.h: Likewise. ++ * sysdeps/unix/sysv/linux/s390/bits/stat.h: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/bits/stat.h: Likewise. ++ * sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Likewise. ++ ++2003-06-26 Andreas Schwab <schwab@suse.de> ++ ++ * sysdeps/m68k/fpu/bits/mathinline.h: Don't inline frexp. ++ * sysdeps/m68k/fpu/s_frexp.c: Put implementation here. ++ * sysdeps/m68k/fpu/s_frexpl.c: Fix to handle unnormalized numbers. ++ ++2003-06-17 Thorsten Kukuk <kukuk@suse.de> ++ ++ * nis/Makefile: Remove NIS/NIS+ files from nss_compat module. ++ * nis/nss_compat/compat-grp.c: Don't use our own NIS/NIS+ functions, ++ dlopen corresponding NSS module instead. ++ * nis/nss_compat/compat-pwd.c: Likewise. ++ * nis/nss_compat/compat-spwd.c: Likewise. ++ * nis/nss_compat/compat-initgroups.c: Disabled for now. ++ * nss/Versions: Export __nss_lookup_function. ++ ++2003-06-19 Daniel Jacobowitz <drow@mvista.com> ++ ++ * sysdeps/unix/sysv/linux/kernel-features.h: Update kernel features ++ for the SH architecture. ++ ++2003-06-25 Thorsten Kukuk <kukuk@suse.de> ++ ++ * csu/Makefile: Use CPPFLAGS to find correct linux/version.h. ++ ++2003-06-25 Andreas Jaeger <aj@suse.de> ++ ++ * stdlib/tst-strtod.c (main): Declare constant long double as ++ suggested by Jakub Jelinek and Andreas Schwab. ++ ++ * posix/tst-nanosleep.c: Include <time.h> for nanosleep ++ declaration. ++ ++ * stdio-common/tst-fphex.c: Fix format string. ++ ++ * posix/transbug.c: Include <string.h> for memset and strlen ++ declarations. ++ ++ * stdio-common/tst-sprintf.c: Include <stdlib.h> for free declaration. ++ ++ * stdlib/tst-strtod.c (main): Pass long double value. ++ ++ * test-skeleton.c: Include <time.h> for nanosleep declaration. ++ ++2003-06-25 Ulrich Drepper <drepper@redhat.com> ++ ++ * include/time.h: Don't define CLOCK_IDFIELD_SIZE if _ISOMAC is ++ defined. ++ ++2003-06-11 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/Versions (libc): Add _dl_open_hook@GLIBC_PRIVATE. ++ * elf/dl-libc.c (struct dl_open_hook): New. ++ (_dl_open_hook): New variable. ++ (do_dlsym_private): New function. ++ (__libc_dlopen_mode) [!SHARED]: Lookup _dl_open_hook@GLIBC_PRIVATE ++ and initialize it if found. ++ (__libc_dlopen_mode) [SHARED]: If _dl_open_hook is non-NULL, ++ call dlopen_mode hook. ++ (__libc_dlsym) [SHARED]: If _dl_open_hook is non-NULL, ++ call dlsym hook. ++ (__libc_dlclose) [SHARED]: If _dl_open_hook is non-NULL, ++ call dlclose hook. ++ ++2003-06-25 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/cris/sysdep.h (INLINE_SYSCALL): Cast ++ result to long int so that extensions to long long int work. ++ Patch by Uwe Reimann <libc-alpha@pulsar.homelinux.net>. ++ ++2003-06-19 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/ldconfig.c (main): Use add_system_dir instead of add_dir. ++ * sysdeps/generic/dl-cache.h (add_system_dir): Define. ++ * sysdeps/unix/sysv/linux/x86_64/dl-cache.h: Include sparc ++ dl-cache.h. ++ * sysdeps/unix/sysv/linux/s390/dl-cache.h: New file. ++ * sysdeps/unix/sysv/linux/mips/dl-cache.h: New file. ++ * sysdeps/unix/sysv/linux/powerpc/dl-cache.h: New file. ++ * sysdeps/unix/sysv/linux/sparc/dl-cache.h: New file. ++ ++2003-06-19 Jakub Jelinek <jakub@redhat.com> ++ ++ * test-skeleton.c (timeout_handler): If waitpid returned 0, ++ retry once after a second. If killed == 0, assume ++ WTERMSIG (status) == SIGKILL. ++ ++2003-06-18 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Catch uninitialized ++ elements in the table instead of printing an empty name string. ++ ++2003-06-05 Roland McGrath <roland@redhat.com> ++ ++ * elf/elf.h (PT_GNU_STACK): New macro. ++ ++2003-06-24 Ulrich Drepper <drepper@redhat.com> ++ ++ * include/time.h: Define CLOCK_IDFIELD_SIZE. ++ * sysdeps/posix/clock_getres.c: Recognize thread CPU clock IDs. ++ * sysdeps/unix/clock_gettime.c: Likewise. ++ * sysdeps/unix/clock_settime.c: Likewise. ++ * sysdeps/unix/clock_nanosleep.c (CPUCLOCK_P): Adjust for new ++ clock id for thread CPU clocks. ++ ++ * sysdeps/unix/sysv/linux/fstatfs64.c (__fstatfs64): Add support ++ for the fstatfs64 syscall. ++ * sysdeps/unix/sysv/linux/statfs64.c (__statfs64): Add support for ++ the statfs64 syscall. ++ ++ * sysdeps/unix/sysv/linux/kernel-features.h: Define ++ __ASSUME_STATFS64 appropriately. ++ ++ * sysdeps/unix/sysv/linux/internal_statvfs.c: Use f_frsize field ++ from statfs structure if it has been filled in. ++ ++ * sysdeps/unix/sysv/linux/bits/statfs.h (struct statfs): Add f_frsize ++ field. ++ (struct statfs64): Likewise. ++ * sysdeps/unix/sysv/linux/alpha/bits/statfs.h: Likewise. ++ * sysdeps/unix/sysv/linux/s390/bits/statfs.h: Likewise. ++ ++2003-06-24 Richard Henderson <rth@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/alpha/syscalls.list (pread, pwrite): Use ++ the 64-bit syscall name. ++ ++ * sysdeps/alpha/setjmp.S (_setjmp, setjmp): Mark .prologue. ++ ++ * sysdeps/alpha/fpu/bits/mathinline.h: Honor ++ __LIBC_INTERNAL_MATH_INLINES. Implement __signbitf, __signbit. ++ ++ * sysdeps/unix/sysv/linux/alpha/clone.S: Use HIDDEN_JUMPTARGET. ++ * sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Use ++ libc_hidden_def. ++ * sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/setfpucw.c: Use libc_hidden_proto ++ on them. ++ ++ * sysdeps/alpha/bits/atomic.h: New file. ++ ++2003-06-24 Andreas Schwab <schwab@suse.de> ++ ++ * sysdeps/m68k/fpu/libm-test-ulps: Update. ++ ++2003-06-24 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/unix/sysv/linux/x86_64/stat.h (_STAT_VER_LINUX): Avoid ++ redeclaration with 32-bit code. ++ ++2003-05-19 Ed Connell <ed.connell@sas.com> ++ ++ * sysdeps/unix/sysv/linux/i386/getcontext.S (getcontext): Retain ++ floating point mask. ++ * sysdeps/i386/fpu/fegetenv.c (fegetenv): Likewise. ++ ++2003-06-23 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/pthread/aio_misc.h: Mark __aio_requests_mutex, ++ __aio_enqueue_request, __aio_find_req, __aio_find_req_fd, ++ __aio_free_request, __aio_notify, and __aio_sigqueue as hidden. ++ ++ * sysdeps/pthread/aio_suspend.c (aio_suspend): Set errno to the result ++ of pthread_cond_wait if there was an error. Use pthread_cleanup_* ++ instead of __libc_cleanup_region_*. ++ ++2003-06-20 Richard Henderson <rth@redhat.com> ++ ++ * sysdeps/unix/make-syscalls.sh: Implement ! prefix for strong aliases. ++ * sysdeps/unix/sysv/linux/alpha/syscalls.list (open, open64): New. ++ ++2003-06-20 Richard Henderson <rth@redhat.com> ++ ++ * sysdeps/unix/alpha/sysdep.h (INLINE_SYSCALL1): Use __builtin_expect. ++ * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_ST_INO_64_BIT) ++ Unset for alpha. ++ (__ASSUME_TIMEVAL64): Set for alpha. ++ * sysdeps/unix/sysv/linux/alpha/Makefile (sysdep_routines): Remove ++ adjtimex, osf_sigprocmask, old_adjtimex. ++ * sysdeps/unix/sysv/linux/alpha/adjtime.c: Use INLINE_SYSCALL, ++ __ASSUME_TIMEVAL64. Reorg tv64 functions to avoid uninit variable. ++ * sysdeps/unix/sysv/linux/alpha/getitimer.S: Use __ASSUME_TIMEVAL64. ++ * sysdeps/unix/sysv/linux/alpha/getrusage.S: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/gettimeofday.S: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/select.S: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/setitimer.S: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/settimeofday.S: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/utimes.S: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/wait4.S: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Streamline ++ PIC code sequence. ++ * sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/sigaction.c: New file. ++ * sysdeps/unix/sysv/linux/alpha/sigprocmask.c: Use INLINE_SYSCALL. ++ * sysdeps/unix/sysv/linux/alpha/ustat.c: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/xmknod.c: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove osf_sigprocmask, ++ sys_ustat, sys_mknod, adjtimex, old_adjtimex. ++ * sysdeps/unix/sysv/linux/alpha/sysdep.h (INLINE_SYSCALL): Don't ++ defer to __syscall_name; error for rt_sigaction. ++ * sysdeps/unix/sysv/linux/alpha/xstatconv.c: Include kernel_stat.h. ++ ++2003-06-18 Ulrich Drepper <drepper@redhat.com> ++ ++ * malloc/malloc.c (public_mALLINFo): Initialize malloc if it ++ hasn't happened yet. ++ ++ * sysdeps/unix/sysv/linux/x86_64/register-dump.h (register_dump): ++ Fix completely broken implementation. The second parameter is of ++ type struct ucontext*. ++ ++ * sysdeps/x86_64/dl-machine.h (elf_machine_runtime_setup): Always ++ inline. ++ ++ * sysdeps/i386/i686/dl-hash.h: Don't inline _dl_elf_hash. ++ * sysdeps/generic/dl-hash.h: Likewise. ++ ++ * sysdeps/generic/memcmp.c: Remove inline from ++ memcmp_common_alignment and memcmp_not_common_alignment definition. ++ ++ * intl/localealias.c (read_alias_file): Determine whether line is ++ read incompletely early, before we modify the line. ++ ++2003-06-17 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela) ++ <case R_PPC64_DTPREL64>: Don't segfault on undefined symbols. ++ ++2003-06-17 Paul Mackerras <paulus@samba.org> ++ ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: New file. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S: New file. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: New file. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: New file. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.h: New file. ++ * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Adjust. ++ ++2003-06-17 Jakub Jelinek <jakub@redhat.com> ++ ++ * posix/regcomp.c (build_word_op): Use alnum instead of alpha class. ++ ++2003-06-17 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/clock_nanosleep.c (clock_nanosleep): nanosleep ++ takes care of enabling cancellation. ++ ++ * sysdeps/pthread/aio_suspend.c (aio_suspend): Make aio_suspend ++ cancelable. It's not correct to disable cancellation. Instead of ++ a cleanup handler. ++ ++ * sysdeps/unix/sysv/linux/sigtimedwait.c: If SIGCANCEL is defined ++ and part of the incoming set, create a temporary set without this ++ signal. ++ * sysdeps/unix/sysv/linux/sigwait.c: Likewise. ++ * sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise. ++ ++ * sysdeps/unix/sysv/linux/sleep.c: Use CANCELLATION_P if defined before ++ returning because seconds==0. Add __builtin_expect. ++ ++2003-06-16 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/i386/socket.S: Add unwind information. ++ ++ * sysdeps/unix/sysv/linux/wait.c (__libc_wait): Fix type of result ++ variable. ++ ++2003-06-16 Thorsten Kukuk <kukuk@suse.de> ++ ++ * include/libc-symbols.h: Add static_link_warning macro. ++ * grp/initgroups.c: Print linker warning if this function ++ is called in a static linked binary. ++ * nss/getXXbyYY.c: Likewise. ++ * nss/getXXbyYY_r.c: Likewise. ++ * nss/getXXent.c: Likewise. ++ * nss/getXXent_r.c: Likewise. ++ * sysdeps/posix/getaddrinfo.c: Likewise. ++ ++2003-06-16 Bruno Haible <bruno@clisp.org> ++ ++ * iconvdata/gconv-modules (ISO-8859-15): Add aliases ISO_8859-15, ++ LATIN-9. ++ (ISO-8859-16): Add aliases ISO_8859-16:2001, ISO_8859-16. ++ (IBM1047): Add alias IBM-1047. ++ (GBK): Add aliases MS936, WINDOWS-936. ++ ++2003-06-16 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/xstatconv.c (__xstat_conv): Define even if ++ defined __ASSUME_STAT64_SYSCALL && defined XSTAT_IS_XSTAT64. ++ (__xstat64_conv): Change xstat_conv to __xstat_conv. ++ ++2003-06-16 Ulrich Drepper <drepper@redhat.com> ++ ++ * locale/iso-639.def: Update from current official ISO 639. ++ ++ * math/tgmath.h (__TGMATH_UNARY_IMAG_ONLY): Removed. ++ ++2003-06-15 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/i386/fpu/feenablxcpt.c (feenableexcept): Correct setting ++ of MXCSR. ++ * sysdeps/i386/fpu/fedisblxcpt.c (fedisableexcept): Likewise. ++ * sysdeps/i386/fpu/feholdexcpt.c (feholdexcept): Likewise. ++ Reported by Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>. ++ ++ * math/tgmath.h (carg): Handle real arguments. ++ (conj): Likewise. ++ (cproj): Likewise. ++ (cimag): Likewise. ++ (creal): Likewise. ++ ++ * math/Makefile (CFLAGS-test-tgmath-ret.c): New. ++ (tests): Add test-tgmath-ret. ++ * math/test-tgmath-ret.c: New file. ++ ++ * math/tgmath.h (ilogb): Return always an int. ++ ++2003-06-16 Ulrich Drepper <drepper@redhat.com> ++ ++ * elf/rtld.c (dl_main): Use l_map_start not l_addr in Phdr ++ computation so that prelinking works. ++ ++2003-06-15 Ulrich Drepper <drepper@redhat.com> ++ ++ * elf/dl-iteratephdr.c (__dl_iterate_phdr): Don't skip dynamic ++ linker's map. ++ * elf/rtld.c (dl_main): Initialize l_phdr and l_phnum of of the ++ dynamic linker's map. ++ ++ Fix cancellation point handling wrt exception based cleanup. ++ * io/Makefile: Compile fcntl.c, poll.c, and lockf.c with exceptions. ++ * misc/Makefile: Compile pselect.c, readv.c, writev.c, and usleep.c ++ with exceptions. ++ * posix/Makefile: Compile pread.c, pread64.c, pwrite.c, pwrite64.c, ++ sleep.c, wait.c, waitid.c, and waitpid.c with exceptions. ++ * rt/Makefile: Compile aio_suspend.c and clock_nanosleep.c with ++ exceptions. ++ * signal/Makefile: Compile sigpause.c, sigsuspend.c, sigtimedwait.c, ++ sigwait.c, and sigwaitinfo.c with exceptions. ++ * stdlib/Makefile: Compile system.c with exceptions. ++ * sysvipc/Makefile: Compile msgrcv.c and msgsnd.c with exceptions. ++ * termios/Makefile: Compile tcdrain.c with exceptions. ++ * sysdeps/generic/lockf.c: Add comment explaining the cancellation ++ situation. ++ * sysdeps/generic/pselect.c: Likewise. ++ * sysdeps/posix/sigpause.c: Likewise. ++ * sysdeps/posix/system.c: Likewise. ++ * sysdeps/posix/waitid.c: Likewise. ++ * sysdeps/unix/sysv/linux/sleep.c: Likewise. ++ * sysdeps/unix/sysv/linux/usleep.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/sysdep.h: Major rewrite of ++ INTERNAL_SYSCALL to not use push inside asm statement so that ++ unwind info is correct around the syscall. ++ * sysdeps/unix/clock_nanosleep.c: Add cancellation support. ++ * sysdeps/unix/sysv/linux/clock_nanosleep.c: Likewise. ++ ++2003-06-15 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/x86_64/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE): ++ Add CFI directives. ++ ++2003-06-15 Guido Guenther <agx@sigxcpu.org> ++ ++ * sysdeps/unix/sysv/linux/mips/Makefile: Add missing endif and ++ create $(objpfx). ++ ++2003-06-14 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/check_pf.c (__check_pf): Use __close, ++ not close. ++ ++ * inet/inet6_option.c (inet6_option_alloc): Add libc_hidden_def. ++ * include/netinet/in.h (inet6_option_alloc): Add libc_hidden_proto ++ definition. ++ ++ * inet/netinet/ip6.h (IP6OPT_PAD1, IP6OPT_PADN): Define. ++ * inet/netinet/in.h: Add prototypes for inet6_option_* functions. ++ * inet/Makefile (routines): Add inet6_option. ++ * inet/inet6_option.c: New file. ++ * inet/Versions [GLIBC_2.3.3] (libc): Add inet6_option_space, ++ inet6_option_init, inet6_option_append, inet6_option_alloc, ++ inet6_option_next, and inet6_option_find. ++ ++2003-06-13 Ulrich Drepper <drepper@redhat.com> ++ ++ * inet/netinet/ip6.h (struct ip6_ext): Define. ++ ++ * sysdeps/unix/sysv/linux/sys/param.h (howmany): Optimize for gcc. ++ ++ Fixing gcc 3.3 warnings, part II. ++ * argp/argp-help.c (hol_entry_long_iterate): Always inline. ++ * elf/dl-load.c (cache_rpath): Don't inline. ++ * iconvdata/cns11642l2.h: Always inline all functions. ++ * iconvdata/iso-ir-165.h: Likewise. ++ * locale/Makefile (aux): Add coll-lookup. ++ * locale/coll-lookup.c: New file. ++ * locale/coll-lookup.h (collidx_table_lookup): Do not define here. ++ (collseq_table_lookup): Likewise. ++ * locale/weightwc.h: Adjust collidx_table_lookup calls for name change. ++ * posix/fnmatch_loop.c: Adjust collseq_table_lookup calls for name ++ change. ++ * posix/regcomp.c: Likewise. ++ * posix/regexec.c: Likewise. ++ * locale/programs/3level.h (*_get): Always inline. ++ * locale/programs/locfile.h: Move definition of handle_copy to... ++ * locale/programs/locfile.c: ...here. ++ * locale/programs/ld-collate.c (obstack_int32_grow): Always inline. ++ (obstack_int32_grow_fast): Likewise. ++ (utf8_encode): Likewise. ++ (find_element): Avoid aliasing problems. ++ (insert_value): Likewise. ++ (collate_read): Likewise. ++ * nss/getent.c (print_hosts): Don't inline ++ (print_networks): Likewise. ++ (print_shadow): Likewise. ++ (build_doc): Likewise. ++ * nss/nss_files/files-parse.c [ENTDATA] (parser_stclass): Don't ++ inline. ++ * posix/regcomp.c (re_set_fastmap): Always inline. ++ (seek_collating_symbol_entry): Likewise. ++ (lookup_collation_sequence_value): Likewise. ++ (build_range_exp): Likewise. ++ (build_collating_symbol): Likewise. ++ * posix/regexec.c (acquire_init_state_context): Don't inline. ++ (clean_state_log_if_need): Likewise. ++ * resolv/res_send.c (eConsIovec): Rewrite to not return struct and ++ adjust all callers. ++ (evConsTime): Likewise. ++ (evAddTime): Likewise. ++ (evSubTime): Likewise. ++ (evNowTime): Likewise. ++ (evTimeSpec): Removed. ++ (__libc_res_nsend): Avoid aliasing problem. ++ * sysdeps/unix/sysv/linux/ifreq.h: Move old_siocgifconf definition to.. ++ * sysdeps/unix/sysv/linux/ifreq.c: ...here. ++ * sysdeps/unix/sysv/linux/i386/dl-procinfo.h (_dl_string_hwcap): ++ Always inline. ++ (_dl_string_platform): Likewise. ++ * wctype/wchar-lookup.h (wctype_table_lookup): Always inline. ++ (wcwidth_table_lookup): Likewise. ++ (wctrans_table_lookup): Likewise. ++ ++ * sysdeps/unix/sysv/linux/sys/epoll.h: Include <stdint.h>. ++ ++2003-06-12 Ulrich Drepper <drepper@redhat.com> ++ ++ * wcsmbs/wchar.h: Define wint_t in std namespace, too [PR libc/5034]. ++ ++2003-05-29 Jim Meyering <jim@meyering.net> ++ ++ * time/strftime.c (my_strftime) [!defined _NL_CURRENT ++ && HAVE_STRFTIME]: Use underlying_strftime for %r. ++ Suggested by Daniel Yacob <locales@geez.org>. ++ ++2003-06-12 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/powerpc/powerpc64/dl-machine.h (RTLD_START): Replace ++ @got notation with @toc. ++ * sysdeps/powerpc/powerpc64/sysdep.h (CALL_MCOUNT): Likewise. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S (__brk): Likewise. ++ ++2003-06-12 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/posix/getaddrinfo.c (gaih_inet): Set no_inet6_date also ++ if only PF_INET address is needed. ++ ++ * nss/getXXbyYY_r.c: Make sure we always return a nonzero value in ++ case of an error. ++ ++ * scripts/config.guess: Update from upstream version. ++ * scripts/config.sub: Likewise. ++ ++2003-06-12 Jakub Jelinek <jakub@redhat.com> ++ ++ * locale/programs/ld-time.c (time_output): Also copy the era format, ++ not only the name. ++ ++2003-06-12 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * posix/transbug.c (run_test): Return 1 for failure. ++ (do_test): Compare only if run_test is successful. ++ ++2003-06-12 Simon Josefsson <jas@extundo.com> ++ ++ * argp/argp.h [!__THROW]: Define if undefined. ++ ++2003-06-12 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/cris/sysdep.h: Fix handling of syscalls with ++ more than four parameters. ++ Patch by Uwe Reimann <libc-alpha@pulsar.homelinux.net>. ++ ++2003-06-12 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/kernel_stat.h: New file. ++ * sysdeps/unix/sysv/linux/s390/s390-64/kernel_stat.h: New file. ++ * sysdeps/unix/sysv/linux/x86_64/kernel_stat.h: New file. ++ ++ * stdio-common/printf-parsemb.c: Include stdlib.h and sys/param.h. ++ ++2003-06-12 Roland McGrath <roland@redhat.com> ++ ++ * Makerules ($(objpfx)stubs): Rewrite sed magic. ++ ++2003-02-28 Isamu Hasegawa <isamu@yamato.ibm.com> ++ ++ * posix/regcomp.c (parse_expression): Deliver translation to ++ build_word_op, and build_charclass. ++ (build_charclass): Apply translation for character classes too. ++ (build_word_op): Deliver translation to build_charclass. ++ * posix/transbug.c: New file. ++ * posix/Makefile (tests): Add transbug. ++ ++2003-06-04 Paolo Bonzini <bonzini@gnu.org> ++ ++ * posix/regexec.c (group_nodes_into_DFAstates): Check for ++ NEXT_ENDBUF_CONSTRAINT. Move check for constraints which do a ++ 'continue' before the others. ++ ++2003-06-11 Ulrich Drepper <drepper@redhat.com> ++ ++ * dirent/scandir.c (SCANDIR): Reset errno after calling selector ++ function [PR libc/5045]. ++ ++ * sysdeps/i386/bits/byteswap.h (__bswap_32): Use bswap instruction ++ also for P4. ++ ++ * time/tzfile.c: Add a couple of __builtin_expect. ++ ++ Remove warnings gcc 3.3 shows. ++ * argp/argp-help.c (hol_entry_short_iterate): Don't inline. ++ * elf/dl-load.c (fillin_rpath): Likewise. ++ (add_path): Likewise. ++ * elf/dl-version.c (find_needed): Always inline. ++ * elf/do-lookup.c (FCT): Don't inline. ++ * iconv/Makefile: Extend vpath to intl subdir. ++ (iconvconfig-modules): Add hash-string. ++ * iconv/gconv_charset.h (strip): Don't inline. ++ (upstr): Always inline. ++ Move __gconv_compare_alias prototype to... ++ * iconv/gconv_int.h: ...here. ++ * iconv/gconv_db.c: Don't include gconv_charset.h. ++ * iconv/gconv_conf.c (add_alias): Don't inline. ++ (insert_module): Likewise. ++ * iconv/gconv_simple.c (internal_ucs4_loop): Always inline. ++ (internal_ucs4_loop_unaligned): Likewise. ++ (internal_ucs4_loop_single): Likewise. ++ (ucs4_internal_loop): Likewise. ++ (ucs4_internal_loop_unaligned): Likewise. ++ (ucs4_internal_loop_single): Likewise. ++ (internal_ucs4le_loop): Always inline. ++ (internal_ucs4le_loop_unaligned): Likewise. ++ (internal_ucs4le_loop_single): Likewise. ++ (ucs4le_internal_loop): Likewise. ++ (ucs4le_internal_loop_unaligned): Likewise. ++ (ucs4le_internal_loop_single): Likewise. ++ * iconv/loop.c: Always inline the defined functions. ++ * iconvdata/cns11642.h: Likewise. ++ * iconvdata/cns11642l1.h: Likewise. ++ * iconvdata/euc-kr.c: Likewise. ++ * iconvdata/gb2312.h: Likewise. ++ * iconvdata/jis0201.h: Likewise. ++ * iconvdata/jis0208.h: Likewise. ++ * iconvdata/jis0212.h: Likewise. ++ * iconvdata/jisx0213.h: Likewise. ++ * iconvdata/ksc5601.h: Likewise. ++ * iconvdata/utf-7.c (base64): Don't inline. ++ * include/libc-symbols.h (symbol_set_first_element): Add cast ++ (symbol_set_end_p): Likewise. ++ * include/set-hooks (RUN_HOOK): Likewise. ++ * inet/Makefile (aux): Add ifreq. ++ * intl/Makefile (aux): Add some entries from routines. Add ++ hash-string. ++ * intl/hash-string.c: New file. ++ * intl/hash-string.h: Remove hash_string definition. Declare ++ __hash_string. ++ * iconv/gconv_cache.c (find_module_idx): Adjust hash_string caller. ++ * iconv/iconvconfig.c (new_name): Likewise. ++ * intl/dcigettext.c (_nl_find_msg): Likewise. ++ * intl/loadmsgcat.c (_nl_load_domain): Likewise. ++ * io/ftw.c (open_dir_stream): Always inline. ++ (process_entry): Don't inline. ++ * locale/findlocale.c: Include gconv_int.h. ++ * locale/setlocale.c (new_composite_name): Don't inline. ++ * locale/weight.h (findidx): Always inline. ++ * locale/weightwc.h (findidx): Likewise. ++ * locale/programs/linereader.c (lr_ignore_rest): Define here. ++ * locale/programs/linereader.h (lr_ignore_rest): Don't define here, ++ just declare it. ++ (lr_getc): Always inline. ++ (lr_ungetc): Likewise. ++ * nss/nss_files/files-parse.c (parse_list): Likewise. ++ * stdio-common/Makefile (aux): Add printf-parsemb and ++ printf-parsewc. ++ * stdio-common/_itoa.h (_itoa_word): Always inline. ++ (_fitoa_word, _fitoa): Don't define here, only declare. ++ * stdio-common/_itoa.c (_iftoa_word): Add here. ++ (_fitoa): Likewise. ++ * stdio-common/_itowa.h (_itowa_word): Always inline. ++ * stdio-common/printf-parse.h (read_int): Don't inline. ++ (find_spec): Don't define. ++ Declare __find_specmb and __find_specwc. ++ (parse_one_spec): Don't define. ++ Declare __parse_one_specmb and __parse_one_specwc. ++ * stdio-common/printf-parsemb.c: New file. ++ * stdio-common/printf-parsewc.c: New file. ++ * stdio-common/vfprintf.c: Update calls to find_spec and ++ parse_one_spec for new names. ++ * stdio-common/printf-prs.c: Likewise. Define DONT_NEED_READ_INT. ++ * stdlib/Makefile (aux): Add grouping and groupingwc. ++ * stdlib/grouping.c: New file. ++ * stdlib/groupingwc.c: New file. ++ * stdlib/grouping.h (correctly_grouped_prefix): Don't define here. ++ Just prototype. ++ * stdlib/rpmatch.c (try): Don't inline. ++ * stdlib/strtod.c (round_and_return): Don't line. ++ (str_to_mpn): Likewise. ++ (__mpn_lshift_1): Always inline. Optimize only for constant count. ++ Adjust for name change of correctly_grouped_prefix. ++ * sysdeps/generic/strtol.c: Adjust for name change of ++ correctly_grouped_prefix. ++ * string/strxfrm.c (utf8_encode): Don't inline. ++ * sysdeps/generic/dl-cache.c: Define _dl_cache_libcmp. ++ * sysdeps/generic/dl-cache.h: Just declare _dl_cache_libcmp. ++ * sysdeps/generic/ifreq.c: New file. ++ * sysdeps/unix/sysv/linux/ifreq.c: New file. ++ * sysdeps/generic/ifreq.h (__ifreq): Only declare here. ++ * sysdeps/unix/sysv/linux/ifreq.h: Likewise. ++ * sysdeps/generic/ldsodefs.h (_dl_name_match_p): Always inline. ++ * sysdeps/generic/unwind-dw2-fde.c (start_fde_sort): Don't inline. ++ (fde_split): Likewise. ++ (fde_merge): Likewise. ++ (end_fde_sort): Likewise. ++ (init_object): Likewise. ++ (binary_search_unencoded_fdes): Likewise. ++ (binary_search_single_encoding_fdes): Likewise. ++ (binary_search_mixed_encoding_fdes): Likewise. ++ * sysdeps/generic/wordexp.c (w_addchar): Don't inline. ++ * sysdeps/i386/dl-machine.c (elf_machine_runtime_setup): Always inline. ++ * sysdeps/posix/sprofil.c (profil_count): Don't inline. ++ * sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines): ++ Add xstatconv. ++ * sysdeps/unix/sysv/linux/xstatconv.h: New file. ++ * sysdeps/unix/sysv/linux/xstatconv.c: Don't inline the function. ++ Export them. Prepend __ to name. ++ * sysdeps/unix/sysv/linux/Dist: Add xstatconv.h. ++ * sysdeps/unix/sysv/linux/fxstat.c: Adjust for name change of ++ conversion functions. ++ * sysdeps/unix/sysv/linux/fxstat64.c: Likewise. ++ * sysdeps/unix/sysv/linux/lxstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/lxstat64.c: Likewise. ++ * sysdeps/unix/sysv/linux/xstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/xstat64.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/fxstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/lxstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/xstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/pathconf.c (__statfs_link_max, ++ __statfs_filesize_max, __statfs_symlinks): Define here. __ prepended ++ to name. Change callers. ++ * sysdeps/unix/sysv/linux/pathconf.h (__statfs_link_max, ++ __statfs_filesize_max, __statfs_symlinks): Don't define here, just ++ declare. ++ * sysdeps/unix/sysv/linux/fpathconf.c: Change all callers. ++ * time/tzfile.c (decode): Always inline. ++ * wcsmbs/wcsnrtombs.c: Change type of inbuf to unsigned char*. ++ Remove cast in tomb function call. ++ * wcsmbs/wcsrtombs.c Likewise. ++ * wcsmbs/wcstob.c: Introduce new temp variable to take pointer in ++ tomb function call. ++ ++2003-06-10 Ulrich Drepper <drepper@redhat.com> ++ ++ * po/zh_CN.po: Update from translation team. ++ ++2003-06-10 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/bits/in.h (IPV6_V6ONLY, IPV6_JOIN_ANYCAST, ++ IPV6_LEAVE_ANYCAST, IPV6_IPSEC_POLICY, IPV6_XFRM_POLICY): Define. ++ ++2003-06-10 Ulrich Drepper <drepper@redhat.com> ++ ++ * inet/Makefile (aux): Add check_pf. ++ * include/ifaddrs.h: Add prototype for __check_pf. ++ * sysdeps/generic/check_pf.c: New file. ++ * sysdeps/unix/sysv/linux/check_pf.c: New file. ++ * sysdeps/unix/sysv/linux/ifaddrs.h (__no_netlink_support): Renamed ++ from no_netlink_support. Export. ++ * sysdeps/posix/getaddrinfo.c (getaddrinfo): Don't call getifaddrs, ++ call __check_pf. ++ ++ * sysdeps/generic/ifaddrs.h: Add libc_hidden_def. ++ ++ * sysdeps/posix/getaddrinfo.c (getaddrinfo): Don't leak memory ++ from getifaddr calls. ++ ++2003-06-09 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/kernel-features.h ++ (__ASSUME_SETRESGID_SYSCALL): Define. ++ * sysdeps/unix/sysv/linux/setegid.c: Use __ASSUME_SETRESGID_SYSCALL ++ instead of __ASSUME_SETRESUID_SYSCALL. ++ (setegid): Only use setresgid32 inline syscall if __NR_setresgid32 is ++ defined. ++ * sysdeps/unix/sysv/linux/seteuid.c (seteuid): Only use setresgid32 ++ inline syscall if __NR_setresuid32 is defined. ++ * sysdeps/unix/sysv/linux/i386/setegid.c (setegid): Use ++ __ASSUME_SETRESGID_SYSCALL instead of __ASSUME_SETRESUID_SYSCALL. ++ * sysdeps/unix/sysv/linux/i386/setregid.c: Backout last changes. ++ * sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c (setegid): Protect ++ code handling non-existant setresgid32 syscall with ++ #if __ASSUME_SETRESGID_SYSCALL == 0. ++ ++2003-06-09 Andreas Schwab <schwab@suse.de> ++ ++ * sunrpc/Makefile (generated): Remove rpc-proto.c, rpc-proto.d. ++ ($(rpcsvc:%.x=$(objpfx)x%$o)): Don't depend on ++ $(objpfx)rpc-proto.d. ++ (rpcsvc-dt-files, rpcsvc-depfiles): Define. Include ++ $(rpcsvc-depfiles) instead of $(objpfx)rpc-proto.d. ++ ($(objpfx)rpc-proto.d, $(objpfx)rpc-proto.c): Remove rules. ++ ++2003-06-08 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/seteuid.c (seteuid): Use setresuid32 ++ syscall directly if possible. If __ASSUME_SETRESUID_SYSCALL is ++ defined drop compatibility code. ++ * sysdeps/unix/sysv/linux/setegid.c (setegid): Use setresgid32 ++ syscall directly if possible. If __ASSUME_SETRESUID_SYSCALL is ++ defined drop compatibility code. ++ * sysdeps/unix/sysv/linux/i386/seteuid.c (seteuid): Use ++ setresuid32 syscall directly if possible. ++ * sysdeps/unix/sysv/linux/i386/setegid.c (setegid): Use ++ setresgid32 syscall directly if possible. ++ * sysdeps/unix/sysv/linux/i386/setregid.c (__setregid): Make POSIX ++ compliant. Don't change sgid. ++ * sysdeps/unix/sysv/linux/i386/setreuid.c (__setreuid): Make POSIX ++ compliant. Don't change suid. ++ ++ * config.h.in: Add have-forced-unwind. ++ * configure.in: Add AC_SUBST(libc_cv_forced_unwind). ++ ++2003-06-07 Ulrich Drepper <drepper@redhat.com> ++ ++ * test-skeleton.c (main): If EXPECTED_STATUS is defined check that ++ returned status from child matches. ++ ++ * Makeconfig (gnulib): Add -lgcc_eh once again. ++ ++2003-06-06 Ulrich Drepper <drepper@redhat.com> ++ ++ * test-skeleton.c (main): Use TEMP_FAILURE_RETRY with waitpid. ++ ++ * sysdeps/unix/sysv/linux/i386/sysdep.h (ASMFMT_2): Only allow ++ %edx for first parameter. This means no pushl and therefore the ++ unwind info isn't screwed up. ++ ++2003-06-04 Richard Henderson <rth@redhat.com> ++ ++ * sysdeps/alpha/dl-machine.h (RTLD_START): Fix top-of-stack backtrace. ++ * sysdeps/unix/sysv/linux/alpha/clone.S: Likewise. ++ * sysdeps/alpha/elf/start.S: Likewise. Remove pointless allocation. ++ * sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Use standard ldgp ++ entry sequence and explicit relocs. Add unwind info for sigreturn ++ and rt_sigreturn. ++ * configure.in (libc_cv_asm_cfi_directives): Test .cfi_remember_state. ++ ++ * sysdeps/unix/sysv/linux/alpha/syscalls.list (semtimedop): New. ++ Annotate some parameters. ++ * sysdeps/unix/sysv/linux/alpha/sysdep.h (__NR_semtimedop): New. ++ ++ * sysdeps/unix/sysv/linux/alpha/gettimeofday.S: Fix typo in conversion. ++ ++ * include/libc-symbols.h (symbol_set_declare): Use arrays ++ of unspecified size. ++ ++2003-06-04 Jakub Jelinek <jakub@redhat.com> ++ ++ * config.make.in (ASFLAGS-config): New. ++ * Makeconfig (ASFLAGS): Append $(ASFLAGS-config). ++ * configure.in (libc_cv_as_noexecstack): New check. ++ (ASFLAGS_config): Substitute. ++ ++2003-06-04 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/i386/fpu/bits/mathinline.h (log1p, asinh, acosh, atanh, ++ hypot, logb): Protect with #ifdef __FAST_MATH__. ++ ++2003-06-04 Thorsten Kukuk <kukuk@suse.de> ++ ++ * sysdeps/i386/fpu/bits/mathinline.h (ldexpf, ldexpl): Protect with ++ #ifdef __FAST_MATH__. ++ ++2003-06-03 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/glob.c [HAVE_D_TYPE] (glob_in_dir): Also allow ++ DT_LNK entries if GLOB_ONLYDIR is set [PR libc/5043]. ++ * posix/globtest.sh: Adjust for this change. ++ ++ * sysdeps/unix/sysv/linux/ifaddrs.c (netlink_open): Call getsockname ++ to get the actual PID value used in the records passed up. ++ (getifaddrs): Don't initialize nh.pid here. ++ ++2003-06-02 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/ifaddrs.c (netlink_receive): Minor ++ optimization. ++ ++ * po/zh_CN.po: Update from translation team. ++ ++ * posix/getconf.c (main): Also recognize names without the ++ _POSIX_ prefix. ++ ++ * elf/Makefile (CFLAGS-dl-lookup.c): Define. ++ ++2003-06-02 Bernd Schmidt <bernds@redhat.com> ++ ++ * sysdeps/i386/fpu/bits/mathinline.h (sqrt, __sqrtl, ldexp, ++ ldexpf, ldexpl): Only define if __FAST_MATH__. ++ ++2003-06-02 Richard C. Bilson <rcbilson@plg.uwaterloo.ca> ++ ++ Replace hard-coded offsets into struct sigcontext with generated file. ++ * sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym: New file. ++ * sysdeps/unix/sysv/linux/ia64/Makefile ++ [$(subdir) = stdlib] (gen-as-const-headers): Add it. ++ * sysdeps/unix/sysv/linux/ia64/ucontext_i.h: Include it instead of ++ defining SC_* macros here. ++ ++2003-06-02 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/bits/sched.h (CLONE_PID): Remove. ++ ++2003-06-01 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/i386/dl-machine.h: Include <sysdep.h>. ++ ++2003-06-01 Ulrich Drepper <drepper@redhat.com> ++ ++ * test-skeleton.c (main): Request getopt to not reorder the ++ command line. ++ ++ * elf/Makefile (CFLAGS-dl-runtime.c): Define. ++ ++ * wcsmbs/wcpncpy.c (__wcpncpy): Fix broken implementation to match ++ stpncpy. ++ ++2003-05-31 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/bits/sigaction.h (SA_NOCLDWAIT): Define. ++ ++2003-05-31 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_plt_conflict): ++ New function. ++ (elf_machine_rela) <case R_PPC64_JMP_SLOT>: Avoid ++ RESOLVE_CONFLICT_FIND_MAP. If RESOLVE_CONFLICT_FIND_MAP is defined, ++ call elf_machine_plt_conflict instead of elf_machine_fixup_plt. ++ ++2003-05-31 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/i386/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE): Add ++ CFI directives. ++ ++ * csu/Makefile: Fix Makefile warnings regarding Scrt1.o. ++ ++ * libio/fileops.c (_IO_file_open): Don't mark as inline. ++ ++ * sysdeps/ia64/elf/initfini.c (gmon_initializer): Mark with ++ attribute used. ++ ++2003-05-30 Ulrich Drepper <drepper@redhat.com> ++ ++ * scripts/config.guess: Update from master copy. ++ * scripts/config.sub: Likewise. ++ ++2003-05-30 Guido Guenther <agx@sigxcpu.org> ++ ++ * sysdeps/mips/mips64/bsd-_setjmp.S: Include <sys/asm.h> for ++ SETUP_GP64 and friends. ++ * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h: Fix register ++ names in internal_syscall{6,7}. ++ * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/mips/pread.c [_MIPS_SIM == _ABI64]: Fix ++ number of syscall arguments. ++ * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise. ++ ++2003-05-30 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/x86_64/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE): ++ Add CFI directives. ++ ++ * sysdeps/unix/sysv/linux/x86_64/sigaction.c (RESTORE2): Add CFI ++ directives. ++ ++ * sysdeps/generic/sysdep.h: Add CFI_* macros for C files. ++ ++ * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER): ++ Add CFI directives. ++ ++2003-05-30 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/powerpc/powerpc32/elf/start.S: Make code compilable with ++ SHARED. ++ ++2003-05-11 Andreas Schwab <schwab@suse.de> ++ ++ * Makerules: Always use -MP together with -MD. ++ (sed-remove-dotot): Substitute $(..) also at start of line. ++ ($(stdio_lim:h=st)): Use -MD instead of SUNPRO_DEPENDENCIES. ++ Generated defines with a single compiler call. ++ Use $(sed-remove-dotdot). ++ * mach/Makefile ($(objpfx)mach-syscalls.mk): Use -MD instead ++ of DEPENDENCIES_OUTPUT, and use $(sed-remove-objpfx). ++ * sysdeps/unix/sysv/linux/Makefile ($(objpfx)syscall-%.h): ++ Use -MD instead of SUNPRO_DEPENDENCIES, and use $(sed-remove-objpfx). ++ * sysdeps/unix/sysv/linux/mips/Makefile ++ ($(objpfx)syscall-%.h): Likewise. ++ ++2003-05-28 Roland McGrath <roland@redhat.com> ++ ++ * malloc/malloc.h [! __GNUC__] (__const): Define if undefined. ++ ++2003-05-26 Aldy Hernandez <aldyh@redhat.com> ++ ++ * soft-fp/soft-fp.h (FP_EX_UNDERFLOW): Define to 0. ++ ++2003-05-28 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/setcontext.S: Pass fourth argument to ++ rt_sigprocmask system call. ++ * sysdeps/unix/sysv/linux/ia64/ucontext_i.h (SC_MASK): Fix value. ++ From Peter A. Buhr <pabuhr@plg2.math.uwaterloo.ca>. ++ ++2003-05-28 Ulrich Drepper <drepper@redhat.com> ++ ++ * include/libc-symbols.h: Define hidden attribute for real also if ++ LIBC_NONSHARED is defined. Patch by Jakub Jelinek. ++ ++ * csu/Makefile: Add rules to build Scrt1.o. ++ * sysdeps/i386/elf/start.S: Make code compilable with SHARED. ++ * sysdeps/x86_64/elf/start.S: Likewise. ++ ++2003-05-27 Jakub Jelinek <jakub@redhat.com> ++ ++ * stdio-common/vfprintf.c (process_arg, process_string_arg): Use ++ pa_int/pa_u_int instead of pa_short_int, pa_u_short_int and pa_char. ++ * stdio-common/printf-parse.h (union printf_arg): Remove pa_char, ++ pa_short_int, pa_u_short_int and pa_float. ++ ++2003-05-26 Jakub Jelinek <jakub@redhat.com> ++ ++ * libio/strops.c (_IO_str_init_static): Change into a wrapper around ++ _IO_str_init_static_internal. ++ (_IO_str_init_static_internal): Moved from _IO_str_init_static, ++ change size argument to _IO_size_t, don't limit sprintf to 64M. ++ (_IO_str_init_readonly): Call _IO_str_init_static_internal. ++ * libio/wstrops.c (_IO_wstr_init_static): Change size argument to ++ _IO_size_t, don't limit swprintf to 256M. ++ (_IO_wstr_init_readonly): Remove. ++ * libio/libioP.h (_IO_str_init_static_internal, _IO_wstr_init_static): ++ Adjust prototypes. ++ (_IO_wstr_init_readonly): Remove prototype. ++ * libio/iovsprintf.c (_IO_vsprintf): Use ++ _IO_str_init_static_internal instead of INTUSE(_IO_str_init_static). ++ * libio/iovsscanf.c (_IO_vsscanf): Likewise. ++ * libio/memstream.c (open_memstream): Likewise. ++ * libio/obprintf.c (_IO_obstack_vfprintf): Likewise. ++ * libio/vasprintf.c (_IO_vasprintf): Likewise. ++ * libio/vsnprintf.c (_IO_vsnprintf): Likewise. ++ * stdio-common/tst-sprintf.c (main): Add new test. ++ ++2003-05-26 Ulrich Drepper <drepper@redhat.com> ++ ++ * stdio-common/vfprintf.c (vfprintf): Be bug-compatible with some ++ other implementation in respect of multiple uses of parameter with ++ different types. ++ ++2003-05-25 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/kernel-features.h: Define ++ __ASSUME_FUTEX_REQUEUE for >= 2.5.70. ++ ++2003-05-22 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/unix/sysv/linux/x86_64/gettimeofday.S: Add CFI ++ directives. ++ * sysdeps/unix/sysv/linux/x86_64/time.S: Likewise. ++ * sysdeps/x86_64/strtok.S: Likewise. ++ ++2003-05-20 Guido Guenther <agx@sigxcpu.org> ++ ++ * sysdeps/unix/sysv/linux/mips/bits/siginfo.h: Change SI_ASYNCNL ++ to -60 and define SI_TKILL. ++ ++2003-05-21 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * math/test-fenv.c (feexcp_nomask_test): Fix comment. ++ (feexcp_mask_test): Likewise. ++ ++2003-05-21 Ulrich Drepper <drepper@redhat.com> ++ ++ * locale/programs/locale.c (main): Fix typo in last patch. ++ ++ * csu/elf-init.c: Mark __preinit_array_start, __preinit_array_end, ++ __init_array_start, __init_array_end, __fini_array_start, and ++ __fini_array_end as hidden. ++ ++2003-05-21 Petter Reinholdtsen <pere@hungry.com> ++ ++ * locale/programs/locale.c (main): Report an error if setlocale() ++ fails [PR libc/2254]. ++ ++2003-05-21 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/s390/system.c: New file. ++ ++2003-05-21 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (LOADARGS_0, ++ LOADARGS_1, LOADARGS_2, LOADARGS_3, LOADARGS_4, LOADARGS_5, ++ LOADARGS_6): Don't error if syscall argument is a string literal. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h (LOADARGS_0, ++ LOADARGS_1, LOADARGS_2, LOADARGS_3, LOADARGS_4, LOADARGS_5, ++ LOADARGS_6): Likewise. ++ ++2003-05-21 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/generic/sysdep.h (cfi_offset, cfi_startproc, ++ cfi_endproc, cfi_def_cfa, cfi_def_ccfa_register, ++ cfi_def_cfa_offset, cfi_adjust_cfa_offset, cfi_offset): Define. ++ ++ * sysdeps/x86_64/sysdep.h (CALL_MCOUNT): Add cfi directives. ++ (ENTRY): Likewise. ++ (END): Likewise. ++ ++ * configure.in: Test for asm cfi directives. ++ ++ * config.h.in: Add HAVE_ASM_CFI_DIRECTIVES. ++ ++2003-05-17 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/unix/sysv/linux/x86_64/syscall.S: Revert last patch. ++ ++ * rt/tst-clock_nanosleep.c: Include <time.h> for clock_nanosleep. ++ ++2003-05-16 Ulrich Drepper <drepper@redhat.com> ++ ++ * rt/Makefile (tests): Add tst-clock_nanosleep. ++ * rt/tst-clock_nanosleep.c: New file. ++ * posix/Makefile (tests): Add tst-nanosleep. ++ * posix/tst-nanosleep.c: New file. ++ ++ * sysdeps/unix/clock_nanosleep.c (CPUCLOCK_P): Fix definition. ++ ++ * include/features.h (__USE_XOPEN2K): Define also for ++ _POSIX_C_SOURCE>=200112L. ++ ++ * sysdeps/unix/sysv/linux/sigwaitinfo.c (do_sigwaitinfo): Fold ++ SI_TKILL code into SI_USER. ++ * sysdeps/unix/sysv/linux/sigtimedwait.c (do_sigtimedwait): Likewise. ++ ++ * sysdeps/posix/sigpause.c (do_sigpause): Use sigdelset after all. ++ ++2003-05-15 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/powerpc/powerpc32/dl-machine.c (_dl_reloc_overflow): ++ Remove sym argument, always use refsym. ++ (__process_machine_rela): Adjust callers. ++ * sysdeps/powerpc/powerpc64/dl-machine.c (_dl_reloc_overflow): ++ Likewise. ++ * sysdeps/powerpc/powerpc32/dl-machine.h (_dl_reloc_overflow): ++ Adjust prototype. ++ * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela): Likewise. ++ ++2003-05-15 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Fix typo ++ (DL_NEED_SYSINFO -> NEED_DL_SYSINFO). If aux value is not known ++ print numeric values. ++ ++2003-05-12 Thorsten Kukuk <kukuk@suse.de> ++ ++ * inet/netinet/igmp.h: Sync with Linux Kernel 2.5.69 and *BSD. ++ ++2003-05-14 Andreas Schwab <schwab@suse.de> ++ ++ * sysdeps/unix/sysv/linux/ia64/umount.c: New file. ++ ++2003-05-14 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/rtld.c (dl_main): For LD_TRACE_PRELINKING print search scope ++ even if no DT_NEEDED is present. ++ ++2003-05-13 David Mosberger <davidm@hpl.hp.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/setjmp.S: Fix the fix from ++ 2003-03-27: setjmp is NOT a leaf-routine (due to the call to ++ __sigjmp_save) so we can't keep the saved unat value in a scratch ++ register (r16). Use loc2 instead. ++ ++2003-05-13 Ulrich Drepper <drepper@redhat.com> ++ ++ * csu/Makefile: Do compile elf-init with PIC flag since in dynamic ++ binaries it has to be relocatable. ++ ++ * sysdeps/unix/sysv/linux/waitpid.c: Use waitpid syscall is available. ++ ++2003-05-12 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/powerpc/bits/atomic.h ++ (__arch_compare_and_exchange_bool_8_rel): Define. ++ (__arch_compare_and_exchange_bool_16_rel): Define. ++ (__ARCH_REL_INSTR): Define if not already defined. ++ (__arch_atomic_exchange_and_add_32): Add "memory" to clobber list. ++ (__arch_atomic_decrement_if_positive_32): ++ Add "memory" to clobber list. ++ (__arch_compare_and_exchange_val_32_acq): Remove release sync. ++ (__arch_compare_and_exchange_val_32_rel): Define. ++ (__arch_atomic_exchange_32): Remove. ++ (__arch_atomic_exchange_32_acq): Define. ++ (__arch_atomic_exchange_32_rel): Define. ++ (atomic_compare_and_exchange_val_rel): Define. ++ (atomic_exchange_acq): Use __arch_atomic_exchange_*_acq forms. ++ (atomic_exchange_rel): Define. ++ * sysdeps/powerpc/powerpc32/bits/atomic.h ++ (__arch_compare_and_exchange_bool_32_acq): Remove release sync. ++ (__arch_compare_and_exchange_bool_32_rel): Define. ++ (__arch_compare_and_exchange_bool_64_rel): Define. ++ (__arch_compare_and_exchange_val_64_rel): Define. ++ (__arch_atomic_exchange_64): Remove. ++ (__arch_atomic_exchange_64_acq): Define. ++ (__arch_atomic_exchange_64_rel): Define. ++ * sysdeps/powerpc/powerpc64/bits/atomic.h ++ (__arch_compare_and_exchange_bool_32_rel): Define. ++ (__arch_compare_and_exchange_bool_64_acq): Remove release sync. ++ (__arch_compare_and_exchange_bool_64_rel): Define. ++ (__arch_compare_and_exchange_val_64_acq): Remove release sync. ++ (__arch_compare_and_exchange_val_64_rel): Define. ++ (__arch_atomic_exchange_64): Remove. ++ (__arch_atomic_exchange_64_acq): Define. ++ (__arch_atomic_exchange_64_rel): Define. ++ (__arch_atomic_exchange_and_add_64): Add "memory" to clobber list. ++ (__arch_atomic_decrement_if_positive_64): ++ Add "memory" to clobber list. ++ [!UP](__ARCH_REL_INSTR): Define as lwsync. ++ ++2003-05-11 Andreas Schwab <schwab@suse.de> ++ ++ * io/Makefile ($(objpfx)ftwtest.out): Use absolute file names. ++ ++2003-05-11 Ulrich Drepper <drepper@redhat.com> ++ ++ * time/tst-strftime.c (do_test): Add tests for - flag. ++ ++2003-05-11 Jim Meyering <jim@meyering.net> ++ ++ * time/strftime.c (my_strftime): Let the `-' (no-pad) flag affect ++ the space-padded-by-default conversion specifiers, %e, %k, %l. ++ ++2003-05-11 Andreas Schwab <schwab@suse.de> ++ ++ * sysdeps/generic/sched_setaffinity.c: Fix parameter name. ++ ++2003-05-10 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/bits/sched.h: Define cpu_set_t only if not ++ already defined and when really needed. ++ * sysdeps/unix/sysv/linux/bits/sched.h: Likewise. ++ ++2003-05-09 Thorsten Kukuk <kukuk@suse.de> ++ ++ * sysdeps/unix/sysv/linux/netinet/igmp.h: Don't include kernel ++ headers, add defines from kernel header, move it from here... ++ * inet/netinet/igmp.h: ... to here. ++ * inet/Makefile (headers): Add netinet/igmp.h. ++ * sysdeps/unix/sysv/linux/Makefile: Remove netinet/igmp.h. ++ * sysdeps/unix/sysv/linux/Dist: Remove netinet/igmp.h. ++ ++2003-05-10 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/pthread/lio_listio64.c (lio_listio64): If SIG == NULL, ++ use dummy sigevent structure with SIGEV_NONE [PR libc/5015]. ++ ++2003-05-09 Thorsten Kukuk <kukuk@suse.de> ++ ++ * libio/bits/stdio.h: Sync prototypes with libio/stdio.h ++ (remove __THROW from possible cancellation points). ++ ++2003-05-10 Ulrich Drepper <drepper@redhat.com> ++ ++ * posix/sched.h (CPU_SETSIZE): Define. ++ ++2003-05-09 Ulrich Drepper <drepper@redhat.com> ++ ++ * Makeconfig (gnulib): Remove -lgcc_eh again. ++ ++ * posix/sched.h: Change prototypes of sched_getaffinity and ++ sched_setaffinity. Define CPU_SET, CPU_CLR, CPU_ISSET, and CPU_ZERO. ++ * sysdeps/generic/sched_getaffinity.c: Adjust definition. ++ * sysdeps/generic/sched_setaffinity.c: Likewise. ++ * sysdeps/generic/bits/sched.h: Define __CPU_SETSIZE, __NCPUBITS, ++ __CPUELT, __CPUMASK, cpu_set_t, __cpu_mask, __CPU_ZERO, __CPU_SET, ++ __CPU_CLR, and __CPU_ISSET. ++ * sysdeps/unix/sysv/linux/bits/sched.h: Likewise. ++ * sysdeps/unix/sysv/linux/sched_getaffinity.c: New file. ++ * sysdeps/unix/sysv/linux/sched_setaffinity.c: New file. ++ ++ * include/atomic.h (atomic_exchange_acq): Renamed from atomic_exchange. ++ (atomic_exchange_rel): New #define. ++ * sysdeps/ia64/bits/atomic.h: Likewise. ++ * sysdeps/i386/i486/bits/atomic.h (atomic_exchange_acq): Renamed from ++ atomic_exchange. ++ * sysdeps/m68k/m68020/bits/atomic.h: Likewise. ++ * sysdeps/powerpc/bits/atomic.h: Likewise. ++ * sysdeps/sparc/sparc32/sparcv9/bits/atomic.h: Likewise. ++ * sysdeps/sparc/sparc64/bits/atomic.h: Likewise. ++ * sysdeps/x86_64/bits/atomic.h: Likewise. ++ * csu/tst-atomic.c: Use atomic_exchange_acq instead of atomic_exchange. ++ ++ * sysdeps/unix/sysv/linux/x86_64/get_clockfreq.c: New file. ++ ++2003-05-08 Ulrich Drepper <drepper@redhat.com> ++ ++ * malloc/thread-m.h: Remove special handling of thread_atfork if ++ HAVE_register_atfork_malloc is defined. ++ ++2003-05-07 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/unix/sysv/linux/x86_64/syscall.S: Add DWARF2 unwind ++ information. ++ ++2003-05-06 Ulrich Drepper <drepper@redhat.com> ++ ++ * libio/oldiofdopen.c (_IO_old_fdopen): Use _IO_old_init not _IO_init. ++ * libio/oldiofopen.c (_IO_old_fopen): Likewise. ++ * libio/libioP.h: Declare _IO_old_init. ++ * libio/genops.c (_IO_no_init): Split in two. New function ++ _IO_old_init. ++ ++2003-05-05 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/enbl-secure.c (__libc_enable_secure_decided): New ++ variable. ++ (__libc_init_secure): Don't do anything if __libc_enable_secure_decided ++ is nonzero. ++ * include/unistd.h: Declare __libc_enable_secure_decided. ++ * elf/dl-support.c (_dl_aux_init): Recognize AT_UID, AT_EUID, AT_GID, ++ and AT_EGID. If all found, set __libc_enable_secure and ++ __libc_enable_secure_decided. ++ ++ * sysdeps/generic/libc-start.c [!SHARED]: Call ++ __libc_check_standard_fds after __libc_init_first. ++ ++2003-05-05 Roland McGrath <roland@redhat.com> ++ ++ * Makerules (common-before-compile): New variable. ++ ($(common-objpfx)%.make): Depend on that instead of $(before-compile). ++ ($(common-objpfx)%.h $(common-objpfx)%.h.d): Likewise. Move this rule ++ to after all setting of before-compile. ++ ++2003-05-05 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/ia64/bits/atomic.h (__arch_compare_and_exchange_val_8_acq, ++ __arch_compare_and_exchange_val_16_acq): Cast 0 to mem's type. ++ * sysdeps/powerpc/powerpc32/bits/atomic.h ++ (__arch_compare_and_exchange_val_64_acq): Likewise. ++ * sysdeps/sparc/sparc32/sparcv9/bits/atomic.h ++ (__arch_compare_and_exchange_val_8_acq, ++ __arch_compare_and_exchange_val_16_acq, ++ __arch_compare_and_exchange_val_64_acq): Likewise. ++ * sysdeps/sparc/sparc64/bits/atomic.h ++ (__arch_compare_and_exchange_val_8_acq, ++ __arch_compare_and_exchange_val_16_acq): Likewise. ++ * sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_8_acq, ++ __arch_compare_and_exchange_val_16_acq, ++ __arch_compare_and_exchange_val_64_acq): Likewise. ++ * sysdeps/unix/sysv/linux/sh/bits/atomic.h ++ (__arch_compare_and_exchange_val_64_acq): Likewise. ++ * sysdeps/s390/s390-64/backtrace.c (__backtrace): Add cast to shut ++ up warning. ++ * sysdeps/s390/fpu/fegetenv.c (fegetenv): Likewise. ++ ++ * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h ++ (INLINE_SYSCALL, INTERNAL_SYSCALL_DIRECT, INTERNAL_SYSCALL_SVC0): ++ Return long instead of int. ++ (INTERNAL_SYSCALL_ERROR_P): Cast val to unsigned long, replace ++ 0xfffff001u with -4095UL. ++ ++2003-05-05 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/x86_64/fpu_control.h: New from i386. ++ ++ * sysdeps/unix/sysv/linux/x86_64/sysdep.h (__NR_semtimedop): ++ Define if not defined. ++ ++ * sunrpc/Makefile (generated-dirs): New variable. ++ * resolv/Makefile (generated): New variable. ++ ++2003-05-04 Roland McGrath <roland@redhat.com> ++ ++ * csu/Makefile ($(csu-dummies) target rule): Don't use a temp C file. ++ Depend on $(before-compile). ++ ++ * csu/Makefile ($(objpfx)crt%.o): Replace implicit rule with a static ++ pattern rule. The implicit rule could be ruled out when $(objpfx) ++ didn't exist at the time of its consideration (ugh!). ++ ++ * Makerules (+make-deps): Fix target matching. ++ Use $(sed-remove-dotdot). ++ ++2003-05-03 Ulrich Drepper <drepper@redhat.com> ++ ++ * nscd/nscd.c (main): Parse config file right after parsing ++ parameters. Then, if get_stats is true, call receive_print_stats. ++ Drop parameter from nscd_init call. ++ (get_stats): New variable. ++ (parse_opt): Set get_stats, don't call receive_print_stats here. ++ * nscd/nscd.h: Declare dbs, stat_user, and stat_uid. Adjust nscd_init ++ prototype. ++ * nscd/connections.c (stat_user, stat_uid): New variables. ++ (dbs): Make global. ++ (nscd_init): Don't read configuration file here. Drop parameter. ++ (handle_request): Cleanup handling of non-database lookup requests. ++ * nscd/nscd_conf.c (nscd_parse_file): Recognize stat-user entry. ++ Get UID of the specified user. Use xstrdup instead of strdup. ++ * nscd/nscd_stat.c (receive_print_stats): Check UID. If not zero, ++ check stat_user. ++ * nscd/Makefile (nscd-modules): Add xstrdup. ++ * nscd/nscd.conf: Document stat-user entry. ++ ++2003-05-03 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/sysdep.h (__NR_semtimedop): Define ++ if not defined. ++ ++2003-04-22 Roland McGrath <roland@redhat.com> ++ ++ * elf/elf.h (AT_SYSINFO_EHDR): New macro, replaces AT_SYSINFO_EH_FRAME. ++ * sysdeps/generic/ldsodefs.h (struct rtld_global): Remove ++ dl_sysinfo_eh_frame member, add dl_sysinfo_dso member instead. ++ * elf/dl-support.c: Update defn. ++ * sysdeps/generic/libc-start.c: Don't call __register_frame_info_bases. ++ * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start) [NEED_DL_SYSINFO]: ++ Set GL(dl_sysinfo_dso) from AT_SYSINFO_EHDR. ++ (_dl_show_auxv): Grok AT_SYSINFO_EHDR, not AT_SYSINFO_EH_FRAME. ++ * elf/rtld.c (dl_main) [NEED_DL_SYSINFO]: If GL(dl_sysinfo_dso) is ++ set, set up a link_map for the preloaded, prelinked object. ++ ++2003-05-03 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/gnu/Makefile (generated): Append errlist-compat.c here, ... ++ * stdio-common/Makefile: ... not here. ++ ++ * csu/Makefile ($(objpfx)initfini.s): Depend on $(before-compile). ++ * sysdeps/gnu/Makefile ($(objpfx)errlist-compat.c): Likewise. ++ ++2003-05-02 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/s390/semtimedop.c: New file. ++ ++ * sysdeps/unix/sysv/linux/alpha/ipc_priv.h (IPCOP_semtimedop): Define. ++ ++ * sysdeps/generic/dl-fptr.c (_dl_make_fptr): Use 0 not NULL for ++ comparing ftab elements. ++ (_dl_unmap): Fix typo in test. ++ (_dl_make_fptr): Fix typos introduced in last change. ++ ++ * sysdeps/generic/dl-fptr.c: Put back one optimization from the ++ original patch. Use non-exported symbols. Mark translatable ++ strings. Pretty printing. ++ ++2003-05-02 Roland McGrath <roland@redhat.com> ++ ++ * Makerules (do-stamp): Do $(make-target-directory). ++ ++2003-04-07 H.J. Lu <hjl@gnu.org> ++ ++ * sysdeps/generic/dl-fptr.c: Modify to remove the lock. ++ ++2003-04-03 H.J. Lu <hjl@gnu.org> ++ ++ * sysdeps/ia64/dl-fptr.c: Moved to ... ++ * sysdeps/generic/dl-fptr.c: Here. ++ ++ * sysdeps/generic/dl-fptr.h: New. ++ * sysdeps/ia64/dl-fptr.h: New. ++ ++ * sysdeps/ia64/dl-symaddr.c: Moved to ... ++ * sysdeps/generic/dl-symaddr.c: here. ++ ++ * sysdeps/ia64/dl-machine.h: Include <dl-fptr.h>. ++ (IA64_BOOT_FPTR_TABLE_LEN): Removed. ++ (ia64_fdesc): Likewise. ++ (ia64_fdesc_table): Likewise. ++ (__ia64_make_fptr): Likewise. ++ (__ia64_init_bootstrap_fdesc_table): Replace __ia64_boot_fptr_table ++ with _dl_boot_fptr_table. ++ (elf_machine_runtime_setup): Replace `struct ia64_fdesc' with ++ `struct fdesc'. ++ (elf_machine_rela): Replace __ia64_make_fptr with _dl_make_fptr. ++ ++2003-05-01 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/generic/bp-thunks.h: Protect includes with [!__ASSEMBLER__]. ++ * sysdeps/unix/sysv/linux/i386/bp-thunks.h: Likewise. ++ ++ * sysdeps/unix/sysv/linux/Makefile ($(objpfx)syscall-%.h): ++ Use $(make-target-directory). ++ * sysdeps/unix/Makefile ($(objpfx)stub-syscalls.c): Likewise. ++ ++ * Makerules (compile-mkdep-flags): New variable, pass -MD -MF $@.d. ++ (compile-command.S): Don't use ifndef. Append $(compile-mkdep-flags). ++ (compile-command.s, compile-command.c): Likewise. ++ ($(objpfx)%.d): All such pattern rules removed. ++ ($(+sysdir_pfx)sysd-rules): Don't generate them. ++ ($(common-objpfx)dummy.d): Target removed. ++ (make-dummy-dep): Variable removed. ++ (generate-md5): Likewise. ++ (%.d: %.dt): New pattern rule. ++ (+depfiles): Use $(wildcard) function to get just existing *.d files ++ and .d files for existing *.dt files. ++ (common-clean): Remove all *.d and *.dt files. ++ (before-compile): Add $(objpfx). when it doesn't exist, ++ regardless of $(no_deps). ++ * elf/rtld-Rules ($(objpfx)rtld-%.d): All such pattern rules removed. ++ (rtld-depfiles): Use .os.d instead of .d names. ++ Include existing *.d files and .d files for existing *.dt files. ++ ++ * Makerules ($(common-objpfx)%.make): Protect with [! subdir]. ++ Use -MD, -MT and -MF flags instead of SUNPRO_DEPENDENCIES variable. ++ ++ * sysdeps/unix/Makefile ($(common-objpfx)s-%.d): Remove compat.h hack. ++ Do s-*.d includes only if we have some syscall routines in this subdir. ++ ++ * include/libc-symbols.h (libc_freeres_ptr): Use %nobits instead of ++ @nobits. The former is accepted by gas on any ELF platform. ++ ++2003-05-01 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/semtimedop.c: New file. ++ ++ * malloc/malloc.c (mSTATs): Call ptmalloc_init if necessary. ++ ++2003-04-29 Andreas Schwab <schwab@suse.de> ++ ++ * string/test-strcat.c (do_one_test): Fix attribute name. ++ ++2003-04-30 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/mips/sys/ucontext.h (ucontext): Make ++ uc_flags long for all ABIs. ++ ++2003-04-30 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h ++ (DR_CONTROL_RESERVED): Use correct value for 64-bit. ++ Reported by Andrew Derrick Balsa <andrebalsa@mailingaddress.org>. ++ Add bi-arch support. ++ ++2003-04-30 Ulrich Drepper <drepper@redhat.com> ++ ++ * malloc/malloc.c (mEMALIGn): Define alias __memalign_internal. ++ (__posix_memalign): Use __memalign_internal instead of memalign. ++ ++2003-04-29 Roland McGrath <roland@redhat.com> ++ ++ * configure.in: Search for AUTOCONF unconditionally. ++ Just don't complain about missing it under --without-cvs. ++ ++ * include/libc-symbols.h (__symbol_set_attribute): New macro, ++ give hidden for [SHARED] and weak for [! SHARED]. ++ (symbol_set_declare): Use that. Never need weak_extern these days. ++ * Makerules ($(common-objpfx)shlib.lds): Go back to using PROVIDE. ++ Depend on $(..)Makerules. ++ ++2003-04-29 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs): Use __ protected ++ variants of socket, bind, recvmsg, and sendto. ++ ++ * sysdeps/i386/fpu/ftestexcept.c: Also check SSE status word. ++ ++ * include/signal.h: Use libc_hidden_proto for sigaddset and sigdelset. ++ * signal/sigaddset.c: Add libc_hidden_def. ++ * signal/sigdelset.c: Likewise. ++ ++2003-04-29 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/i386/i486/string-inlines.c (__memcpy_g, __strchr_g): Move ++ to the end of the file. ++ ++ * configure.in: Change __oline__ to $LINENO. ++ (HAVE_BUILTIN_REDIRECTION): New check. ++ * config.h.in (HAVE_BUILTIN_REDIRECTION): Add. ++ * include/libc-symbols.h (libc_hidden_builtin_proto, ++ libc_hidden_builtin_def, libc_hidden_builtin_weak, ++ libc_hidden_builtin_ver): Define. ++ * include/string.h (memchr, memcpy, memmove, memset, strcat, strchr, ++ strcmp, strcpy, strcspn, strlen, strncmp, strncpy, strpbrk, strrchr, ++ strspn, strstr): Add libc_hidden_builtin_proto. ++ * intl/plural.y: Include string.h. ++ * sysdeps/alpha/alphaev6/memchr.S (memchr): Add ++ libc_hidden_builtin_def. ++ * sysdeps/alpha/alphaev6/memcpy.S (memcpy): Likewise. ++ * sysdeps/alpha/alphaev6/memset.S (memset): Likewise. ++ * sysdeps/alpha/alphaev67/strcat.S (strcat): Likewise. ++ * sysdeps/alpha/alphaev67/strchr.S (strchr): Likewise. ++ * sysdeps/alpha/alphaev67/strlen.S (strlen): Likewise. ++ * sysdeps/alpha/alphaev67/strrchr.S (strrchr): Likewise. ++ * sysdeps/alpha/memchr.S (memchr): Likewise. ++ * sysdeps/alpha/memset.S (memset): Likewise. ++ * sysdeps/alpha/strcat.S (strcat): Likewise. ++ * sysdeps/alpha/strchr.S (strchr): Likewise. ++ * sysdeps/alpha/strcmp.S (strcmp): Likewise. ++ * sysdeps/alpha/strcpy.S (strcpy): Likewise. ++ * sysdeps/alpha/strlen.S (strlen): Likewise. ++ * sysdeps/alpha/strncmp.S (strncmp): Likewise. ++ * sysdeps/alpha/strncpy.S (strncpy): Likewise. ++ * sysdeps/alpha/strrchr.S (strrchr): Likewise. ++ * sysdeps/arm/memset.S (memset): Likewise. ++ * sysdeps/arm/strlen.S (strlen): Likewise. ++ * sysdeps/generic/memchr.c (memchr): Likewise. ++ * sysdeps/generic/memcpy.c (memcpy): Likewise. ++ * sysdeps/generic/memmove.c (memmove): Likewise. ++ * sysdeps/generic/memset.c (memset): Likewise. ++ * sysdeps/generic/strcat.c (strcat): Likewise. ++ * sysdeps/generic/strchr.c (strchr): Likewise. ++ * sysdeps/generic/strcmp.c (strcmp): Likewise. ++ * sysdeps/generic/strcpy.c (strcpy): Likewise. ++ * sysdeps/generic/strcspn.c (strcspn): Likewise. ++ * sysdeps/generic/strlen.c (strlen): Likewise. ++ * sysdeps/generic/strncmp.c (strncmp): Likewise. ++ * sysdeps/generic/strncpy.c (strncpy): Likewise. ++ * sysdeps/generic/strpbrk.c (strpbrk): Likewise. ++ * sysdeps/generic/strrchr.c (strrchr): Likewise. ++ * sysdeps/generic/strspn.c (strspn): Likewise. ++ * sysdeps/generic/strstr.c (strstr): Likewise. ++ * sysdeps/i386/i486/strcat.S (strcat): Likewise. ++ * sysdeps/i386/i486/strlen.S (strlen): Likewise. ++ * sysdeps/i386/i586/memcpy.S (memcpy): Likewise. ++ * sysdeps/i386/i586/memset.S (memset): Likewise. ++ * sysdeps/i386/i586/strchr.S (strchr): Likewise. ++ * sysdeps/i386/i586/strcpy.S (strcpy): Likewise. ++ * sysdeps/i386/i586/strlen.S (strlen): Likewise. ++ * sysdeps/i386/i686/memcpy.S (memcpy): Likewise. ++ * sysdeps/i386/i686/memmove.S (memmove): Likewise. ++ * sysdeps/i386/i686/memset.S (memset): Likewise. ++ * sysdeps/i386/i686/strcmp.S (strcmp): Likewise. ++ * sysdeps/i386/memchr.S (memchr): Likewise. ++ * sysdeps/i386/memset.c (memset): Likewise. ++ * sysdeps/i386/strchr.S (strchr): Likewise. ++ * sysdeps/i386/strcspn.S (strcspn): Likewise. ++ * sysdeps/i386/strlen.c (strlen): Likewise. ++ * sysdeps/i386/strpbrk.S (strpbrk): Likewise. ++ * sysdeps/i386/strrchr.S (strrchr): Likewise. ++ * sysdeps/i386/strspn.S (strspn): Likewise. ++ * sysdeps/ia64/memchr.S (memchr): Likewise. ++ * sysdeps/ia64/memcpy.S (memcpy): Likewise. ++ * sysdeps/ia64/memmove.S (memmove): Likewise. ++ * sysdeps/ia64/memset.S (memset): Likewise. ++ * sysdeps/ia64/strcat.S (strcat): Likewise. ++ * sysdeps/ia64/strchr.S (strchr): Likewise. ++ * sysdeps/ia64/strcmp.S (strcmp): Likewise. ++ * sysdeps/ia64/strcpy.S (strcpy): Likewise. ++ * sysdeps/ia64/strlen.S (strlen): Likewise. ++ * sysdeps/ia64/strncmp.S (strncmp): Likewise. ++ * sysdeps/ia64/strncpy.S (strncpy): Likewise. ++ * sysdeps/m68k/memchr.S (memchr): Likewise. ++ * sysdeps/m68k/strchr.S (strchr): Likewise. ++ * sysdeps/mips/mips64/memcpy.S (memcpy): Likewise. ++ * sysdeps/mips/mips64/memset.S (memset): Likewise. ++ * sysdeps/mips/memcpy.S (memcpy): Likewise. ++ * sysdeps/mips/memset.S (memset): Likewise. ++ * sysdeps/powerpc/powerpc32/memset.S (memset): Likewise. ++ * sysdeps/powerpc/powerpc32/strchr.S (strchr): Likewise. ++ * sysdeps/powerpc/powerpc32/strcmp.S (strcmp): Likewise. ++ * sysdeps/powerpc/powerpc32/strcpy.S (strcpy): Likewise. ++ * sysdeps/powerpc/powerpc32/strlen.S (strlen): Likewise. ++ * sysdeps/powerpc/powerpc64/memcpy.S (memcpy): Likewise. ++ * sysdeps/powerpc/powerpc64/memset.S (memset): Likewise. ++ * sysdeps/powerpc/powerpc64/strchr.S (strchr): Likewise. ++ * sysdeps/powerpc/powerpc64/strcmp.S (strcmp): Likewise. ++ * sysdeps/powerpc/powerpc64/strcpy.S (strcpy): Likewise. ++ * sysdeps/powerpc/powerpc64/strlen.S (strlen): Likewise. ++ * sysdeps/powerpc/strcat.c (strcat): Likewise. ++ * sysdeps/sparc/sparc32/memchr.S (memchr): Likewise. ++ * sysdeps/sparc/sparc32/memcpy.S (memcpy): Likewise. ++ * sysdeps/sparc/sparc32/memset.S (memset): Likewise. ++ * sysdeps/sparc/sparc32/strcat.S (strcat): Likewise. ++ * sysdeps/sparc/sparc32/strchr.S (strchr, strrchr): Likewise. ++ * sysdeps/sparc/sparc32/strcmp.S (strcmp): Likewise. ++ * sysdeps/sparc/sparc32/strcpy.S (strcpy): Likewise. ++ * sysdeps/sparc/sparc32/strlen.S (strlen): Likewise. ++ * sysdeps/sparc/sparc64/sparcv9b/memcpy.S (memcpy, memmove): Likewise. ++ * sysdeps/sparc/sparc64/memchr.S (memchr): Likewise. ++ * sysdeps/sparc/sparc64/memcpy.S (memcpy, memmove): Likewise. ++ * sysdeps/sparc/sparc64/memset.S (memset): Likewise. ++ * sysdeps/sparc/sparc64/strcat.S (strcat): Likewise. ++ * sysdeps/sparc/sparc64/strchr.S (strchr, strrchr): Likewise. ++ * sysdeps/sparc/sparc64/strcmp.S (strcmp): Likewise. ++ * sysdeps/sparc/sparc64/strcpy.S (strcpy): Likewise. ++ * sysdeps/sparc/sparc64/strcspn.S (strcspn): Likewise. ++ * sysdeps/sparc/sparc64/strlen.S (strlen): Likewise. ++ * sysdeps/sparc/sparc64/strncmp.S (strncmp): Likewise. ++ * sysdeps/sparc/sparc64/strncpy.S (strncpy): Likewise. ++ * sysdeps/sparc/sparc64/strpbrk.S (strpbrk): Likewise. ++ * sysdeps/sparc/sparc64/strspn.S (strspn): Likewise. ++ * sysdeps/sh/memcpy.S (memcpy): Likewise. ++ * sysdeps/sh/memset.S (memset): Likewise. ++ * sysdeps/sh/strlen.S (strlen): Likewise. ++ * sysdeps/s390/s390-32/memchr.S (memchr): Likewise. ++ * sysdeps/s390/s390-32/memcpy.S (memcpy): Likewise. ++ * sysdeps/s390/s390-32/memset.S (memset): Likewise. ++ * sysdeps/s390/s390-32/strcmp.S (strcmp): Likewise. ++ * sysdeps/s390/s390-32/strcpy.S (strcpy): Likewise. ++ * sysdeps/s390/s390-32/strncpy.S (strncpy): Likewise. ++ * sysdeps/s390/s390-64/memchr.S (memchr): Likewise. ++ * sysdeps/s390/s390-64/memcpy.S (memcpy): Likewise. ++ * sysdeps/s390/s390-64/memset.S (memset): Likewise. ++ * sysdeps/s390/s390-64/strcmp.S (strcmp): Likewise. ++ * sysdeps/s390/s390-64/strcpy.S (strcpy): Likewise. ++ * sysdeps/s390/s390-64/strncpy.S (strncpy): Likewise. ++ * sysdeps/x86_64/memcpy.S (memcpy): Likewise. ++ * sysdeps/x86_64/memset.S (memset): Likewise. ++ * sysdeps/x86_64/strcat.S (strcat): Likewise. ++ * sysdeps/x86_64/strchr.S (strchr): Likewise. ++ * sysdeps/x86_64/strcmp.S (strcmp): Likewise. ++ * sysdeps/x86_64/strcpy.S (strcpy): Likewise. ++ * sysdeps/x86_64/strcspn.S (strcspn): Likewise. ++ * sysdeps/x86_64/strlen.S (strlen): Likewise. ++ * sysdeps/x86_64/strspn.S (strspn): Likewise. ++ * string/string-inlines.c: Move... ++ * sysdeps/generic/string-inlines.c: ...here. ++ (__memcpy_g, __strchr_g): Remove. ++ (__NO_INLINE__): Define before including <string.h>, ++ undefine after. Include bits/string.h and bits/string2.h. ++ * sysdeps/i386/i486/string-inlines.c: New file. ++ * sysdeps/i386/string-inlines.c: New file. ++ * sysdeps/i386/i486/Versions: Remove. ++ All GLIBC_2.1.1 symbols moved... ++ * sysdeps/i386/Versions (libc): ...here. ++ ++2003-04-29 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/i386/fpu/Makefile: New file. ++ * sysdeps/i386/fpu/fedisblxcpt.c: Also set SSE control word. ++ * sysdeps/i386/fpu/feenablxcpt.c: Likewise. ++ * sysdeps/i386/fpu/feholdexcpt.c: Likewise. ++ * sysdeps/i386/fpu/fesetround.c: Also set SSE rounding mode ++ [PR libc/4987]. ++ ++2003-04-28 Ulrich Drepper <drepper@redhat.com> ++ ++ * nscd/nscd_getgr_r.c: Compact code a bit. Add some __builtin_expect. ++ * nscd/nscd_getpw_r.c: Likewise. ++ * nscd/nscd_gethst_r.c: Likewise. ++ ++2003-04-27 Ulrich Drepper <drepper@redhat.com> ++ ++ * nscd/pwdcache.c: Initialize .version element in result. ++ * nscd/grpcache.c: Likewise. ++ * nscd/pwdcache.c: Likewise. ++ ++2003-04-27 Andreas Schwab <schwab@suse.de> ++ ++ * Makeconfig ($(common-objpfx)sysd-sorted): Fix for running in ++ subdirectory. ++ ++2003-04-27 Andreas Schwab <schwab@suse.de> ++ ++ * sysdeps/unix/sysv/linux/m68k/semtimedop.S: New file. ++ ++2003-04-27 Ulrich Drepper <drepper@redhat.com> ++ ++ * nscd/connections.c (client_queued): New variable. ++ (nscd_run): Revamp the loop. Don't call poll except for cleanup ++ threads. Keep track of the number of delays caused because of busy ++ worker threads. ++ * nscd/nscd.h: Declare client_queued. ++ * nscd/nscd_stat.c: Transmit and print client_queued information. ++ ++ * locale/programs/locale.c (show_info): Use '\177' instead of CHAR_MAX. ++ ++ * Makerules ($(common-objpfx)shlib.lds): Don't use PROVIDE to ++ define __start_libc_freeres_ptrs and __stop___libc_freeres_ptrs. ++ ++2003-04-26 Ulrich Drepper <drepper@redhat.com> ++ ++ * elf/dl-close.c [USE_TLS && TLS_TCB_AT_TP] (_dl_close): Reimplement ++ tracking of freed memory in static TLS block. ++ * elf/Makefile: Add rules to build and run tst-tls13. ++ * elf/tst-tls13.c: New file. ++ * elf/tst-tlsmod13.c: New file. ++ * elf/tst-tlsmod13a.c: New file. ++ ++ * elf/tst-tls8.c: Adjust types of variables to avoid warnings. ++ ++ * elf/dl-reloc.c: Pretty printing. ++ ++2003-04-26 Roland McGrath <roland@redhat.com> ++ ++ * Makerules ($(common-objpfx)shlib.lds): New target. ++ (common-generated): Add it. ++ (build-shlib, build-module): Use that instead of generating every time. ++ ($(common-objpfx)libc.so): Depend on it. ++ (lib%.so rule): Likewise. ++ (build-module-helper-objlist): Remove %.lds. ++ (LDSEDCMD-c.so): Variable removed. ++ * iconvdata/extra-module.mk ($(objpfx)$(mod).so): ++ Depend on $(common-objpfx)shlib.lds. ++ * dlfcn/Makefile ($(test-modules)): Likewise. ++ ++2003-04-26 Roland McGrath <roland@frob.com> ++ ++ * sysdeps/mach/hurd/tmpfile.c: Remove USE_IN_LIBIO conditionals. ++ ++2003-04-26 Andreas Schwab <schwab@suse.de> ++ ++ * elf/dl-close.c (remove_slotinfo): Fix missing parens. ++ ++2003-04-25 Ulrich Drepper <drepper@redhat.com> ++ ++ * nscd/cache.c (cache_search): Keep track of how many chain links ++ we searched and update table statistics. ++ (cache_add): Keep track of how many values are in the table. ++ (prune_cache): Likewise. Keep track of locking success. ++ Print messages about removed entries in separate pass. ++ * nscd/connections.c (handle_request): Don't print debug message here. ++ The caller will do it. Keep track of locking success. ++ (nscd_run): Print debug message. Also print PID of the client process. ++ * nscd/nscd.c (start_time): New variable. ++ (main): Remember start time. ++ * nscd/nscd.h: Declare start_time. ++ (struct database): Add more members for new statistics. ++ * nscd/nscd_stat.c: Add support for sending, receiving, and printing ++ of new statistics. ++ ++ * sysdeps/posix/getaddrinfo.c: Include <stdbool.h>. ++ ++2003-04-22 Jakub Jelinek <jakub@redhat.com> ++ ++ * include/link.h (NO_TLS_OFFSET): Define to 0 if not defined. ++ * elf/dl-close.c (_dl_close): Use NO_TLS_OFFSET. ++ * elf/dl-object.c (_dl_new_object): Initialize l_tls_offset to ++ NO_TLS_OFFSET. ++ * elf/rtld.c (_dl_start_final, _dl_start): Likewise. ++ * elf/dl-reloc.c (CHECK_STATIC_TLS): Use NO_TLS_OFFSET. ++ * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Likewise. ++ * sysdeps/powerpc/dl-tls.h (TLS_TPREL_VALUE): Don't subtract ++ TLS_TCB_SIZE. ++ ++2003-04-24 Ulrich Drepper <drepper@redhat.com> ++ ++ * nss/getent.c: Implement alternative host database lookup via ++ getaddrinfo. ++ ++ * include/ifaddrs.h: New file. ++ * include/netdb.h: Move definitions of AI_V4MAPPED, AI_ALL, and ++ AI_ADDRCONFIG... ++ * resolv/netdb.h: ...here. ++ * sysdeps/gnu/ifaddrs.c. Use libc_hidden_def where appropriate. ++ * sysdeps/unix/sysv/linux/ifaddrs.c: Likewise. ++ * sysdeps/posix/getaddrinfo.c: Implement AI_V4MAPPED, AI_ALL, and ++ AI_ADDRCONFIG. ++ ++2003-04-24 Roland McGrath <roland@redhat.com> ++ ++ * elf/dl-reloc.c (_dl_allocate_static_tls): Add internal_function. ++ ++2003-04-24 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/dl-reloc.c (allocate_static_tls): Rename to... ++ (_dl_allocate_static_tls): ... this function. No longer static. ++ (CHECK_STATIC_TLS): Adjust. ++ * sysdeps/generic/ldsodefs.h (_dl_allocate_static_tls): New prototype. ++ * sysdeps/powerpc/powerpc32/dl-machine.h (__process_machine_rela): ++ Add SYM_MAP argument. ++ (elf_machine_rela): Adjust caller. Declare SYM_MAP unconditionally. ++ Check if SYM_MAP != NULL for R_PPC_DTPREL32. Only handle 32-bit ++ TLS relocs here. #ifdef out relocs which never appear in ++ .gnu.conflict section from dl-conflict.c processing. ++ * sysdeps/powerpc/powerpc32/dl-machine.c (__process_machine_rela): ++ Add SYM_MAP argument. Handle 16-bit TLS relocs here. ++ ++ * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): #ifdef ++ out relocs which never appear in .gnu.conflict section from ++ dl-conflict.c processing. ++ * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela): Likewise. ++ * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise. ++ * sysdeps/i386/dl-machine.h (elf_machine_rela): Likewise. ++ Use r_type in RESOLVE macro. ++ ++2003-04-23 Ulrich Drepper <drepper@redhat.com> ++ ++ * nis/ypclnt.c (__yp_bind): Expect YPDB parameter to always be != ++ NULL. Remove code made redundant by this assumption. ++ (__yp_unbind): Add call to free. Adjust all callers. ++ ++ * nis/ypclnt.c (yp_all): Free the dom_binding object after ++ unbinding it. ++ ++ * grp/initgroups.c (getgrouplist): Don't copy too much into the ++ user buffer if more groups are found than fit into it. ++ ++ * nis/nss_nis/nis-initgroups.c (_nss_nis_initgroups_dyn): Use ++ extend_alloca. ++ ++2003-04-23 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/posix/getaddrinfo.c (gaih_inet): Check for rc == ERANGE, ++ not rc == errno. Use extend_alloca. ++ ++ * elf/tst-tls12.c (main): Fix declaration. ++ * elf/tst-tls10.c (dummy): Make hidden instead of static. ++ * elf/tst-tlsmod7.c (dummy): Likewise. ++ * elf/tst-tlsmod8.c (dummy): Likewise. ++ * elf/tst-tlsmod9.c (dummy): Likewise. ++ ++2003-04-22 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/not-cancel.h: Put parens around macro args. ++ (open_not_cancel): Make last argument non-optional. ++ * sysdeps/generic/check_fds.c (check_one_fd): Update caller. ++ * sysdeps/unix/sysv/linux/gethostid.c (gethostid): Likewise. ++ * iconv/gconv_cache.c (__gconv_load_cache): Likewise. ++ ++ * include/tls.h: Protect against multiple inclusion. ++ ++2003-04-22 Ulrich Drepper <drepper@redhat.com> ++ ++ * nscd/nscd-client.h: Add declaration for __nscd_open_socket. ++ * nscd/nscd_gethst_r.c (__nscd_open_socket): Renamed from ++ open_socket. Not static anymore. ++ (nscd_gethst_r): Use __nscd_open_socket. ++ * nscd/nscd_getgr_r.c (open_socket): Removed. ++ (nscd_getgr_r): Use __nscd_open_socket. ++ * nscd/nscd_getpw_r.c (open_socket): Removed. ++ (nscd_getpw_r): Use __nscd_open_socket. ++ ++ * nscd/nscd.c (main): Change type of fdn to long int and use strtol. ++ * nscd/connections.c (handle_request): Add cast to avoid warning. ++ ++2003-04-21 Ulrich Drepper <drepper@redhat.com> ++ ++ * signal/sigfillset.c: Moved to... ++ * sysdeps/generic/sigfillset.c: ...here. If SIGCANCEL is defined ++ do not set the corresponding bit. ++ ++ * sysdeps/unix/sysv/linux/sigprocmask.c: Prevent changing mask for ++ SIGCANCEL. ++ * sysdeps/unix/sysv/linux/alpha/bits/siginfo.h: Define SI_TKILL. ++ * sysdeps/unix/sysv/linux/bits/siginfo.h: Define SI_TKILL. ++ * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Define SI_TKILL. ++ * sysdeps/unix/sysv/linux/s390/bits/siginfo.h: Define SI_TKILL. ++ * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Define SI_TKILL. ++ ++2003-04-20 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/not-cancel.h (open_not_cancel): Cast ++ first syscall parameter to const char*. ++ ++2003-04-19 Ulrich Drepper <drepper@redhat.com> ++ ++ * intl/Makefile ($(objpfx)msgs.h): Use C locale for sed run. ++ ++ * configure.in: Add AC_PROG_CXX. ++ * config.make.in (CXX): Define. ++ ++ * sysdeps/i386/i686/hp-timing.h (HP_TIMING_PRINT): Change type of ++ __len to size_t to avoid warnings. ++ ++2003-04-18 Jes Sorensen <jes@wildopensource.com> ++ ++ * libc/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Sync with Linux ++ 2.5.67. ++ * libc/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise. ++ ++2003-04-19 Ulrich Drepper <drepper@redhat.com> ++ ++ * stdlib/cxa_finalize.c (__cxa_finalize): Don't call ++ UNREGISTER_ATFORK if d == NULL. ++ ++ * catgets/nl_types.h: Remove __THROW marker from cancellation points. ++ * dirent/dirent.h: Likewise. ++ * dlfcn/dlfcn.h: Likewise. ++ * grp/grp.h: Likewise. ++ * iconv/iconv.h: Likewise. ++ * io/fcntl.h: Likewise. ++ * io/ftw.h: Likewise. ++ * libio/stdio.h: Likewise. ++ * misc/sys/mman.h: Likewise. ++ * misc/sys/select.h: Likewise. ++ * misc/sys/syslog.h: Likewise. ++ * misc/sys/uio.h: Likewise. ++ * posix/spawn.h: Likewise. ++ * posix/unistd.h: Likewise. ++ * posix/sys/wait.h: Likewise. ++ * pwd/pwd.h: Likewise. ++ * resolv/netdb.h: Likewise. ++ * rt/aio.h: Likewise. ++ * shadow/shadow.h: Likewise. ++ * signal/signal.h: Likewise. ++ * socket/sys/socket.h: Likewise. ++ * stdlib/stdlib.h: Likewise. ++ * streams/stropts.h: Likewise. ++ * string/string.h: Likewise. ++ * sysdeps/gnu/utmpx.h: Likewise. ++ * sysvipc/sys/msg.h: Likewise. ++ * termios/termios.h: Likewise. ++ * time/time.h: Likewise. ++ * wcsmbs/wchar.h: Likewise. ++ * iconv/gconv_cache.c: Include <not-cancel.h> and use non-cancelable ++ functions. ++ * misc/daemon.c: Likewise. ++ * sysdeps/generic/backtracesymsfd.c: Likewise. ++ * sysdeps/generic/check_fds.c: Likewise. ++ * sysdeps/unix/sysv/linux/gethostid.c: Likewise. ++ * sysdeps/unix/sysv/linux/not-cancel.h: New file. ++ * sysdeps/generic/not-cancel.h: New file. ++ * csu/Makefile (distribute): Add not-cancel.h. ++ * sysdeps/unix/sysv/linux/fatal-prepare.h: New file. ++ * sysdeps/unix/sysv/linux/Makefile: Define FATAL_PREPARE_INCLUDE ++ for assert.c and assert-perr.c to include <fatal-prepare.h>. ++ * sysdeps/unix/sysv/linux/Dist: Add fatal-prepare.h. ++ ++ * sysdeps/posix/remove.c (remove): Rewrite. No need to restore ++ errno and unlink first. ++ ++ * io/ftw.c (ftw_dir): In all places assume fchdir is available. ++ ++2003-04-18 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/libc_fatal.c (__libc_fatal): Use ++ INTERNAL_SYSCALL instead of INLINE_SYSCALL. ++ ++2003-04-17 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/Makefile: Remove db2 directory handling. ++ ++ * malloc/Makefile (CFLAGS-malloc.c): Define DEFAULT_TOP_PAD to 128k. ++ * sysdeps/unix/sysv/linux/Makefile (CFLAGS-malloc.c): Add to, not ++ replace. ++ ++ * signal/Makefile (tests): Add tst-sigsimple. ++ * signal/tst-sigsimple.c: New file. ++ ++2003-04-16 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/Makefile (distribute): Add tst-tlsmod{[7-9],1[0-2]}.c and ++ tst-tls10.h. ++ (tests): Add tst-tls1[0-2]. ++ (modules-names): Add tst-tlsmod{[7-8],1[0-2]}. ++ ($(objpfx)tst-tlsmod8.so): Depend on tst-tlsmod7.so. ++ ($(objpfx)tst-tlsmod10.so): Depend on tst-tlsmod9.so. ++ ($(objpfx)tst-tlsmod12.so): Depend on tst-tlsmod11.so. ++ ($(objpfx)tst-tls10): Depend on tst-tlsmod8.so. ++ ($(objpfx)tst-tls11): Depend on tst-tlsmod10.so. ++ ($(objpfx)tst-tls12): Depend on tst-tlsmod12.so. ++ * elf/tst-tls10.c: New test. ++ * elf/tst-tls11.c: New test. ++ * elf/tst-tls12.c: New test. ++ * elf/tst-tls10.h: New file. ++ * elf/tst-tlsmod7.c: New file. ++ * elf/tst-tlsmod8.c: New file. ++ * elf/tst-tlsmod9.c: New file. ++ * elf/tst-tlsmod10.c: New file. ++ * elf/tst-tlsmod11.c: New file. ++ * elf/tst-tlsmod12.c: New file. ++ ++2003-04-15 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/powerpc/bits/atomic.h: Moved ppc32/64 specific code to ... ++ * sysdeps/powerpc/powerpc32/bits/atomic.h: New file. ++ * sysdeps/powerpc/powerpc64/bits/atomic.h: New file. ++ ++2003-04-17 Ulrich Drepper <drepper@redhat.com> ++ ++ * posix/regex.h: Include <sys/types.h>. ++ ++ * signal/sigrelse.c (sigrelse): Use sigdelset and not __sigdelset. ++ The signal number must be checked. ++ * signal/sighold.c (sighold): Use sigaddset and not __sigaddset. ++ The signal number must be checked [PR libc/5004]. ++ ++ * sysdeps/unix/sysv/linux/system.c: If compiled without threads ++ don't do anything fancy. ++ ++ * sysdeps/generic/bits/libc-lock.h: Define ++ __rtld_lock_define_initialized_recursive. ++ ++ * nss/getXXbyYY_r.c [USE_NSCD] (REENTRANT_NAME): Only retry ++ contacting nscd if NOT_USENSCD_NAME > 0. ++ * nss/nsswitch.c (__nss_disable_nscd): New function. ++ * nss/nsswitch.h: Declare it. ++ * nss/Versions [GLIBC_PRIVATE]: Export __nss_disable_nscd. ++ * nscd/nscd.c (main): Call __nss_disable_nscd. ++ ++2003-04-16 Ulrich Drepper <drepper@redhat.com> ++ ++ * stdio-common/perror.c (perror): We don't need to set the offset ++ to _IO_pos_bad, this is how streams are initialized. ++ ++ * locale/programs/ld-time.c (TESTARR_ELEM): Make i unsigned. ++ (time_output): If necessary, allocate new buffer for .name string if ++ padding is required. ++ ++ * sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs): Check lengths ++ before copying. This might leave holes in the list. Adjust ++ pointers if necessary. ++ (netlink_receive): Allocate only one block. ++ (free_netlink_handle): Adjust appropriately. ++ (getifaddrs): Lots of cleanups. ++ ++ * string/test-strncpy.c (do_one_test): Mark start and stop as ++ possibly unused. ++ * string/test-memchr.c: Likewise. ++ * string/test-memcmp.c: Likewise. ++ * string/test-memcpy.c: Likewise. ++ * string/test-memmove.c: Likewise. ++ * string/test-memset.c: Likewise. ++ * string/test-strcat.c: Likewise. ++ * string/test-strchr.c: Likewise. ++ * string/test-strcmp.c: Likewise. ++ * string/test-strcpy.c: Likewise. ++ * string/test-strlen.c: Likewise. ++ * string/test-strncmp.c: Likewise. ++ * string/test-strpbrk.c: Likewise. ++ * string/test-strrchr.c: Likewise. ++ * string/test-strspn.c: Likewise. ++ ++2003-04-15 Roland McGrath <roland@redhat.com> ++ ++ * libio/fileops.c (_IO_file_close_it): Macro tweak to avoid warning. ++ ++ * sysdeps/generic/libc-start.c [NEED_DL_SYSINFO]: Add decl for ++ INTUSE(__register_frame_info_bases). ++ ++2003-04-15 Ulrich Drepper <drepper@redhat.com> ++ ++ * elf/elf.h: Define AT_SYSINFO_EH_FRAME. ++ * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Handle ++ AT_SYSINFO_EH_FRAME. Adjust string width. ++ (_dl_show_auxv):Display AT_SYSINFO_EH_FRAME value. ++ * sysdeps/generic/ldsodefs.h [NEED_DL_SYSINFO] (struct rtld_global): ++ Add _dl_sysinfo_eh_frame field. ++ * elf/dl-support.c [NEED_DL_SYSINFO]: Define _dl_sysinfo_eh_frame. ++ * sysdeps/generic/libc-start.c [NEED_DL_SYSINFO] Define eh_obj ++ variable. ++ [NEED_DL_SYSINFO] (LIBC_START_MAIN): Call __register_frame_info_bases ++ if _dl_sysinfo_eh_frame is non-NULL. ++ ++ * Makeconfig (gnulib): Add -lgcc_eh. ++ ++ * config.h.in: Define HAVE_FORCED_UNWIND. ++ ++2003-04-15 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/powerpc/powerpc64/strcmp.S: Convert to full 64-bit. ++ * sysdeps/powerpc/powerpc64/strcpy.S: Likewise. ++ ++2003-04-15 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): Avoid ++ checking R_PPC_RELATIVE, R_PPC_NONE and whether relocation is ++ against local symbol in conflict processing. ++ ++2003-04-15 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/powerpc/bits/atomic.h ++ [__powerpc64] (__arch_compare_and_exchange_val_64_acq): Define. ++ [! __powerpc64] (__arch_compare_and_exchange_val_64_acq): Defined ++ as abort stub. ++ (__arch_compare_and_exchange_val_32_acq): Define. ++ (atomic_compare_and_exchange_val_acq): Define. ++ ++2003-04-15 Ulrich Drepper <drepper@redhat.com> ++ ++ * include/atomic.h: Pretty printing. ++ ++2003-04-14 Ulrich Drepper <drepper@redhat.com> ++ ++ * stdio-common/vfscanf.c: Add casts to avoid warnings. ++ ++2003-04-14 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/i386/i486/bits/atomic.h: Rename LOCK to LOCK_PREFIX. ++ * sysdeps/x86_64/bits/atomic.h: Likewise. ++ ++2003-04-14 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/i386/sysdep.h: Change PUSHARGS_1 and ++ POPARGS_1 to emit labels for the mov instructions. ++ ++2003-04-14 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (ret_NOERRNO): Define. ++ ++2003-04-14 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/generic/unwind-dw2.c (_Unwind_GetCFA): Add a cast to silence ++ compiler warning. ++ ++ * sysdeps/generic/unwind-pe.h: Fix decl hacks broken in merge. ++ ++2003-04-14 Ulrich Drepper <drepper@redhat.com> ++ ++ * string/strxfrm.c (STRXFRM): Terminate rulearr at correct ++ position. Reported by jreiser@BitWagon.com. ++ ++2003-04-13 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/unwind-dw2-fde.c: Update from recent gcc version. ++ * sysdeps/generic/unwind-dw2-fde.h: Likewise. ++ * sysdeps/generic/unwind-dw2.c: Likewise. ++ * sysdeps/generic/unwind-pe.h: Likewise. ++ ++2003-04-13 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/mips/profil-counter: New. ++ * sysdeps/unix/sysv/linux/mips/sigcontextinfo.h: Port to n32/n64. ++ * sysdeps/unix/sysv/linux/mips/bits/sigcontext.h: New. ++ * sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Port to n32/n64. ++ (mcontext_t): Make it match the 32-bit mips kernel in o32. ++ * sysdeps/unix/sysv/linux/mips/sys/user.h: Bring in constants from ++ the mips and mips64 headers. ++ (struct user): Port to n32/n64. ++ ++2003-04-12 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Add cast to ++ avoid warning. ++ ++ * sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_sigaction): If ++ __ASSUME_VSYSCALL is defined don't add restorer. ++ * sysdeps/unix/sysv/linux/kernel-features.h: Define ++ __ASSUME_VSYSCALL for 2.5.53. ++ ++2003-04-11 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/libc-start.c: Cleanup MAIN_AUXVEC_ARG handling. ++ Remove HAVE_CANCELBUF code. Replace with code using the new ++ initializers for unwind-based cleanup handling. ++ * sysdeps/generic/unwind.h: Update from latest gcc version. ++ * sysdeps/unix/sysv/linux/i386/sysdep.h: Define labels in a few ++ places to allow unwind data generation. ++ * sysdeps/i386/bits/setjmp.h: Allow file to be included multiple times. ++ * sysdeps/x86_64/bits/setjmp.h: Likewise. ++ * sysdeps/sh/bits/setjmp.h: Likewise. ++ * sysdeps/powerpc/bits/setjmp.h: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/bits/setjmp.h: Likewise. ++ * sysdeps/alpha/bits/setjmp.h: Likewise. ++ ++2003-04-11 Roland McGrath <roland@redhat.com> ++ ++ * csu/tst-empty.c: New file. ++ * csu/Makefile (tests, tests-static): Add it. ++ ++2003-04-11 Jakub Jelinek <jakub@redhat.com> ++ ++ * string/test-strcmp.c (do_random_tests): Test whether return value ++ has been promoted to wordsize if the ABI requires caller to do so. ++ * string/test-strncmp.c (do_random_tests): Likewise. ++ * string/test-memcmp.c (do_random_tests): Likewise. ++ ++ * sysdeps/powerpc/powerpc64/strcmp.S (strcmp): Sign extend rRTN ++ before returning. ++ ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c ++ (__fe_nomask_env): Try prctl even if __ASSUME_NEW_PRCTL_SYSCALL ++ is not defined, but the prctl constants are. ++ ++ * string/tester.c (test_strcmp): Fix a typo. ++ ++2003-04-09 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/alpha/fpu/bits/mathdef.h: Remove FLT_EVAL_METHOD definition. ++ * sysdeps/powerpc/fpu/bits/mathdef.h: Likewise. ++ ++2003-04-08 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/mips/sys/regdef.h (t4,t5,t6,t7): Renamed to t0..t3 on ++ NewABI. ++ (ta0, ta1, ta2, ta3): Defined to t4..t7 on o32, and a4..a7 on ++ NewABI. ++ * sysdeps/mips/mips64/memcpy.S: Adjust register naming ++ conventions. ++ * sysdeps/mips/mips64/memset.S: Likewise. ++ * sysdeps/unix/mips/sysdep.S (__syscall_error) [_LIBC_REENTRANT]: ++ Use t0 instead of t4 as temporary. ++ ++2003-04-07 Ulrich Drepper <drepper@redhat.com> ++ ++ * elf/ldconfig.c (parse_conf): Ignore leading whitespace. Use ++ feof_unlocked instead of feof. ++ (add_dir): Ignore trailing whitespace. ++ ++2003-04-07 Jakub Jelinek <jakub@redhat.com> ++ ++ * posix/bug-regex4.c (main): Cap RANGE and STOP arguments to ++ sum of SIZE1 and SIZE2 arguments. ++ ++2003-04-06 Ulrich Drepper <drepper@redhat.com> ++ ++ * iconv/iconv_prog.c (process_block): Don't print message about ++ invalid input if the -c option is used. ++ (main): Correctly append IGNORE string for -c option. ++ ++2002-04-06 Kaz Kojima <kkojima@rr.iij4u.or.jp> ++ ++ * sysdeps/sh/bits/atomic.h: Moved to ... ++ * sysdeps/unix/sysv/linux/sh/bits/atomic.h: ... here. Add comments. ++ (__arch_compare_and_exchange_val_*_acq): Add parens around macro ++ arguments. ++ (atomic_bit_set, atomic_bit_test_set): Likewise. ++ (atomic_exchange_and_add): Likewise. Don't evaluate VALUE argument ++ twice. ++ (atomic_add, atomic_add_negative, atomic_add_zero): Likewise. ++ ++2003-04-06 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/i386/swapcontext.S: Rewrite register ++ restoration as done for setcontext yesterday. ++ ++2003-04-06 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/rtld.c: Revert 2003-03-14 change. ++ * elf/dl-conflict.c (_dl_resolve_conflicts): Move ++ #if ! ELF_MACHINE_NO_RELA conditional into the routine. ++ ++2003-04-05 Ulrich Drepper <drepper@redhat.com> ++ ++ * sunrpc/xdr.c (xdr_string): Catch nodesize == 0 [PR libc/4999]. ++ ++ * sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r): ++ Always initialize *signgamp before returning an error. ++ ++2003-04-05 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/i386/setcontext.S: Rewrite to avoid writing ++ below the stack pointer even if switching to the same context we are ++ running right now. ++ ++2003-04-05 Ulrich Drepper <drepper@redhat.com> ++ ++ * catgets/gencat.c (read_input_file): Make sure that \n is not ++ alone on the line before testing for continuation. ++ ++ * math/test-tgmath.c (compile_test): Initialize c. ++ ++2003-04-05 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/mips/mips64/n32/ftruncate64.c: New. ++ * sysdeps/unix/sysv/linux/mips/mips64/n32/truncate64.c: New. ++ * sysdeps/unix/sysv/linux/kernel-features.h: fcntl64 is available ++ on mips n32. ++ * sysdeps/unix/sysv/linux/mips/kernel_stat.h: Explain why ++ XSTAT_IS_XSTAT64 must not be used for mips n64. Use 64-bit data ++ structure on n32 as well. ++ * sysdeps/unix/sysv/linux/mips/bits/stat.h: Use POSIX-compliant ++ data types on n32 and n64. ++ ++2003-04-05 Ulrich Drepper <drepper@redhat.com> ++ ++ * libio/fileops.c (_IO_new_file_fopen): Don't free step data right ++ after getting them. ++ ++ * malloc/thread-m.h [PTHREAD_MUTEX_INITIALIZER]: If ++ HAVE_register_atfork_malloc is defined use __register_atfork_malloc ++ instead of __register_atfork. ++ ++2003-04-05 Jakub Jelinek <jakub@redhat.com> ++ ++ * stdio-common/reg-printf.c (__register_printf_function): Calloc ++ instead of malloc __printf_arginfo_table and __printf_function_table. ++ Reported by John Reiser <jreiser@BitWagon.com>. ++ ++2003-04-04 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/powerpc/powerpc64/strchr.S: 64-bit optimizations. ++ * sysdeps/powerpc/powerpc64/strlen.S: 64-bit optimizations. ++ ++ * sysdeps/powerpc/fpu/bits/mathdef.h (FLT_EVAL_METHOD): Undef before ++ defining. ++ ++2003-04-04 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/mips/bits/fcntl.h (struct flock): Adjust ++ for n64 abi. ++ ++2003-04-03 Roland McGrath <roland@redhat.com> ++ ++ * configure.in: Fix up use of compilation flags to match the build: ++ For .s files, $ASFLAGS; ++ For .S files, $CPPFLAGS $ASFLAGS; ++ For .c files, $CFLAGS $CPPFLAGS; ++ when linking, add $LDFLAGS. ++ * configure: Regenerated. ++ ++2003-04-03 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/getsysstats.c (get_proc_path): Reverse test ++ for atomic_compare_and_exchange_bool_acq failure. ++ ++2003-04-03 Ulrich Drepper <drepper@redhat.com> ++ ++ * posix/unistd.h: Define _POSIX_VERSION, _POSIX2_VERSION, ++ _POSIX2_C_BIND, _POSIX2_C_DEV, _POSIX2_SW_DEV, and ++ _POSXI2_LOCALEDEF to 200112L. Remove _POSIX2_C_VERSION. ++ Remove declaration of pthread_atfork. ++ ++2003-04-02 Ulrich Drepper <drepper@redhat.com> ++ ++ * locale/iso-639.def: Add many more languages from the current ISO 639. ++ ++ * sysdeps/unix/sysv/linux/ipc_priv.h: Define IPCOP_semtimedop. ++ * sysdeps/generic/semtimedop.c: New file. ++ * sysdeps/unix/sysv/linux/i386/semtimedop.S: New file. ++ * sysdeps/unix/sysv/linux/ia64/syscalls.list: Add semtimedop. ++ * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise. ++ * sysvipc/Makefile (routines): Add semtimedop. ++ * sysvipc/Versions [GLIBC_2.3.3] (glibc): Add semtimedop. ++ * sysvipc/sys/sem.h: Declare semtimedop. ++ ++2003-04-02 Daniel Jacobowitz <drow@mvista.com> ++ ++ * configure.in: Check for __register_frame_info in both ++ -lgcc and -lgcc_eh. ++ * configure: Regenerated. ++ ++2003-04-01 Roland McGrath <roland@redhat.com> ++ ++ * scripts/abilist.awk: Allow dots in soname suffix. ++ ++ * scripts/abilist.awk (emit): Fix bailout condition. ++ ++2003-04-01 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c: Use the ++ IA-64 version. ++ ++ * elf/tls-macros.h [__ia64__] (TLS_IE, TLS_LD, TLS_GD): Add gp ++ register as input to asm. ++ ++2003-04-01 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (sigevent_t): Fix a typo. ++ ++2003-04-01 Andreas Jaeger <aj@suse.de> ++ ++ * configure.in: Output as/ld as name if version is too old. ++ ++2003-03-31 Daniel Jacobowitz <drow@mvista.com> ++ ++ * configure.in: Don't require an installed C library in the test ++ for ".set" assembler support. ++ ++2003-03-31 Roland McGrath <roland@redhat.com> ++ ++ * signal/tst-sigset.c: New file. ++ * signal/Makefile (tests): Add it. ++ ++2003-03-31 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/alpha/bits/signum.h (_NSIG): Define to 65. ++ * sysdeps/unix/sysv/linux/hppa/bits/signum.h (_NSIG): Likewise. ++ * sysdeps/unix/sysv/linux/sparc/bits/signum.h (_NSIG): Likewise. ++ * sysdeps/unix/sysv/linux/bits/signum.h (_NSIG): Likewise. ++ (__SIGRTMAX): Adjust accordingly. ++ * sysdeps/gnu/siglist.c: If OLD2_SIGLIST_SIZE is defined define ++ second compatibility symbol set. ++ * sysdeps/unix/sysv/linux/siglist.h (OLD2_SIGLIST_SIZE): Define. ++ ++2003-03-31 Andreas Schwab <schwab@suse.de> ++ ++ * sysdeps/m68k/m68020/bits/atomic.h (atomic_increment_and_test): ++ Define. ++ (atomic_decrement_and_test): Fix test. ++ ++2003-03-31 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/sparc/sparc32/bits/atomic.h: New file. ++ * sysdeps/sparc/sparc32/sparcv9/bits/atomic.h: New file. ++ * sysdeps/sparc/sparc64/bits/atomic.h: New file. ++ * sysdeps/sparc/sparc32/atomicity.h: Removed. ++ * sysdeps/sparc/sparc32/sparcv9/atomicity.h: Removed. ++ * sysdeps/sparc/sparc64/atomicity.h: Removed. ++ ++2003-03-30 Roland McGrath <roland@redhat.com> ++ ++ * scripts/abilist.awk: Grok .opd foo plus .text .foo as "foo F" alone. ++ ++ * intl/po2test.sed: Anchor substitution regexps to fix last change. ++ ++2003-03-29 Paolo Bonzini <bonzini@gnu.org> ++ ++ * intl/po2test.sed: Unify the transformations for msgid and msgstr ++ and remove a useless s/// command. ++ ++2003-03-27 David Mosberger <davidm@hpl.hp.com> ++ ++ * sysdeps/ia64/dl-machine.h (RTLD_START): Wrap ".save rp, r0" ++ directive into empty .prologue region to ensure that call-chain ++ is terminated even for the first instruction. ++ ++ * sysdeps/ia64/elf/start.S (_start): Use ".save rp, r0" idiom ++ to terminate call-chain right from the get-go. ++ ++ * sysdeps/unix/sysv/linux/ia64/fork.S (fork): Remove unnecessary ++ stop bit between compare & branch. ++ ++2003-03-29 Ulrich Drepper <drepper@redhat.com> ++ ++ * stdlib/strtod.c (INTERNAL): Recognize first digit after decimal ++ point correctly [PR libc/4993]. ++ ++ * sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs): Avoid ++ netlink_open calls if netlink is known to not be available. ++ ++2003-03-29 Alexandre Oliva <aoliva@redhat.com> ++ ++ * configure.in: Add mips64* support. ++ * sysdeps/mips/bits/endian.h: Make it bi-endian. ++ * sysdeps/mips/mipsel/bits/endian.h: Removed. ++ * sysdeps/mips/mips64/n32/el/bits/endian.h: Removed. ++ * sysdeps/mips/mips64/n64/el/bits/endian.h: Removed. ++ * sysdeps/mips/mips32/Makefile (CC): Add -mabi=32. ++ * sysdeps/mips/mips64/n32/Makefile (CC): Add -mabi=n32. ++ * sysdeps/mips/mips64/n64/Makefile (CC): Add -mabi=64. ++ * sysdeps/mips/Implies: Moved wordsize-32 to... ++ * sysdeps/mips/mips32/Implies: New file. ++ * sysdeps/unix/mips/sysdep.h (PSEUDO_NOERRNO, PSEUDO_END_NOERRNO, ++ ret_NOERRNO): New. ++ (ret, PSEUDO_END): Moved past END. ++ (PSEUDO): Moved to... ++ * sysdeps/unix/mips/mips32/sysdep.h: New file. ++ * sysdeps/unix/mips/mips64/n32/sysdep.h: Removed #undef PSEUDO. ++ * sysdeps/unix/mips/mips64/n64/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/mips/sysdep.h: Move to... ++ * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h: New file. ++ * sysdeps/unix/sysv/linux/mips/mips32/kern64/sysdep.h: New file. ++ ++ * sysdeps/unix/sysv/linux/mips/clone.S (__thread_start): ++ Re-introduce ENTRY. ++ ++2003-03-28 Thorsten Kukuk <kukuk@suse.de> ++ ++ * sysdeps/unix/sysv/linux/ifaddrs.c: New file. ++ * inet/test-ifaddrs.c: Allow AF_PACKET. ++ * sysdeps/unix/sysv/linux/kernel-features.h: Add ++ __ASSUME_NETLINK_SUPPORT. ++ ++2003-03-28 Ulrich Drepper <drepper@redhat.com> ++ ++ * elf/vismain.c (do_test): Comment out tests which fail in the moment. ++ ++2003-03-26 H.J. Lu <hjl@gnu.org> ++ ++ * elf/vismod.h (getvarlocal1): Return const char **. ++ (getvarinmod1): Likewise. ++ (getvaritcpt1): Likewise. ++ (getvarlocal2): Likewise. ++ (getvarinmod2): Likewise. ++ (getvaritcpt2): Likewise. ++ (getvaritcpt3): Likewise. ++ * elf/vismain.c (do_test): Adjusted. ++ * elf/vismod1.c (getvarlocal1): Return address. ++ (getvarinmod1): Likewise. ++ (getvaritcpt1): Likewise. ++ * elf/vismod2.c (getvarlocal2): Likewise. ++ (getvarinmod2): Likewise. ++ (getvaritcpt2): Likewise. ++ * elf/vismod3.c (getvaritcpt3): Likewise. ++ ++2003-03-28 Roland McGrath <roland@redhat.com> ++ ++ * elf/vismain.c (do_test): Print both addresses when they don't match. ++ ++ * scripts/abilist.awk: If given -v filename_regexp and/or -v ++ libname_regexp when parsing names, then produce output only ++ for those matching the given regexps. In combine mode, save all ++ stanzas for a final sorting by stanza header at the end. ++ Emit a blank line between stanzas. ++ ++ * scripts/abilist.awk: When given -v combine=1, do parse_names and ++ emit a single output stream with lib name in stanza header lines. ++ ++ * scripts/abilist.awk: Emit A for all *ABS* regardless of type. ++ ++2003-03-27 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/powerpc/bits/atomic.h [! __powerpc64__] ++ (__arch_atomic_decrement_if_positive_64): Fix bogus definition. ++ ++2003-03-28 Kaz Kojima <kkojima@rr.iij4u.or.jp> ++ ++ * sysdeps/sh/bits/atomic.h (__arch_compare_and_exchange_val_8_acq): ++ Return old value. Make asm output reg constraint earlyclobber. ++ Renamed from... ++ (__arch_compare_and_exchange_8_acq): ... this. ++ (__arch_compare_and_exchange_val_16_acq): ++ Return old value. Make asm output reg constraint earlyclobber. ++ Renamed from... ++ (__arch_compare_and_exchange_16_acq): ... this. ++ (__arch_compare_and_exchange_val_32_acq): ++ Return old value. Make asm output reg constraint earlyclobber. ++ Renamed from... ++ (__arch_compare_and_exchange_32_acq): ... this. ++ (__arch_compare_and_exchange_val_64_acq): ++ Renamed from... ++ (__arch_compare_and_exchange_64_acq): ... this. ++ (atomic_exchange_and_add): Use local variables and ++ __arch_compare_and_exchange_val_64_acq. ++ (atomic_add): Likewise. ++ (atomic_add_negative, atomic_add_zero): Use local variables. ++ ++2003-03-28 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/unix/mips/sysdep.S: Include sys/asm.h. ++ ++2003-03-27 Ulrich Drepper <drepper@redhat.com> ++ ++ * Makefile: Remove libmd5crypt goal. ++ ++2003-03-25 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): Restore ++ special handling of relocations against local symbols. ++ ++2003-03-27 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/powerpc/bits/atomic.h ++ (__arch_compare_and_exchange_bool_32_acq): Move to [!__powerpc64__]. ++ [__powerpc64__] (__arch_compare_and_exchange_bool_32_acq): ++ Define PPC64 specific version. ++ [__powerpc64__] (__arch_compare_and_exchange_bool_64_acq): ++ Change (mem) constraint to "b". ++ [__powerpc64__] (__arch_atomic_exchange_and add_64): ++ Replace addi with add. Change (value) contraint to "r". ++ Change (mem) constraint to "b". ++ [__powerpc64__] (__arch_atomic_decrement_if_positive_64): New macro. ++ (__arch_atomic_exchange_32): Change (mem) constraint to "b". ++ (__arch_atomic_exchange_and_add_32): Change (mem) constraint to "b". ++ (__arch_atomic_decrement_if_positive_32): New macro. ++ (atomic_decrement_if_positive): Use __arch* macros. ++ ++2003-03-27 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/ia64/fpu/libm-test-ulps: Update. ++ ++2003-03-27 Roland McGrath <roland@redhat.com> ++ ++ * scripts/rpm2dynsym.sh: New file. ++ * Makefile (distribute): Add it. ++ ++2003-03-27 David Mosberger <davidm@hpl.hp.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/getcontext.S: Restore caller's ++ ar.unat before returning. Add missing .mem.offset directives ++ to ensure file gets assembled without warnings. ++ * sysdeps/unix/sysv/linux/ia64/setjmp.S: Likewise. ++ ++2003-03-27 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/sysconf.c (__sysconf) <_SC_MONOTONIC_CLOCK>: ++ Return -1 instead of 0 if clock_getres failed. ++ ++2003-03-27 Roland McGrath <roland@redhat.com> ++ ++ * scripts/abilist.awk: If variable `parse_names' is set, grok the file ++ header lines and write out foo.symlist files for each foo.so.NN listed. ++ ++ * libio/libioP.h (_IO_wfile_jumps): Remove attribute_hidden. ++ This symbol is exported, and we don't want to hide it. ++ Add libc_hidden_proto instead. ++ (_IO_file_jumps): Add libc_hidden_proto. ++ * libio/wfileops.c (_IO_wfile_jumps): Add libc_hidden_data_def. ++ Remove INTVARDEF. ++ * libio/fileops.c (_IO_file_jumps): Likewise. ++ * libio/stdfiles.c: Don't use INTUSE on them. ++ * libio/iofdopen.c (_IO_new_fdopen): Likewise. ++ * libio/iofopen.c (__fopen_internal): Likewise. ++ * libio/freopen.c (freopen): Likewise. ++ * libio/freopen64.c (freopen64): Likewise. ++ * libio/iovdprintf.c (_IO_vdprintf): Likewise. ++ ++ * Makerules (check-abi) [$(enable-check-abi) = warn]: ++ Ignore exit status from diff. ++ * configure.in (enable_check_abi): Document possible value "warn". ++ Change default to no for now. ++ * configure: Regenerated. ++ ++ * sysdeps/unix/Makefile ($(objpfx)stub-syscalls.c): Emit stub_warning ++ macro calls and a #include <stub-tag.h> at the end. ++ * Makerules ($(objpfx)stubs): Tweak sed commands. ++ ++ * sysdeps/unix/sysv/linux/syscalls.list: Use - rather than EXTRA in ++ caller column for *xattr syscalls, since they are in sysdeps/generic. ++ ++ * sysdeps/unix/sysv/linux/i386/setfsuid.c: setfsgid -> setfsuid ++ * sysdeps/unix/sysv/linux/i386/setfsgid.c: setfsuid -> setfsgid ++ ++2003-03-26 Roland McGrath <roland@redhat.com> ++ ++ * Makerules (check-abi-config): Use /thread instead of /tls when ++ use-thread and not just use-tls is set. ++ ++ * Makerules (update-abi): Put quotes around $(update-abi-config). ++ ++ * elf/Makefile (check-abi): Depend on check-abi-ld. ++ (update-abi): Depend on update-abi-ld. ++ ++2003-03-26 GOTO Masanori <gotom@debian.or.jp> ++ ++ * sysdeps/unix/sysv/linux/i386/setfsuid.c: Use INTERNAL_SYSCALL and ++ do not check for errors (unless testing for 32bit variant). ++ * sysdeps/unix/sysv/linux/i386/setfsgid.c: Likewise. ++ ++2003-03-27 Philip Blundell <philb@gnu.org> ++ ++ * sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO_RET_NOERRNO): Use ++ unconditional mov. Remove nop. ++ ++ * sysdeps/unix/sysv/linux/kernel-features.h ++ (__ASSUME_VFORK_SYSCALL): Define for kernel 2.4 on arm. ++ * sysdeps/unix/sysv/linux/arm/vfork.S: Elide compatibility code ++ when __ASSUME_VFORK_SYSCALL is defined. ++ * sysdeps/unix/sysv/linux/arm/mmap64.S: Likewise for ++ __ASSUME_MMAP2_SYSCALL. ++ * sysdeps/unix/sysv/linux/arm/sigaction.c: Likewise for ++ __ASSUME_REALTIME_SIGNALS. ++ ++2003-03-26 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/ldsodefs.h (ELF_RTYPE_CLASS_COPY): Define to 2 ++ only if DL_NO_COPY_RELOCS is not defined. ++ * sysdeps/ia64/dl-lookupcfg.h: Define DL_NO_COPY_RELOCS. ++ ++2003-03-26 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/unix/make-syscalls.sh: When an undefined syscall has ++ SOURCE=-, append its symbol names to make variable unix-stub-syscalls. ++ * sysdeps/unix/Makefile [$(subdir) = misc] [unix-stub-syscalls] ++ (sysdep_routines): Add stub-syscalls. ++ ($(objpfx)stub-syscalls.c): New target. ++ (generated): Add stub-syscalls.c. ++ ++ * tls.make.c: Also define use-tls according to USE_TLS macro. ++ ++2003-03-26 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/alpha/bits/siginfo.h (struct siginfo): Avoid ++ no-op padding element. ++ * sysdeps/unix/sysv/linux/bits/siginfo.h: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Likewise. ++ * sysdeps/unix/sysv/linux/s390/bits/siginfo.h: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Likewise. ++ ++2003-03-26 GOTO Masanori <gotom@debian.or.jp> ++ ++ * sysdeps/unix/sysv/linux/i386/getgroups.c: Fix the error ++ condition check for the return value of getgroups32. ++ ++2003-03-26 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (PSEUDO_NOERRNO): ++ Fix a typo. ++ * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (PSEUDO_NOERRNO, ++ PSEUDO_END_NOERRNO): Define. ++ * sysdeps/unix/sysdep.h (PSEUDO_END_NOERRNO): Fix a typo. ++ Define to PSEUDO_END. ++ ++2003-03-26 Ulrich Drepper <drepper@redhat.com> ++ ++ * abilist/librt.abilist: Add new timer interfaces for 64-bit archs. ++ ++2003-03-25 Jiro SEKIBA <jir@yamato.ibm.com> ++ ++ * iconvdata/euc-tw.c (from_euc_tw): Fix return value of TO_LOOP. ++ * iconvdata/bug-iconv4.c: New file. ++ * iconvdata/Makefile (tests): Add bug-iconv4. ++ ++2003-03-25 H.J. Lu <hjl@gnu.org> ++ ++ * elf/dl-lookup.c (_dl_lookup_symbol): Avoid looking up protected ++ symbols twice. ++ (_dl_lookup_versioned_symbol): Likewise. ++ ++2003-03-26 Jakub Jelinek <jakub@redhat.com> ++ ++ * csu/tst-atomic.c (do_test): Add some new ++ atomic_compare_and_exchange_val_acq, atomic_add_zero, ++ atomic_compare_and_exchange_bool_acq and atomic_add_negative tests. ++ * include/atomic.h (atomic_add_negative, atomic_add_zero): ++ Prefix local variable so that it doesn't clash with the one ++ in atomic_exchange_and_add. ++ * sysdeps/ia64/bits/atomic.h (atomic_exchange): Fix for long/void * ++ pointers. ++ (atomic_exchange_and_add): Implement using __sync_fetch_and_add_?i. ++ * sysdeps/powerpc/bits/atomic.h (atomic_exchange_and_add): Force ++ value into register. ++ * sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_64_acq): ++ Cast newval to long. ++ * sysdeps/x86_64/bits/atomic.h ++ (__arch_compare_and_exchange_val_64_acq): Cast newval and oldval to ++ long. ++ (atomic_exchange): Cast newvalue to long if sizeof == 8. ++ (atomic_exchange_and_add): Cast value to long if sizeof == 8. ++ (atomic_add, atomic_add_negative, atomic_add_zero): Likewise. ++ (atomic_bit_set): Shift 1L up in all cases to shut up warnings. ++ ++2003-03-21 Martin Schwidefsky <schwidefskyde.ibm.com> ++ ++ * sysdeps/s390/s390-32/backtrace.c (__backtrace): Remove high order ++ bit from backtrace addresses. ++ ++2003-03-21 Andreas Schwab <schwab@suse.de> ++ ++ * sysdeps/unix/sysv/linux/i386/chown.c: Don't define any versioned ++ __chown symbols. ++ ++2003-03-25 Roland McGrath <roland@redhat.com> ++ ++ * config.make.in (enable-check-abi): New variable from configure. ++ * configure.in (enable_check_abi): New substituted variable, ++ controlled by --{enable,disable}-check-abi (default yes). ++ * configure: Regenerated. ++ * Makerules [$(enable-check-abi) = yes] (tests): Put this condition ++ on check-abi dependency. ++ ++2003-03-26 Andreas Schwab <schwab@suse.de> ++ ++ * sysdeps/m68k/m68020/bits/atomic.h: Fix typos. ++ * include/atomic.h: Likewise. ++ ++ * sysdeps/unix/sysv/linux/m68k/sysdep.h: Define ret_NOERRNO. ++ ++2003-03-25 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/powerpc/bits/atomic.h (__arch_atomic_exchange_32): New macro. ++ (__arch_atomic_exchange_64): New macro. ++ (atomic_exchange): Use them. ++ (__arch_atomic_exchange_and_add_32): New macro. ++ (__arch_atomic_exchange_and_add_64): New macro. ++ (atomic_exchange_and_add): Use them. ++ Original patch from Steven Munroe <sjmunroe@us.ibm.com>. ++ ++2003-03-25 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/mips/sgidefs.h (_MIPS_ISA_MIPS32, _MIPS_ISA_MIPS64): ++ Define. ++ * sysdeps/mips/sys/asm.h: Test _MIPS_ISA against them on all ++ ISA tests. ++ (ALSZ, ALMASK, SZREG, REG_S, REG_L): Define based on ABI, not ISA. ++ (PTR_ADD, etc): Test _MIPS_SZPTR instead of _MIPS_SZLONG. ++ * sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Use _MIPS_SZPTR ++ to decide whether to add padding. ++ * sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Use _MIPS_SZPTR ++ to decide whether to add padding. ++ * sysdeps/unix/sysv/linux/mips/kernel_sigaction.h (struct ++ old_kernel_sigaction): Likewise. ++ ++2003-03-25 Ulrich Drepper <drepper@redhat.com> ++ ++ * csu/tst-atomic.c: Adjust tests to what atomic_add_negative and ++ atomic_add_zero were supposed to do. ++ * include/atomic.h: Adjust atomic_add_negative and atomic_add_zero ++ to x86 behavior. ++ ++ * sysdeps/generic/bits/typesizes.h (__TIMER_T_TYPE): Define as void*. ++ This matches the new timer implementation. ++ * sysdeps/unix/sysv/linux/sparc/bits/typesizes.h (__TIMER_T_TYPE): ++ Likewise. ++ * sysdeps/unix/sysv/linux/alpha/bits/typesizes.h (__TIMER_T_TYPE): ++ Likewise. ++ * sysdeps/unix/sysv/linux/bits/siginfo.h (struct siginfo): Adjust ++ timer info for what the kernel provides these days. ++ (struct sigevent): Add _tid field. ++ Define SIGEV_THREAD_ID. ++ Remove struct __pthread_attr_s forward declaration. ++ * sysdeps/unix/sysv/linux/alpha/bits/siginfo.h: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Likewise. ++ * sysdeps/unix/sysv/linux/s390/bits/siginfo.h: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Likewise. ++ ++ * Versions.def (librt): Add GLIBC_2.3.3. ++ ++ * abilist/libpthread.abilist: Update for nptl. ++ ++2003-03-24 Jon Grimm <jgrimm@us.ibm.com> ++ ++ * inet/netinet/in.h: Add IPPROTO_SCTP. ++ ++2003-03-24 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/sys/epoll.h (EPOLLET): Define. ++ ++2003-03-24 Philip Blundell <philb@gnu.org> ++ ++ * sysdeps/unix/sysv/linux/arm/sysdep.h (INTERNAL_SYSCALL): ++ Remove a1 from clobber list. ++ ++2003-03-24 Ulrich Drepper <drepper@redhat.com> ++ ++ * timezone/antarctica: Update from tzdata2003a. ++ * timezone/asia: Likewise. ++ * timezone/australasia: Likewise. ++ * timezone/europe: Likewise. ++ * timezone/iso3166.tab: Likewise. ++ * timezone/northamerica: Likewise. ++ * timezone/southamerica: Likewise. ++ * timezone/zone.tab: Likewise. ++ ++2003-03-24 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/powerpc/powerpc64/sysdep.h (PSEUDO_END_NOERRNO): Fix typo. ++ ++2003-03-23 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/sysdep.h (ret_NOERRNO): Avoid ++ unwanted expansion by definining to ret. Patch by Ian Wienand. ++ ++ * sysdeps/unix/make-syscalls.sh: Recognize 'E' in first position of ++ the parameter description to denote no error checking. Generate ++ appropriate pseudo asm code. ++ * sysdeps/unix/syscalls.list: Mark getgid, getpid, getuid with 'E'. ++ * sysdeps/unix/sysv/linux/syscalls.list: Mark getegid, geteuid, ++ getpgrp, and getppid with 'E'. ++ * sysdeps/powerpc/powerpc32/sysdep.h: Define PSEUDO_NOERRNO, ++ PSEUDO_END_NOERRNO, and ret_NOERRNO. ++ * sysdeps/powerpc/powerpc64/sysdep.h: Likewise. ++ * sysdeps/unix/sysdep.h: Likewise. ++ * sysdeps/unix/alpha/sysdep.h: Likewise. ++ * sysdeps/unix/sparc/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/arm/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/cris/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/hppa/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. ++ ++2003-03-23 Roland McGrath <roland@redhat.com> ++ ++ * Makeconfig (+includes): Don't use $(last-includes). ++ ++2003-03-22 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/configure.in: Update mips64 patterns. ++ * sysdeps/unix/sysv/linux/configure: Rebuilt. ++ ++2003-03-23 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/alpha/fpu/libm-test-ulps: Update. ++ * sysdeps/arm/libm-test-ulps: Update. ++ * sysdeps/hppa/fpu/libm-test-ulps: Update. ++ * sysdeps/ia64/fpu/libm-test-ulps: Update. ++ * sysdeps/mips/fpu/libm-test-ulps: Update. ++ * sysdeps/powerpc/nofpu/libm-test-ulps: Update. ++ * sysdeps/powerpc/fpu/libm-test-ulps: Update. ++ * sysdeps/sparc/sparc32/fpu/libm-test-ulps: Update. ++ * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Update. ++ * sysdeps/sh/sh4/fpu/libm-test-ulps: Update. ++ * sysdeps/s390/fpu/libm-test-ulps: Update. ++ * sysdeps/x86_64/fpu/libm-test-ulps: Update. ++ ++2003-03-22 Roland McGrath <roland@redhat.com> ++ ++ * include/atomic.h: Put parens around all macro arguments. ++ (__atomic_val_bysize, __atomic_bool_bysize): New macros. ++ (atomic_compare_and_exchange_val_acq): Use it. ++ (atomic_compare_and_exchange_bool_acq): Likewise. ++ (atomic_increment_and_test): Invert sense of test. ++ (atomic_decrement_and_test): Likewise. ++ * csu/tst-atomic.c: Update those tests to match. ++ ++2003-03-22 Jakub Jelinek <jakub@redhat.com> ++ ++ * include/atomic.h (atomic_compare_and_exchange_val_acq): Add comment. ++ Don't define if __arch_compare_and_exchange_val_32_acq is not defined. ++ (atomic_compare_and_exchange_bool_acq): Add comment. Don't use ++ __oldval variable in the macro, since it might be macro argument. ++ (atomic_decrement_if_positive): Initialize __memp, remove setting ++ of non-existent variable. ++ (atomic_bit_test_set): Cast 1 to __typeof (*mem) before shifting. ++ * sysdeps/ia64/bits/atomic.h (atomic_exchange_and_add): Implement ++ using atomic_compare_and_exchange_val_acq. ++ (atomic_decrement_if_positive, atomic_bit_test_set): Define. ++ * sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_8_acq): ++ Renamed from... ++ (__arch_compare_and_exchange_bool_8_acq): ... this. ++ (__arch_compare_and_exchange_val_16_acq): Renamed from... ++ (__arch_compare_and_exchange_bool_16_acq): ... this. ++ (__arch_compare_and_exchange_val_32_acq): Return old value. Renamed ++ from... ++ (__arch_compare_and_exchange_bool_32_acq): ... this. ++ (__arch_compare_and_exchange_val_64_acq): Return old value. Renamed ++ from... ++ (__arch_compare_and_exchange_bool_64_acq): ... this. ++ (__arch_compare_and_exchange_val_32_acq): Use __typeof for local ++ variables types instead of assuming int. ++ Change prefix of local variables to __arch. ++ * sysdeps/generic/bits/atomic.h (arch_compare_and_exchange_acq): ++ Remove. ++ (atomic_compare_and_exchange_val_acq, ++ atomic_compare_and_exchange_bool_acq): Define. ++ ++ * csu/tst-atomic.c: New test. ++ * csu/tst-atomic-long.c: New test. ++ * csu/Makefile (tests): Add tst-atomic and tst-atomic-long. ++ ++ * malloc/memusagestat.c (main): Kill warning if uint64_t is ulong. ++ ++ * sysdeps/s390/Versions: Add trailing newline. ++ ++ * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Kill warning ++ if INTERNAL_SYSCALL_ERROR_P doesn't use its first argument. ++ ++2003-03-22 Andreas Schwab <schwab@suse.de> ++ ++ * sysdeps/m68k/fpu/libm-test-ulps: Update. ++ ++ * sysdeps/m68k/m68020/bits/atomic.h: New file. ++ * sysdeps/m68k/m68020/atomicity.h: Removed. ++ ++2003-03-22 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/mips/elf/ldsodefs.h: Add mips-specific elf64 relocation ++ data structures and macros. Protect from multiple inclusion. ++ ++ * sysdeps/mips/dl-machine.h (ELF_MIPS_GNU_GOT1_MASK): Fix harmless ++ typo in #if test. ++ ++2003-03-21 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/i386/fpu/libm-test-ulps: Update. ++ ++ * math/libm-test.inc (tgamma_test): Recompute some constants with ++ 36 digits precision. ++ (lgamma_test): Likewise. ++ (ccos_test): Likewise. ++ (ccosh_test): Likewise. ++ (clog10_test): Likewise. ++ (csin_test): Likewise. ++ (csinh_test): Likewise. ++ (ctan_test): Likewise. ++ (ctanh_test): Likewise. ++ ++2003-03-19 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Regenerated. ++ ++2003-03-21 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/i386/i486/bits/atomic.h (atomic_bit_set): Use "ir" ++ constraint to permit non-constant BIT argument. ++ (atomic_bit_test_set): Likewise. ++ * sysdeps/x86_64/bits/atomic.h (atomic_bit_test_set): Likewise. ++ (atomic_bit_set): Likewise. Use 1UL in case that BIT might be >= 32. ++ For quadword case, use "i" constraint if __builtin_constant_p and < 32 ++ or "r" constraint otherwise. ++ ++ * configure.in: Move AC_PROG_CC and other program-finding before all ++ the version checks. ++ * configure: Regenerated. ++ ++2003-03-21 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/mips/mips64/memcpy.S: Fix porting bug that broke ++ unaligned copying of 8-15 bytes. From Chris Demetriou ++ <cgd@broadcom.com>. Fix label names. ++ * sysdeps/mips/mips64/memset.S: Fix label names. Make similar ++ change as to memcpy.S. ++ * sysdeps/mips/memcpy.S: Formatting changes. ++ * sysdeps/mips/memset.S: Likewise. ++ ++2003-03-21 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/arm/sysdep.h (CALL_MCOUNT): Add trailing semicolon. ++ ++2003-03-21 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/mips/mips64/memcpy.S, sysdeps/mips/mips64/memset.S: New. ++ * sysdeps/mips/memcpy.S, sysdeps/mips/memset.S: Update comments. ++ ++2003-03-21 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/i386/i486/bits/atomic.h ++ (__arch_compare_and_exchange_val_64_acq): Rewrite abort-calling ++ version of the macro to avoid compile-time warnings. ++ [! __PIC__] (__arch_compare_and_exchange_64_acq): Rename to above. ++ (atomic_exchange_and_add, atomic_add): Fix name and usage of it. ++ (atomic_increment, atomic_decrement): Likewise. ++ ++2003-03-21 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/x86_64/bits/atomic.h: Don't use matching memory constraints. ++ * sysdeps/i386/i486/bits/atomic.h: Likewise. ++ ++2003-03-21 Roland McGrath <roland@redhat.com> ++ ++ * include/atomic.h (atomic_compare_and_exchange_bool_acq): Typo fix. ++ ++2003-03-20 Ulrich Drepper <drepper@redhat.com> ++ ++ * include/atomic.h: Define atomic_compare_and_exchange_val_acq, ++ atomic_compare_and_exchange_val_rel, ++ atomic_compare_and_exchange_bool_acq, and ++ atomic_compare_and_exchange_bool_rel instead of ++ atomic_compare_and_exchange_acq and atomic_compare_and_exchange_rel. ++ * sysdeps/i386/i486/bits/atomic.h: Define ++ __arch_compare_and_exchange_val_*_acq instead of ++ __arch_compare_and_exchange_*_acq. ++ * sysdeps/x86_64/bits/atomic.h: Likewise. ++ * sysdeps/ia64/bits/atomic.h: Define ++ __arch_compare_and_exchange_bool_*_acq instead of ++ __arch_compare_and_exchange_*_acq. ++ * sysdeps/powerpc/bits/atomic.h: Likewise. ++ * sysdeps/s390/bits/atomic.h: Likewise. ++ * gmon/mcount.c: Adjust for new form of compare&exchange macros. ++ * malloc/set-freeres.c: Likewise. ++ * nscd/cache.c: Likewise. ++ * stdlib/cxa_finalize.c: Likewise. ++ * sysdeps/unix/sysv/linux/getsysstats.c: Likewise. ++ ++2003-03-20 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/mips/bits/setjmp.h: n32 has only 6 call-saved fpregs. ++ * sysdeps/mips/mips64/setjmp_aux.c (__sigsetjmp_aux): Adjust. ++ * sysdeps/mips/mips64/__longjmp.c (__longjmp): Likewise. ++ ++ * sysdeps/unix/sysv/linux/mips/pread.c: Don't break up offset ++ into high and low halves on n64. ++ * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise. ++ ++2003-03-20 Ulrich Drepper <drepper@redhat.com> ++ ++ * include/atomic.h (atomic_decrement_if_positive): Adjust for the ++ correct atomic_compare_and_exchange_acq semantics. ++ ++2003-03-20 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/mips/ieee754.h: Remove excess #endif. ++ ++2003-03-20 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/powerpc/bits/atomic.h (atomic_exchange): Remove unused ++ variable. Remove superfluous memory clobber. ++ ++ * include/atomic.h: Syntax braino fix. ++ ++ * posix/tst-nice.c (do_test): Use %m formats instead of printing errno ++ in decimal. Don't bail if niced at start. Just check that nice call ++ bumps the total at all. ++ ++2003-03-20 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/mips/bits/setjmp.h: Store all N32 and N64 registers, ++ including pc, gp, sp and fp, as long long. ++ * sysdeps/mips/mips64/setjmp.S: Pass gp to __sigsetjmp_aux. ++ * sysdeps/mips/mips64/setjmp_aux.c: Adjust type of arguments. ++ Add gp argument, and set gp in the jmpbuf to it. ++ * sysdeps/mips/setjmp_aux.c: Revert to o32-only. ++ ++2003-03-20 Ulrich Drepper <drepper@redhat.com> ++ ++ * include/atomic.h: Define atomic_exchange and ++ atomic_decrement_if_positive if not already defined. Add some ++ __builtin_expect. ++ * sysdeps/i386/i486/bits/atomic.h: Define atomic_exchange. ++ * sysdeps/x86_64/bits/atomic.h: Likewise. ++ * sysdeps/ia64/bits/atomic.h: Pretty printing. Define atomic_exchange. ++ * sysdeps/powerpc/bits/atomic.h: Pretty printing. Define ++ atomic_exchange, atomic_exchange_and_add, and ++ atomic_decrement_if_positive ++ ++2003-03-20 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S: Sign-extend ++ with a single instruction. ++ ++ * sysdeps/mips/dl-machine.h (ELF_MIPS_GNU_GOT1_MASK): Define ++ properly for n64. ++ (elf_machine_runtime_setup): Cast link_map pointer to Elf Addr ++ type. ++ (elf_machine_rel, elf_machine_rel_relative): Cast symidx to Elf ++ Word before comparing with gotsym. Take reloc_addr argument as ++ void*. Remove the code added for the compiler to drop any ++ alignment assumptions. ++ ++2003-03-19 Ulrich Drepper <drepper@redhat.com> ++ ++ * Makefile (distribute): Add include/atomic.h and bits/atomic.h. ++ * include/atomic.h: New file. ++ * sysdeps/i386/i486/bits/atomic.h: New file. ++ * sysdeps/x86_64/bits/atomic.h: New file. ++ * sysdeps/s390/bits/atomic.h: New file. ++ * sysdeps/sh/bits/atomic.h: New file. ++ * sysdeps/ia64/bits/atomic.h: New file. ++ * sysdeps/powerpc/bits/atomic.h: New file. ++ * sysdeps/generic/bits/atomic.h: New file. ++ * sysdeps/i386/i486/atomicity.h: Removed. ++ * sysdeps/x86_64/atomicity.h: Removed. ++ * sysdeps/s390/s390-32/atomicity.h: Removed. ++ * sysdeps/s390/s390-64/atomicity.h: Removed. ++ * sysdeps/ia64/atomicity.h: Removed. ++ * sysdeps/powerpc/powerpc32/atomicity.h: Removed. ++ * sysdeps/powerpc/powerpc64/atomicity.h: Removed. ++ * elf/dl-profile.c: Use atomic.h instead of atomicity.h. Adjust ++ use of macros from atomicity.h to new names and semantics. ++ * gmon_mcount.c: Likewise. ++ * malloc/set-freeres.c: Likewise. ++ * nscd/cache.c: Likewise. ++ * stdlib/cxa_finalize.c: Likewise. ++ * sysdeps/unix/sysv/linux/getsysstats.c: Likewise. ++ ++2003-03-19 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/mips/ieee754.h: New file, suitable to replace both ++ ../ieee754/ieee754.h and ../ieee754/ldbl-128/ieee754.h, kept ++ mips-specific for now. ++ ++2003-03-19 Ulrich Drepper <drepper@redhat.com> ++ ++ * stdlib/strtod.c (INTERNAL): While eating trailing zeros handle ++ hexdigits correctly. Reported by Fred Tydeman <tydeman@tybor.com>. ++ * stdlib/tst-strtod.c: Add test for the bug. ++ ++ * posix/tst-nice.c (do_test): Remove invalid of return value. ++ Don't run test if initial level != 0. ++ ++2003-03-19 Amos Waterland <apw@us.ibm.com> ++ ++ * posix/tst-nice.c: New file. ++ * posix/Makefile (tests): Add tst-nice. ++ ++2003-03-18 Roland McGrath <roland@redhat.com> ++ ++ * abilist: New directory of libfoo.abilist files maintained using ++ scripts/merge-abilist.awk and "make update-abi" rules. ++ * Makefile (distribute): Add abilist/*.abilist. ++ * Makerules [$(build-shared) = yes] [$(subdir)] (tests): ++ Depend on check-abi. ++ ++ * configure.in: Move $critic_missing check after all AC_CHECK_PROG_VER. ++ * configure: Regenerated. ++ ++ * sysdeps/unix/sysv/linux/syscalls.list (posix_fadvise64): Fix name. ++ ++2003-03-18 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/posix/sysconf.c (__sysconf): Handle _SC_MONOTONIC_CLOCK ++ correctly. ++ ++2003-03-18 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/powerpc/powerpc64/memcpy.S: New file. ++ ++2003-03-18 Ulrich Drepper <drepper@redhat.com> ++ ++ * Versions.def: Add GLIBC_2.3.3 for libpthread. ++ ++2003-03-17 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/libc-start.c [!SHARED && ++ !LIBC_START_MAIN_AUXVEC_ARG]: Compute beginning of auxvec correctly. ++ ++2003-03-17 Roland McGrath <roland@redhat.com> ++ ++ * include/ctype.h: Revert last change. ++ ++2003-03-17 Ulrich Drepper <drepper@redhat.com> ++ ++ * argp/tst-argp1.c: Use test-skeleton.c. ++ * locale/tst-C-locale.c: Likewise. ++ ++2003-03-17 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/mips/mips64/Implies: Move wordsize-64 to... ++ * sysdeps/mips/mips64/n64/Implies: New file. ++ * sysdeps/mips/mips64/n64/Makefile: New file. ++ * sysdeps/mips/mips64/n64/el/bits/endian.h: New file. ++ * sysdeps/mips/mips64/n32/Implies: New file. ++ * sysdeps/mips/mips64/n32/Makefile: New file. ++ * sysdeps/mips/mips64/n32/el/bits/endian.h: New file. ++ * sysdeps/unix/mips/mips64/n32/sysdep.h: New file. ++ * sysdeps/unix/mips/mips64/n64/sysdep.h: New file. ++ * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h: New file. ++ * sysdeps/unix/sysv/linux/mips/mips64/n64/glob64.c: New file. ++ * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h: New file. ++ * sysdeps/unix/sysv/linux/mips/mips64/ldconfig.h: New file. ++ * sysdeps/unix/sysv/linux/mips/mips64/llseek.c: New file. ++ * sysdeps/unix/sysv/linux/mips/mips64/recv.c: New file. ++ * sysdeps/unix/sysv/linux/mips/mips64/send.c: New file. ++ * sysdeps/unix/sysv/linux/mips/mips64/syscall.S: New file. ++ * sysdeps/unix/sysv/linux/mips/mips64/syscalls.list: New file. ++ * sysdeps/unix/sysv/linux/mips/mips64/umount.c: New file. ++ * sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S: New file. ++ ++ * sysdeps/unix/sysv/linux/configure.in (libc_cv_slibdir): Use ++ lib64 for mips64/n64 and lib32 for mips64/n32. ++ (ldd_rewrite_script): Needed for all mips64 configurations. ++ * sysdeps/unix/sysv/linux/configure: Rebuilt. ++ * sysdeps/unix/sysv/linux/mips/mips64/ldd-rewrite.sed: New file. ++ * sysdeps/unix/sysv/linux/mips/mips64/Dist: New file. ++ ++ * sysdeps/mips/machine-gmon.h (MCOUNT): Define for N32 and N64 as ++ well. ++ ++ * sysdeps/unix/sysv/linux/mips/configure.in: New. Pre-process ++ asm/unistd.h into asm-unistd.h. ++ * sysdeps/unix/sysv/linux/mips/configure: Generated. ++ * sysdeps/unix/sysv/linux/mips/Makefile: Do custom processing ++ of syscall list. ++ * sysdeps/unix/sysv/linux/mips/sys/syscall.h: New file. ++ * sysdeps/unix/sysv/linux/mips/clone.S: Don't include ++ asm/unistd.h. ++ ++ * sysdeps/unix/sysv/linux/mips/sys/ptrace.h: New file. ++ * sysdeps/unix/sysv/linux/mips/ptrace.c: New file. Use long ++ long type for registers on n32. ++ ++ * sysdeps/mips/bits/wordsize.h: New file, appropriate for all ++ 3 ABIs. ++ * sysdeps/mips/mips64/gmp-mparam.h: New file. Define ++ BITS_PER_LONGINT to __WORDSIZE, to match all 3 ABIs. ++ * sysdeps/mips/setjmp_aux.c (STRINGXP, REGS, PTRS): New macros. ++ (__sigsetjmp_aux): Use them. Adjust for all 3 ABIs. ++ * sysdeps/mips/elf/start.S: Adjust for all 3 ABIs. ++ * sysdeps/unix/mips/brk.S: Likewise. ++ * sysdeps/unix/mips/sysdep.S: Likewise. ++ * sysdeps/unix/sysv/linux/mips/clone.S: Likewise. ++ * sysdeps/mips/bits/setjmp.h (__jmp_buf): Likewise. ++ * sysdeps/mips/sys/ucontext.h: Likewise. ++ * sysdeps/unix/sysv/linux/mips/sys/profcs.h: Likewise. ++ * sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Likewise. ++ * sysdeps/unix/sysv/linux/mips/kernel_stat.h: Likewise. ++ * sysdeps/mips/mips64/bsd-_setjmp.S: Likewise. ++ * sysdeps/mips/mips64/bsd-setjmp.S: Likewise. ++ * sysdeps/mips/mips64/setjmp.S: Likewise. ++ * sysdeps/mips/mips64/bits/setjmp.h: Deleted, obsolete. ++ * sysdeps/mips/mips64/soft-fp/sfp-machine.h: Use long long for ++ 64-bit types. ++ ++2003-03-16 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/clock_settime.c (HANDLE_REALTIME): Define tv here, ++ not at function level. ++ * sysdeps/unix/clock_gettime.c (HANDLE_REALTIME): Likewise. ++ ++2003-03-15 Roland McGrath <roland@redhat.com> ++ ++ * nis/nss_nis/nis-hosts.c (internal_gethostbyname2_r): int -> size_t ++ * nis/nss_nis/nis-network.c (_nss_nis_getnetbyname_r): Likewise. ++ * nis/nss_nis/nis-alias.c (_nss_nis_getaliasbyname_r): Likewise. ++ * nis/nis_table.c (__create_ib_request): Likewise. ++ ++ * posix/fnmatch_loop.c: Add casts for signedness. ++ * nss/nss_files/files-hosts.c: Likewise. ++ * nscd/nscd_getpw_r.c (nscd_getpw_r): Likewise. ++ * gmon/gmon.c (write_call_graph): Use u_long for FROM_LEN. ++ * nscd/nscd_getgr_r.c (nscd_getgr_r): Use nscd_ssize_t for CNT. ++ ++ * configure.in (libc_cv_visibility_attribute): Use AC_TRY_COMMAND, ++ get errors into the log file. ++ (libc_cv_broken_visibility_attribute): Likewise. ++ (libc_cv_broken_alias_attribute): Likewise. ++ (libc_cv_asm_weak_directive): Likewise. ++ (libc_cv_need_minus_P): Likewise. ++ (libc_cv_dot_text): Likewise. ++ (libc_cv_asm_global_directive): Likewise. ++ (libc_cv_asm_type_prefix): Likewise. ++ * configure: Regenerated. ++ ++ * nscd/cache.c (cache_search): Give first arg type `request_type'. ++ * nscd/nscd.h: Update decl. ++ ++ * nscd/nscd_getpw_r.c (nscd_getpw_r): Add casts for signedness. ++ * nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise. ++ * elf/dl-close.c (_dl_close): Likewise. ++ * sysdeps/unix/sysv/linux/powerpc/chown.c (__chown): int -> size_t ++ * io/fts.c (fts_build): Likewise. ++ * elf/cache.c (add_to_cache): Likewise. ++ * locale/programs/locarchive.c (show_archive_content): Likewise. ++ ++ * posix/fnmatch.c (fnmatch): Tweak __builtin_expect use. ++ ++ * include/ctype.h (__ctype_b_loc): Tweak type punning to make gcc 3.3 ++ happy. ++ (__ctype_toupper_loc, __ctype_tolower_loc): Likewise. ++ ++2003-03-15 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/system.c: Use the generic Linux ++ code for most parts. ++ ++2003-03-15 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/i386/system.c: Moved to ... ++ * sysdeps/unix/sysv/linux/system.c: ... here. ++ (FORK): Don't #define if already #define'd. ++ * sysdeps/unix/sysv/linux/s390/system.c: File removed. ++ * sysdeps/unix/sysv/linux/kernel-features.h [__powerpc__]: ++ (__ASSUME_CLONE_THREAD_FLAGS): Define for kernel >= 2.5.64. ++ ++ * dlfcn/tst-dlinfo.c: New file. ++ * dlfcn/Makefile (tests): Add tst-dlinfo. ++ ($(objpfx)tst-dlinfo): New target. ++ ++ * dlfcn/dlinfo.c: New file. ++ * dlfcn/Makefile (libdl-routines): Add it. ++ * dlfcn/Versions (libdl: GLIBC_2.3.3): Add dlinfo. ++ * dlfcn/dlfcn.h [__USE_GNU]: Declare dlinfo. ++ [__USE_GNU] (RTLD_DI_*): New enum constants. ++ [__USE_GNU] (Dl_serpath, Dl_serinfo): New types. ++ * elf/dl-load.c (cache_rpath): New inline function. ++ (_dl_map_object): Use it. ++ (_dl_rtld_di_serinfo): New function. ++ * sysdeps/generic/ldsodefs.h: Declare it. ++ * elf/Versions (ld: GLIBC_PRIVATE): Add it. ++ ++ * sysdeps/powerpc/elf/libc-start.c (AUX_VECTOR_INIT): Define it. ++ (LIBC_START_MAIN, LIBC_START_MAIN_AUXVEC_ARG, MAIN_AUXVEC_ARG) ++ (INIT_MAIN_ARGS): Define, and #include <sysdeps/generic/libc-start.c>. ++ (__libc_start_main): Just call the generic one for most of the work. ++ ++ * sysdeps/generic/libc-start.c [LIBC_START_MAIN]: If defined, define a ++ static function by that name instead of BP_SYM (__libc_start_main). ++ [LIBC_START_MAIN_AUXVEC_ARG]: Take AUXVEC as argument. ++ [MAIN_AUXVEC_ARG]: Pass 4th argument to MAIN. ++ [INIT_MAIN_ARGS]: Give INIT the same args as MAIN. ++ ++ * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start) [DL_PLATFORM_AUXV]: ++ Use this macro for extra AT_* cases. ++ * sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c (DL_PLATFORM_AUXV): ++ New macro, guts from ... ++ (__aux_init_cache): ... here, function removed. ++ (DL_PLATFORM_INIT): Don't define this. ++ ++ * sysdeps/powerpc/powerpc32/memset.S: Put __cache_line_size in bss. ++ * sysdeps/powerpc/powerpc64/memset.S: Likewise. ++ ++ * Versions.def (libthread_db): Add GLIBC_2.3.3 set. ++ ++2003-03-14 Roland McGrath <roland@redhat.com> ++ ++ * dlfcn/dlerror.c (dlerror): If objname is "", don't put ": " after it. ++ ++2003-03-14 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/Makefile (syscall-%.h): Fix a typo. ++ ++ * sysdeps/unix/sysv/linux/sparc/sparc64/pause.c: Include ++ sysdeps/posix/pause.c instead of sysdeps/unix/common/pause.c. ++ ++2003-03-14 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/mips/fpu/bits/mathdef.h: New. ++ (__NO_LONG_DOUBLE_MATH): Define for o32. ++ ++ * sysdeps/mips/sys/asm.h: Formatting changes. ++ (PTR, PTRSIZE, PTRLOG): Adjust for all 3 ABIs. ++ (CPADD): Define for all of them. ++ (SETUP_GP, SETUP_GPX, SETUP_GPX_L, SAVE_GP, SETUP_GP64, ++ SETUP_GPX64, SETUP_GPX64_L, RESTORE_GP64, USE_ALT_CP, ++ NARGSAVE): Define per ABI spec. ++ (END): Don't redefine. ++ (LONG_SLL, LONG_SLLV, LONG_SRL, LONG_SRLV, LONG_SRA, ++ LONG_SRAV): Remove duplicate definitions. ++ (PTR_ADD, PTR_ADDI, PTR_ADDU, PTR_ADDIU, PTR_SUB, PTR_SUBI, ++ PTR_SUBU, PTR_SUBIU, PTR_L, PTR_S, PTR_SLL, PTR_SLLV, PTR_SRL, ++ PTR_SRLV, PTR_SRA, PTR_SRAV, PTR_SCALESHIFT): Define for n32. ++ (PTR_LA): Define for all 3 ABIs. ++ ++ * sysdeps/mips/dl-machine.h: Include sys/asm.h. ++ (elf_machine_matches_host): Prevent linking of o32 and n32 ++ together. ++ (elf_machine_dynamic): Document assumption on $gp. ++ (STRINGXP, STRINGXV, STRINGV_): New macros. ++ (elf_machine_load_address): Use them to stringize PTR_LA and ++ PTR_SUBU. ++ (ELF_DL_FRAME_SIZE, ELF_DL_SAVE_ARG_REGS, ++ ELF_DL_RESTORE_ARG_REGS, IFABIO32): New macros used in... ++ (_dl_runtime_resolve): Adjust it for all 3 ABIs. ++ (__dl_runtime_resolve): Cast the symtab initializer to the ++ right type. ++ (RTLD_START): Use it. Adjust it for all 3 ABIs. ++ (elf_machine_rel): Mark as always_inline in RTLD_BOOTSTRAP. ++ Handle 64-bit R_MIPS_REL composite relocation and accept ++ R_MIPS_64 relocations to shift addend size to 64 bits. ++ Document assumption regarding local GOT entries. Document ++ backward-compatibility departing from the ABI behavior in ++ applying relocations that reference section symbols, no longer ++ used. Support relocations to mis-aligned offsets. ++ * sysdeps/mips/mips64/dl-machine.h: Deleted, obsolete. ++ ++ * sysdeps/unix/sysv/linux/mips/readelflib.c: New file. ++ ++ * sysdeps/unix/sysv/linux/mips/kernel_sigaction.h ++ (_KERNEL_NSIG_BPW): Define in terms of _MIPS_SZLONG. ++ * sysdeps/unix/sysv/linux/mips/sigaction.c: Define restore and ++ restore_rt functions. Use them. ++ ++ * sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Don't ++ .set mips2 on new abis. ++ ++2003-03-13 Ulrich Drepper <drepper@redhat.com> ++ ++ * posix/getconf.c: Recognize POSIX2_SYMLINKS. ++ * sysdeps/generic/bits/confname.h: Define _PC_2_SYMLINKS. ++ * sysdeps/posix/fpathconf.c: Handle _PC_2_SYMLINKS. ++ * sysdeps/posix/pathconf.c: Likewise. ++ * sysdeps/unix/sysv/linux/fpathconf.c: Likewise. ++ * sysdeps/unix/sysv/linux/pathconf.c: Likewise. ++ * sysdeps/unix/sysv/linux/pathconf.h: Define statfs_symlinks. ++ ++ * sysdeps/unix/sysv/linux/linux_fsinfo.h: Define some more magic ++ words. ++ ++2003-03-14 Alexandre Oliva <aoliva@redhat.com> ++ ++ * include/gmp.h: Include/gmp-mparam.h. ++ * stdlib/strtod.c: Include gmp-mparam.h before gmp.h and ++ gmp-impl.h. ++ ++ * elf/dl-conflict.c: Don't compile _dl_resolve_conflicts if ++ ELF_MACHINE_NO_RELA is set. ++ * elf/rtld.c (dl_main): No prelink support for REL-only. ++ ++ * sysdeps/generic/ldconfig.h (FLAG_MIPS64_LIBN32, ++ FLAG_MIPS64_LIBN64): Define. ++ * elf/cache.c (print_entry): Handle mips64 n32 and n64. ++ ++ * sysdeps/mips/memcpy.S: Map t0-3 to a4-7 on new abis. ++ * sysdeps/mips/memset.S: Likewise. ++ * sysdeps/mips/sys/regdef.h: Alias a4-7 or t0-3 to $8-11 ++ depending on the ABI. ++ ++ * sysdeps/mips/atomicity.h (exchange_and_add, atomic_add): ++ Don't .set mips2 on new abi. ++ (compare_and_swap): Likewise. Support 64-bit longs on n64. ++ ++ * stdlib/fpioconst.h: Include gmp.h with angle brackets. ++ ++2003-03-13 Roland McGrath <roland@redhat.com> ++ ++ * elf/dl-load.c (_dl_map_object_from_fd): Bail if no PT_LOAD phdrs ++ found. Reported by Alexandre Oliva <aoliva@redhat.com>. ++ ++2003-03-13 Alexandre Oliva <aoliva@redhat.com> ++ ++ * stdio-common/_itoa.c (_itoa_base_table): Make 64-bit ++ literals long long. ++ * stdlib/fpioconst.c: Likewise. ++ * stdlib/strtod.c: Likewise. ++ ++ * sysdeps/mips/add_n.S: Use L macro for local labels. ++ * sysdeps/mips/addmul_1.S: Likewise. ++ * sysdeps/mips/lshift.S: Likewise. ++ * sysdeps/mips/memcpy.S: Likewise. ++ * sysdeps/mips/memset.S: Likewise. ++ * sysdeps/mips/mul_1.S: Likewise. ++ * sysdeps/mips/rshift.S: Likewise. ++ * sysdeps/mips/sub_n.S: Likewise. ++ * sysdeps/mips/submul_1.S: Likewise. ++ * sysdeps/mips/mips64/add_n.S: Likewise. ++ * sysdeps/mips/mips64/addmul_1.S: Likewise. ++ * sysdeps/mips/mips64/lshift.S: Likewise. ++ * sysdeps/mips/mips64/mul_1.S: Likewise. ++ * sysdeps/mips/mips64/rshift.S: Likewise. ++ * sysdeps/mips/mips64/sub_n.S: Likewise. ++ * sysdeps/mips/mips64/submul_1.S: Likewise. ++ * sysdeps/unix/mips/sysdep.h: Define L() according to ABI ++ conventions. Define END as in sys/asm.h. ++ * sysdeps/unix/mips/sysdep.S: Likewise. ++ * sysdeps/unix/mips/wait.S: Likewise. ++ * sysdeps/unix/sysv/linux/mips/clone.S: Likewise. ++ ++ * sysdeps/ieee754/dbl-64/dbl2mpn.c (__mpn_extract_double): ++ Cast shifted values that may be too narrow to mp_limb_t. ++ * sysdeps/ieee754/dbl-64/mpn2dbl.c (__mpn_construct_double): ++ Likewise. ++ * sysdeps/ieee754/flt-32/mpn2flt.c (__mpn_construct_float): ++ Likewise. ++ * sysdeps/ieee754/ldbl-128/ldbl2mpn.c ++ (__mpn_extract_long_double): Likewise. ++ * sysdeps/ieee754/ldbl-128/mpn2ldbl.c ++ (__mpn_construct_long_double): Likewise. ++ * sysdeps/ieee754/ldbl-96/ldbl2mpn.c ++ (__mpn_extract_long_double): Likewise. ++ * sysdeps/ieee754/ldbl-96/mpn2ldbl.c ++ (__mpn_construct_long_double): Likewise. ++ ++2003-03-13 Roland McGrath <roland@redhat.com> ++ ++ * elf/Makefile ($(objpfx)librtld.mk): Tweak regexp so that one-line ++ entries in the map file match too. ++ ++2003-03-13 Guido Guenther <agx@sigxcpu.org> ++ ++ * sysdeps/unix/sysv/linux/mips/clone.S: introduce and use local ++ label .Lthread_start since current binutils don't allow branches ++ to globally visible symbols. ++ ++2003-03-13 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/sysdep.h (BREAK_INSN_1, BREAK_INSN, ++ ASM_OUTARGS_0, ASM_OUTARGS_1, ASM_OUTARGS_2, ASM_OUTARGS_3, ++ ASM_OUTARGS_4, ASM_OUTARGS_5, ASM_OUTARGS_6): Define. ++ (INTERNAL_SYSCALL, INLINE_SYSCALL): Use it. Make syscall arguments ++ clobbered by the syscall. ++ (ASM_ARGS_1, ASM_ARGS_2, ASM_ARGS_3, ASM_ARGS_4, ASM_ARGS_5, ++ ASM_ARGS_6): Change constraints from r to index of corresponding ++ output register. ++ * sysdeps/unix/sysv/linux/ia64/clone2.S (__clone2): Swap ++ ptid and ctid to match kernel. ++ * sysdeps/unix/sysv/linux/ia64/system.c (FORK): Likewise. ++ ++2003-03-12 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/powerpc/powerpc64/elf/configure.in: Remove ++ AC_DEFINE(PI_STATIC_AND_HIDDEN). Not supported for PowerPC64. ++ * sysdeps/powerpc/powerpc64/elf/configure: Regenerated. ++ ++2003-03-11 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela): ++ Check SYM_MAP rather than SYM as definedness check. ++ Handle R_PPC64_ADDR32, R_PPC64_ADDR30, and R_PPC64_REL64 relocs. ++ Don't handle R_PPC64_REL24 reloc. ++ Mostly from Steven Munroe <sjmunroe@us.ibm.com>. ++ ++ * sysdeps/powerpc/powerpc64/dl-machine.h ++ [USE_TLS] (elf_machine_type_class): Match all the TLS relocs in a ++ block, so we cover all the TPREL16* flavors without 6 ||s. ++ [USE_TLS] (elf_machine_tprel): New function. ++ (elf_machine_rela) [USE_TLS]: Use elf_machine_tprel for TPREL64 reloc, ++ and handle TPREL16 relocs too. Return rather than break for DTPREL64. ++ Mostly from Steven Munroe <sjmunroe@us.ibm.com>. ++ ++2003-03-11 Ralf Baechle <ralf@linux-mips.org> ++ ++ * sysdeps/unix/sysv/linux/mips/clone.S (__thread_start): Use jal ++ instead of jalr to invoke subroutine so restoring the $gp register ++ will work properly. ++ ++2003-03-11 Martin Schwidefsky <schwidefsky@de.ibm.com> ++ ++ * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (__NR_pread64): Define ++ to __NR_pread if not defined. ++ (__NR_pwrite64): Define to __NR_pwrite if not defined. ++ ++2003-03-11 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/system.c: New file. ++ * sysdeps/unix/sysv/linux/kernel-features.h ++ (__ASSUME_CLONE_THREAD_FLAGS): Define for IA-64 and s390* with ++ kernel >= 2.5.64. ++ ++2003-03-11 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/generic/dl-sysdep.c (_dl_important_hwcaps): If CNT == 1, ++ allocate space even for the trailing '/'. ++ Reported by John Reiser <jreiser@BitWagon.com>. ++ ++ * sysdeps/unix/sysv/linux/ia64/sysdep.h (LOAD_ARGS_6, ASM_ARGS_6, ++ ASM_CLOBBERS_6): Define. ++ (ASM_CLOBBERS_5): Use ASM_CLOBBERS_6. ++ * sysdeps/unix/sysv/linux/ia64/clone2.S (__clone2): Reorder arguments ++ to match IA-32 order. ++ * sysdeps/unix/sysv/linux/i386/clone.S: Fix comment. ++ ++2003-03-10 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Don't clobber R7. ++ Copy extra params for NPTL to registers used in clone syscall. ++ ++2003-03-10 Martin Schwidefsky <schwidefsky@de.ibm.com> ++ ++ * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Correct system ++ call names for pread and pwrite. ++ ++2003-03-10 Roland McGrath <roland@redhat.com> ++ ++ * dlfcn/Makefile (libdl-routines): Add dladdr1. ++ * dlfcn/dladdr1.c: New file. ++ * dlfcn/dlfcn.h [__USE_GNU]: Declare dladdr1. ++ [__USE_GNU] (RTLD_DL_SYMENT, RTLD_DL_LINKMAP): New enum constants. ++ * elf/dl-addr.c (_dl_addr): Take new args, a struct link_map ** and ++ a const ElfNN_Sym ** to fill in. ++ * include/dlfcn.h: Update decl. Include <link.h>. ++ * dlfcn/dladdr.c (dladdr): Update caller. ++ * malloc/mtrace.c (tr_where): Likewise. ++ * sysdeps/generic/elf/backtracesyms.c: Likewise. ++ * sysdeps/generic/elf/backtracesymsfd.c: Likewise. ++ * dlfcn/Versions (libdl: GLIBC_2.3.3): New set, add dladdr1. ++ * Versions.def (libdl): Define GLIBC_2.3.3 set. ++ ++ * sysdeps/unix/make-syscalls.sh: Generate $(compile-syscall) for ++ assembler command. ++ * sysdeps/unix/Makefile (compile-syscall): New variable. ++ Pass -g0 to compiler for assembling syscall stubs from stdin. ++ ++ * sysdeps/i386/sysdep.h [HAVE_CPP_ASM_DEBUGINFO] ++ (STABS_CURRENT_FILE, STABS_CURRENT_FILE1, STABS_FUN, STABS_FUN_END): ++ Define these to do nothing. ++ ++ * configure.in: New check for -g on .S files. ++ * configure: Regenerated. ++ * config.make.in (have-cpp-asm-debuginfo): New variable. ++ * config.h.in (HAVE_CPP_ASM_DEBUGINFO): New #undef. ++ * Makeconfig (ASFLAGS): New variable, if undefined and ++ $(have-cpp-asm-debuginfo), take options matching -g% from $(CFLAGS). ++ * Makerules (compile.S, COMPILE.S): Use $(ASFLAGS). ++ ++2003-03-09 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Take 3 new args ++ used by NPTL on new kernels. From Paul Mackerras <paulus@samba.org>. ++ ++2003-03-09 Ulrich Drepper <drepper@redhat.com> ++ ++ * po/fi.po: Update from translation team. ++ * po/ca.po: Likewise. ++ * po/da.po: Likewise. ++ ++2003-03-08 Ulrich Drepper <drepper@redhat.com> ++ ++ * rt/tst-aio7.c (do_test): Change BYTES into a #define. ++ ++2003-03-07 Ulrich Drepper <drepper@redhat.com> ++ ++ * rt/tst-aio7.c (do_test): Give BUFF permanent extent, too. ++ ++ * sysdeps/powerpc/fpu/w_sqrt.c: Fix comment. ++ ++2003-03-07 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/s390/s390-32/sysdep.h (L): Use .Lfoo instead of foo. ++ * sysdeps/s390/s390-64/sysdep.h (L): Likewise. ++ ++2003-03-04 Guido Guenther <agx@sigxcpu.org> ++ ++ * sysdeps/unix/sysv/linux/mips/syscalls.list: Remove unneeded ++ stubs, we have INLINE_SYSCALL. ++ * sysdeps/unix/sysv/linux/mips/bits/mman.h: Define MAP_POPULATE, ++ MAP_NONBLOCK. ++ ++2003-03-06 Roland McGrath <roland@redhat.com> ++ ++ * rt/tst-aio7.c (do_test): Revert last change. Instead, give CB1 ++ permanent extent and add a comment about testing its implicit teardown. ++ ++2003-03-06 Martin Schwidefsky <schwidefsky@de.ibm.com> ++ ++ * rt/tst-aio7.c (do_test): Cancel i/o on CB1 before it's out of scope. ++ ++2003-03-05 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): Fix ++ reversed __builtin_expect expectation. ++ ++2003-03-05 Roland McGrath <roland@redhat.com> ++ ++ * stdio-common/sscanf.c: Use prototype defn with ... syntax. ++ * libio/swscanf.c: Likewise. ++ * libio/swprintf.c: Likewise. ++ ++2003-03-04 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/powerpc/powerpc64/dl-machine.h: Include <dl-tls.h>. ++ (elf_machine_rela): Always use RESOLVE_MAP, needed for ++ R_PPC64_JMP_SLOT as well as TLS cases. ++ (BIT_INSERT): Move parenthesis where it ought to have been. ++ Reported by Steven Munroe <sjmunroe@us.ibm.com>. ++ ++ * posix/confstr.c (confstr): Correct STRING_LEN values for ++ _CS_GNU_LIBC_VERSION and _CS_GNU_LIBPTHREAD_VERSION, add missing ++ break. Reported by Alexandre Julliard <julliard@winehq.com>. ++ ++2003-03-04 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/ia64/fpu/libm-test-ulps: Regenerated. ++ ++2003-03-04 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/x86_64/clone.S: Add support for the new ++ clone parameters. ++ ++ * po/sv.po: Update from translation team. ++ ++2003-03-04 Andreas Jaeger <aj@suse.de> ++ Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Fix comments. ++ ++2003-03-03 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/dl-sysdep.h: Add double include protection. ++ ++ * po/tr.po: Update from translation team. ++ ++ * elf/dl-load.c (_dl_map_object_from_fd): Determine whether there ++ are holes between the segments. Only call mprotect to set ++ proection to PROT_NONE if there are some. ++ ++ * elf/dl-load.c (struct filebuf): Actually use FILEBUF_SIZE. ++ Update comment. ++ ++ * include/sched.h (__clone2): Use ... instead of adding all the ++ new parameters. ++ ++2003-03-03 Roland McGrath <roland@redhat.com> ++ ++ * elf/dl-load.c (struct filebuf): Fix typo in last change. ++ ++ * sysdeps/powerpc/powerpc32/elf/configure.in: Don't define ++ PI_STATIC_AND_HIDDEN. ++ ++2003-03-03 Ian Wienand <ianw@gelato.unsw.edu.au> ++ ++ * sysdeps/unix/sysv/linux/ia64/clone2.S: Update to take extra clone ++ flags. ++ * include/sched.h: Update clone2 prototype. ++ ++2003-03-03 Andreas Jaeger <aj@suse.de> ++ ++ * math/tgmath.h (__TGMATH_UNARY_REAL_RET_ONLY): New definition. ++ (llrint): Use it to correct return type. ++ (lrint): Likewise. ++ (lround): Likewise. ++ (llround): Likewise. ++ ++2003-03-03 Ulrich Drepper <drepper@redhat.com> ++ ++ * elf/dl-load.c (struct filebuf): For 64-bit platforms use 640 ++ byte filebuf size. ++ ++ * libio/fileops.c (_IO_new_file_fopen): Close stillborn descriptor ++ if ccs parameter isn't valid. Reported by Andreas Schwab. ++ ++2003-03-03 Martin Schwidefsky <schwidefsky@de.ibm.com> ++ ++ * sysdeps/unix/sysv/linux/s390/s390-32/syscall.S (syscall): Add support ++ for system call numbers > 255. ++ * sysdeps/unix/sysv/linux/s390/s390-32/syscall.h (DO_CALL, ++ INLINE_SYSCALL, INTERNAL_SYSCALL_DIRECT, INTERNAL_SYSCALL_SVC0, ++ INTERNAL_SYSCALL): Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/syscall.S (syscall): Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/syscall.h (DO_CALL, ++ INLINE_SYSCALL, INTERNAL_SYSCALL_DIRECT, INTERNAL_SYSCALL_SVC0, ++ INTERNAL_SYSCALL): Likewise. ++ ++2003-03-03 Martin Schwidefsky <schwidefsky@de.ibm.com> ++ ++ * sysdeps/generic/dl-tls.c (_dl_deallocate_tls): Don't free the dtv ++ array if it is the initial dtv. ++ ++2003-03-03 Ulrich Drepper <drepper@redhat.com> ++ ++ * po/es.po: Update from translation team. ++ * po/fr.po: Likewise. ++ * po/gl.po: Likewise. ++ * po/sk.po: Likewise. ++ * po/sv.po: Likewise. ++ ++ * sysdeps/unix/sysv/linux/syscalls.list: Add remap_file_pages entry. ++ * misc/sys/mman.h: Add prototype for remap_file_pages. ++ * sysdeps/generic/remap_file_pages.c: New file. ++ * misc/Makefile (routines): Add remap_file_pages. ++ * misc/Versions [libc:GLIBC_2.3.3]: Add remap_file_pages. ++ ++ * sysdeps/unix/sysv/linux/x86_64/bits/mman.h: Define MAP_POPULATE ++ and MAP_NONBLOCK. ++ * sysdeps/unix/sysv/linux/s390/bits/mman.h: Likewise. ++ * sysdeps/unix/sysv/linux/powerpc/bits/mman.h: Likewise ++ * sysdeps/unix/sysv/linux/m68k/bits/mman.h: Likewise. ++ * sysdeps/unix/sysv/linux/arm/bits/mman.h: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/bits/mman.h: Likewise. ++ * sysdeps/unix/sysv/linux/hppa/bits/mman.h: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/bits/mman.h: Likewise. ++ * sysdeps/unix/sysv/linux/i386/bits/mman.h: Likewise. ++ ++2003-03-03 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/ia64/dl-fptr.c (__ia64_make_fptr): Revert last change. ++ * sysdeps/ia64/dl-machine.h: Likewise. ++ * sysdeps/ia64/dl-symaddr.c (_dl_symbol_address): Remove const from ++ argument type. ++ * sysdeps/ia64/dl-lookupcfg.h: Update decl. ++ ++ * sysdeps/wordsize-64/strtol_l.c (strtoll_l): Define as weak alias. ++ * sysdeps/wordsize-64/strtoul_l.c (strtoull_l): Define as weak alias. ++ * locale/Versions (libc: GLIBC_2.3): Move those to ... ++ * sysdeps/wordsize-32/Versions (libc: GLIBC_2.3): ... here, new file. ++ * sysdeps/wordsize-64/Versions (libc: GLIBC_2.3.3) Likewise. ++ * Versions.def (libc): Add GLIBC_2.3.3 set. ++ ++ * sysdeps/ia64/dl-fptr.c (__ia64_make_fptr): Add const to MAP arg. ++ * sysdeps/ia64/dl-machine.h: Update decl. ++ ++2003-03-03 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/unix/clock_settime.c (HANDLE_REALTIME): Add missing brace. ++ ++2003-03-02 Roland McGrath <roland@redhat.com> ++ ++ * scripts/abilist.awk: Reject data items with apparent 0 size. ++ ++ * scripts/merge-abilist.awk: Restore hack to elide pattern foo.*/bar ++ after foo.* as if it were a duplicate. ++ ++ * sysdeps/unix/sysv/linux/ia64/brk.S: Add .type and .size for __curbrk. ++ ++2003-03-02 Ulrich Drepper <drepper@redhat.com> ++ ++ * elf/dl-load.c (struct filebuf): Reduce buf array to 512 bytes. ++ ++ * sysdeps/generic/bits/time.h: Define CLOCK_MONOTONIC. ++ * sysdeps/posix/clock_getres.c: Define code for CLOCK_REALTIME only ++ if not already defined. Use SYSDEP_GETRES to allow other files to ++ provide alternative implementations. ++ * sysdeps/unix/sysv/linux/clock_getres.c: New file ++ * sysdeps/unix/clock_gettime.c: Define code for CLOCK_REALTIME only ++ if not already defined. Use SYSDEP_GETTIME to allow other files to ++ provide alternative implementations. ++ * sysdeps/unix/sysv/linux/clock_gettime.c: New file. ++ * sysdeps/unix/clock_settime.c: Define code for CLOCK_REALTIME only ++ if not already defined. Use SYSDEP_GETTIME to allow other files to ++ provide alternative implementations. ++ * sysdeps/unix/sysv/linux/clock_settime.c: New file. ++ * sysdeps/unix/clock_nanosleep.c: Use SYSDEP_NANOSLEEP to allow ++ other files to provide alternative implementations. Rearrange ++ tests for invalid parameters. ++ * sysdeps/unix/sysv/linux/clock_nanosleep.c: New file. ++ * sysdeps/unix/sysv/linux/sysconf.c: New file. ++ * sysdeps/unix/sysv/linux/kernel-features.h: Define ++ __ASSUME_POSIX_TIMERS for Linux 2.5.63 and up. ++ * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define ++ _POSIX_MONOTONIC_CLOCK. ++ ++2003-03-02 Roland McGrath <roland@redhat.com> ++ ++ * scripts/merge-abilist.awk: More checks for bogus input. ++ Uniquify duplicate config names. ++ ++ * scripts/abilist.awk: Don't distinguish weak symbols in normal output. ++ ++ * sysdeps/powerpc/powerpc32/dl-machine.c (_dl_reloc_overflow): Renamed ++ from dl_reloc_overflow, make global. ++ (__process_machine_rela): Update callers. ++ * sysdeps/powerpc/powerpc32/dl-machine.h: Declare _dl_reloc_overflow. ++ Add attribute_hidden to __process_machine_rela decl. ++ (elf_machine_type_class, elf_machine_rela): Handle 16-bit TLS relocs. ++ ++ * sysdeps/generic/libc-start.c (__libc_start_main): Don't assign const ++ variable. ++ ++ * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_fixup_plt): ++ Don't use weak_extern for dl_rtld_map. Instead check only if [SHARED]. ++ (elf_machine_rela): Clean up. ++ ++ * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): Clean up. ++ ++ PowerPC TLS support contributed by Paul Mackerras <paulus@samba.org>. ++ * sysdeps/powerpc/powerpc32/elf/configure.in: New file. ++ * sysdeps/powerpc/powerpc32/elf/configure: New generated file. ++ * elf/tls-macros.h [__powerpc__ && !__powerpc64__] ++ (TLS_LE, TLS_IE, TLS_LD, TLS_GD): Define them. ++ * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): Support ++ new relocs for TLS. ++ ++ * sysdeps/powerpc/dl-tls.h (TLS_TP_OFFSET, TLS_DTV_OFFSET): Move these ++ macros out of [SHARED]. ++ (TLS_TPREL_VALUE, TLS_DTPREL_VALUE): New macros. ++ ++ * elf/elf.h: Define R_PPC_* relocs for TLS support. ++ Clean up R_PPC64_* macro definition comments. ++ ++ * configure.in: In "running configure fragment for" message, ++ omit $srcdir from the name if we prepended it. ++ * configure: Regenerated. ++ ++ * elf/dl-reloc.c (allocate_static_tls): Fix calculations. ++ From Jakub Jelinek <jakub@redhat.com>. ++ ++ * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Revert last change, ++ which duplicated the O_DIRECT defn. ++ ++2003-03-01 GOTO Masanori <gotom@debian.or.jp> ++ ++ * stdlib/stdlib.h: Add missing __USE_BSD enclosure for BSD derived ++ random functions. ++ ++2003-03-01 Andreas Schwab <schwab@suse.de> ++ ++ * resolv/Makefile (tests): Don't depend on ++ $(objpfx)mtrace-tst-leaks when cross compiling. ++ ++ * sysdeps/m68k/dl-machine.h (_dl_start_user): Access ++ __libc_stack_end through GOT since it is a global symbol. ++ + 2003-03-01 GOTO Masanori <gotom@debian.or.jp> + + * argp/argp.h: Fix a typo. +@@ -5561,6 +11477,16 @@ + (common-mostlyclean, common-clean): Clean up rtld-* files. + * sysdeps/unix/make-syscalls.sh: Add rtld-*.os target name to rules. + ++2003-05-20 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/dynamic-link.h (elf_get_dynamic_info): Add temp argument. ++ If temp != NULL, copy dynamic entries which need relocation to temp ++ array before relocating. ++ (DL_RO_DYN_TEMP_CNT): Define. ++ * elf/dl-load.c (_dl_map_object_from_fd): Adjust caller. ++ * elf/rtld.c (_dl_start): Likewise. ++ (dl_main): Likewise. Add dyn_temp static variable. ++ + 2002-10-11 Roland McGrath <roland@redhat.com> + + * sysdeps/generic/dl-tls.c (__tls_get_addr): After freeing block in +--- glibc-2.3.2/Makeconfig 2003-01-06 00:31:36.000000000 -0500 ++++ glibc-2.3.2/Makeconfig 2003-09-19 22:37:01.000000000 -0400 +@@ -83,6 +83,12 @@ + # Get the values defined by options to `configure'. + include $(common-objpfx)config.make + ++# What flags to give to sources which call user provided callbacks ++uses-callbacks = $(exceptions) ++ ++# What flags to give to tests which test stack alignment ++stack-align-test-flags = ++ + # We have a special subdir for each binary format. + # For now, only ELF is fully supported. + ifeq ($(elf),yes) +@@ -505,7 +511,7 @@ + link-extra-libs-bounded = $(foreach lib,$(LDLIBS-$(@F:%-bp=%)),$(common-objpfx)$(lib)_b.a) + + ifndef gnulib +-gnulib := -lgcc ++gnulib := -lgcc -lgcc_eh + endif + ifeq ($(elf),yes) + +preinit = $(addprefix $(csu-objpfx),crti.o) +@@ -621,7 +627,7 @@ + +includes = -I$(..)include -I. \ + $(patsubst %/,-I%,$(objpfx)) $(patsubst %/,-I%,$(..)) \ + $(libio-include) $(includes) \ +- $(+sysdep-includes) $(last-includes) $(sysincludes) ++ $(+sysdep-includes) $(sysincludes) + + # Since libio has several internal header files, we use a -I instead + # of many little headers in the include directory. +@@ -669,6 +675,8 @@ + libtype.os := lib%_pic.a + # This can be changed by a sysdep makefile + pic-ccflag = -fPIC ++# This one should always stay like this unless there is a very good reason. ++PIC-ccflag = -fPIC + endif + ifeq (yes,$(build-profile)) + # Under --enable-profile, we will build a static library of profiled objects. +@@ -711,11 +719,20 @@ + # Must build the routines as PIC, though, because they can end up in (users') + # shared objects. We don't want to use CFLAGS-os because users may, for + # example, make that processor-specific. +-CFLAGS-.oS = $(CFLAGS-.o) $(pic-ccflag) ++CFLAGS-.oS = $(CFLAGS-.o) $(PIC-ccflag) + CPPFLAGS-.oS = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1 + libtype.oS = lib%_nonshared.a + endif + ++# The assembler can generate debug information too. ++ifndef ASFLAGS ++ifeq ($(have-cpp-asm-debuginfo),yes) ++ASFLAGS := $(filter -g%,$(CFLAGS)) ++else ++ASFLAGS := ++endif ++endif ++ASFLAGS += $(ASFLAGS-config) + + +gnu-stabs = $(shell echo>&2 '*** BARF ON ME') + +@@ -921,11 +938,11 @@ + all-Depend-files = $(wildcard $(..)*/Depend) + $(common-objpfx)sysd-sorted: $(..)scripts/gen-sorted.awk $(all-Depend-files) \ + $(common-objpfx)sysd-dirs $(..)Makeconfig +- { { dirs='$(patsubst $(..)%/Depend,$(..)%,$(filter %/Depend,$^))';\ ++ { { dirs='$(patsubst $(..)%/Depend,%,$(filter %/Depend,$^))'; \ + for d in $$dirs; do \ + while read on; do \ + echo "depend $$d $$on"; \ +- done < $$d/Depend; \ ++ done < $(..)$$d/Depend; \ + done; \ + for f in $(all-subdirs); do \ + echo $$f; \ +--- glibc-2.3.2/Makefile 2003-02-21 01:22:51.000000000 -0500 ++++ glibc-2.3.2/Makefile 2003-09-19 22:37:01.000000000 -0400 +@@ -228,6 +228,18 @@ + tests-clean: + @$(MAKE) subdir_testclean no_deps=t + ++tests: $(objpfx)c++-types-check.out ++ifneq ($(CXX),no) ++ifneq (,$(wildcard scripts/data/c++-types-$(base-machine)-$(config-os).data)) ++$(objpfx)c++-types-check.out: scripts/data/c++-types-$(base-machine)-$(config-os).data ++ scripts/check-c++-types.sh $^ $(CXX) $(filter-out -std=gnu99,$(CFLAGS)) $(CPPFLAGS) > $@ ++else ++$(objpfx)c++-types-check.out: ++ @echo 'WARNING C++ tests not run; create a c++-types-XXX file' ++ @echo "not run" > $@ ++endif ++endif ++ + # The realclean target is just like distclean for the parent, but we want + # the subdirs to know the difference in case they care. + realclean distclean: parent-clean +@@ -274,6 +286,7 @@ + include/shlib-compat.h include/pthread.h Versions.def \ + cppflags-iterator.mk tls.make.c \ + include/stubs-prologue.h include/gnu/stubs.h \ ++ include/atomic.h bits/atomic.h \ + INTERFACE CONFORMANCE NAMESPACE LICENSES \ + $(addprefix scripts/, \ + rellns-sh config.sub config.guess \ +@@ -282,7 +295,11 @@ + gen-sorted.awk abi-versions.awk abilist.awk \ + firstversions.awk documented.sh cpp \ + output-format.sed gen-as-const.awk \ +- merge-abilist.awk extract-abilist.awk) ++ merge-abilist.awk extract-abilist.awk \ ++ rpm2dynsym.sh \ ++ ) \ ++ $(wildcard scripts/data/*.data) \ ++ $(wildcard abilist/*.abilist) + + distribute := $(strip $(distribute)) + generated := $(generated) stubs.h +@@ -318,12 +335,6 @@ + iconvdata/% localedata/% po/% manual/%: + $(MAKE) $(PARALLELMFLAGS) -C $(@D) $(@F) + +-# This is a special goal for people making binary distributions. Normally +-# everybody uses the DES based crypt library but for the distribution we +-# need the only-MD5 based one as well. +-md5-crypt/libmd5crypt: +- $(MAKE) $(PARALLELMFLAGS) -C $(@D) $(@F) +- + # glibc 2.0 contains some header files which aren't used with glibc 2.1 + # anymore. + # These rules should remove those headers +--- glibc-2.3.2/Makefile.in 2000-11-15 18:03:08.000000000 -0500 ++++ glibc-2.3.2/Makefile.in 2002-11-16 08:53:55.000000000 -0500 +@@ -1,4 +1,4 @@ +-# Generated from $Id: Makefile.in,v 1.7 2000/11/15 23:03:08 drepper Exp $. ++# Generated from $Id: Makefile.in,v 1.6 1998/02/26 14:51:55 drepper Exp $. + + srcdir = @srcdir@ + +--- glibc-2.3.2/Makerules 2003-02-22 18:23:31.000000000 -0500 ++++ glibc-2.3.2/Makerules 2003-09-19 22:37:01.000000000 -0400 +@@ -125,29 +125,9 @@ + endif # avoid-generated + endif # $(versioning) = yes + +- +-# Generating headers for assembly constants. +-# We need this defined early to get into before-compile before +-# it's used in sysd-rules, below. +-$(common-objpfx)%.h $(common-objpfx)%.h.d: $(..)scripts/gen-as-const.awk \ +- %.sym $(before-compile) +- $(AWK) -f $< $(filter %.sym,$^) \ +- | $(CC) -S -o - $(CFLAGS) $(CPPFLAGS) -x c - \ +- -MD -MF $(@:.h=.h.d)T -MT '$(@:.h=.h.d) $(@:.h.d=.h)' \ +- | sed -n 's/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$$/#define \1 \2/p' > $(@:.h.d=.h)T +- sed $(sed-remove-objpfx) $(sed-remove-dotdot) \ +- $(@:.h=.h.d)T > $(@:.h=.h.d)T2 +- rm -f $(@:.h=.h.d)T +- mv -f $(@:.h=.h.d)T2 $(@:.h=.h.d) +- mv -f $(@:.h.d=.h)T $(@:.h.d=.h) +-vpath %.sym $(sysdirs) +-before-compile += $(gen-as-const-headers:%.sym=$(common-objpfx)%.h) +- +- +-# When we have no deps pass doing it, then make sure the subdirectory +-# for object files gets created. +-ifdef no_deps ++# Make sure the subdirectory for object files gets created. + ifdef objpfx ++ifeq (,$(wildcard $(objpfx).)) + before-compile += $(objpfx). + $(objpfx).: + $(make-target-directory) +@@ -166,26 +146,59 @@ + $(before-compile): + endif + ++# We don't want $(common-objpfx) files to depend on miscellaneous stuff ++# in subdirs. ++ifdef subdir ++common-before-compile := $(filter-out $(objpfx)%,$(before-compile)) ++else ++common-before-compile = $(before-compile) ++endif ++ ++ifndef subdir + # If a makefile needs to do something conditional on something that + # can only be figured out from headers, write a FOO.make.c input + # file that uses cpp contructs and contains @@@ LINE @@@ for each LINE + # to emit in the generated makefile, and use -include $(common-objpfx)FOO.make. +-$(common-objpfx)%.make: $(..)%.make.c $(..)Makerules $(before-compile) ++# ++# We only generate these in the top-level makefile, to avoid any weirdness ++# from subdir-specific makefile tweaks creeping in on an update. ++$(common-objpfx)%.make: $(..)%.make.c $(..)Makerules $(common-before-compile) + rm -f $@T $@.dT + (echo '# Generated from $*.make.c by Makerules.'; \ +- SUNPRO_DEPENDENCIES='$@.dT $$(common-objpfx)$*.make' \ + $(CC) $(CFLAGS) $(CPPFLAGS) -E $< \ ++ -MD -MP -MT '$$(common-objpfx)$*.make' -MF $@.dT \ + | sed -n '/@@@/{s/@@@[ ]*\(.*\)@@@/\1/;s/[ ]*$$//p;}'; \ + echo 'common-generated += $(@F)'; \ + sed $(sed-remove-objpfx) $(sed-remove-dotdot) $@.dT; \ + rm -f $@.dT) > $@T + mv -f $@T $@ ++endif + + ifdef subdir +-sed-remove-dotdot := -e 's@ *\.\.\/\([^ \]*\)@ $$(..)\1@g' ++sed-remove-dotdot := -e 's@ *\.\.\/\([^ \]*\)@ $$(..)\1@g' \ ++ -e 's@^\.\.\/\([^ \]*\)@$$(..)\1@g' + else +-sed-remove-dotdot := -e 's@ *\([^ \/$$][^ \]*\)@ $$(..)\1@g' ++sed-remove-dotdot := -e 's@ *\([^ \/$$][^ \]*\)@ $$(..)\1@g' \ ++ -e 's@^\([^ \/$$][^ \]*\)@$$(..)\1@g' + endif ++ ++ ++# Generating headers for assembly constants. ++# We need this defined early to get into before-compile before ++# it's used in sysd-rules, below. ++$(common-objpfx)%.h $(common-objpfx)%.h.d: $(..)scripts/gen-as-const.awk \ ++ %.sym $(common-before-compile) ++ $(AWK) -f $< $(filter %.sym,$^) \ ++ | $(CC) -S -o - $(CFLAGS) $(CPPFLAGS) -x c - \ ++ -MD -MP -MF $(@:.h=.h.d)T -MT '$(@:.h=.h.d) $(@:.h.d=.h)' \ ++ | sed -n 's/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$$/#define \1 \2/p' > $(@:.h.d=.h)T ++ sed $(sed-remove-objpfx) $(sed-remove-dotdot) \ ++ $(@:.h=.h.d)T > $(@:.h=.h.d)T2 ++ rm -f $(@:.h=.h.d)T ++ mv -f $(@:.h=.h.d)T2 $(@:.h=.h.d) ++ mv -f $(@:.h.d=.h)T $(@:.h.d=.h) ++vpath %.sym $(sysdirs) ++before-compile += $(gen-as-const-headers:%.sym=$(common-objpfx)%.h) + + # Generate an ordered list of implicit rules which find the source files in + # each sysdep directory. The old method was to use vpath to search all the +@@ -193,15 +206,6 @@ + # later directory would be chosen over a .c file in an earlier directory, + # which does not preserve the desired sysdeps ordering behavior. + +-# When making the list of .d files to include, we can't know which ones +-# have source in .s files, and thus do not in fact need a .d file. +-# So we must define rules to make .d files for .s files. +-define make-dummy-dep +-$(addprefix ln $(common-objpfx)dummy.d ,$(filter-out $(wildcard $@),$@)) +-endef +-$(common-objpfx)dummy.d: +- echo '# .s files cannot contain includes, so they need no deps.' > $@ +- + # It matters that this set of rules, for compiling from sources in + # the current directory (the $srcdir/$subdir) come before the + # generated sysdep rules in included from sysd-rules below. When +@@ -212,21 +216,18 @@ + endef + object-suffixes-left := $(all-object-suffixes) + include $(o-iterator) +-$(objpfx)%.d: %.S $(before-compile); $(+make-deps) + + define o-iterator-doit + $(objpfx)%$o: %.s $(before-compile); $$(compile-command.s) + endef + object-suffixes-left := $(all-object-suffixes) + include $(o-iterator) +-$(objpfx)%.d: %.s $(common-objpfx)dummy.d; $(make-dummy-dep) + + define o-iterator-doit + $(objpfx)%$o: %.c $(before-compile); $$(compile-command.c) + endef + object-suffixes-left := $(all-object-suffixes) + include $(o-iterator) +-$(objpfx)%.d: %.c $(before-compile); $(+make-deps) + + # Omit the objpfx rules when building in the source tree, because + # objpfx is empty and so these rules just override the ones above. +@@ -238,21 +239,18 @@ + endef + object-suffixes-left := $(all-object-suffixes) + include $(o-iterator) +-$(objpfx)%.d: $(objpfx)%.S $(before-compile); $(+make-deps) + + define o-iterator-doit + $(objpfx)%$o: $(objpfx)%.s $(before-compile); $$(compile-command.s) + endef + object-suffixes-left := $(all-object-suffixes) + include $(o-iterator) +-$(objpfx)%.d: $(objpfx)%.s $(common-objpfx)dummy.d; $(make-dummy-dep) + + define o-iterator-doit + $(objpfx)%$o: $(objpfx)%.c $(before-compile); $$(compile-command.c) + endef + object-suffixes-left := $(all-object-suffixes) + include $(o-iterator) +-$(objpfx)%.d: $(objpfx)%.c $(before-compile); $(+make-deps) + endif + + # System-dependent makefiles can put in `inhibit-sysdep-asm' wildcard +@@ -301,26 +299,6 @@ + echo "\$$(objpfx)ptw-%$$o: $$dir/%.c \$$(before-compile); \ + \$$(compile-command.c)"; \ + done; \ +- $(open-check-inhibit-asm) \ +- echo "\$$(objpfx)%.d: $$dir/%.s \$$(common-objpfx)dummy.d; \ +- \$$(make-dummy-dep)"; \ +- echo "\$$(objpfx)rtld-%.d: $$dir/%.s \$$(common-objpfx)dummy.d; \ +- \$$(make-dummy-dep)"; \ +- echo "\$$(objpfx)ptw-%.d: $$dir/%.s \$$(common-objpfx)dummy.d; \ +- \$$(make-dummy-dep)"; \ +- echo "\$$(objpfx)%.d: $$dir/%.S \$$(before-compile); \ +- \$$(+make-deps)"; \ +- echo "\$$(objpfx)rtld-%.d: $$dir/%.S \$$(before-compile); \ +- \$$(+make-deps)"; \ +- echo "\$$(objpfx)ptw-%.d: $$dir/%.S \$$(before-compile); \ +- \$$(+make-deps)"; \ +- $(close-check-inhibit-asm) \ +- echo "\$$(objpfx)%.d: $$dir/%.c \$$(before-compile); \ +- \$$(+make-deps)"; \ +- echo "\$$(objpfx)rtld-%.d: $$dir/%.c \$$(before-compile); \ +- \$$(+make-deps)"; \ +- echo "\$$(objpfx)ptw-%.d: $$dir/%.c \$$(before-compile); \ +- \$$(+make-deps)"; \ + echo "\$$(objpfx)m_%.S: $$dir/s_%.S; \$$(+make-include-of-dep)"; \ + echo "\$$(objpfx)m_%.c: $$dir/s_%.c; \$$(+make-include-of-dep)"; \ + done; \ +@@ -383,32 +361,20 @@ + endif # $(versioning) = yes + endif # sysd-sorted-done + +- +-ifndef compile-command.S +-compile-command.S = $(compile.S) $(OUTPUT_OPTION) +-endif +-ifndef compile-command.s +-compile-command.s = $(COMPILE.s) $< $(OUTPUT_OPTION) +-endif +-ifndef compile-command.c +-compile-command.c = $(compile.c) $(OUTPUT_OPTION) +-endif ++# Generate .dT files as we compile. ++compile-mkdep-flags = -MD -MP -MF $@.dt ++compile-command.S = $(compile.S) $(OUTPUT_OPTION) $(compile-mkdep-flags) ++compile-command.s = $(COMPILE.s) $< $(OUTPUT_OPTION) $(compile-mkdep-flags) ++compile-command.c = $(compile.c) $(OUTPUT_OPTION) $(compile-mkdep-flags) + + # GCC can grok options after the file name, and it looks nicer that way. + compile.c = $(CC) $< -c $(CFLAGS) $(CPPFLAGS) +-compile.S = $(CC) $< -c $(CPPFLAGS) $(S-CPPFLAGS) $(ASFLAGS-$(suffix $@)) +-COMPILE.S = $(CC) -c $(CPPFLAGS) $(S-CPPFLAGS) $(ASFLAGS-$(suffix $@)) ++compile.S = $(CC) $< -c $(CPPFLAGS) $(S-CPPFLAGS) \ ++ $(ASFLAGS) $(ASFLAGS-$(suffix $@)) ++COMPILE.S = $(CC) -c $(CPPFLAGS) $(S-CPPFLAGS) \ ++ $(ASFLAGS) $(ASFLAGS-$(suffix $@)) + COMPILE.s = $(filter-out -pipe,$(CC)) -c $(ASFLAGS) + +-# If we want to generate MD5 checksums for the sources do this now. +-ifeq ($(md5),yes) +-generate-md5 = ; rm -f $(@:.d=.md5); \ +-$(CC) -E $< $(CFLAGS) $(CPPFLAGS) $($(patsubst .%,%,$(suffix $(<F)))-CPPFLAGS) | \ +-sed '/^\#/d;/^[[:space:]]*$$/d' | md5sum > $(@:.d=.md5) +-else +-generate-md5 = +-endif +- + # We need this for the output to go in the right place. It will default to + # empty if make was configured to work with a cc that can't grok -c and -o + # together. You can't compile the C library with such a compiler. +@@ -418,14 +384,16 @@ + # the dependency run for C sources. But having it for assembly sources can + # get the wrong predefines. + S-CPPFLAGS = -DASSEMBLER $(asm-CPPFLAGS) ++ + define +make-deps + $(make-target-directory) + $(+mkdep) $< $(if $(filter %.c,$<),$(CFLAGS)) \ +- $(CPPFLAGS) $($(patsubst .%,%,$(suffix $(<F)))-CPPFLAGS) | sed \ +--e 's,$(subst .,\.,$*)\.o,$(foreach o,$(all-object-suffixes),$(@:.d=$o)) $@,' \ +-$(sed-remove-objpfx) > $(@:.d=.T) ++ $(CPPFLAGS) $($(patsubst .%,%,$(suffix $(<F)))-CPPFLAGS) | sed -e\ ++'s,$(subst .,\.,$(@F:.d=.o)),$(foreach o,$(all-object-suffixes),$(@:.d=$o)) $@,' \ ++$(sed-remove-objpfx) $(sed-remove-dotdot) > $(@:.d=.T) + mv -f $(@:.d=.T) $@ $(generate-md5) + endef ++ + ifneq (,$(objpfx)) + # Continuation lines here are dangerous because they introduce spaces! + define sed-remove-objpfx +@@ -509,17 +477,23 @@ + ifeq (yes,$(elf)) + # binutils only position loadable notes into the first page for binaries, + # not for shared objects +-define build-shlib +-$(build-shlib-helper) \ +- -o $@.new $(csu-objpfx)abi-note.o -Wl,--verbose \ +- $(LDLIBS-$(@F:lib%.so=%).so) 2>&1 | \ +- sed -e '/^=========/,/^=========/!d;/^=========/d' \ ++$(common-objpfx)shlib.lds: $(common-objpfx)config.make $(..)Makerules ++ $(LINK.o) -shared -Wl,-O1 \ ++ $(sysdep-LDFLAGS) $(config-LDFLAGS) $(LDFLAGS.so) \ ++ -Wl,--verbose 2>&1 | \ ++ sed > $@T \ ++ -e '/^=========/,/^=========/!d;/^=========/d' \ + -e 's/^.*\.hash[ ]*:.*$$/ .note.ABI-tag : { *(.note.ABI-tag) } &/' \ +- $(LDSEDCMD-$(@F:lib%.so=%).so) > $@.lds +-rm -f $@.new +-$(build-shlib-helper) -o $@ -T $@.lds \ ++ -e 's/^.*\*(\.dynbss).*$$/& \ ++ PROVIDE(__start___libc_freeres_ptrs = .); \ ++ *(__libc_freeres_ptrs) \ ++ PROVIDE(__stop___libc_freeres_ptrs = .);/' ++ mv -f $@T $@ ++common-generated += shlib.lds ++ ++define build-shlib ++$(build-shlib-helper) -o $@ -T $(common-objpfx)shlib.lds \ + $(csu-objpfx)abi-note.o $(build-shlib-objlist) +-rm -f $@.lds + endef + else + ifneq (,$(findstring aix,$(config-os))) +@@ -547,6 +521,7 @@ + else + define build-module-helper + $(LINK.o) -shared $(static-libgcc) $(sysdep-LDFLAGS) $(config-LDFLAGS) \ ++ $(if $($(@F)-no-z-defs)$(no-z-defs),,-Wl,-z,defs) \ + -B$(csu-objpfx) $(load-map-file) \ + $(LDFLAGS.so) $(LDFLAGS-$(@F:%.so=%).so) \ + -L$(subst :, -L,$(rpath-link)) -Wl,-rpath-link=$(rpath-link) +@@ -559,16 +534,8 @@ + # binutils only position loadable notes into the first page for binaries, + # not for shared objects + define build-module +-$(build-module-helper) \ +- -o $@.new $(csu-objpfx)abi-note.o -Wl,--verbose \ +- $(LDLIBS-$(@F:lib%.so=%).so) 2>&1 | \ +- sed -e '/^=========/,/^=========/!d;/^=========/d' \ +- -e 's/^.*\.hash[ ]*:.*$$/ .note.ABI-tag : { *(.note.ABI-tag) } &/' \ +- > $@.lds +-rm -f $@.new +-$(build-module-helper) -o $@ -T $@.lds \ ++$(build-module-helper) -o $@ -T $(common-objpfx)shlib.lds \ + $(csu-objpfx)abi-note.o $(build-module-objlist) +-rm -f $@.lds + endef + else + ifneq (,$(findstring aix,$(config-os))) +@@ -590,7 +557,7 @@ + + build-module-helper-objlist = \ + $(patsubst %_pic.a,$(whole-archive) %_pic.a $(no-whole-archive),\ +- $(filter-out $(map-file) $(+preinit) $(+postinit),$^)) ++ $(filter-out %.lds $(map-file) $(+preinit) $(+postinit),$^)) + whole-archive := -Wl,--whole-archive + + build-module-objlist = $(build-module-helper-objlist) $(LDLIBS-$(@F:%.so=%).so) +@@ -605,8 +572,6 @@ + LDLIBS-c.so += $(gnulib) + # Give libc.so an entry point and make it directly runnable itself. + LDFLAGS-c.so += -e __libc_main +-# Force the backward compatibility EH functions to be linked. +-LDFLAGS-c.so += -u __register_frame + # Pre-link the objects of libc_pic.a so that we can locally resolve + # COMMON symbols before we link against ld.so. This is because ld.so + # contains some of libc_pic.a already, which will prevent the COMMONs +@@ -616,12 +581,12 @@ + $(common-objpfx)libc_pic.os: $(common-objpfx)libc_pic.a + $(LINK.o) -nostdlib -nostartfiles -r -o $@ \ + $(LDFLAGS-c_pic.os) -Wl,-d -Wl,--whole-archive $^ +-LDSEDCMD-c.so = -e 's/^.*\*(\.dynbss).*$$/& __start___libc_freeres_ptrs = .; *(__libc_freeres_ptrs) __stop___libc_freeres_ptrs = .;/' + # Use our own special initializer and finalizer files for libc.so. + $(common-objpfx)libc.so: $(elfobjdir)/soinit.os \ + $(common-objpfx)libc_pic.os \ + $(elfobjdir)/sofini.os \ +- $(elfobjdir)/interp.os $(elfobjdir)/ld.so ++ $(elfobjdir)/interp.os $(elfobjdir)/ld.so \ ++ $(common-objpfx)shlib.lds + $(build-shlib) + ifeq ($(versioning),yes) + $(common-objpfx)libc.so: $(common-objpfx)libc.map +@@ -689,6 +654,15 @@ + +depfiles := $(addprefix $(objpfx),\ + $(filter-out $(addsuffix .d,$(omit-deps)),\ + $(+depfiles))) ++all-dt-files := $(foreach o,$(object-suffixes-for-libc),$(+depfiles:.d=$o.dt)) +++depfiles := $(patsubst %.dt,%.d,$(wildcard $(all-dt-files))) \ ++ $(wildcard $(all-dt-files:.dt=.d)) ++ ++# This is a funny rule in that it removes its input file. ++%.d: %.dt ++ @sed $(sed-remove-objpfx) $< > $(@:.d=.T) && \ ++ mv -f $(@:.d=.T) $@ && \ ++ rm -f $< + + # Avoid the .h.d files for any .sym files whose .h files don't exist yet. + # They will be generated when they're needed, and trying too early won't work. +@@ -762,6 +736,7 @@ + $(objpfx)stamp$o: $(o-objects); $$(do-stamp) + endef + define do-stamp ++$(make-target-directory) + echo '$(patsubst $(objpfx)%,$(addsuffix /,$(subdir))%,$^)' > $@T + mv -f $@T $@ + endef +@@ -1188,15 +1163,23 @@ + LC_ALL=C \ + $(AWK) -f $< -v 'config=$(check-abi-config)' \ + $(filter %.abilist,$^) \ +- | diff -pu0 - $(filter %.symlist,$^) ++ | { diff -pu0 - $(filter %.symlist,$^) $(check-abi-warn) ; } + endef ++ifeq ($(enable-check-abi),warn) ++check-abi-warn = || echo '*** WARNING: $*.so failed ABI check' ++endif + + ifeq ($(firstword $(sysd-sorted-done) f)$(firstword $(generating) f),tf) + -include $(common-objpfx)tls.make +-config-tls-yes := tls +-config-tls-no := notls ++config-tls := notls ++ifeq ($(use-tls),yes) ++config-tls := tls ++endif ++ifeq ($(use-thread),yes) ++config-tls := thread ++endif + check-abi-config := \ +- $(config-machine)-$(config-vendor)-$(config-os)/$(config-tls-$(use-thread)) ++ $(config-machine)-$(config-vendor)-$(config-os)/$(config-tls) + endif + + update-abi-%: $(..)scripts/merge-abilist.awk $(..)abilist/%.abilist \ +@@ -1211,7 +1194,7 @@ + endef + else + define update-abi +-LC_ALL=C $(AWK) -v config=$(update-abi-config) -f $^ \ ++LC_ALL=C $(AWK) -v config='$(update-abi-config)' -f $^ \ + > $(..)abilist/$*.abilist.new + @if cmp -s $(..)abilist/$*.abilist.new $(..)abilist/$*.abilist 2> /dev/null; \ + then rm -f $(..)abilist/$*.abilist.new; \ +@@ -1233,19 +1216,23 @@ + update-abi: subdir_update-abi + endif + +-# Enable this when all the .abilist files are in place. +-#tests: check-abi +- + ifeq ($(subdir),elf) + check-abi: check-abi-libc + update-abi: update-abi-libc + common-generated += libc.symlist + endif + ++ifeq ($(build-shared),yes) ++ifneq ($(enable-check-abi),no) ++ifdef subdir ++tests: check-abi ++endif ++endif ++endif ++ + endif + + # There's no good place to put this - here will do. +-# The dependencies are wrong if it's run from the top level. + ifeq ($(filter %posix, $(sysdirs)),) + L_tmpnam = 1 + TMP_MAX = 0 +@@ -1263,24 +1250,20 @@ + $(stdio_lim:h=st): $(..)stdio-common/stdio_lim.h.in $(..)Rules \ + $(common-objpfx)config.make + $(make-target-directory) +- echo '#include "$(..)posix/bits/posix1_lim.h"' | \ +- SUNPRO_DEPENDENCIES='$(@:st=dT) $@' \ +- $(CC) $(+includes) -E -dM -xc - -o $(@:st=hT) +- echo '#include "$(..)misc/sys/uio.h"' | \ +- SUNPRO_DEPENDENCIES='$(@:st=dT) $@' \ +- $(CC) -D_LIBC=1 $(+includes) -E -dM -xc - | cat - >> $(@:st=hT) +-ifdef sed-remove-objpfx +- sed $(sed-remove-objpfx) $(@:st=dT) > $(@:st=dt) +- cat $(@:st=dt) >> $(@:st=d) +-else +- cat $(@:st=dT) >> $(@:st=d) +-endif ++ { echo '#include "$(..)posix/bits/posix1_lim.h"'; \ ++ echo '#define _LIBC 1'; \ ++ echo '#include "$(..)misc/sys/uio.h"'; } | \ ++ $(CC) -E -dM -MD -MP -MF $(@:st=dT) -MT '$(@:st=h) $(@:st=d)' \ ++ $(+includes) -xc - -o $(@:st=hT) ++ sed $(sed-remove-objpfx) $(sed-remove-dotdot) \ ++ $(@:st=dT) > $(@:st=dt) ++ mv -f $(@:st=dt) $(@:st=d) + fopen_max=`sed -n 's/^#define OPEN_MAX //1p' $(@:st=hT)`; \ + filename_max=`sed -n 's/^#define PATH_MAX //1p' $(@:st=hT)`; \ + iov_max=`sed -n 's/^#define UIO_MAXIOV //p' $(@:st=hT)`; \ + fopen_max=$${fopen_max:-16}; \ + filename_max=$${filename_max:-1024}; \ +- if [ -z $$iov_max ]; then \ ++ if [ -z "$$iov_max" ]; then \ + define_iov_max="# undef IOV_MAX"; \ + else \ + define_iov_max="# define IOV_MAX $$iov_max"; \ +@@ -1355,8 +1338,8 @@ + + # Also remove the dependencies and generated source files. + common-clean: common-mostlyclean +- -rm -f $(addprefix $(objpfx),$(generated)) $(+depfiles) +- -rm -f $(objpfx)rtld-*.d ++ -rm -f $(addprefix $(objpfx),$(generated)) ++ -rm -f $(objpfx)*.d $(objpfx)*.dt + -rm -fr $(addprefix $(objpfx),$(generated-dirs)) + -rm -f $(addprefix $(common-objpfx),$(common-generated)) + -rm -f $(objpfx)distinfo +@@ -1370,17 +1353,23 @@ + .PHONY: stubs # The parent Makefile calls this target. + stubs: $(objpfx)stubs + endif +-s = $(sysdep_dir)/generic + $(objpfx)stubs: $(+depfiles) ++ifneq (,$(strip $(+depfiles))) + # Use /dev/null since `...` might expand to empty. +- (s=`cd $s && $(PWD_P)`; \ +- $(patsubst %/,cd % &&,$(objpfx)) \ +- sed -n 's/^stub_warning *(\([^)]*\).*$$/#define __stub_\1/p' \ +- `sed -n -e '\@ $s/[^ ]*\.c@{; s@^.* $s/\([^ ]*\.c\).*$$@'"$$s"'/\1@; h; }' \ +- -e '/stub-tag\.h/{; g; p; }' \ +- $(patsubst $(objpfx)%,%,$^) /dev/null` \ +- /dev/null) > $@T ++ c=`($(patsubst %/,cd % &&,$(objpfx)) \ ++ sed -n -e 's@\$$(common-objpfx)@$(common-objpfx)@g' \ ++ -e 's@\$$(objpfx)@$(objpfx)@g' \ ++ -e '/stub-tag\.h/{; g; s/./&/p; }' \ ++ -e '/:/{x; s/^.*$$//; x; }' \ ++ -e 's/^.*://;s/\\$$//;s/^ *\([^ ][^ ]*\) .*$$/\1/' \ ++ -e '/^[^ ][^ ]*$$/{G;s/^.*\n\(..*\)/\1/;s/\n//;h; }' \ ++ $(patsubst $(objpfx)%,%,$^)) | sort | uniq`; \ ++ sed -n 's/^stub_warning *(\([^)]*\).*$$/#define __stub_\1/p' \ ++ $$c /dev/null > $@T + mv -f $@T $@ ++else ++ > $@ ++endif + + # Make the distribution tar file. + +--- glibc-2.3.2/NEWS 2003-01-13 04:26:13.000000000 -0500 ++++ glibc-2.3.2/NEWS 2003-04-24 20:05:56.000000000 -0400 +@@ -1,10 +1,24 @@ +-GNU C Library NEWS -- history of user-visible changes. 2003-1-12 +-Copyright (C) 1992-2002, 2003 Free Software Foundation, Inc. ++GNU C Library NEWS -- history of user-visible changes. 2003-4-24 ++Copyright (C) 1992-2002,2003 Free Software Foundation, Inc. + See the end for copying conditions. + + Please send GNU C library bug reports using the `glibcbug' script to + <bugs@gnu.org>. Please send questions and suggestions to <bug-glibc@gnu.org>. + ++Version 2.3.3 ++ ++* New functions `dladdr1' and `dlinfo' in <dlfcn.h> provide more ways to ++ interrogate the dynamic linker, compatible with the Solaris interface. ++ ++* ELF thread-local storage support (TLS) now works on PowerPC and PowerPC64; ++ implemented by Paul Mackerras, Steven Munroe, and Roland McGrath. ++ ++* getifaddrs new uses on Linux the netlink interface to get the information. ++ Implemented by Thorsten Kukuk. ++ ++* getaddrinfo now implements AI_V4MAPPED, AI_ALL, and AI_ADDRCONF. ++ Implemented by Ulrich Drepper. ++ + Version 2.3.2 + + * Thread-safe interfaces for many functions that access locale data +--- glibc-2.3.2/README-alpha 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/README-alpha 2002-11-16 08:53:55.000000000 -0500 +@@ -0,0 +1,287 @@ ++ GNU libc SNAPSHOT SYSTEM ++ (general info) ++ Updated 1997-9-26 ++ ++WHAT ARE GNU libc SNAPSHOTS ++--------------------------- ++ ++Snapshots are an "image" of the main glibc development tree, captured at a ++particular random instant in time. When you use the snapshots, you should be ++able to maintain a local copy of libc that is no more than one day older than ++the official source tree used by the libc maintainers. ++ ++The primary purpose of providing snapshots is to widen the group of motivated ++developers that would like to help test, debug, and enhance glibc, by providing ++you with access to the "latest and greatest" source. This has several ++advantages, and several disadvantages. ++ ++ First the advantages: ++ ++ o Once we have a large base of motivated testers using the snapshots, ++ this should provide good coverage across all currently supported ++ glibc hosts and targets. If a new bug is introduced in glibc due to ++ fixing another bug or ongoing development, it should become ++ obvious much more quickly and get fixed before the next general ++ net release. This should help to reduce the chances of glibc being ++ released to the general public with a major bug that went unnoticed ++ during the release cycle testing because they are machine dependent. ++ We hope to greatly improve glibc's stability and reliability by ++ involving more people and more execution environments in the ++ prerelease testing. ++ ++ o With access to the latest source, any diffs that you send to fix ++ bugs or add new features should be much easier for the glibc team ++ to merge into the official source base (after suitable review ++ of course). This encourages us to merge your changes quicker, ++ while they are still "fresh". ++ ++ o Once your diffs are merged, you can obtain a new copy of glibc ++ containing your changes almost immediately. Thus you do not ++ have to maintain local copies of your changes for any longer ++ than it takes to get them merged into the official source base. ++ This encourages you to send in changes quicker. ++ ++ And the disadvantages: ++ ++ o The snapshot you get will be largely untested and of unknown quality. ++ It may fail to configure or compile. It may have serious bugs. ++ You should always keep a copy of the last known working version ++ before updating to the current snapshot, or at least be able to ++ regenerate a working version if the latest snapshot is unusable ++ in your environment for some reason. ++ ++ If a production version of glibc has a bug and a snapshot has the fix, ++ and you care about stability, you should put only the fix for that ++ particular problem into your production version. Of course, if you ++ are eager to test glibc, you can use the snapshot versions in your ++ daily work, but users who have not been consulted about whether they ++ feel like testing glibc should generally have something which is at ++ least as bug free as the last released version. ++ ++ o Providing timely response to your questions, bug reports, and ++ submitted patches will require the glibc development team to allocate ++ time from an already thin time budget. Please try to help us make ++ this time as productive as possible. See the section below about ++ how to submit changes. ++ ++ ++WHO SHOULD TRY THE SNAPSHOTS ++---------------------------- ++ ++Remember, these are snapshots not tested versions. So if you use ++these versions you should be able to ++ ++ o make sure your system stays usable ++ ++ o locate and hopefully fix problems ++ ++ o to port glibc to a new target yourself ++ ++You should not use the snapshots if ++ ++ o your system is needed in a production environment which needs ++ stability ++ ++ o you expect us to fix your problems since you somehow depend on them. ++ You must be willing to fix the problems yourself, we don't want to ++ see "I have problems, fix this" messages. ++ ++ ++HOW TO GET THE SNAPSHOTS ++------------------------ ++ ++At the moment we provide a full snapshot weekly (every sunday), so ++that users getting a snapshot for the first time, or updating after ++a long period of not updating, can get the latest version in a single ++operation. Along with the full snapshot, we will provide incremental ++diffs on a nearly daily basis (whenever code changes). Each daily ++diff will be relative to the source tree after applying all previous ++daily diffs. The daily diffs are for people who have relatively low ++bandwidth ftp or uucp connections. ++ ++The files will be available via anonymous ftp from alpha.gnu.org, in ++directory /gnu/libc and on linux.kernel.org in /pub/software/libs/glibc. The ++directories should look something like: ++ ++ libc-970921.tar.gz ++ libc-970917-970922.diff.gz ++ libc-970922-970925.diff.gz ++ . ++ . ++ . ++ ++Please note that the snapshots on alpha.gnu.org and on ++linux.kernel.org are not always in sync. Patches to some files might ++appear a day a diff earlier or later on alpha than on kernel. ++Use always alpha or always kernel but don't mix them. ++ ++There are sometimes additionally test releases of the add-ons available in ++these directories. If a new version of an add-on is available it is normally ++required for the corresponding snapshot so always pay attention for these. ++ ++Note that we provide GNU gzip compressed files only. You can ftp gzip ++from ftp.gnu.org in directory pub/gnu. ++ ++In some cases the dates for diffs and snapshots do not match like in the ++example above. The full release is for 970921 but the patch is for ++970917-970922. This only means that nothing changed between 970917 and 970922 ++and that you have to use this patch on top of the 970921 snapshot since the ++patch is made on 970922. ++ ++Also, as the gcc developers did with their gcc snapshot system, even though we ++will make the snapshots available on a publically accessible ftp area, we ask ++that recipients not widely publicise their availability. The motivation for ++this request is not to hoard them, but to avoid the situation where the ++general glibc user base naively attempts to use the snapshots, has trouble with ++them, complains publically, and the reputation of glibc declines because of a ++perception of instability or lack of quality control. ++ ++ ++GLIBC TEST SUITE ++---------------- ++ ++A test suite is distributed as an integral part of the snapshots. A simple ++"make check" in your build directory is sufficient to run the tests. glibc ++should pass all tests and if any fails, please report it. A failure might not ++originate from a bug in glibc but also from bugs in the tools, e.g. with gcc ++2.7.2.x the math tests fail some of the tests because of compiler bugs. ++ ++Note that the test suite is still in its infancy. The tests themselves only ++cover a small portion of libc features, and where tests do exist for a feature ++they are not exhaustive. New tests are welcome. ++ ++ ++GETTING HELP, GLIBC DISCUSSIONS, etc ++------------------------------------ ++ ++People who want to help with glibc and who test out snapshots ++regularly should get on the libc-alpha@sourceware.cygnus.com mailing ++list by sending an email to libc-alpha-subscribe@sourceware.cygnus.com. ++This list is meant (as the name suggests) for the discussion of test ++releases and also reports for them. People who are on this list are ++welcome to post questions of general interest. ++ ++People who are not only willing to test the snapshots but instead ++really want to help developing glibc should contact ++libc-hacker-subscribe@sourceware.cygnus.com.org to be put on the developers ++mailing list. This list is really only meant for developers. No ++questions about installation problems or other simple topics are ++wanted nor will they be answered. ++ ++Do *not* send any questions about the snapshots or patches specific to the ++snapshots to bug-glibc@gnu.org. Nobody there will have any idea what ++you are talking about and it will just cause confusion. ++ ++ ++BUG REPORTS ++----------- ++ ++Send bug reports directly to Ulrich Drepper <drepper@gnu.org>. Please ++do *not* use the glibcbug script for reporting bugs in the snapshots. ++glibcbug should only be used for problems with the official released versions. ++We don't like bug reports in the bug database because otherwise the impression ++of instability or lack of quality control of glibc as a whole might manifest ++in people's mind. ++ ++Note that since no testing is done on the snapshots, and snapshots may even be ++made when glibc is in an inconsistent state, it may not be unusual for an ++occasional snapshot to have a very obvious bug, such as failure to compile on ++*any* machine. It is likely that such bugs will be fixed by the next ++snapshot, so it really isn't necessary to report them unless they persist for ++a couple of days. ++ ++Missing files should always be reported, since they usually mean there is a ++problem with the snapshot-generating process and we won't know about them ++unless someone tells us. ++ ++Bugs which are non-obvious, such as failure to compile on only a specific ++machine, a new machine dependent or obscure bug (particularly one not detected ++by the testsuite), etc should be reported when you discover them, or have a ++suggested patch to fix them. ++ ++ ++FORMAT FOR PATCHES ++------------------ ++ ++If you have a fix for a bug, or an enhancement to submit, send your patch to ++Ulrich Drepper <drepper@gnu.org>. Here are some simple guidelines for ++submitting patches: ++ ++ o Use "unified diffs" for patches. A typical command for generating ++ context diffs is "diff -ru glibc-old glibc-patched". ++ ++ o Use the "minimalist approach" for patches. That is, each patch ++ should address only one particular bug, new feature, etc. Do not ++ save up many unrelated changes and submit them all in one big ++ patch, since in general, the larger the patch the more difficult ++ it is for us to decide if the patch is either correct or ++ desirable. And if we find something about the patch that needs ++ to be corrected before it can be installed, we would have to reject ++ the entire patch, which might contain changes which otherwise would ++ be accepted if submitted separately. ++ ++ o Submit a sample ChangeLog entry with your patch. See the existing ++ glibc ChangeLog for examples of what a ChangeLog entry should look ++ like. The emacs command ^X4A will create a ChangeLog entry header ++ for you. ++ ++ ++BUILDING SNAPSHOTS ++------------------ ++ ++The `best' way to build glibc is to use an extra directory, e.g.: ++tar xzf libc-970921.tar.gz ++mkdir build-glibc ++cd build-glibc ++../libc-970921/configure ... ++ ++In this way you can easily clean up (since `make clean' doesn't work at ++the moment) and rebuild glibc. ++ ++ ++NECESSARY TOOLS ++--------------- ++ ++For the recommended versions of gcc, binutils, make, texinfo, gettext, ++autoconf and other tools which might be especially needed when using patches, ++please read the file INSTALL. ++ ++ ++HOW CAN YOU HELP ++---------------- ++ ++It helps already a lot if you just install glibc on your system and try to ++solve any problems. You might want to look at the file `PROJECTS' and help ++with one of those projects, fix some bugs (see `BUGS' or the bug database), ++port to an unsupported platform, ... ++ ++ ++FURTHER DOCUMENTATION ++--------------------- ++ ++A lot of questions are answered in the FAQ. The files `INSTALL', `README' and ++`NOTES' contain the most important documentation. Furthermore glibc has its ++own 700+ pages info documentation, ... ++ ++ ++ ++And finally a word of caution: The libc is one of the most fundamental parts ++of your system - and these snapshots are untested and come without any ++guarantee or warranty. You might be lucky and everything works or you might ++crash your system. If you install a glibc snapshot as primary library, you ++should have a backup somewhere. ++ ++On many systems it is also a problem to replace the libc while the system is ++running. In the worst case on broken OSes some systems crash. On better ++systems you can move the old libc aside but removing it will cause problems ++since there are still processes using this libc image and so you might have to ++check the filesystem to get rid of the libc data. One good alternative (which ++is also safer) is to use a chroot'ed environment. ++ ++Thanks for your help and support. ++ ++Thanks to Fred Fish from Cygnus for the original version of this text ++(for GDB). ++ ++ ++Ulrich Drepper +--- glibc-2.3.2/README.template 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/README.template 2002-11-16 08:53:56.000000000 -0500 +@@ -0,0 +1,87 @@ ++This directory contains the version VERSION release of the GNU C Library. ++Many bugs have been fixed since the last release. ++Some bugs surely remain. ++ ++As of this release, the GNU C library is known to run on the following ++configurations: ++ ++ *-*-gnu GNU Hurd ++ i[3456]86-*-linux-gnu Linux-2.x on Intel ++ m68k-*-linux-gnu Linux-2.x on Motorola 680x0 ++ alpha*-*-linux-gnu Linux-2.x on DEC Alpha ++ powerpc-*-linux-gnu Linux and MkLinux on PowerPC systems ++ powerpc64-*-linux-gnu Linux-2.4.19+ on 64-bit PowerPC systems ++ sparc-*-linux-gnu Linux-2.x on SPARC ++ sparc64-*-linux-gnu Linux-2.x on UltraSPARC 64-bit ++ arm-*-none ARM standalone systems ++ arm-*-linux Linux-2.x on ARM ++ arm-*-linuxaout Linux-2.x on ARM using a.out binaries ++ mips*-*-linux-gnu Linux-2.x on MIPS ++ ia64-*-linux-gnu Linux-2.x on ia64 ++ s390-*-linux-gnu Linux-2.x on IBM S/390 ++ s390x-*-linux-gnu Linux-2.4+ on IBM S/390 64-bit ++ sh-*-linux-gnu Linux-2.x on Super Hitachi ++ cris-*-linux-gnu Linux-2.4+ on CRIS ++ x86-64-*-linux-gnu Linux-2.4+ on x86-64 ++ ++Former releases of this library (version 1.09.1 and perhaps earlier ++versions) used to run on the following configurations: ++ ++ alpha-dec-osf1 ++ i[3456]86-*-bsd4.3 ++ i[3456]86-*-isc2.2 ++ i[3456]86-*-isc3 ++ i[3456]86-*-sco3.2 ++ i[3456]86-*-sco3.2v4 ++ i[3456]86-*-sysv ++ i[3456]86-*-sysv4 ++ i[3456]86-force_cpu386-none ++ i[3456]86-sequent-bsd ++ i960-nindy960-none ++ m68k-hp-bsd4.3 ++ m68k-mvme135-none ++ m68k-mvme136-none ++ m68k-sony-newsos3 ++ m68k-sony-newsos4 ++ m68k-sun-sunos4 ++ mips-dec-ultrix4 ++ mips-sgi-irix4 ++ sparc-sun-solaris2 ++ sparc-sun-sunos4 ++ ++Since no one has volunteered to test and fix the above configurations, ++these are not supported at the moment. It's expected that these don't ++work anymore. Porting the library is not hard. If you are interested ++in doing a port, please contact the glibc maintainers by sending ++electronic mail to <bug-glibc@gnu.org>. ++ ++There are some add-ons which can be used together with GNU libc. They ++are designed in a way to ease the installation by integrating them in ++the libc source tree. Simply get the add-ons you need and use the ++--enable-add-ons option of the `configure' script to tell where the ++add-ons are found. Please read the FAQ file for more details. ++ ++See the file INSTALL to find out how to configure, build, install, and port ++the GNU C library. You might also consider reading the WWW pages for the ++GNU libc at http://www.gnu.org/software/libc/libc.html. ++ ++The GNU C Library is completely documented by the Texinfo manual found ++in the `manual/' subdirectory. The manual is still being updated and ++contains some known errors and omissions; we regret that we do not ++have the resources to work on the manual as much as we would like. ++Please send comments on the manual to <bug-glibc-manual@gnu.org>, and ++not to the library bug-reporting address. ++ ++The file NOTES contains a description of the feature-test macros used ++in the GNU C library, explaining how you can tell the library what ++facilities you want it to make available. ++ ++We prefer to get bug reports sent using the `glibcbug' shell script which ++is installed together with the rest of the GNU libc to <bugs@gnu.org>. ++Simply run this shell script and fill in the information. Nevertheless ++you can still send bug reports to <bug-glibc@gnu.org> as normal electronic ++mails. ++ ++The GNU C Library is free software. See the file COPYING.LIB for copying ++conditions, and LICENSES for notices about a few contributions that require ++these additional notices to be distributed. +--- glibc-2.3.2/Versions.def 2002-12-10 14:05:17.000000000 -0500 ++++ glibc-2.3.2/Versions.def 2003-04-12 11:39:41.000000000 -0400 +@@ -18,6 +18,7 @@ + GLIBC_2.3 + GLIBC_2.3.1 + GLIBC_2.3.2 ++ GLIBC_2.3.3 + %ifdef USE_IN_LIBIO + HURD_CTHREADS_0.3 + %endif +@@ -32,6 +33,7 @@ + libdl { + GLIBC_2.0 + GLIBC_2.1 ++ GLIBC_2.3.3 + } + libm { + GLIBC_2.0 +@@ -71,6 +73,7 @@ + GLIBC_2.2.3 + GLIBC_2.2.6 + GLIBC_2.3.2 ++ GLIBC_2.3.3 + GLIBC_PRIVATE + } + libresolv { +@@ -82,6 +85,7 @@ + GLIBC_2.1 + GLIBC_2.2 + GLIBC_2.3 ++ GLIBC_2.3.3 + } + libutil { + GLIBC_2.0 +@@ -96,6 +100,7 @@ + GLIBC_2.1.3 + GLIBC_2.2.3 + GLIBC_2.3 ++ GLIBC_2.3.3 + } + libanl { + GLIBC_2.2.3 +--- glibc-2.3.2/abilist/ld.abilist 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/abilist/ld.abilist 2003-04-01 23:39:52.000000000 -0500 +@@ -0,0 +1,35 @@ ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.0 A ++ _r_debug D 0x14 ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __libc_memalign F ++ calloc F ++ free F ++ malloc F ++ realloc F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.1 A ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ _dl_mcount F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++ GLIBC_2.2.5 A ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ _r_debug D 0x28 ++GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls ++ GLIBC_2.2 A ++GLIBC_2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls x86_64-.*-linux.*/tls ++ GLIBC_2.3 A ++GLIBC_2.3 i.86-.*-linux.*/thread i.86-.*-linux.*/tls ++ ___tls_get_addr F ++GLIBC_2.3 i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread x86_64-.*-linux.*/tls ++ __tls_get_addr F ++GLIBC_2.3 s390-.*-linux.*/tls s390x-.*-linux.*/tls ++ __tls_get_offset F +--- glibc-2.3.2/abilist/libBrokenLocale.abilist 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/abilist/libBrokenLocale.abilist 2003-04-01 23:39:52.000000000 -0500 +@@ -0,0 +1,13 @@ ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.0 A ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __ctype_get_mb_cur_max F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++ GLIBC_2.2.5 A ++GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2 A ++GLIBC_2.3 powerpc64-.*-linux.*/thread ++ GLIBC_2.3 A +--- glibc-2.3.2/abilist/libanl.abilist 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/abilist/libanl.abilist 2003-04-01 23:39:52.000000000 -0500 +@@ -0,0 +1,13 @@ ++GLIBC_2.2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2.3 A ++GLIBC_2.2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ gai_cancel F ++ gai_error F ++ gai_suspend F ++ getaddrinfo_a F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++ GLIBC_2.2.5 A ++GLIBC_2.3 powerpc64-.*-linux.*/thread ++ GLIBC_2.3 A +--- glibc-2.3.2/abilist/libc.abilist 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/abilist/libc.abilist 2003-04-01 23:39:52.000000000 -0500 +@@ -0,0 +1,2231 @@ ++GCC_3.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GCC_3.0 A ++ _Unwind_Find_FDE F ++ __deregister_frame_info_bases F ++ __register_frame_info_bases F ++ __register_frame_info_table_bases F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ++ __fpu_control D 0x2 ++ vm86 F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.0 A ++ _IO_stderr_ D 0x50 ++ _IO_stdin_ D 0x50 ++ _IO_stdout_ D 0x50 ++ __strtoq_internal F ++ __strtouq_internal F ++ _sys_errlist D 0x1ec ++ _sys_siglist D 0x80 ++ res_init F ++ sys_errlist D 0x1ec ++ sys_sigabbrev D 0x80 ++ sys_siglist D 0x80 ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.1.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ getaliasbyname_r F ++ getaliasent_r F ++ getgrent_r F ++ getgrgid_r F ++ getgrnam_r F ++ gethostbyaddr_r F ++ gethostbyname2_r F ++ gethostbyname_r F ++ gethostent_r F ++ getnetbyaddr_r F ++ getnetbyname_r F ++ getnetent_r F ++ getprotobyname_r F ++ getprotobynumber_r F ++ getprotoent_r F ++ getpwent_r F ++ getpwnam_r F ++ getpwuid_r F ++ getrpcbyname_r F ++ getrpcbynumber_r F ++ getrpcent_r F ++ getservbyname_r F ++ getservbyport_r F ++ getservent_r F ++ getspent_r F ++ getspnam_r F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++ _sys_nerr D 0x4 ++ sys_nerr D 0x4 ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ _IO_do_write F ++ _IO_fclose F ++ _IO_fdopen F ++ _IO_file_attach F ++ _IO_file_close_it F ++ _IO_file_fopen F ++ _IO_file_init F ++ _IO_file_overflow F ++ _IO_file_seekoff F ++ _IO_file_setbuf F ++ _IO_file_sync F ++ _IO_file_underflow F ++ _IO_file_write F ++ _IO_file_xsputn F ++ _IO_fopen F ++ _IO_popen F ++ _IO_proc_close F ++ _IO_proc_open F ++ fclose F ++ fdopen F ++ fopen F ++ pclose F ++ popen F ++ pthread_attr_init F ++ tmpfile F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ chown F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ fnmatch F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ _IO_fgetpos F ++ _IO_fsetpos F ++ fgetpos F ++ fopencookie F ++ fsetpos F ++ getrlimit F ++ localeconv F ++ msgctl F ++ semctl F ++ setrlimit F ++ shmctl F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ re_max_failures D 0x4 ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ pthread_cond_broadcast F ++ pthread_cond_destroy F ++ pthread_cond_init F ++ pthread_cond_signal F ++ pthread_cond_wait F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++ realpath F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ _IO_adjust_column F ++ _IO_default_doallocate F ++ _IO_default_finish F ++ _IO_default_pbackfail F ++ _IO_default_uflow F ++ _IO_default_xsgetn F ++ _IO_default_xsputn F ++ _IO_doallocbuf F ++ _IO_feof F ++ _IO_ferror F ++ _IO_fflush F ++ _IO_fgets F ++ _IO_file_close F ++ _IO_file_doallocate F ++ _IO_file_open F ++ _IO_file_read F ++ _IO_file_seek F ++ _IO_file_stat F ++ _IO_flockfile F ++ _IO_flush_all F ++ _IO_flush_all_linebuffered F ++ _IO_fprintf F ++ _IO_fputs F ++ _IO_fread F ++ _IO_free_backup_area F ++ _IO_ftell F ++ _IO_ftrylockfile F ++ _IO_funlockfile F ++ _IO_fwrite F ++ _IO_getc F ++ _IO_getline F ++ _IO_gets F ++ _IO_init F ++ _IO_init_marker F ++ _IO_link_in F ++ _IO_marker_delta F ++ _IO_marker_difference F ++ _IO_padn F ++ _IO_peekc_locked F ++ _IO_printf F ++ _IO_putc F ++ _IO_puts F ++ _IO_remove_marker F ++ _IO_seekmark F ++ _IO_seekoff F ++ _IO_seekpos F ++ _IO_setb F ++ _IO_setbuffer F ++ _IO_setvbuf F ++ _IO_sgetn F ++ _IO_sprintf F ++ _IO_sputbackc F ++ _IO_sscanf F ++ _IO_str_init_readonly F ++ _IO_str_init_static F ++ _IO_str_overflow F ++ _IO_str_pbackfail F ++ _IO_str_seekoff F ++ _IO_str_underflow F ++ _IO_sungetc F ++ _IO_switch_to_get_mode F ++ _IO_un_link F ++ _IO_ungetc F ++ _IO_unsave_markers F ++ _IO_vfprintf F ++ _IO_vfscanf F ++ _IO_vsprintf F ++ __adjtimex F ++ __argz_count F ++ __argz_next F ++ __argz_stringify F ++ __assert_fail F ++ __assert_perror_fail F ++ __bsd_getpgrp F ++ __check_rhosts_file D 0x4 ++ __close F ++ __cmsg_nxthdr F ++ __connect F ++ __ctype_get_mb_cur_max F ++ __daylight D 0x4 ++ __dcgettext F ++ __default_morecore F ++ __dgettext F ++ __dup2 F ++ __errno_location F ++ __fcntl F ++ __ffs F ++ __finite F ++ __finitef F ++ __finitel F ++ __fxstat F ++ __getdelim F ++ __getpagesize F ++ __getpgid F ++ __getpid F ++ __gettimeofday F ++ __gmtime_r F ++ __h_errno_location F ++ __isinf F ++ __isinff F ++ __isinfl F ++ __isnan F ++ __isnanf F ++ __isnanl F ++ __iswctype F ++ __ivaliduser F ++ __libc_calloc F ++ __libc_free F ++ __libc_init_first F ++ __libc_mallinfo F ++ __libc_malloc F ++ __libc_mallopt F ++ __libc_memalign F ++ __libc_pvalloc F ++ __libc_realloc F ++ __libc_start_main F ++ __libc_valloc F ++ __lseek F ++ __lxstat F ++ __mbrlen F ++ __mbrtowc F ++ __mempcpy F ++ __monstartup F ++ __nss_configure_lookup F ++ __nss_database_lookup F ++ __nss_group_lookup F ++ __nss_hosts_lookup F ++ __nss_next F ++ __nss_passwd_lookup F ++ __open F ++ __overflow F ++ __pipe F ++ __printf_fp F ++ __profile_frequency F ++ __read F ++ __res_randomid F ++ __sbrk F ++ __sched_get_priority_max F ++ __sched_get_priority_min F ++ __sched_getparam F ++ __sched_getscheduler F ++ __sched_setscheduler F ++ __sched_yield F ++ __secure_getenv F ++ __select F ++ __send F ++ __setpgid F ++ __sigaction F ++ __sigaddset F ++ __sigdelset F ++ __sigismember F ++ __sigpause F ++ __sigsetjmp F ++ __stpcpy F ++ __stpncpy F ++ __strcasecmp F ++ __strdup F ++ __strerror_r F ++ __strtod_internal F ++ __strtof_internal F ++ __strtok_r F ++ __strtol_internal F ++ __strtold_internal F ++ __strtoll_internal F ++ __strtoul_internal F ++ __strtoull_internal F ++ __sysv_signal F ++ __uflow F ++ __underflow F ++ __vfscanf F ++ __vsnprintf F ++ __vsscanf F ++ __wait F ++ __waitpid F ++ __wcstod_internal F ++ __wcstof_internal F ++ __wcstol_internal F ++ __wcstold_internal F ++ __wcstoll_internal F ++ __wcstoul_internal F ++ __wcstoull_internal F ++ __write F ++ __xmknod F ++ __xpg_basename F ++ __xstat F ++ _exit F ++ _libc_intl_domainname D 0x5 ++ _longjmp F ++ _mcleanup F ++ _mcount F ++ _nl_msg_cat_cntr D 0x4 ++ _obstack_allocated_p F ++ _obstack_begin F ++ _obstack_begin_1 F ++ _obstack_free F ++ _obstack_memory_used F ++ _obstack_newchunk F ++ _rpc_dtablesize F ++ _seterr_reply F ++ _setjmp F ++ _tolower F ++ _toupper F ++ a64l F ++ abort F ++ abs F ++ accept F ++ access F ++ acct F ++ addmntent F ++ adjtime F ++ adjtimex F ++ advance F ++ alarm F ++ alphasort F ++ argz_add F ++ argz_add_sep F ++ argz_append F ++ argz_count F ++ argz_create F ++ argz_create_sep F ++ argz_delete F ++ argz_extract F ++ argz_insert F ++ argz_next F ++ argz_replace F ++ argz_stringify F ++ asctime F ++ asctime_r F ++ asprintf F ++ atof F ++ atoi F ++ atol F ++ atoll F ++ authnone_create F ++ authunix_create F ++ authunix_create_default F ++ basename F ++ bcmp F ++ bcopy F ++ bdflush F ++ bind F ++ bindresvport F ++ bindtextdomain F ++ brk F ++ bsd_signal F ++ bsearch F ++ btowc F ++ bzero F ++ calloc F ++ callrpc F ++ canonicalize_file_name F ++ catclose F ++ catgets F ++ catopen F ++ cfgetispeed F ++ cfgetospeed F ++ cfmakeraw F ++ cfree F ++ cfsetispeed F ++ cfsetospeed F ++ cfsetspeed F ++ chdir F ++ chflags F ++ chmod F ++ chroot F ++ clearenv F ++ clearerr F ++ clearerr_unlocked F ++ clnt_broadcast F ++ clnt_create F ++ clnt_pcreateerror F ++ clnt_perrno F ++ clnt_perror F ++ clnt_spcreateerror F ++ clnt_sperrno F ++ clnt_sperror F ++ clntraw_create F ++ clnttcp_create F ++ clntudp_bufcreate F ++ clntudp_create F ++ clock F ++ close F ++ closedir F ++ closelog F ++ confstr F ++ connect F ++ copysign F ++ copysignf F ++ copysignl F ++ creat F ++ create_module F ++ ctermid F ++ ctime F ++ ctime_r F ++ cuserid F ++ daemon F ++ daylight D 0x4 ++ dcgettext F ++ delete_module F ++ dgettext F ++ difftime F ++ dirfd F ++ dirname F ++ div F ++ dprintf F ++ drand48 F ++ drand48_r F ++ dup F ++ dup2 F ++ dysize F ++ ecvt F ++ ecvt_r F ++ endaliasent F ++ endfsent F ++ endgrent F ++ endhostent F ++ endmntent F ++ endnetent F ++ endnetgrent F ++ endprotoent F ++ endpwent F ++ endrpcent F ++ endservent F ++ endspent F ++ endttyent F ++ endusershell F ++ endutent F ++ envz_add F ++ envz_entry F ++ envz_get F ++ envz_merge F ++ envz_remove F ++ envz_strip F ++ erand48 F ++ erand48_r F ++ err F ++ error F ++ error_at_line F ++ error_message_count D 0x4 ++ error_one_per_line D 0x4 ++ errx F ++ ether_aton F ++ ether_aton_r F ++ ether_hostton F ++ ether_line F ++ ether_ntoa F ++ ether_ntoa_r F ++ ether_ntohost F ++ euidaccess F ++ execl F ++ execle F ++ execlp F ++ execv F ++ execve F ++ execvp F ++ exit F ++ fchdir F ++ fchflags F ++ fchmod F ++ fchown F ++ fcloseall F ++ fcntl F ++ fcvt F ++ fcvt_r F ++ fdatasync F ++ feof F ++ feof_unlocked F ++ ferror F ++ ferror_unlocked F ++ fexecve F ++ fflush F ++ fflush_unlocked F ++ ffs F ++ fgetc F ++ fgetgrent F ++ fgetgrent_r F ++ fgetpwent F ++ fgetpwent_r F ++ fgets F ++ fgetspent F ++ fgetspent_r F ++ fileno F ++ fileno_unlocked F ++ finite F ++ finitef F ++ finitel F ++ flock F ++ flockfile F ++ fork F ++ fpathconf F ++ fprintf F ++ fputc F ++ fputc_unlocked F ++ fputs F ++ fread F ++ free F ++ freeaddrinfo F ++ freopen F ++ frexp F ++ frexpf F ++ frexpl F ++ fscanf F ++ fseek F ++ fstatfs F ++ fsync F ++ ftell F ++ ftime F ++ ftok F ++ ftruncate F ++ ftrylockfile F ++ fts_children F ++ fts_close F ++ fts_open F ++ fts_read F ++ fts_set F ++ ftw F ++ funlockfile F ++ fwrite F ++ gcvt F ++ get_avphys_pages F ++ get_current_dir_name F ++ get_kernel_syms F ++ get_myaddress F ++ get_nprocs F ++ get_nprocs_conf F ++ get_phys_pages F ++ getaddrinfo F ++ getaliasbyname F ++ getaliasent F ++ getc F ++ getc_unlocked F ++ getchar F ++ getchar_unlocked F ++ getcwd F ++ getdelim F ++ getdirentries F ++ getdomainname F ++ getdtablesize F ++ getegid F ++ getenv F ++ geteuid F ++ getfsent F ++ getfsfile F ++ getfsspec F ++ getgid F ++ getgrent F ++ getgrgid F ++ getgrnam F ++ getgroups F ++ gethostbyaddr F ++ gethostbyname F ++ gethostbyname2 F ++ gethostent F ++ gethostid F ++ gethostname F ++ getitimer F ++ getline F ++ getlogin F ++ getlogin_r F ++ getmntent F ++ getmntent_r F ++ getnetbyaddr F ++ getnetbyname F ++ getnetent F ++ getnetgrent F ++ getnetgrent_r F ++ getopt F ++ getopt_long F ++ getopt_long_only F ++ getpagesize F ++ getpass F ++ getpeername F ++ getpgid F ++ getpgrp F ++ getpid F ++ getppid F ++ getpriority F ++ getprotobyname F ++ getprotobynumber F ++ getprotoent F ++ getpublickey F ++ getpw F ++ getpwent F ++ getpwnam F ++ getpwuid F ++ getresgid F ++ getresuid F ++ getrpcbyname F ++ getrpcbynumber F ++ getrpcent F ++ getrpcport F ++ getrusage F ++ gets F ++ getsecretkey F ++ getservbyname F ++ getservbyport F ++ getservent F ++ getsid F ++ getsockname F ++ getsockopt F ++ getspent F ++ getspnam F ++ getsubopt F ++ gettext F ++ gettimeofday F ++ getttyent F ++ getttynam F ++ getuid F ++ getusershell F ++ getutent F ++ getutent_r F ++ getutid F ++ getutid_r F ++ getutline F ++ getutline_r F ++ getw F ++ getwd F ++ glob F ++ glob_pattern_p F ++ globfree F ++ gmtime F ++ gmtime_r F ++ group_member F ++ gsignal F ++ gtty F ++ h_nerr D 0x4 ++ hasmntopt F ++ hcreate F ++ hcreate_r F ++ hdestroy F ++ hdestroy_r F ++ herror F ++ hsearch F ++ hsearch_r F ++ hstrerror F ++ htonl F ++ htons F ++ index F ++ inet_addr F ++ inet_aton F ++ inet_lnaof F ++ inet_makeaddr F ++ inet_netof F ++ inet_network F ++ inet_nsap_addr F ++ inet_nsap_ntoa F ++ inet_ntoa F ++ inet_ntop F ++ inet_pton F ++ init_module F ++ initgroups F ++ initstate F ++ initstate_r F ++ innetgr F ++ insque F ++ ioctl F ++ iruserok F ++ isalnum F ++ isalpha F ++ isascii F ++ isatty F ++ isblank F ++ iscntrl F ++ isdigit F ++ isfdtype F ++ isgraph F ++ isinf F ++ isinff F ++ isinfl F ++ islower F ++ isnan F ++ isnanf F ++ isnanl F ++ isprint F ++ ispunct F ++ isspace F ++ isupper F ++ iswalnum F ++ iswalpha F ++ iswcntrl F ++ iswctype F ++ iswdigit F ++ iswgraph F ++ iswlower F ++ iswprint F ++ iswpunct F ++ iswspace F ++ iswupper F ++ iswxdigit F ++ isxdigit F ++ jrand48 F ++ jrand48_r F ++ kill F ++ killpg F ++ klogctl F ++ l64a F ++ labs F ++ lchown F ++ lckpwdf F ++ lcong48 F ++ lcong48_r F ++ ldexp F ++ ldexpf F ++ ldexpl F ++ ldiv F ++ lfind F ++ link F ++ listen F ++ llabs F ++ lldiv F ++ llseek F ++ localtime F ++ localtime_r F ++ lockf F ++ longjmp F ++ lrand48 F ++ lrand48_r F ++ lsearch F ++ lseek F ++ madvise F ++ mallinfo F ++ malloc F ++ malloc_get_state F ++ malloc_set_state F ++ malloc_stats F ++ malloc_trim F ++ malloc_usable_size F ++ mallopt F ++ mblen F ++ mbrlen F ++ mbrtowc F ++ mbsinit F ++ mbsnrtowcs F ++ mbsrtowcs F ++ mbstowcs F ++ mbtowc F ++ mcheck F ++ memalign F ++ memccpy F ++ memchr F ++ memcmp F ++ memcpy F ++ memfrob F ++ memmem F ++ memmove F ++ memset F ++ mkdir F ++ mkfifo F ++ mkstemp F ++ mktemp F ++ mktime F ++ mlock F ++ mlockall F ++ mmap F ++ modf F ++ modff F ++ modfl F ++ monstartup F ++ mount F ++ mprobe F ++ mprotect F ++ mrand48 F ++ mrand48_r F ++ mremap F ++ msgget F ++ msgrcv F ++ msgsnd F ++ msync F ++ mtrace F ++ munlock F ++ munlockall F ++ munmap F ++ muntrace F ++ nanosleep F ++ nfsservctl F ++ nice F ++ nl_langinfo F ++ nrand48 F ++ nrand48_r F ++ ntohl F ++ ntohs F ++ obstack_exit_failure D 0x4 ++ obstack_free F ++ obstack_printf F ++ obstack_vprintf F ++ on_exit F ++ open F ++ open_memstream F ++ opendir F ++ openlog F ++ opterr D 0x4 ++ optind D 0x4 ++ optopt D 0x4 ++ parse_printf_format F ++ pathconf F ++ pause F ++ perror F ++ personality F ++ pipe F ++ pmap_getmaps F ++ pmap_getport F ++ pmap_rmtcall F ++ pmap_set F ++ pmap_unset F ++ poll F ++ prctl F ++ printf F ++ profil F ++ pselect F ++ psignal F ++ pthread_attr_destroy F ++ pthread_attr_getdetachstate F ++ pthread_attr_getinheritsched F ++ pthread_attr_getschedparam F ++ pthread_attr_getschedpolicy F ++ pthread_attr_getscope F ++ pthread_attr_setdetachstate F ++ pthread_attr_setinheritsched F ++ pthread_attr_setschedparam F ++ pthread_attr_setschedpolicy F ++ pthread_attr_setscope F ++ pthread_condattr_destroy F ++ pthread_condattr_init F ++ pthread_equal F ++ pthread_exit F ++ pthread_getschedparam F ++ pthread_mutex_destroy F ++ pthread_mutex_init F ++ pthread_mutex_lock F ++ pthread_mutex_unlock F ++ pthread_self F ++ pthread_setcancelstate F ++ pthread_setcanceltype F ++ pthread_setschedparam F ++ ptrace F ++ putc F ++ putc_unlocked F ++ putchar F ++ putchar_unlocked F ++ putenv F ++ putpwent F ++ puts F ++ putspent F ++ pututline F ++ putw F ++ pvalloc F ++ qecvt F ++ qecvt_r F ++ qfcvt F ++ qfcvt_r F ++ qgcvt F ++ qsort F ++ query_module F ++ quotactl F ++ raise F ++ rand F ++ rand_r F ++ random F ++ random_r F ++ rcmd F ++ re_comp F ++ re_compile_fastmap F ++ re_compile_pattern F ++ re_exec F ++ re_match F ++ re_match_2 F ++ re_search F ++ re_search_2 F ++ re_set_registers F ++ re_set_syntax F ++ read F ++ readdir F ++ readdir_r F ++ readlink F ++ readv F ++ realloc F ++ reboot F ++ recv F ++ recvfrom F ++ recvmsg F ++ regcomp F ++ regerror F ++ regexec F ++ regfree F ++ register_printf_function F ++ registerrpc F ++ remove F ++ remque F ++ rename F ++ revoke F ++ rewind F ++ rewinddir F ++ rexec F ++ rexecoptions D 0x4 ++ rindex F ++ rmdir F ++ rpmatch F ++ rresvport F ++ ruserok F ++ ruserpass F ++ sbrk F ++ scalbn F ++ scalbnf F ++ scalbnl F ++ scandir F ++ scanf F ++ sched_get_priority_max F ++ sched_get_priority_min F ++ sched_getparam F ++ sched_getscheduler F ++ sched_rr_get_interval F ++ sched_setparam F ++ sched_setscheduler F ++ sched_yield F ++ seed48 F ++ seed48_r F ++ seekdir F ++ select F ++ semget F ++ semop F ++ send F ++ sendmsg F ++ sendto F ++ setaliasent F ++ setbuf F ++ setbuffer F ++ setcontext F ++ setdomainname F ++ setegid F ++ setenv F ++ seteuid F ++ setfsent F ++ setfsgid F ++ setfsuid F ++ setgid F ++ setgrent F ++ setgroups F ++ sethostent F ++ sethostid F ++ sethostname F ++ setitimer F ++ setjmp F ++ setlinebuf F ++ setlocale F ++ setlogin F ++ setlogmask F ++ setmntent F ++ setnetent F ++ setnetgrent F ++ setpgid F ++ setpgrp F ++ setpriority F ++ setprotoent F ++ setpwent F ++ setregid F ++ setresgid F ++ setresuid F ++ setreuid F ++ setrpcent F ++ setservent F ++ setsid F ++ setsockopt F ++ setspent F ++ setstate F ++ setstate_r F ++ settimeofday F ++ setttyent F ++ setuid F ++ setusershell F ++ setutent F ++ setvbuf F ++ sgetspent F ++ sgetspent_r F ++ shmat F ++ shmdt F ++ shmget F ++ shutdown F ++ sigaction F ++ sigaddset F ++ sigaltstack F ++ sigandset F ++ sigblock F ++ sigdelset F ++ sigemptyset F ++ sigfillset F ++ siggetmask F ++ siginterrupt F ++ sigisemptyset F ++ sigismember F ++ siglongjmp F ++ signal F ++ sigorset F ++ sigpause F ++ sigpending F ++ sigprocmask F ++ sigreturn F ++ sigsetmask F ++ sigstack F ++ sigsuspend F ++ sigvec F ++ sigwait F ++ sleep F ++ snprintf F ++ socket F ++ socketpair F ++ sprintf F ++ srand F ++ srand48 F ++ srand48_r F ++ srandom F ++ srandom_r F ++ sscanf F ++ ssignal F ++ sstk F ++ statfs F ++ step F ++ stime F ++ stpcpy F ++ stpncpy F ++ strcasecmp F ++ strcat F ++ strchr F ++ strcmp F ++ strcoll F ++ strcpy F ++ strcspn F ++ strdup F ++ strerror F ++ strerror_r F ++ strfmon F ++ strfry F ++ strftime F ++ strlen F ++ strncasecmp F ++ strncat F ++ strncmp F ++ strncpy F ++ strndup F ++ strnlen F ++ strpbrk F ++ strptime F ++ strrchr F ++ strsep F ++ strsignal F ++ strspn F ++ strstr F ++ strtod F ++ strtof F ++ strtok F ++ strtok_r F ++ strtol F ++ strtold F ++ strtoll F ++ strtoq F ++ strtoul F ++ strtoull F ++ strtouq F ++ strxfrm F ++ stty F ++ svc_exit F ++ svc_fdset D 0x80 ++ svc_getreq F ++ svc_getreqset F ++ svc_register F ++ svc_run F ++ svc_sendreply F ++ svc_unregister F ++ svcerr_auth F ++ svcerr_decode F ++ svcerr_noproc F ++ svcerr_noprog F ++ svcerr_progvers F ++ svcerr_systemerr F ++ svcerr_weakauth F ++ svcfd_create F ++ svcraw_create F ++ svctcp_create F ++ svcudp_bufcreate F ++ svcudp_create F ++ svcudp_enablecache F ++ swab F ++ swapoff F ++ swapon F ++ symlink F ++ sync F ++ syscall F ++ sysconf F ++ sysctl F ++ sysinfo F ++ syslog F ++ system F ++ tcdrain F ++ tcflow F ++ tcflush F ++ tcgetattr F ++ tcgetpgrp F ++ tcsendbreak F ++ tcsetattr F ++ tcsetpgrp F ++ tdelete F ++ telldir F ++ tempnam F ++ textdomain F ++ tfind F ++ time F ++ timegm F ++ timelocal F ++ times F ++ tmpnam F ++ tmpnam_r F ++ toascii F ++ tolower F ++ toupper F ++ towctrans F ++ towlower F ++ towupper F ++ tr_break F ++ truncate F ++ tsearch F ++ ttyname F ++ ttyname_r F ++ ttyslot F ++ twalk F ++ tzset F ++ ualarm F ++ ulckpwdf F ++ ulimit F ++ umask F ++ umount F ++ uname F ++ ungetc F ++ unlink F ++ unsetenv F ++ updwtmp F ++ uselib F ++ usleep F ++ ustat F ++ utime F ++ utimes F ++ utmpname F ++ valloc F ++ vasprintf F ++ vdprintf F ++ verr F ++ verrx F ++ vfork F ++ vfprintf F ++ vfscanf F ++ vhangup F ++ vlimit F ++ vprintf F ++ vscanf F ++ vsnprintf F ++ vsprintf F ++ vsscanf F ++ vsyslog F ++ vtimes F ++ vwarn F ++ vwarnx F ++ wait F ++ wait3 F ++ wait4 F ++ waitpid F ++ warn F ++ warnx F ++ wcpcpy F ++ wcpncpy F ++ wcrtomb F ++ wcscat F ++ wcschr F ++ wcscmp F ++ wcscoll F ++ wcscpy F ++ wcscspn F ++ wcsdup F ++ wcslen F ++ wcsncat F ++ wcsncmp F ++ wcsncpy F ++ wcsnrtombs F ++ wcspbrk F ++ wcsrchr F ++ wcsrtombs F ++ wcsspn F ++ wcsstr F ++ wcstod F ++ wcstof F ++ wcstok F ++ wcstol F ++ wcstold F ++ wcstombs F ++ wcstoq F ++ wcstoul F ++ wcstouq F ++ wcswidth F ++ wcsxfrm F ++ wctob F ++ wctomb F ++ wctrans F ++ wctype F ++ wcwidth F ++ wmemchr F ++ wmemcmp F ++ wmemcpy F ++ wmemmove F ++ wmemset F ++ write F ++ writev F ++ xdr_accepted_reply F ++ xdr_array F ++ xdr_authunix_parms F ++ xdr_bool F ++ xdr_bytes F ++ xdr_callhdr F ++ xdr_callmsg F ++ xdr_char F ++ xdr_cryptkeyarg F ++ xdr_cryptkeyarg2 F ++ xdr_cryptkeyres F ++ xdr_des_block F ++ xdr_double F ++ xdr_enum F ++ xdr_float F ++ xdr_free F ++ xdr_int F ++ xdr_key_netstarg F ++ xdr_key_netstres F ++ xdr_keybuf F ++ xdr_keystatus F ++ xdr_long F ++ xdr_netobj F ++ xdr_opaque F ++ xdr_opaque_auth F ++ xdr_pmap F ++ xdr_pmaplist F ++ xdr_pointer F ++ xdr_reference F ++ xdr_rejected_reply F ++ xdr_replymsg F ++ xdr_rmtcall_args F ++ xdr_rmtcallres F ++ xdr_short F ++ xdr_string F ++ xdr_u_char F ++ xdr_u_int F ++ xdr_u_long F ++ xdr_u_short F ++ xdr_union F ++ xdr_vector F ++ xdr_void F ++ xdr_wrapstring F ++ xdrmem_create F ++ xdrrec_create F ++ xdrrec_endofrecord F ++ xdrrec_eof F ++ xdrrec_skiprecord F ++ xdrstdio_create F ++ xencrypt F ++ xprt_register F ++ xprt_unregister F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __fork F ++ _nl_default_dirname D 0x12 ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __bzero F ++ __clone F ++ clone F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls ++ __divdi3 F ++ __moddi3 F ++ __udivdi3 F ++ __umoddi3 F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ atexit F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2 s390x-.*-linux.*/tls ++ __deregister_frame F ++ __frame_state_for F ++ __register_frame F ++ __register_frame_info_table F ++ __register_frame_table F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2 s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ __deregister_frame_info F ++ __register_frame_info F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2 sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ _IO_file_jumps D 0x54 ++ _IO_list_all D 0x4 ++ __after_morecore_hook D 0x4 ++ __ctype32_b D 0x4 ++ __ctype_b D 0x4 ++ __ctype_tolower D 0x4 ++ __ctype_toupper D 0x4 ++ __curbrk D 0x4 ++ __environ D 0x4 ++ __free_hook D 0x4 ++ __malloc_hook D 0x4 ++ __malloc_initialize_hook D 0x4 ++ __memalign_hook D 0x4 ++ __morecore D 0x4 ++ __progname D 0x4 ++ __progname_full D 0x4 ++ __rcmd_errstr D 0x4 ++ __realloc_hook D 0x4 ++ __timezone D 0x4 ++ __tzname D 0x8 ++ _environ D 0x4 ++ _nl_domain_bindings D 0x4 ++ _null_auth D 0xc ++ _obstack D 0x4 ++ environ D 0x4 ++ error_print_progname D 0x4 ++ h_errlist D 0x14 ++ loc1 D 0x4 ++ loc2 D 0x4 ++ locs D 0x4 ++ mallwatch D 0x4 ++ obstack_alloc_failed_handler D 0x4 ++ optarg D 0x4 ++ program_invocation_name D 0x4 ++ program_invocation_short_name D 0x4 ++ re_syntax_options D 0x4 ++ rpc_createerr D 0x10 ++ stderr D 0x4 ++ stdin D 0x4 ++ stdout D 0x4 ++ svcauthdes_stats D 0xc ++ timezone D 0x4 ++ tzname D 0x8 ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls s390-.*-linux.*/tls ++ ___brk_addr D 0x4 ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ mcount F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls ++ ioperm F ++ iopl F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls ++ _errno D 0x4 ++ _h_errno D 0x4 ++ errno D 0x4 ++ h_errno D 0x4 ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/tls powerpc-.*-linux.*/notls powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2 sh[34].*-.*-linux.*/notls ++ _res D 0x200 ++GLIBC_2.0 m68.*-.*-linux.*/notls ++ _res D 0x1fe ++ cacheflush F ++GLIBC_2.0 m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __fpu_control D 0x4 ++GLIBC_2.0 powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls ++ __ashldi3 F ++ __ashrdi3 F ++ __cmpdi2 F ++ __fixdfdi F ++ __fixsfdi F ++ __fixunsdfdi F ++ __fixunssfdi F ++ __floatdidf F ++ __floatdisf F ++ __lshrdi3 F ++ __ucmpdi2 F ++GLIBC_2.1.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ++ __memcpy_by2 F ++ __memcpy_by4 F ++ __memcpy_g F ++ __mempcpy_by2 F ++ __mempcpy_by4 F ++ __mempcpy_byn F ++ __memset_ccn_by2 F ++ __memset_ccn_by4 F ++ __memset_gcn_by2 F ++ __memset_gcn_by4 F ++ __stpcpy_g F ++ __strcat_c F ++ __strcat_g F ++ __strchr_c F ++ __strchr_g F ++ __strchrnul_c F ++ __strchrnul_g F ++ __strcmp_gg F ++ __strcpy_g F ++ __strcspn_cg F ++ __strcspn_g F ++ __strlen_g F ++ __strncat_g F ++ __strncmp_g F ++ __strncpy_by2 F ++ __strncpy_by4 F ++ __strncpy_byn F ++ __strncpy_gg F ++ __strpbrk_cg F ++ __strpbrk_g F ++ __strrchr_c F ++ __strrchr_g F ++ __strspn_cg F ++ __strspn_g F ++ __strstr_cg F ++ __strstr_g F ++GLIBC_2.1.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.1.1 A ++GLIBC_2.1.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ _Exit F ++ __mempcpy_small F ++ __stpcpy_small F ++ __strcpy_small F ++ __strcspn_c1 F ++ __strcspn_c2 F ++ __strcspn_c3 F ++ __strpbrk_c2 F ++ __strpbrk_c3 F ++ __strsep_1c F ++ __strsep_2c F ++ __strsep_3c F ++ __strsep_g F ++ __strspn_c1 F ++ __strspn_c2 F ++ __strspn_c3 F ++ __strtok_r_1c F ++ __strverscmp F ++ getutmp F ++ getutmpx F ++ imaxabs F ++ imaxdiv F ++ strchrnul F ++ xdr_hyper F ++ xdr_int64_t F ++ xdr_longlong_t F ++ xdr_u_hyper F ++ xdr_u_longlong_t F ++ xdr_uint64_t F ++GLIBC_2.1.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.1.2 A ++GLIBC_2.1.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __vfork F ++GLIBC_2.1.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.1.3 A ++GLIBC_2.1.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __cxa_atexit F ++ __cxa_finalize F ++ __sigsuspend F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls ++ scalbln F ++ scalblnf F ++ scalblnl F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.1 A ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.2 ia64-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ wordexp F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ _IO_fgetpos64 F ++ _IO_fsetpos64 F ++ __fxstat64 F ++ __lxstat64 F ++ __xstat64 F ++ fgetpos64 F ++ fsetpos64 F ++ getrlimit64 F ++ readdir64 F ++ readdir64_r F ++ scandir64 F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ glob64 F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ alphasort64 F ++ versionsort64 F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ _IO_file_finish F ++ _IO_getline_info F ++ __asprintf F ++ __backtrace F ++ __backtrace_symbols F ++ __backtrace_symbols_fd F ++ __duplocale F ++ __freelocale F ++ __isalnum_l F ++ __isalpha_l F ++ __isascii_l F ++ __isblank_l F ++ __iscntrl_l F ++ __isdigit_l F ++ __isgraph_l F ++ __islower_l F ++ __isprint_l F ++ __ispunct_l F ++ __isspace_l F ++ __isupper_l F ++ __iswalnum_l F ++ __iswalpha_l F ++ __iswblank_l F ++ __iswcntrl_l F ++ __iswctype_l F ++ __iswdigit_l F ++ __iswgraph_l F ++ __iswlower_l F ++ __iswprint_l F ++ __iswpunct_l F ++ __iswspace_l F ++ __iswupper_l F ++ __iswxdigit_l F ++ __isxdigit_l F ++ __libc_allocate_rtsig F ++ __libc_current_sigrtmax F ++ __libc_current_sigrtmin F ++ __libc_freeres F ++ __libc_sa_len F ++ __newlocale F ++ __poll F ++ __pread64 F ++ __pwrite64 F ++ __rawmemchr F ++ __signbit F ++ __signbitf F ++ __strcasecmp_l F ++ __strcasestr F ++ __strcoll_l F ++ __strfmon_l F ++ __strncasecmp_l F ++ __strtod_l F ++ __strtof_l F ++ __strtol_l F ++ __strtold_l F ++ __strtoll_l F ++ __strtoul_l F ++ __strtoull_l F ++ __strxfrm_l F ++ __toascii_l F ++ __tolower_l F ++ __toupper_l F ++ __towctrans F ++ __towctrans_l F ++ __towlower_l F ++ __towupper_l F ++ __wcscasecmp_l F ++ __wcscoll_l F ++ __wcsncasecmp_l F ++ __wcstod_l F ++ __wcstof_l F ++ __wcstol_l F ++ __wcstold_l F ++ __wcstoll_l F ++ __wcstoul_l F ++ __wcstoull_l F ++ __wcsxfrm_l F ++ __wctype_l F ++ _argp_unlock_xxx F ++ _authenticate F ++ _dl_mcount_wrapper F ++ _dl_mcount_wrapper_check F ++ addseverity F ++ argp_err_exit_status D 0x4 ++ argp_error F ++ argp_failure F ++ argp_help F ++ argp_parse F ++ argp_state_help F ++ argp_usage F ++ authdes_create F ++ authdes_getucred F ++ authdes_pk_create F ++ backtrace F ++ backtrace_symbols F ++ backtrace_symbols_fd F ++ capget F ++ capset F ++ cbc_crypt F ++ clntunix_create F ++ creat64 F ++ des_setparity F ++ ecb_crypt F ++ endutxent F ++ fattach F ++ fdetach F ++ ffsl F ++ ffsll F ++ fgetc_unlocked F ++ fgets_unlocked F ++ fmtmsg F ++ fopen64 F ++ fputs_unlocked F ++ fread_unlocked F ++ freopen64 F ++ fseeko F ++ fseeko64 F ++ fstatfs64 F ++ fstatvfs F ++ fstatvfs64 F ++ ftello F ++ ftello64 F ++ ftruncate64 F ++ ftw64 F ++ fwrite_unlocked F ++ gai_strerror F ++ getcontext F ++ getdate F ++ getdate_err D 0x4 ++ getdate_r F ++ getmsg F ++ getnameinfo F ++ getnetname F ++ getpmsg F ++ getpt F ++ getutxent F ++ getutxid F ++ getutxline F ++ globfree64 F ++ gnu_get_libc_release F ++ gnu_get_libc_version F ++ grantpt F ++ host2netname F ++ iconv F ++ iconv_close F ++ iconv_open F ++ if_freenameindex F ++ if_indextoname F ++ if_nameindex F ++ if_nametoindex F ++ in6addr_any D 0x10 ++ in6addr_loopback D 0x10 ++ isastream F ++ iswblank F ++ key_decryptsession F ++ key_decryptsession_pk F ++ key_encryptsession F ++ key_encryptsession_pk F ++ key_gendes F ++ key_get_conv F ++ key_secretkey_is_set F ++ key_setnet F ++ key_setsecret F ++ lockf64 F ++ lseek64 F ++ makecontext F ++ mempcpy F ++ mmap64 F ++ netname2host F ++ netname2user F ++ nftw F ++ nftw64 F ++ ntp_adjtime F ++ ntp_gettime F ++ open64 F ++ passwd2des F ++ pread F ++ pread64 F ++ printf_size F ++ printf_size_info F ++ ptsname F ++ ptsname_r F ++ putgrent F ++ putmsg F ++ putpmsg F ++ pututxline F ++ pwrite F ++ pwrite64 F ++ rawmemchr F ++ rtime F ++ sendfile F ++ setrlimit64 F ++ setutxent F ++ sighold F ++ sigignore F ++ sigqueue F ++ sigrelse F ++ sigset F ++ sigtimedwait F ++ sigwaitinfo F ++ statfs64 F ++ statvfs F ++ statvfs64 F ++ strcasestr F ++ strtoimax F ++ strtoumax F ++ strverscmp F ++ svcunix_create F ++ svcunixfd_create F ++ swapcontext F ++ sysv_signal F ++ tcgetsid F ++ tdestroy F ++ tmpfile64 F ++ truncate64 F ++ umount2 F ++ unlockpt F ++ updwtmpx F ++ user2netname F ++ utmpxname F ++ versionsort F ++ waitid F ++ wcscasecmp F ++ wcsncasecmp F ++ wcsnlen F ++ wcstoimax F ++ wcstoll F ++ wcstoull F ++ wcstoumax F ++ wcswcs F ++ wordfree F ++ xdecrypt F ++ xdr_authdes_cred F ++ xdr_authdes_verf F ++ xdr_getcredres F ++ xdr_int16_t F ++ xdr_int32_t F ++ xdr_int8_t F ++ xdr_netnamestr F ++ xdr_sizeof F ++ xdr_uint16_t F ++ xdr_uint32_t F ++ xdr_uint8_t F ++ xdr_unixcred F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2 sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ __key_decryptsession_pk_LOCAL D 0x4 ++ __key_encryptsession_pk_LOCAL D 0x4 ++ __key_gendes_LOCAL D 0x4 ++ _sys_errlist D 0x1f4 ++ _sys_siglist D 0x100 ++ argp_program_bug_address D 0x4 ++ argp_program_version D 0x4 ++ argp_program_version_hook D 0x4 ++ sys_errlist D 0x1f4 ++ sys_sigabbrev D 0x100 ++ sys_siglist D 0x100 ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls ++ __signbitl F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls ++| GLIBC_2.2 sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ _IO_2_1_stderr_ D 0x98 ++ _IO_2_1_stdin_ D 0x98 ++ _IO_2_1_stdout_ D 0x98 ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++ modify_ldt F ++GLIBC_2.1 powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ _IO_2_1_stderr_ D 0xa0 ++ _IO_2_1_stdin_ D 0xa0 ++ _IO_2_1_stdout_ D 0xa0 ++GLIBC_2.1 s390-.*-linux.*/tls ++ __chown F ++GLIBC_2.2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2.1 A ++GLIBC_2.2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ pivot_root F ++ posix_openpt F ++GLIBC_2.2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2.2 A ++GLIBC_2.2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __nss_hostname_digits_dots F ++GLIBC_2.2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2.3 A ++GLIBC_2.2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __rpc_thread_createerr F ++ __rpc_thread_svc_fdset F ++ __rpc_thread_svc_max_pollfd F ++ __rpc_thread_svc_pollfd F ++ sprofil F ++GLIBC_2.2.4 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2.4 A ++GLIBC_2.2.4 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ dl_iterate_phdr F ++ getgrouplist F ++ sockatmark F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++ GLIBC_2.2.5 A ++ __arch_prctl F ++ arch_prctl F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ _IO_adjust_wcolumn F ++ _IO_free_wbackup_area F ++ _IO_init_wmarker F ++ _IO_iter_begin F ++ _IO_iter_end F ++ _IO_iter_file F ++ _IO_iter_next F ++ _IO_least_wmarker F ++ _IO_list_lock F ++ _IO_list_resetlock F ++ _IO_list_unlock F ++ _IO_seekwmark F ++ _IO_sputbackwc F ++ _IO_sungetwc F ++ _IO_switch_to_main_wget_area F ++ _IO_switch_to_wbackup_area F ++ _IO_switch_to_wget_mode F ++ _IO_unsave_wmarkers F ++ _IO_wdefault_doallocate F ++ _IO_wdefault_finish F ++ _IO_wdefault_pbackfail F ++ _IO_wdefault_uflow F ++ _IO_wdefault_xsgetn F ++ _IO_wdefault_xsputn F ++ _IO_wdo_write F ++ _IO_wdoallocbuf F ++ _IO_wfile_overflow F ++ _IO_wfile_seekoff F ++ _IO_wfile_sync F ++ _IO_wfile_underflow F ++ _IO_wfile_xsputn F ++ _IO_wmarker_delta F ++ _IO_wsetb F ++ __assert F ++ __cyg_profile_func_enter F ++ __cyg_profile_func_exit F ++ __endmntent F ++ __fbufsize F ++ __flbf F ++ __fpending F ++ __fpurge F ++ __freadable F ++ __freading F ++ __fsetlocking F ++ __fwritable F ++ __fwriting F ++ __getmntent_r F ++ __nl_langinfo_l F ++ __open64 F ++ __res_init F ++ __res_nclose F ++ __res_ninit F ++ __res_state F ++ __setmntent F ++ __statfs F ++ __strndup F ++ __sysconf F ++ __sysctl F ++ __wctrans_l F ++ __woverflow F ++ __wuflow F ++ __wunderflow F ++ __xpg_sigpause F ++ _flushlbf F ++ bind_textdomain_codeset F ++ dcngettext F ++ dngettext F ++ fgetwc F ++ fgetwc_unlocked F ++ fgetws F ++ fgetws_unlocked F ++ fmemopen F ++ fputwc F ++ fputwc_unlocked F ++ fputws F ++ fputws_unlocked F ++ fwide F ++ fwprintf F ++ fwscanf F ++ getdirentries64 F ++ getloadavg F ++ getwc F ++ getwc_unlocked F ++ getwchar F ++ getwchar_unlocked F ++ iruserok_af F ++ mcheck_check_all F ++ mcheck_pedantic F ++ memrchr F ++ mincore F ++ mkdtemp F ++ mkstemp64 F ++ moncontrol F ++ ngettext F ++ posix_fadvise F ++ posix_fadvise64 F ++ posix_fallocate F ++ posix_fallocate64 F ++ posix_madvise F ++ posix_memalign F ++ posix_spawn F ++ posix_spawn_file_actions_addclose F ++ posix_spawn_file_actions_adddup2 F ++ posix_spawn_file_actions_addopen F ++ posix_spawn_file_actions_destroy F ++ posix_spawn_file_actions_init F ++ posix_spawnattr_destroy F ++ posix_spawnattr_getflags F ++ posix_spawnattr_getpgroup F ++ posix_spawnattr_getschedparam F ++ posix_spawnattr_getschedpolicy F ++ posix_spawnattr_getsigdefault F ++ posix_spawnattr_getsigmask F ++ posix_spawnattr_init F ++ posix_spawnattr_setflags F ++ posix_spawnattr_setpgroup F ++ posix_spawnattr_setschedparam F ++ posix_spawnattr_setschedpolicy F ++ posix_spawnattr_setsigdefault F ++ posix_spawnattr_setsigmask F ++ posix_spawnp F ++ putwc F ++ putwc_unlocked F ++ putwchar F ++ putwchar_unlocked F ++ rcmd_af F ++ rexec_af F ++ rresvport_af F ++ ruserok_af F ++ svc_getreq_common F ++ svc_getreq_poll F ++ svc_max_pollfd D 0x4 ++ swprintf F ++ swscanf F ++ ungetwc F ++ vfwprintf F ++ vfwscanf F ++ vswprintf F ++ vswscanf F ++ vwprintf F ++ vwscanf F ++ wcschrnul F ++ wcsftime F ++ wmempcpy F ++ wprintf F ++ wscanf F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls ++ __ctype32_b D 0x8 ++ __ctype32_tolower D 0x8 ++ __ctype32_toupper D 0x8 ++ __ctype_b D 0x8 ++ __ctype_tolower D 0x8 ++ __ctype_toupper D 0x8 ++ _res D 0x238 ++ _sys_errlist D 0x3e8 ++ sys_errlist D 0x3e8 ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ _IO_2_1_stderr_ D 0xe0 ++ _IO_2_1_stdin_ D 0xe0 ++ _IO_2_1_stdout_ D 0xe0 ++ _IO_file_jumps D 0xa8 ++ _IO_list_all D 0x8 ++ _IO_wfile_jumps D 0xa8 ++ __after_morecore_hook D 0x8 ++ __curbrk D 0x8 ++ __environ D 0x8 ++ __free_hook D 0x8 ++ __key_decryptsession_pk_LOCAL D 0x8 ++ __key_encryptsession_pk_LOCAL D 0x8 ++ __key_gendes_LOCAL D 0x8 ++ __malloc_hook D 0x8 ++ __malloc_initialize_hook D 0x8 ++ __memalign_hook D 0x8 ++ __morecore D 0x8 ++ __progname D 0x8 ++ __progname_full D 0x8 ++ __rcmd_errstr D 0x8 ++ __realloc_hook D 0x8 ++ __timezone D 0x8 ++ __tzname D 0x10 ++ _environ D 0x8 ++ _nl_domain_bindings D 0x8 ++ _null_auth D 0x18 ++ _obstack D 0x8 ++ _res_hconf D 0x48 ++ _sys_siglist D 0x200 ++ argp_program_bug_address D 0x8 ++ argp_program_version D 0x8 ++ argp_program_version_hook D 0x8 ++ environ D 0x8 ++ error_print_progname D 0x8 ++ h_errlist D 0x28 ++ loc1 D 0x8 ++ loc2 D 0x8 ++ locs D 0x8 ++ mallwatch D 0x8 ++ obstack_alloc_failed_handler D 0x8 ++ optarg D 0x8 ++ program_invocation_name D 0x8 ++ program_invocation_short_name D 0x8 ++ re_syntax_options D 0x8 ++ rpc_createerr D 0x20 ++ stderr D 0x8 ++ stdin D 0x8 ++ stdout D 0x8 ++ svc_pollfd D 0x8 ++ svcauthdes_stats D 0x18 ++ sys_sigabbrev D 0x200 ++ sys_siglist D 0x200 ++ timezone D 0x8 ++ tzname D 0x10 ++GLIBC_2.2.6 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++ GLIBC_2.2.6 A ++GLIBC_2.2.6 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __nanosleep F ++GLIBC_2.2.6 ia64-.*-linux.*/tls ++ getunwind F ++GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2 A ++GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ __ctype32_tolower D 0x4 ++ __ctype32_toupper D 0x4 ++ _res_hconf D 0x30 ++ svc_pollfd D 0x4 ++GLIBC_2.2 i.86-.*-linux.*/thread i.86-.*-linux.*/tls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ _IO_wfile_jumps D 0x54 ++GLIBC_2.2 ia64-.*-linux.*/tls ++ __clone2 F ++ __divdf3 F ++ __divsf3 F ++ __divtf3 F ++ __multi3 F ++ _inb F ++ _inl F ++ _inw F ++ _outb F ++ _outl F ++ _outw F ++ inb F ++ inl F ++ inw F ++ outb F ++ outw F ++ pciconfig_read F ++ pciconfig_write F ++GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls ++ ___brk_addr D 0x8 ++GLIBC_2.2 sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ _nl_default_dirname D 0x20 ++GLIBC_2.3.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++ GLIBC_2.3.2 A ++ __register_atfork F ++ lchmod F ++ sched_getaffinity F ++ sched_setaffinity F ++ strptime_l F ++GLIBC_2.3.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls x86_64-.*-linux.*/tls ++ epoll_create F ++ epoll_ctl F ++ epoll_wait F ++GLIBC_2.3.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++ GLIBC_2.3.3 A ++ remap_file_pages F ++GLIBC_2.3.3 i.86-.*-linux.*/thread i.86-.*-linux.*/tls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls ++ _sys_siglist D 0x104 ++ sys_sigabbrev D 0x104 ++ sys_siglist D 0x104 ++GLIBC_2.3.3 ia64-.*-linux.*/tls powerpc64-.*-linux.*/thread s390x-.*-linux.*/tls x86_64-.*-linux.*/tls ++| GLIBC_2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ strtoll_l F ++ strtoull_l F ++GLIBC_2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++ GLIBC_2.3 A ++ __ctype_b_loc F ++ __ctype_tolower_loc F ++ __ctype_toupper_loc F ++ __isctype F ++ __strftime_l F ++ __uselocale F ++ __wcsftime_l F ++ duplocale F ++ fgetxattr F ++ flistxattr F ++ freeifaddrs F ++ freelocale F ++ fremovexattr F ++ fsetxattr F ++ futimes F ++ getifaddrs F ++ getxattr F ++ isalnum_l F ++ isalpha_l F ++ isblank_l F ++ iscntrl_l F ++ isctype F ++ isdigit_l F ++ isgraph_l F ++ islower_l F ++ isprint_l F ++ ispunct_l F ++ isspace_l F ++ isupper_l F ++ iswalnum_l F ++ iswalpha_l F ++ iswblank_l F ++ iswcntrl_l F ++ iswctype_l F ++ iswdigit_l F ++ iswgraph_l F ++ iswlower_l F ++ iswprint_l F ++ iswpunct_l F ++ iswspace_l F ++ iswupper_l F ++ iswxdigit_l F ++ isxdigit_l F ++ lgetxattr F ++ listxattr F ++ llistxattr F ++ lremovexattr F ++ lsetxattr F ++ lutimes F ++ newlocale F ++ nl_langinfo_l F ++ readahead F ++ removexattr F ++ sendfile64 F ++ setxattr F ++ strcasecmp_l F ++ strcoll_l F ++ strfmon_l F ++ strftime_l F ++ strncasecmp_l F ++ strtod_l F ++ strtof_l F ++ strtol_l F ++ strtold_l F ++ strtoul_l F ++ strxfrm_l F ++ tolower_l F ++ toupper_l F ++ towctrans_l F ++ towlower_l F ++ towupper_l F ++ uselocale F ++ wcscasecmp_l F ++ wcscoll_l F ++ wcsftime_l F ++ wcsncasecmp_l F ++ wcstod_l F ++ wcstof_l F ++ wcstol_l F ++ wcstold_l F ++ wcstoll_l F ++ wcstoul_l F ++ wcstoull_l F ++ wcsxfrm_l F ++ wctrans_l F ++ wctype_l F ++GLIBC_2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ _sys_errlist D 0x1f8 ++ sys_errlist D 0x1f8 ++GLIBC_2.3 ia64-.*-linux.*/tls powerpc64-.*-linux.*/thread s390x-.*-linux.*/tls x86_64-.*-linux.*/tls ++ _sys_errlist D 0x3f0 ++ sys_errlist D 0x3f0 +--- glibc-2.3.2/abilist/libcrypt.abilist 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/abilist/libcrypt.abilist 2003-04-01 23:39:52.000000000 -0500 +@@ -0,0 +1,19 @@ ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.0 A ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ crypt F ++ crypt_r F ++ encrypt F ++ encrypt_r F ++ fcrypt F ++ setkey F ++ setkey_r F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++ GLIBC_2.2.5 A ++GLIBC_2.2 s390x-.*-linux.*/tls ++ GLIBC_2.2 A ++GLIBC_2.3 powerpc64-.*-linux.*/thread ++ GLIBC_2.3 A +--- glibc-2.3.2/abilist/libdl.abilist 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/abilist/libdl.abilist 2003-04-01 23:39:52.000000000 -0500 +@@ -0,0 +1,33 @@ ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.0 A ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ dlopen F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ dladdr F ++ dlclose F ++ dlerror F ++ dlsym F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.1 A ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ dlvsym F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++ GLIBC_2.2.5 A ++GLIBC_2.2 s390x-.*-linux.*/tls ++ GLIBC_2.2 A ++GLIBC_2.3.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++ GLIBC_2.3.3 A ++ dladdr1 F ++ dlinfo F ++GLIBC_2.3 powerpc64-.*-linux.*/thread ++ GLIBC_2.3 A +--- glibc-2.3.2/abilist/libm.abilist 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/abilist/libm.abilist 2003-04-01 23:39:52.000000000 -0500 +@@ -0,0 +1,355 @@ ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.0 A ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ _LIB_VERSION D 0x4 ++ acos F ++ acosf F ++ acosh F ++ acoshf F ++ acoshl F ++ acosl F ++ asin F ++ asinf F ++ asinh F ++ asinhf F ++ asinhl F ++ asinl F ++ atan F ++ atan2 F ++ atan2f F ++ atan2l F ++ atanf F ++ atanh F ++ atanhf F ++ atanhl F ++ atanl F ++ cbrt F ++ cbrtf F ++ cbrtl F ++ ceil F ++ ceilf F ++ ceill F ++ copysign F ++ copysignf F ++ copysignl F ++ cos F ++ cosf F ++ cosh F ++ coshf F ++ coshl F ++ cosl F ++ drem F ++ dremf F ++ dreml F ++ erf F ++ erfc F ++ erfcf F ++ erfcl F ++ erff F ++ erfl F ++ exp F ++ expf F ++ expl F ++ expm1 F ++ expm1f F ++ expm1l F ++ fabs F ++ fabsf F ++ fabsl F ++ finite F ++ finitef F ++ finitel F ++ floor F ++ floorf F ++ floorl F ++ fmod F ++ fmodf F ++ fmodl F ++ frexp F ++ frexpf F ++ frexpl F ++ gamma F ++ gammaf F ++ gammal F ++ hypot F ++ hypotf F ++ hypotl F ++ ilogb F ++ ilogbf F ++ ilogbl F ++ j0 F ++ j0f F ++ j0l F ++ j1 F ++ j1f F ++ j1l F ++ jn F ++ jnf F ++ jnl F ++ ldexp F ++ ldexpf F ++ ldexpl F ++ lgamma F ++ lgamma_r F ++ lgammaf F ++ lgammaf_r F ++ lgammal F ++ lgammal_r F ++ log F ++ log10 F ++ log10f F ++ log10l F ++ log1p F ++ log1pf F ++ log1pl F ++ logb F ++ logbf F ++ logbl F ++ logf F ++ logl F ++ matherr F ++ modf F ++ modff F ++ modfl F ++ nextafter F ++ nextafterf F ++ nextafterl F ++ pow F ++ powf F ++ powl F ++ remainder F ++ remainderf F ++ remainderl F ++ rint F ++ rintf F ++ rintl F ++ scalb F ++ scalbf F ++ scalbl F ++ scalbn F ++ scalbnf F ++ scalbnl F ++ signgam D 0x4 ++ significand F ++ significandf F ++ significandl F ++ sin F ++ sinf F ++ sinh F ++ sinhf F ++ sinhl F ++ sinl F ++ sqrt F ++ sqrtf F ++ sqrtl F ++ tan F ++ tanf F ++ tanh F ++ tanhf F ++ tanhl F ++ tanl F ++ y0 F ++ y0f F ++ y0l F ++ y1 F ++ y1f F ++ y1l F ++ yn F ++ ynf F ++ ynl F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.1 A ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ feclearexcept F ++ fegetenv F ++ fegetexceptflag F ++ feraiseexcept F ++ fesetenv F ++ fesetexceptflag F ++ feupdateenv F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __clog10 F ++ __clog10f F ++ __clog10l F ++ __finite F ++ __finitef F ++ __finitel F ++ __fpclassify F ++ __fpclassifyf F ++ __signbit F ++ __signbitf F ++ cabs F ++ cabsf F ++ cabsl F ++ cacos F ++ cacosf F ++ cacosh F ++ cacoshf F ++ cacoshl F ++ cacosl F ++ carg F ++ cargf F ++ cargl F ++ casin F ++ casinf F ++ casinh F ++ casinhf F ++ casinhl F ++ casinl F ++ catan F ++ catanf F ++ catanh F ++ catanhf F ++ catanhl F ++ catanl F ++ ccos F ++ ccosf F ++ ccosh F ++ ccoshf F ++ ccoshl F ++ ccosl F ++ cexp F ++ cexpf F ++ cexpl F ++ cimag F ++ cimagf F ++ cimagl F ++ clog F ++ clog10 F ++ clog10f F ++ clog10l F ++ clogf F ++ clogl F ++ conj F ++ conjf F ++ conjl F ++ cpow F ++ cpowf F ++ cpowl F ++ cproj F ++ cprojf F ++ cprojl F ++ creal F ++ crealf F ++ creall F ++ csin F ++ csinf F ++ csinh F ++ csinhf F ++ csinhl F ++ csinl F ++ csqrt F ++ csqrtf F ++ csqrtl F ++ ctan F ++ ctanf F ++ ctanh F ++ ctanhf F ++ ctanhl F ++ ctanl F ++ exp10 F ++ exp10f F ++ exp10l F ++ exp2 F ++ exp2f F ++ fdim F ++ fdimf F ++ fdiml F ++ fegetround F ++ feholdexcept F ++ fesetround F ++ fetestexcept F ++ fma F ++ fmaf F ++ fmal F ++ fmax F ++ fmaxf F ++ fmaxl F ++ fmin F ++ fminf F ++ fminl F ++ llrint F ++ llrintf F ++ llrintl F ++ llround F ++ llroundf F ++ llroundl F ++ log2 F ++ log2f F ++ log2l F ++ lrint F ++ lrintf F ++ lrintl F ++ lround F ++ lroundf F ++ lroundl F ++ nan F ++ nanf F ++ nanl F ++ nearbyint F ++ nearbyintf F ++ nearbyintl F ++ nexttoward F ++ nexttowardf F ++ nexttowardl F ++ pow10 F ++ pow10f F ++ pow10l F ++ remquo F ++ remquof F ++ remquol F ++ round F ++ roundf F ++ roundl F ++ scalbln F ++ scalblnf F ++ scalblnl F ++ sincos F ++ sincosf F ++ sincosl F ++ tgamma F ++ tgammaf F ++ tgammal F ++ trunc F ++ truncf F ++ truncl F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls ++ __fpclassifyl F ++ __signbitl F ++ exp2l F ++GLIBC_2.1 powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __fe_dfl_env D 0x8 ++ __fe_enabled_env D 0x8 ++ __fe_nomask_env F ++ __fe_nonieee_env D 0x8 ++GLIBC_2.2.3 ia64-.*-linux.*/tls ++ GLIBC_2.2.3 A ++ matherrf F ++ matherrl F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++ GLIBC_2.2.5 A ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ fedisableexcept F ++ feenableexcept F ++ fegetexcept F ++GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ++ __expl F ++ __expm1l F ++GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2 A ++GLIBC_2.3 powerpc64-.*-linux.*/thread ++ GLIBC_2.3 A +--- glibc-2.3.2/abilist/libnsl.abilist 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/abilist/libnsl.abilist 2003-04-01 23:39:52.000000000 -0500 +@@ -0,0 +1,142 @@ ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.0 A ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __yp_check F ++ xdr_domainname F ++ xdr_keydat F ++ xdr_mapname F ++ xdr_peername F ++ xdr_valdat F ++ xdr_yp_buf F ++ xdr_ypbind_binding F ++ xdr_ypbind_resp F ++ xdr_ypbind_resptype F ++ xdr_ypbind_setdom F ++ xdr_ypdelete_args F ++ xdr_ypmap_parms F ++ xdr_ypmaplist F ++ xdr_yppush_status F ++ xdr_yppushresp_xfr F ++ xdr_ypreq_key F ++ xdr_ypreq_nokey F ++ xdr_ypreq_xfr F ++ xdr_ypresp_all F ++ xdr_ypresp_key_val F ++ xdr_ypresp_maplist F ++ xdr_ypresp_master F ++ xdr_ypresp_order F ++ xdr_ypresp_val F ++ xdr_ypresp_xfr F ++ xdr_ypstat F ++ xdr_ypupdate_args F ++ xdr_ypxfrstat F ++ yp_all F ++ yp_bind F ++ yp_first F ++ yp_get_default_domain F ++ yp_maplist F ++ yp_master F ++ yp_match F ++ yp_next F ++ yp_order F ++ yp_unbind F ++ yp_update F ++ ypbinderr_string F ++ yperr_string F ++ ypprot_err F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.1 A ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __free_fdresult F ++ __nis_default_access F ++ __nis_default_group F ++ __nis_default_owner F ++ __nis_default_ttl F ++ __nis_finddirectory F ++ __nis_hash F ++ __nisbind_connect F ++ __nisbind_create F ++ __nisbind_destroy F ++ __nisbind_next F ++ nis_add F ++ nis_add_entry F ++ nis_addmember F ++ nis_checkpoint F ++ nis_clone_directory F ++ nis_clone_object F ++ nis_clone_result F ++ nis_creategroup F ++ nis_destroy_object F ++ nis_destroygroup F ++ nis_dir_cmp F ++ nis_domain_of F ++ nis_domain_of_r F ++ nis_first_entry F ++ nis_free_directory F ++ nis_free_object F ++ nis_free_request F ++ nis_freenames F ++ nis_freeresult F ++ nis_freeservlist F ++ nis_freetags F ++ nis_getnames F ++ nis_getservlist F ++ nis_ismember F ++ nis_leaf_of F ++ nis_leaf_of_r F ++ nis_lerror F ++ nis_list F ++ nis_local_directory F ++ nis_local_group F ++ nis_local_host F ++ nis_local_principal F ++ nis_lookup F ++ nis_mkdir F ++ nis_modify F ++ nis_modify_entry F ++ nis_name_of F ++ nis_name_of_r F ++ nis_next_entry F ++ nis_perror F ++ nis_ping F ++ nis_print_directory F ++ nis_print_entry F ++ nis_print_group F ++ nis_print_group_entry F ++ nis_print_link F ++ nis_print_object F ++ nis_print_result F ++ nis_print_rights F ++ nis_print_table F ++ nis_read_obj F ++ nis_remove F ++ nis_remove_entry F ++ nis_removemember F ++ nis_rmdir F ++ nis_servstate F ++ nis_sperrno F ++ nis_sperror F ++ nis_sperror_r F ++ nis_stats F ++ nis_verifygroup F ++ nis_write_obj F ++ readColdStartFile F ++ writeColdStartFile F ++ xdr_cback_data F ++ xdr_obj_p F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++ GLIBC_2.2.5 A ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ xdr_ypall F ++GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2 A ++GLIBC_2.3 powerpc64-.*-linux.*/thread ++ GLIBC_2.3 A +--- glibc-2.3.2/abilist/libpthread.abilist 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/abilist/libpthread.abilist 2003-04-01 23:39:52.000000000 -0500 +@@ -0,0 +1,256 @@ ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.0 A ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ pthread_attr_init F ++ pthread_create F ++ sem_destroy F ++ sem_getvalue F ++ sem_init F ++ sem_post F ++ sem_trywait F ++ sem_wait F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ pthread_atfork F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ pthread_cond_broadcast F ++ pthread_cond_destroy F ++ pthread_cond_init F ++ pthread_cond_signal F ++ pthread_cond_timedwait F ++ pthread_cond_wait F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ _IO_flockfile F ++ _IO_ftrylockfile F ++ _IO_funlockfile F ++ __close F ++ __connect F ++ __errno_location F ++ __fcntl F ++ __fork F ++ __h_errno_location F ++ __lseek F ++ __open F ++ __pthread_getspecific F ++ __pthread_key_create F ++ __pthread_mutex_destroy F ++ __pthread_mutex_init F ++ __pthread_mutex_lock F ++ __pthread_mutex_trylock F ++ __pthread_mutex_unlock F ++ __pthread_mutexattr_destroy F ++ __pthread_mutexattr_init F ++ __pthread_mutexattr_settype F ++ __pthread_once F ++ __pthread_setspecific F ++ __read F ++ __send F ++ __sigaction F ++ __wait F ++ __write F ++ _pthread_cleanup_pop F ++ _pthread_cleanup_pop_restore F ++ _pthread_cleanup_push F ++ _pthread_cleanup_push_defer F ++ accept F ++ close F ++ connect F ++ fcntl F ++ flockfile F ++ fork F ++ fsync F ++ ftrylockfile F ++ funlockfile F ++ longjmp F ++ lseek F ++ msync F ++ nanosleep F ++ open F ++ pause F ++ pthread_attr_destroy F ++ pthread_attr_getdetachstate F ++ pthread_attr_getinheritsched F ++ pthread_attr_getschedparam F ++ pthread_attr_getschedpolicy F ++ pthread_attr_getscope F ++ pthread_attr_setdetachstate F ++ pthread_attr_setinheritsched F ++ pthread_attr_setschedparam F ++ pthread_attr_setschedpolicy F ++ pthread_attr_setscope F ++ pthread_cancel F ++ pthread_condattr_destroy F ++ pthread_condattr_init F ++ pthread_detach F ++ pthread_equal F ++ pthread_exit F ++ pthread_getschedparam F ++ pthread_getspecific F ++ pthread_join F ++ pthread_key_create F ++ pthread_key_delete F ++ pthread_kill F ++ pthread_kill_other_threads_np F ++ pthread_mutex_destroy F ++ pthread_mutex_init F ++ pthread_mutex_lock F ++ pthread_mutex_trylock F ++ pthread_mutex_unlock F ++ pthread_mutexattr_destroy F ++ pthread_mutexattr_getkind_np F ++ pthread_mutexattr_init F ++ pthread_mutexattr_setkind_np F ++ pthread_once F ++ pthread_self F ++ pthread_setcancelstate F ++ pthread_setcanceltype F ++ pthread_setschedparam F ++ pthread_setspecific F ++ pthread_sigmask F ++ pthread_testcancel F ++ raise F ++ read F ++ recv F ++ recvfrom F ++ recvmsg F ++ send F ++ sendmsg F ++ sendto F ++ sigaction F ++ siglongjmp F ++ sigwait F ++ system F ++ tcdrain F ++ vfork F ++ wait F ++ waitpid F ++ write F ++GLIBC_2.1.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.1.1 A ++GLIBC_2.1.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ sem_close F ++ sem_open F ++ sem_unlink F ++GLIBC_2.1.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.1.2 A ++GLIBC_2.1.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __vfork F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.1 A ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __libc_allocate_rtsig F ++ __libc_current_sigrtmax F ++ __libc_current_sigrtmin F ++ pthread_attr_getguardsize F ++ pthread_attr_getstackaddr F ++ pthread_attr_getstacksize F ++ pthread_attr_setguardsize F ++ pthread_attr_setstackaddr F ++ pthread_attr_setstacksize F ++ pthread_getconcurrency F ++ pthread_mutexattr_gettype F ++ pthread_mutexattr_settype F ++ pthread_rwlock_destroy F ++ pthread_rwlock_init F ++ pthread_rwlock_rdlock F ++ pthread_rwlock_tryrdlock F ++ pthread_rwlock_trywrlock F ++ pthread_rwlock_unlock F ++ pthread_rwlock_wrlock F ++ pthread_rwlockattr_destroy F ++ pthread_rwlockattr_getkind_np F ++ pthread_rwlockattr_getpshared F ++ pthread_rwlockattr_init F ++ pthread_rwlockattr_setkind_np F ++ pthread_rwlockattr_setpshared F ++ pthread_setconcurrency F ++GLIBC_2.2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2.3 A ++GLIBC_2.2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ pthread_getattr_np F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++ GLIBC_2.2.5 A ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __open64 F ++ __pread64 F ++ __pthread_rwlock_destroy F ++ __pthread_rwlock_init F ++ __pthread_rwlock_rdlock F ++ __pthread_rwlock_tryrdlock F ++ __pthread_rwlock_trywrlock F ++ __pthread_rwlock_unlock F ++ __pthread_rwlock_wrlock F ++ __pwrite64 F ++ __res_state F ++ lseek64 F ++ open64 F ++ pread F ++ pread64 F ++ pthread_attr_getstack F ++ pthread_attr_setstack F ++ pthread_barrier_destroy F ++ pthread_barrier_init F ++ pthread_barrier_wait F ++ pthread_barrierattr_destroy F ++ pthread_barrierattr_init F ++ pthread_barrierattr_setpshared F ++ pthread_condattr_getpshared F ++ pthread_condattr_setpshared F ++ pthread_getcpuclockid F ++ pthread_mutex_timedlock F ++ pthread_mutexattr_getpshared F ++ pthread_mutexattr_setpshared F ++ pthread_rwlock_timedrdlock F ++ pthread_rwlock_timedwrlock F ++ pthread_spin_destroy F ++ pthread_spin_init F ++ pthread_spin_lock F ++ pthread_spin_trylock F ++ pthread_spin_unlock F ++ pthread_yield F ++ pwrite F ++ pwrite64 F ++ sem_timedwait F ++GLIBC_2.2.6 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++ GLIBC_2.2.6 A ++GLIBC_2.2.6 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __nanosleep F ++GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2 A ++GLIBC_2.3.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++ GLIBC_2.3.2 A ++GLIBC_2.3.3 i.86-.*-linux.*/thread sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.3.3 A ++ pthread_barrierattr_getpshared F ++ pthread_condattr_getclock F ++ pthread_condattr_setclock F ++ pthread_timedjoin_np F ++ pthread_tryjoin_np F ++GLIBC_2.3 powerpc64-.*-linux.*/thread ++ GLIBC_2.3 A +--- glibc-2.3.2/abilist/libresolv.abilist 1969-12-31 19:00:00.000000000 -0500 |