]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
ARM: Move PTR_MANGLE et al out of Linux-specific file.
authorRoland McGrath <roland@hack.frob.com>
Fri, 1 Aug 2014 18:28:49 +0000 (11:28 -0700)
committerRoland McGrath <roland@hack.frob.com>
Fri, 1 Aug 2014 18:28:49 +0000 (11:28 -0700)
ChangeLog
sysdeps/arm/sysdep.h
sysdeps/unix/sysv/linux/arm/sysdep.h

index 1f5907ebbcd494ef9c744cedb836c5eaa1c23caa..5aaea438915e07ed2524e3d5dcfb7b8d1e1c59c2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2014-08-01  Roland McGrath  <roland@hack.frob.com>
+
+       * sysdeps/unix/sysv/linux/arm/sysdep.h (PTR_MANGLE_LOAD, PTR_MANGLE)
+       (PTR_MANGLE2, PTR_DEMANGLE, PTR_DEMANGLE2): Move these macros...
+       * sysdeps/arm/sysdep.h: ... here.
+       [!__ASSEMBLER__]: Include <stdint.h>.
+
 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
 
        * include/libc-symbols.h (HAVE_LIBINTL_H): Define macro.
index 7f34ab042ff2b6597ce8a6816c1a06cf4e3555d2..84b07e1476584cb1ef26f08eea2d84774a1b2bfd 100644 (file)
 #include <sysdeps/generic/sysdep.h>
 #include <features.h>
 
+#ifndef __ASSEMBLER__
+# include <stdint.h>
+#endif
+
 /* The __ARM_ARCH define is provided by gcc 4.8.  Construct it otherwise.  */
 #ifndef __ARM_ARCH
 # ifdef __ARM_ARCH_2__
 #else
 # define PC_OFS  8
 #endif
+
+/* Pointer mangling support.  */
+#if (defined NOT_IN_libc && defined IS_IN_rtld) || \
+  (!defined SHARED && (!defined NOT_IN_libc || defined IS_IN_libpthread))
+# ifdef __ASSEMBLER__
+#  define PTR_MANGLE_LOAD(guard, tmp)                                  \
+  LDST_PCREL(ldr, guard, tmp, C_SYMBOL_NAME(__pointer_chk_guard_local));
+#  define PTR_MANGLE(dst, src, guard, tmp)                             \
+  PTR_MANGLE_LOAD(guard, tmp);                                         \
+  PTR_MANGLE2(dst, src, guard)
+/* Use PTR_MANGLE2 for efficiency if guard is already loaded.  */
+#  define PTR_MANGLE2(dst, src, guard)         \
+  eor dst, src, guard
+#  define PTR_DEMANGLE(dst, src, guard, tmp)   \
+  PTR_MANGLE (dst, src, guard, tmp)
+#  define PTR_DEMANGLE2(dst, src, guard)       \
+  PTR_MANGLE2 (dst, src, guard)
+# else
+extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden;
+#  define PTR_MANGLE(var) \
+  (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local)
+#  define PTR_DEMANGLE(var)     PTR_MANGLE (var)
+# endif
+#else
+# ifdef __ASSEMBLER__
+#  define PTR_MANGLE_LOAD(guard, tmp)                                  \
+  LDST_GLOBAL(ldr, guard, tmp, C_SYMBOL_NAME(__pointer_chk_guard));
+#  define PTR_MANGLE(dst, src, guard, tmp)                             \
+  PTR_MANGLE_LOAD(guard, tmp);                                         \
+  PTR_MANGLE2(dst, src, guard)
+/* Use PTR_MANGLE2 for efficiency if guard is already loaded.  */
+#  define PTR_MANGLE2(dst, src, guard)         \
+  eor dst, src, guard
+#  define PTR_DEMANGLE(dst, src, guard, tmp)   \
+  PTR_MANGLE (dst, src, guard, tmp)
+#  define PTR_DEMANGLE2(dst, src, guard)       \
+  PTR_MANGLE2 (dst, src, guard)
+# else
+extern uintptr_t __pointer_chk_guard attribute_relro;
+#  define PTR_MANGLE(var) \
+  (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard)
+#  define PTR_DEMANGLE(var)     PTR_MANGLE (var)
+# endif
+#endif
index 700c1cec7eceafb8f5a34fafa55b39d89e1413ee..52e27d04436c49cfd5228220f42e0ea80434c514 100644 (file)
@@ -435,48 +435,4 @@ __local_syscall_error:                                             \
 
 #endif /* __ASSEMBLER__ */
 
-/* Pointer mangling support.  */
-#if (defined NOT_IN_libc && defined IS_IN_rtld) || \
-  (!defined SHARED && (!defined NOT_IN_libc || defined IS_IN_libpthread))
-# ifdef __ASSEMBLER__
-#  define PTR_MANGLE_LOAD(guard, tmp)                                  \
-  LDST_PCREL(ldr, guard, tmp, C_SYMBOL_NAME(__pointer_chk_guard_local));
-#  define PTR_MANGLE(dst, src, guard, tmp)                             \
-  PTR_MANGLE_LOAD(guard, tmp);                                         \
-  PTR_MANGLE2(dst, src, guard)
-/* Use PTR_MANGLE2 for efficiency if guard is already loaded.  */
-#  define PTR_MANGLE2(dst, src, guard)         \
-  eor dst, src, guard
-#  define PTR_DEMANGLE(dst, src, guard, tmp)   \
-  PTR_MANGLE (dst, src, guard, tmp)
-#  define PTR_DEMANGLE2(dst, src, guard)       \
-  PTR_MANGLE2 (dst, src, guard)
-# else
-extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden;
-#  define PTR_MANGLE(var) \
-  (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local)
-#  define PTR_DEMANGLE(var)     PTR_MANGLE (var)
-# endif
-#else
-# ifdef __ASSEMBLER__
-#  define PTR_MANGLE_LOAD(guard, tmp)                                  \
-  LDST_GLOBAL(ldr, guard, tmp, C_SYMBOL_NAME(__pointer_chk_guard));
-#  define PTR_MANGLE(dst, src, guard, tmp)                             \
-  PTR_MANGLE_LOAD(guard, tmp);                                         \
-  PTR_MANGLE2(dst, src, guard)
-/* Use PTR_MANGLE2 for efficiency if guard is already loaded.  */
-#  define PTR_MANGLE2(dst, src, guard)         \
-  eor dst, src, guard
-#  define PTR_DEMANGLE(dst, src, guard, tmp)   \
-  PTR_MANGLE (dst, src, guard, tmp)
-#  define PTR_DEMANGLE2(dst, src, guard)       \
-  PTR_MANGLE2 (dst, src, guard)
-# else
-extern uintptr_t __pointer_chk_guard attribute_relro;
-#  define PTR_MANGLE(var) \
-  (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard)
-#  define PTR_DEMANGLE(var)     PTR_MANGLE (var)
-# endif
-#endif
-
 #endif /* linux/arm/sysdep.h */