From e3c4f39156d153c398bb6dc1b0693f22d3aa9227 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Mon, 17 Oct 2005 03:01:15 +0000 Subject: [PATCH] Updated to fedora-glibc-2_3-20051017T0259 --- ChangeLog | 54 +++++++++++++++++++ fedora/branch.mk | 4 +- linuxthreads/ChangeLog | 6 +++ .../sysdeps/unix/sysv/linux/ia64/pt-initfini.c | 2 + localedata/ChangeLog | 1 + mach/shortcut.awk | 2 + misc/error.c | 4 +- sysdeps/alpha/ldiv.S | 2 + sysdeps/ia64/elf/initfini.c | 4 +- sysdeps/mach/hurd/mig-reply.c | 4 +- sysdeps/mach/hurd/profil.c | 4 +- sysdeps/mach/hurd/setitimer.c | 12 +++-- sysdeps/posix/getaddrinfo.c | 10 ++-- sysdeps/unix/alpha/sysdep.h | 63 ++++++++++++++-------- sysdeps/unix/sysv/linux/powerpc/sys/procfs.h | 17 +++--- 15 files changed, 139 insertions(+), 50 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5cec35b4e9..7d907ffbf6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,35 @@ +2005-08-05 Alfred M. Szmidt + + [BZ #1252] + * sysdeps/mach/hurd/setitimer.c (restart_itimer): Move static fn + forward decl out of function body. + * sysdeps/mach/hurd/profil.c: Likewise. + +2005-09-19 Richard Henderson + + [BZ #1358] + * sysdeps/unix/alpha/sysdep.h (inline_syscall1): Copy argument(s) + to a temporary first. + (inline_syscall2, inline_syscall3, inline_syscall4): Likewise. + (inline_syscall5, inline_syscall6): Likewise. + + * sysdeps/alpha/ldiv.S (lldiv): Add alias. + +2005-08-05 Roland McGrath + + [BZ #1251] + * mach/shortcut.awk: Ignore `weak_alias' lines. + Reported by Alfred M. Szmidt . + + [BZ #1250] + * sysdeps/mach/hurd/mig-reply.c (reply_port): Don't use ?: as lvalue. + Reported by Alfred M. Szmidt . + +2005-07-28 Thomas Schwinge + + [BZ #1137] + * misc/error.c [_LIBC]: Include and . + 2005-07-20 Ulrich Drepper [BZ #1138] @@ -212,6 +244,13 @@ * iconvdata/ibm939.c (BODY): Avoid segfaults with input characters and above. +2005-05-17 Neal H. Walfield + + [BZ #1350] + * sysdeps/posix/getaddrinfo.c (gaih_local): Check [_HAVE_SA_LEN] + instead of [SALEN]. + (gaih_inet): Likewise. + 2005-05-06 Jakub Jelinek [BZ #934] @@ -333,6 +372,11 @@ * posix/fnmatch.c (fnmatch): For short patterns or strings attempt to avoid calling mbsrtowcs twice. +2005-02-10 H.J. Lu + + [BZ #1076] + * sysdeps/ia64/elf/initfini.c: Add local _init and _fini labels. + 2005-02-27 Denis Barbier [BZ #549] @@ -761,6 +805,12 @@ * elf/unload3mod3.c: New file. * elf/unload3mod4.c: New file. +2005-02-21 Alan Modra + + [BZ #1394] + * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h (elf_vrreg_t): Don't + use __uint128_t. + 2005-03-01 Alfred M. Szmidt [BZ #777] @@ -861,6 +911,10 @@ * posix/unistd.h: symlink and readlink are unconditionally available in the 2001 spec. +2005-02-16 Roland McGrath + + * sysdeps/posix/getaddrinfo.c (gaih_inet): Fix type of ADDR local. + 2004-07-23 Jakub Jelinek [BZ #284] diff --git a/fedora/branch.mk b/fedora/branch.mk index 960d775026..b812790c31 100644 --- a/fedora/branch.mk +++ b/fedora/branch.mk @@ -3,5 +3,5 @@ glibc-branch := fedora-2_3 glibc-base := glibc-2_3-branch DIST_BRANCH := FC-3 COLLECTION := dist-fc3-updates-candidate -fedora-2_3-sync-date := 2005-07-29 23:36 UTC -fedora-2_3-sync-tag := fedora-glibc-2_3-20050729T2336 +fedora-2_3-sync-date := 2005-10-17 02:59 UTC +fedora-2_3-sync-tag := fedora-glibc-2_3-20051017T0259 diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index 4c80a83534..f9dedbb503 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,9 @@ +2005-02-21 H.J. Lu + + [BZ #1076] + * sysdeps/unix/sysv/linux/ia64/pt-initfini.c: Add local _init + and _fini labels. + 2005-02-09 Daniel Jacobowitz [BZ #740] diff --git a/linuxthreads/sysdeps/unix/sysv/linux/ia64/pt-initfini.c b/linuxthreads/sysdeps/unix/sysv/linux/ia64/pt-initfini.c index 85fd33f4a8..af8a63c163 100644 --- a/linuxthreads/sysdeps/unix/sysv/linux/ia64/pt-initfini.c +++ b/linuxthreads/sysdeps/unix/sysv/linux/ia64/pt-initfini.c @@ -87,6 +87,7 @@ _init:\n\ /*@_init_EPILOG_BEGINS*/\n\ .section .init\n\ .proc _init#\n\ +_init:\n\ .prologue\n\ .save ar.pfs, r34\n\ .vframe r32\n\ @@ -122,6 +123,7 @@ _fini:\n\ /*@_fini_EPILOG_BEGINS*/\n\ .section .fini\n\ .proc _fini#\n\ +_fini:\n\ .prologue\n\ .save ar.pfs, r34\n\ .vframe r32\n\ diff --git a/localedata/ChangeLog b/localedata/ChangeLog index c04fe161e5..95133d9883 100644 --- a/localedata/ChangeLog +++ b/localedata/ChangeLog @@ -252,6 +252,7 @@ 2004-10-04 Ulrich Drepper + [BZ #413] * locales/gu_IN: Update various incorrect and missing information. Patch by Ankit Patel . diff --git a/mach/shortcut.awk b/mach/shortcut.awk index 1857998122..ea283d49ba 100644 --- a/mach/shortcut.awk +++ b/mach/shortcut.awk @@ -7,6 +7,8 @@ BEGIN { print "/* This file is generated by shortcut.awk. */"; $1 == "LINTLIBRARY" { print "#include "; next } +$1 == "weak_alias" { next } + # Copy the first line of the definition, but # replace the function name (RPC) with CALL. $NF == rpc \ diff --git a/misc/error.c b/misc/error.c index b608913fae..e7819de54a 100644 --- a/misc/error.c +++ b/misc/error.c @@ -1,5 +1,5 @@ /* Error handler for noninteractive utilities - Copyright (C) 1990-1998, 2000-2003, 2004 Free Software Foundation, Inc. + Copyright (C) 1990-1998,2000-2003,2004,2005 Free Software Foundation, Inc. This file is part of the GNU C Library. Its master source is NOT part of the C library, however. The master source lives in /gd/gnu/lib. @@ -27,6 +27,8 @@ #include #include #ifdef _LIBC +# include +# include # include # define mbsrtowcs __mbsrtowcs #endif diff --git a/sysdeps/alpha/ldiv.S b/sysdeps/alpha/ldiv.S index 3909672782..0a971a7ed0 100644 --- a/sysdeps/alpha/ldiv.S +++ b/sysdeps/alpha/ldiv.S @@ -214,3 +214,5 @@ $divbyzero: ret .end ldiv + +weak_alias (ldiv, lldiv) diff --git a/sysdeps/ia64/elf/initfini.c b/sysdeps/ia64/elf/initfini.c index 59674fe6f2..3aa44de8f1 100644 --- a/sysdeps/ia64/elf/initfini.c +++ b/sysdeps/ia64/elf/initfini.c @@ -116,13 +116,14 @@ __asm__ (".section .init\n" "/*@_init_PROLOG_ENDS*/\n" "\n" "/*@_init_EPILOG_BEGINS*/\n" +" .section .init\n" " .proc _init#\n" +"_init:\n" " .prologue\n" " .save ar.pfs, r34\n" " .vframe r32\n" " .save rp, r33\n" " .body\n" -" .section .init\n" " .regstk 0,2,0,0\n" " mov r12 = r32\n" " mov ar.pfs = r34\n" @@ -155,6 +156,7 @@ __asm__ (".section .init\n" "/*@_fini_EPILOG_BEGINS*/\n" " .section .fini\n" " .proc _fini#\n" +"_fini:\n" " .prologue\n" " .save ar.pfs, r34\n" " .vframe r32\n" diff --git a/sysdeps/mach/hurd/mig-reply.c b/sysdeps/mach/hurd/mig-reply.c index 78bac4bffc..5e40c147b4 100644 --- a/sysdeps/mach/hurd/mig-reply.c +++ b/sysdeps/mach/hurd/mig-reply.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1994,1995,1996,1997,2005 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -22,7 +22,7 @@ #define GETPORT \ mach_port_t *portloc = \ (mach_port_t *) __hurd_threadvar_location (_HURD_THREADVAR_MIG_REPLY) -#define reply_port (use_threadvar ? *portloc : global_reply_port) +#define reply_port (*(use_threadvar ? portloc : &global_reply_port)) static int use_threadvar; static mach_port_t global_reply_port; diff --git a/sysdeps/mach/hurd/profil.c b/sysdeps/mach/hurd/profil.c index d212872643..0426f67b6f 100644 --- a/sysdeps/mach/hurd/profil.c +++ b/sysdeps/mach/hurd/profil.c @@ -1,5 +1,5 @@ /* Low-level statistical profiling support function. Mach/Hurd version. - Copyright (C) 1995, 1996, 1997, 2000, 2002 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 2000, 2002, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -49,6 +49,7 @@ static kern_return_t profil_task_get_sampled_pcs (mach_port_t, sampled_pc_array_t, mach_msg_type_number_t *); static void fetch_samples (void); +static void profile_waiter (void); /* Enable statistical profiling, writing samples of the PC into at most SIZE bytes of SAMPLE_BUFFER; every processor clock tick while profiling @@ -64,7 +65,6 @@ update_waiter (u_short *sample_buffer, size_t size, size_t offset, u_int scale) if (profile_thread == MACH_PORT_NULL) { /* Set up the profiling collector thread. */ - static void profile_waiter (void); err = __thread_create (__mach_task_self (), &profile_thread); if (! err) err = __mach_setup_thread (__mach_task_self (), profile_thread, diff --git a/sysdeps/mach/hurd/setitimer.c b/sysdeps/mach/hurd/setitimer.c index 9fef56287d..fec64a8cb5 100644 --- a/sysdeps/mach/hurd/setitimer.c +++ b/sysdeps/mach/hurd/setitimer.c @@ -1,4 +1,5 @@ -/* Copyright (C) 1994,1995,1996,1997,2000,2001 Free Software Foundation, Inc. +/* Copyright (C) 1994,1995,1996,1997,2000,2001,2005 + Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -41,7 +42,7 @@ static void quantize_timeval (struct timeval *tv) { static time_t quantum = -1; - + if (quantum == -1) quantum = 1000000 / __getclktck (); @@ -127,14 +128,15 @@ timer_thread (void) } +/* Forward declaration. */ +static int setitimer_locked (const struct itimerval *new, + struct itimerval *old, void *crit); + static sighandler_t restart_itimer (struct hurd_signal_preemptor *preemptor, struct hurd_sigstate *ss, int *signo, struct hurd_signal_detail *detail) { - static int setitimer_locked (const struct itimerval *new, - struct itimerval *old, void *crit); - /* This function gets called in the signal thread each time a SIGALRM is arriving (even if blocked). */ struct itimerval it; diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c index c9081345ab..d97b95b5e0 100644 --- a/sysdeps/posix/getaddrinfo.c +++ b/sysdeps/posix/getaddrinfo.c @@ -196,10 +196,10 @@ gaih_local (const char *name, const struct gaih_service *service, (*pai)->ai_addrlen = sizeof (struct sockaddr_un); (*pai)->ai_addr = (void *) (*pai) + sizeof (struct addrinfo); -#if SALEN +#ifdef _HAVE_SA_LEN ((struct sockaddr_un *) (*pai)->ai_addr)->sun_len = sizeof (struct sockaddr_un); -#endif /* SALEN */ +#endif /* _HAVE_SA_LEN */ ((struct sockaddr_un *)(*pai)->ai_addr)->sun_family = AF_LOCAL; memset(((struct sockaddr_un *)(*pai)->ai_addr)->sun_path, 0, UNIX_PATH_MAX); @@ -680,7 +680,7 @@ gaih_inet (const char *name, const struct gaih_service *service, h->h_length); else { - int32_t *addr = (uint32_t *) (*pat)->addr; + uint32_t *addr = (uint32_t *) (*pat)->addr; addr[3] = *(uint32_t *) h->h_addr_list[i]; addr[2] = htonl (0xffff); addr[1] = 0; @@ -1076,9 +1076,9 @@ gaih_inet (const char *name, const struct gaih_service *service, ai->ai_canonname = (char *) canon; canon = NULL; -#if SALEN +#ifdef _HAVE_SA_LEN ai->ai_addr->sa_len = socklen; -#endif /* SALEN */ +#endif /* _HAVE_SA_LEN */ ai->ai_addr->sa_family = family; if (family == AF_INET6) diff --git a/sysdeps/unix/alpha/sysdep.h b/sysdeps/unix/alpha/sysdep.h index f9f1dd6e41..a154db8e41 100644 --- a/sysdeps/unix/alpha/sysdep.h +++ b/sysdeps/unix/alpha/sysdep.h @@ -242,9 +242,10 @@ __LABEL(name) \ register long _sc_0 inline_syscall_r0_asm; \ register long _sc_16 __asm__("$16"); \ register long _sc_19 __asm__("$19"); \ + register long _tmp_16 = (long) (arg1); \ \ _sc_0 = name; \ - _sc_16 = (long) (arg1); \ + _sc_16 = _tmp_16; \ __asm__ __volatile__ \ ("callsys # %0 %1 <= %2 %3" \ : inline_syscall_r0_out_constraint (_sc_0), \ @@ -261,10 +262,12 @@ __LABEL(name) \ register long _sc_16 __asm__("$16"); \ register long _sc_17 __asm__("$17"); \ register long _sc_19 __asm__("$19"); \ + register long _tmp_16 = (long) (arg1); \ + register long _tmp_17 = (long) (arg2); \ \ _sc_0 = name; \ - _sc_16 = (long) (arg1); \ - _sc_17 = (long) (arg2); \ + _sc_16 = _tmp_16; \ + _sc_17 = _tmp_17; \ __asm__ __volatile__ \ ("callsys # %0 %1 <= %2 %3 %4" \ : inline_syscall_r0_out_constraint (_sc_0), \ @@ -282,11 +285,14 @@ __LABEL(name) \ register long _sc_17 __asm__("$17"); \ register long _sc_18 __asm__("$18"); \ register long _sc_19 __asm__("$19"); \ + register long _tmp_16 = (long) (arg1); \ + register long _tmp_17 = (long) (arg2); \ + register long _tmp_18 = (long) (arg3); \ \ _sc_0 = name; \ - _sc_16 = (long) (arg1); \ - _sc_17 = (long) (arg2); \ - _sc_18 = (long) (arg3); \ + _sc_16 = _tmp_16; \ + _sc_17 = _tmp_17; \ + _sc_18 = _tmp_18; \ __asm__ __volatile__ \ ("callsys # %0 %1 <= %2 %3 %4 %5" \ : inline_syscall_r0_out_constraint (_sc_0), \ @@ -305,12 +311,16 @@ __LABEL(name) \ register long _sc_17 __asm__("$17"); \ register long _sc_18 __asm__("$18"); \ register long _sc_19 __asm__("$19"); \ + register long _tmp_16 = (long) (arg1); \ + register long _tmp_17 = (long) (arg2); \ + register long _tmp_18 = (long) (arg3); \ + register long _tmp_19 = (long) (arg4); \ \ _sc_0 = name; \ - _sc_16 = (long) (arg1); \ - _sc_17 = (long) (arg2); \ - _sc_18 = (long) (arg3); \ - _sc_19 = (long) (arg4); \ + _sc_16 = _tmp_16; \ + _sc_17 = _tmp_17; \ + _sc_18 = _tmp_18; \ + _sc_19 = _tmp_19; \ __asm__ __volatile__ \ ("callsys # %0 %1 <= %2 %3 %4 %5 %6" \ : inline_syscall_r0_out_constraint (_sc_0), \ @@ -330,13 +340,18 @@ __LABEL(name) \ register long _sc_18 __asm__("$18"); \ register long _sc_19 __asm__("$19"); \ register long _sc_20 __asm__("$20"); \ + register long _tmp_16 = (long) (arg1); \ + register long _tmp_17 = (long) (arg2); \ + register long _tmp_18 = (long) (arg3); \ + register long _tmp_19 = (long) (arg4); \ + register long _tmp_20 = (long) (arg5); \ \ _sc_0 = name; \ - _sc_16 = (long) (arg1); \ - _sc_17 = (long) (arg2); \ - _sc_18 = (long) (arg3); \ - _sc_19 = (long) (arg4); \ - _sc_20 = (long) (arg5); \ + _sc_16 = _tmp_16; \ + _sc_17 = _tmp_17; \ + _sc_18 = _tmp_18; \ + _sc_19 = _tmp_19; \ + _sc_20 = _tmp_20; \ __asm__ __volatile__ \ ("callsys # %0 %1 <= %2 %3 %4 %5 %6 %7" \ : inline_syscall_r0_out_constraint (_sc_0), \ @@ -357,14 +372,20 @@ __LABEL(name) \ register long _sc_19 __asm__("$19"); \ register long _sc_20 __asm__("$20"); \ register long _sc_21 __asm__("$21"); \ + register long _tmp_16 = (long) (arg1); \ + register long _tmp_17 = (long) (arg2); \ + register long _tmp_18 = (long) (arg3); \ + register long _tmp_19 = (long) (arg4); \ + register long _tmp_20 = (long) (arg5); \ + register long _tmp_21 = (long) (arg6); \ \ _sc_0 = name; \ - _sc_16 = (long) (arg1); \ - _sc_17 = (long) (arg2); \ - _sc_18 = (long) (arg3); \ - _sc_19 = (long) (arg4); \ - _sc_20 = (long) (arg5); \ - _sc_21 = (long) (arg6); \ + _sc_16 = _tmp_16; \ + _sc_17 = _tmp_17; \ + _sc_18 = _tmp_18; \ + _sc_19 = _tmp_19; \ + _sc_20 = _tmp_20; \ + _sc_21 = _tmp_21; \ __asm__ __volatile__ \ ("callsys # %0 %1 <= %2 %3 %4 %5 %6 %7 %8" \ : inline_syscall_r0_out_constraint (_sc_0), \ diff --git a/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h b/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h index 8e694c2ad3..aa2e54284d 100644 --- a/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h +++ b/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h @@ -32,9 +32,9 @@ __BEGIN_DECLS -/* These definitions are normally provided by ucontext.h via - asm/sigcontext.h, asm/ptrace.h, and asm/elf.h. Otherwise we define - them here. */ +/* These definitions are normally provided by ucontext.h via + asm/sigcontext.h, asm/ptrace.h, and asm/elf.h. Otherwise we define + them here. */ #ifndef __PPC64_ELF_H #define ELF_NGREG 48 /* includes nip, msr, lr, etc. */ #define ELF_NFPREG 33 /* includes fpscr */ @@ -46,15 +46,10 @@ typedef elf_greg_t elf_gregset_t[ELF_NGREG]; typedef double elf_fpreg_t; typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; -/* gcc 3.1 and newer support __uint128_t. */ -#if !__GNUC_PREREQ(3,1) -typedef struct { - unsigned long u[4]; -} __attribute((aligned(16))) __uint128_t; -#endif - /* Altivec registers */ -typedef __uint128_t elf_vrreg_t; +typedef struct { + unsigned int u[4]; +} __attribute__ ((aligned (16))) elf_vrreg_t; typedef elf_vrreg_t elf_vrregset_t[ELF_NVRREG]; #endif -- 2.11.4.GIT