From 2bdd4ca6b6c38367e301042c2247395568c63ebd Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Fri, 15 Feb 2013 00:51:53 +0000 Subject: [PATCH] Remove miscellaneous bounded-pointers relics in C code. --- ChangeLog | 15 +++++++++++++++ config.h.in | 2 +- elf/dl-runtime.c | 2 +- ports/ChangeLog.am33 | 6 ++++++ ports/sysdeps/am33/dl-machine.h | 4 ++-- string/bits/string2.h | 2 +- sysdeps/i386/dl-machine.h | 2 +- sysdeps/unix/sysv/linux/shmat.c | 9 --------- sysdeps/x86/bits/string.h | 2 +- 9 files changed, 28 insertions(+), 16 deletions(-) diff --git a/ChangeLog b/ChangeLog index d28d4179d7..7013c09f64 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,20 @@ 2013-02-14 Joseph Myers + [BZ #13550] + * config.h.in [USE_REGPARMS && !PROF && !__BOUNDED_POINTERS__]: + Remove __BOUNDED_POINTERS__ from condition. + * elf/dl-runtime.c [!PROF && !__BOUNDED_POINTERS__]: Likewise. + * string/bits/string2.h [!__NO_STRING_INLINES && + !__BOUNDED_POINTERS__]: Likewise. + * sysdeps/i386/dl-machine.h [!PROF && !__BOUNDED_POINTERS__]: + Likewise. + * sysdeps/unix/sysv/linux/shmat.c (shmat) [__BOUNDED_POINTERS__]: + Remove conditional code. + * sysdeps/x86/bits/string.h [!__NO_STRING_INLINES && + __USE_STRING_INLINES && __GNUC__ && __GNUC__ >= 2 && + !__BOUNDED_POINTERS__]: Remove __BOUNDED_POINTERS__ from + condition. + [BZ #13550] * csu/libc-start.c: Do not include . [!LIBC_START_MAIN] (LIBC_START_MAIN): Do not use BP_SYM. diff --git a/config.h.in b/config.h.in index f3fe6b88be..8c2479ef48 100644 --- a/config.h.in +++ b/config.h.in @@ -115,7 +115,7 @@ /* Defined to some form of __attribute__ ((...)) if the compiler supports a different, more efficient calling convention. */ -#if defined USE_REGPARMS && !defined PROF && !defined __BOUNDED_POINTERS__ +#if defined USE_REGPARMS && !defined PROF # define internal_function __attribute__ ((regparm (3), stdcall)) #endif diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c index 3ca02f51b9..828474838c 100644 --- a/elf/dl-runtime.c +++ b/elf/dl-runtime.c @@ -148,7 +148,7 @@ _dl_fixup ( return elf_machine_fixup_plt (l, result, reloc, rel_addr, value); } -#if !defined PROF && !__BOUNDED_POINTERS__ +#ifndef PROF DL_FIXUP_VALUE_TYPE __attribute ((noinline)) ARCH_FIXUP_ATTRIBUTE _dl_profile_fixup ( diff --git a/ports/ChangeLog.am33 b/ports/ChangeLog.am33 index 15138e336a..2e5c0caac0 100644 --- a/ports/ChangeLog.am33 +++ b/ports/ChangeLog.am33 @@ -1,3 +1,9 @@ +2013-02-14 Joseph Myers + + [BZ #13550] + * sysdeps/am33/dl-machine.h [!PROF && !__BOUNDED_POINTERS__]: + Remove __BOUNDED_POINTERS__ from condition. + 2013-02-13 Joseph Myers [BZ #13550] diff --git a/ports/sysdeps/am33/dl-machine.h b/ports/sysdeps/am33/dl-machine.h index f22fee875e..924319d039 100644 --- a/ports/sysdeps/am33/dl-machine.h +++ b/ports/sysdeps/am33/dl-machine.h @@ -55,7 +55,7 @@ elf_machine_load_address (void) return off + gotaddr - gotval; } -#if !defined PROF && !__BOUNDED_POINTERS__ +#ifndef PROF /* We add a declaration of this function here so that in dl-runtime.c the ELF_MACHINE_RUNTIME_TRAMPOLINE macro really can pass the parameters in registers. @@ -114,7 +114,7 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile) /* This code is used in dl-runtime.c to call the `fixup' function and then redirect to the address it returns. */ -#if !defined PROF && !__BOUNDED_POINTERS__ +#ifndef PROF # define ELF_MACHINE_RUNTIME_TRAMPOLINE asm ("\ .text\n\ .globl _dl_runtime_resolve\n\ diff --git a/string/bits/string2.h b/string/bits/string2.h index 8b6a36fab5..94f5ee917f 100644 --- a/string/bits/string2.h +++ b/string/bits/string2.h @@ -21,7 +21,7 @@ # error "Never use directly; include instead." #endif -#if !defined __NO_STRING_INLINES && !defined __BOUNDED_POINTERS__ +#ifndef __NO_STRING_INLINES /* Unlike the definitions in the header the definitions contained here are not optimized down to assembler diff --git a/sysdeps/i386/dl-machine.h b/sysdeps/i386/dl-machine.h index 1f2cb60163..0b4c46736d 100644 --- a/sysdeps/i386/dl-machine.h +++ b/sysdeps/i386/dl-machine.h @@ -144,7 +144,7 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile) #ifdef IN_DL_RUNTIME -# if !defined PROF && !__BOUNDED_POINTERS__ +# ifndef PROF /* We add a declaration of this function here so that in dl-runtime.c the ELF_MACHINE_RUNTIME_TRAMPOLINE macro really can pass the parameters in registers. diff --git a/sysdeps/unix/sysv/linux/shmat.c b/sysdeps/unix/sysv/linux/shmat.c index 45f0dea65a..bac1b290ac 100644 --- a/sysdeps/unix/sysv/linux/shmat.c +++ b/sysdeps/unix/sysv/linux/shmat.c @@ -38,15 +38,6 @@ shmat (shmid, shmaddr, shmflg) unsigned long resultvar; void *raddr; -#if __BOUNDED_POINTERS__ - size_t length = ~0; - struct shmid_ds shmds; - /* It's unfortunate that we need to make another system call to get - the shared memory segment length... */ - if (shmctl (shmid, IPC_STAT, &shmds) == 0) - length = shmds.shm_segsz; -#endif - resultvar = INTERNAL_SYSCALL (ipc, err, 5, IPCOP_shmat, shmid, shmflg, (long int) &raddr, diff --git a/sysdeps/x86/bits/string.h b/sysdeps/x86/bits/string.h index 41d204199c..24b64ec94d 100644 --- a/sysdeps/x86/bits/string.h +++ b/sysdeps/x86/bits/string.h @@ -36,7 +36,7 @@ /* We only provide optimizations if the user selects them and if GNU CC is used. */ # if !defined __NO_STRING_INLINES && defined __USE_STRING_INLINES \ - && defined __GNUC__ && __GNUC__ >= 2 && !__BOUNDED_POINTERS__ + && defined __GNUC__ && __GNUC__ >= 2 # ifndef __STRING_INLINE # ifndef __extern_inline