summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2013-02-15 00:51:53 +0000
committerJoseph Myers <joseph@codesourcery.com>2013-02-15 00:51:53 +0000
commit2bdd4ca6b6c38367e301042c2247395568c63ebd (patch)
tree8fb33d2cfb3fc67852327483322747eceefb91ae
parentdd395cf1103ec8e26affcf501791505ded4d31c6 (diff)
Remove miscellaneous bounded-pointers relics in C code.
-rw-r--r--ChangeLog15
-rw-r--r--config.h.in2
-rw-r--r--elf/dl-runtime.c2
-rw-r--r--ports/ChangeLog.am336
-rw-r--r--ports/sysdeps/am33/dl-machine.h4
-rw-r--r--string/bits/string2.h2
-rw-r--r--sysdeps/i386/dl-machine.h2
-rw-r--r--sysdeps/unix/sysv/linux/shmat.c9
-rw-r--r--sysdeps/x86/bits/string.h2
9 files changed, 28 insertions, 16 deletions
diff --git a/ChangeLog b/ChangeLog
index d28d4179d7..7013c09f64 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,21 @@
2013-02-14 Joseph Myers <joseph@codesourcery.com>
[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 <bp-sym.h>.
[!LIBC_START_MAIN] (LIBC_START_MAIN): Do not use BP_SYM.
* elf/dl-open.c: Do not include <bp-sym.h>.
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 <joseph@codesourcery.com>
+
+ [BZ #13550]
+ * sysdeps/am33/dl-machine.h [!PROF && !__BOUNDED_POINTERS__]:
+ Remove __BOUNDED_POINTERS__ from condition.
+
2013-02-13 Joseph Myers <joseph@codesourcery.com>
[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 <bits/string2.h> directly; include <string.h> instead."
#endif
-#if !defined __NO_STRING_INLINES && !defined __BOUNDED_POINTERS__
+#ifndef __NO_STRING_INLINES
/* Unlike the definitions in the header <bits/string.h> 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