]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Rejigger i386 dl-sysdep.h files.
authorRoland McGrath <roland@hack.frob.com>
Mon, 4 Mar 2013 17:40:25 +0000 (09:40 -0800)
committerRoland McGrath <roland@hack.frob.com>
Mon, 4 Mar 2013 17:40:25 +0000 (09:40 -0800)
nptl/ChangeLog
nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h
nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h

index 2374bbfd1783d8eebacd46e16d690bdca9e968e2..eb135896fa70099136c7494531559de09d3c6922 100644 (file)
@@ -1,3 +1,16 @@
+2013-03-04  Roland McGrath  <roland@hack.frob.com>
+
+       * sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h:
+       Change multiple inclusion guard to _LINUX_I686_DL_SYSDEP_H.
+       Use #include_next.
+       (HAVE_DL_DISCOVER_OSVERSION): Remove definition, now redundant.
+       (RTLD_PRIVATE_ERRNO): Likewise.
+       (NEED_DL_SYSINFO, DL_SYSINFO_DEFAULT, DL_SYSINFO_IMPLEMENTATION):
+       Move macros and associated declaration to ...
+       * sysdeps/unix/sysv/linux/i386/dl-sysdep.h: ... here.
+       Change multiple include guard to _LINUX_I386_DL_SYSDEP_H.
+       Use #include_next.
+
 2013-03-01  Carlos O'Donell  <carlos@redhat.com>
 
        * Makefile (tests): Revert last change.
index 29a77a08fa8365c3dfa67897063dd9afe33271ab..a89eb0a62f988c940d970adca61cc64f71f4642b 100644 (file)
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#ifndef _DL_SYSDEP_H
-# include "i686/dl-sysdep.h"
+#ifndef _LINUX_I386_DL_SYSDEP_H
 
-/* sysenter/syscall is not useful on i386 through i586, but the dynamic
-   linker and dl code in libc.a has to be able to load i686 compiled
-   libraries.  */
-# undef USE_DL_SYSINFO
+#include_next <dl-sysdep.h>
+
+/* Traditionally system calls have been made using int $0x80.  A
+   second method was introduced which, if possible, will use the
+   sysenter/syscall instructions.  To signal the presence and where to
+   find the code the kernel passes an AT_SYSINFO value in the
+   auxiliary vector to the application.  */
+#define NEED_DL_SYSINFO        1
+
+#ifndef __ASSEMBLER__
+extern void _dl_sysinfo_int80 (void) attribute_hidden;
+# define DL_SYSINFO_DEFAULT (uintptr_t) _dl_sysinfo_int80
+# define DL_SYSINFO_IMPLEMENTATION \
+  asm (".text\n\t"                                                           \
+       ".type _dl_sysinfo_int80,@function\n\t"                               \
+       ".hidden _dl_sysinfo_int80\n"                                         \
+       CFI_STARTPROC "\n"                                                    \
+       "_dl_sysinfo_int80:\n\t"                                                      \
+       "int $0x80;\n\t"                                                              \
+       "ret;\n\t"                                                            \
+       CFI_ENDPROC "\n"                                                              \
+       ".size _dl_sysinfo_int80,.-_dl_sysinfo_int80\n\t"                     \
+       ".previous");
+#endif
 
 #endif /* dl-sysdep.h */
index 466f0177c3fd290447f5d0adf24f8f4ed914181f..c59c8dbbdb846e7ed9b1d58d74b42950eb63eef1 100644 (file)
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#ifndef _DL_SYSDEP_H
-#define _DL_SYSDEP_H   1
+#ifndef _LINUX_I686_DL_SYSDEP_H
+#define _LINUX_I686_DL_SYSDEP_H        1
 
-/* This macro must be defined to either 0 or 1.
+/* The i386 file does most of the work.  */
+#include_next <dl-sysdep.h>
 
-   If 1, then an errno global variable hidden in ld.so will work right with
-   all the errno-using libc code compiled for ld.so, and there is never a
-   need to share the errno location with libc.  This is appropriate only if
-   all the libc functions that ld.so uses are called without PLT and always
-   get the versions linked into ld.so rather than the libc ones.  */
-
-#ifdef IS_IN_rtld
-# define RTLD_PRIVATE_ERRNO 1
-#else
-# define RTLD_PRIVATE_ERRNO 0
-#endif
-
-/* Traditionally system calls have been made using int $0x80.  A
-   second method was introduced which, if possible, will use the
-   sysenter/syscall instructions.  To signal the presence and where to
-   find the code the kernel passes an AT_SYSINFO value in the
-   auxiliary vector to the application.  */
-#define NEED_DL_SYSINFO        1
+/* Actually use the vDSO entry point for syscalls.
+   i386/dl-sysdep.h arranges to support it, but not use it.  */
 #define USE_DL_SYSINFO 1
 
-#if defined NEED_DL_SYSINFO && !defined __ASSEMBLER__
-extern void _dl_sysinfo_int80 (void) attribute_hidden;
-# define DL_SYSINFO_DEFAULT (uintptr_t) _dl_sysinfo_int80
-# define DL_SYSINFO_IMPLEMENTATION \
-  asm (".text\n\t"                                                           \
-       ".type _dl_sysinfo_int80,@function\n\t"                               \
-       ".hidden _dl_sysinfo_int80\n"                                         \
-       CFI_STARTPROC "\n"                                                    \
-       "_dl_sysinfo_int80:\n\t"                                                      \
-       "int $0x80;\n\t"                                                              \
-       "ret;\n\t"                                                            \
-       CFI_ENDPROC "\n"                                                              \
-       ".size _dl_sysinfo_int80,.-_dl_sysinfo_int80\n\t"                     \
-       ".previous");
-#endif
-
-
-#ifndef __ASSEMBLER__
-/* Get version of the OS.  */
-extern int _dl_discover_osversion (void) attribute_hidden;
-# define HAVE_DL_DISCOVER_OSVERSION    1
-#endif
-
 #endif /* dl-sysdep.h */