From ce6e047fbb353e1d2faf15ab104a19db609b622b Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 6 Jul 2004 04:26:42 +0000 Subject: Update. 2004-07-05 Ulrich Drepper * elf/dl-init.c: Don't define and use _dl_starting_up if HAVE_INLINED_SYSCALLS is defined and the variable is not used. * elf/dl-support.c: Likewise. * elf/rtld.c: Likewise. * elf/dl-misc.c (_dl_debug_vdprintf): Use writev syscall directly if HAVE_INLINED_SYSCALLS is defined. * sysdeps/powerpc/powerpc64/dl-machine.h: Don't rest _dl_starting_up here. * sysdeps/powerpc/powerpc32/dl-start.S: Likewise. * sysdeps/unix/sysv/linux/configure.in: Define HAVE_INLINED_SYSCALLS. * config.h.in: Add entry for HAVE_INLINED_SYSCALLS. * sysdeps/posix/profil.c: If compiled for ld.so, omit code which is needed to stop profiling. * elf/dl-open.c (dl_open_worker): If a newly opened object is to be profile make sure it cannot be unloaded. * sysdeps/unix/sysv/linux/dl-origin.c: Inline readlink syscall. * sysdeps/unix/sysv/linux/fcntl.c: If compiled without cancellation support, make sure the helper function is inlined. * sysdeps/unix/sysv/linux/pread.c: Likewise. * sysdeps/unix/sysv/linux/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Likewise. --- nptl/ChangeLog | 17 ++++++++++++++ nptl/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h | 26 +++++++++++----------- nptl/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h | 2 +- .../sysdeps/unix/sysv/linux/powerpc/lowlevellock.h | 4 +++- .../sysv/linux/powerpc/powerpc32/sysdep-cancel.h | 4 ++-- .../sysv/linux/powerpc/powerpc64/sysdep-cancel.h | 4 ++-- .../unix/sysv/linux/s390/s390-32/sysdep-cancel.h | 4 ++-- .../unix/sysv/linux/s390/s390-64/sysdep-cancel.h | 4 ++-- nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h | 2 +- .../unix/sysv/linux/sparc/sparc32/sysdep-cancel.h | 2 +- .../unix/sysv/linux/sparc/sparc64/sysdep-cancel.h | 2 +- .../sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h | 4 ++-- 12 files changed, 47 insertions(+), 28 deletions(-) (limited to 'nptl') diff --git a/nptl/ChangeLog b/nptl/ChangeLog index ca178dffc5..f96550a979 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,20 @@ +2004-07-05 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Define NO_CANCELLATION + if no cancellation support is needed. + * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h: Likewise. + * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: Likewise. + + * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Define __NR_futex + only if not already defined. + 2004-07-05 Jakub Jelinek * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_unlock): Use diff --git a/nptl/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h index 0dead61c6a..8142455781 100644 --- a/nptl/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h +++ b/nptl/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek , 2002. @@ -99,30 +99,30 @@ L(ENDFDE): \ .previous -#ifdef SHARED +# ifdef SHARED /* NUL-terminated augmentation string. Note "z" means there is an augmentation value later on. */ -# define AUGMENTATION_STRING .string "zR" -# define AUGMENTATION_PARAM \ +# define AUGMENTATION_STRING .string "zR" +# define AUGMENTATION_PARAM \ /* Augmentation value length. */ \ .uleb128 1; \ /* Encoding: DW_EH_PE_pcrel + DW_EH_PE_sdata4. */ \ .byte 0x1b; -# define AUGMENTATION_PARAM_FDE \ +# define AUGMENTATION_PARAM_FDE \ /* No augmentation data. */ \ .uleb128 0; -# define START_SYMBOL_REF(name) \ +# define START_SYMBOL_REF(name) \ /* PC-relative start address of the code. */ \ .long L(name##START)-. -#else +# else /* No augmentation. */ -# define AUGMENTATION_STRING .ascii "\0" -# define AUGMENTATION_PARAM /* nothing */ -# define AUGMENTATION_PARAM_FDE /* nothing */ -# define START_SYMBOL_REF(name) \ +# define AUGMENTATION_STRING .ascii "\0" +# define AUGMENTATION_PARAM /* nothing */ +# define AUGMENTATION_PARAM_FDE /* nothing */ +# define START_SYMBOL_REF(name) \ /* Absolute start address of the code. */ \ .long L(name##START) -#endif +# endif /* Callframe description for syscalls without parameters. This is very simple. The only place the stack pointer is changed is when the old @@ -373,7 +373,7 @@ #elif !defined __ASSEMBLER__ -/* This code should never be used but we define it anyhow. */ # define SINGLE_THREAD_P (1) +# define NO_CANCELLATION 1 #endif diff --git a/nptl/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h index 619f28c4aa..63aaa96eb0 100644 --- a/nptl/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h +++ b/nptl/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h @@ -216,7 +216,7 @@ __GC_##name: \ #elif !defined __ASSEMBLER__ -/* This code should never be used but we define it anyhow. */ # define SINGLE_THREAD_P (1) +# define NO_CANCELLATION 1 #endif diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h index ead89ba931..2bee000730 100644 --- a/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h +++ b/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h @@ -26,7 +26,9 @@ #include -#define __NR_futex 221 +#ifndef __NR_futex +# define __NR_futex 221 +#endif #define FUTEX_WAIT 0 #define FUTEX_WAKE 1 #define FUTEX_REQUEUE 3 diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h index 41e6af4749..7f5ba4aeef 100644 --- a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h +++ b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h @@ -1,5 +1,5 @@ /* Cancellable system call stubs. Linux/PowerPC version. - Copyright (C) 2003 Free Software Foundation, Inc. + Copyright (C) 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Franz Sirl , 2003. @@ -109,7 +109,7 @@ #elif !defined __ASSEMBLER__ -/* This code should never be used but we define it anyhow. */ # define SINGLE_THREAD_P (1) +# define NO_CANCELLATION 1 #endif diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h index c7fe41dea9..aa993b9a58 100644 --- a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h +++ b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h @@ -1,5 +1,5 @@ /* Cancellable system call stubs. Linux/PowerPC64 version. - Copyright (C) 2003 Free Software Foundation, Inc. + Copyright (C) 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Franz Sirl , 2003. @@ -109,7 +109,7 @@ #elif !defined __ASSEMBLER__ -/* This code should never be used but we define it anyhow. */ # define SINGLE_THREAD_P (1) +# define NO_CANCELLATION 1 #endif diff --git a/nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h index bbbd30b71f..09dac2c90b 100644 --- a/nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h +++ b/nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2003 Free Software Foundation, Inc. +/* Copyright (C) 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek , 2003. @@ -109,7 +109,7 @@ L(pseudo_end): #elif !defined __ASSEMBLER__ -/* This code should never be used but we define it anyhow. */ # define SINGLE_THREAD_P (1) +# define NO_CANCELLATION 1 #endif diff --git a/nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h index 2daf5944e4..f8eb6a9ebc 100644 --- a/nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h +++ b/nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2003 Free Software Foundation, Inc. +/* Copyright (C) 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek , 2003. @@ -122,7 +122,7 @@ extern int __local_multiple_threads attribute_hidden; #elif !defined __ASSEMBLER__ -/* This code should never be used but we define it anyhow. */ # define SINGLE_THREAD_P (1) +# define NO_CANCELLATION 1 #endif diff --git a/nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h index 581046c007..fc3c2340b6 100644 --- a/nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h +++ b/nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h @@ -241,7 +241,7 @@ #elif !defined __ASSEMBLER__ -/* This code should never be used but we define it anyhow. */ # define SINGLE_THREAD_P (1) +# define NO_CANCELLATION 1 #endif diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h index 193f21013c..5edf4b3772 100644 --- a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h +++ b/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h @@ -107,7 +107,7 @@ SYSCALL_ERROR_HANDLER_ENTRY(__syscall_error_handler2) \ #elif !defined __ASSEMBLER__ -/* This code should never be used but we define it anyhow. */ # define SINGLE_THREAD_P (1) +# define NO_CANCELLATION 1 #endif diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h index cc2c2e95eb..d8c65aeffd 100644 --- a/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h +++ b/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h @@ -101,7 +101,7 @@ SYSCALL_ERROR_HANDLER_ENTRY(__syscall_error_handler2) \ #elif !defined __ASSEMBLER__ -/* This code should never be used but we define it anyhow. */ # define SINGLE_THREAD_P (1) +# define NO_CANCELLATION 1 #endif diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h index f8d726ddd8..d47c1b80dc 100644 --- a/nptl/sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h +++ b/nptl/sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek , 2002. @@ -132,7 +132,7 @@ extern int __local_multiple_threads attribute_hidden; #elif !defined __ASSEMBLER__ -/* This code should never be used but we define it anyhow. */ # define SINGLE_THREAD_P (1) +# define NO_CANCELLATION 1 #endif -- cgit v1.2.3