]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
ia64: Always define IA64_USE_NEW_STUB as a flag macro
authorFlorian Weimer <fweimer@redhat.com>
Mon, 9 May 2022 16:15:16 +0000 (18:15 +0200)
committerFlorian Weimer <fweimer@redhat.com>
Thu, 19 May 2022 10:13:53 +0000 (12:13 +0200)
And keep the previous definition if it exists.  This allows
disabling IA64_USE_NEW_STUB while keeping USE_DL_SYSINFO defined.

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
(cherry picked from commit 18bd9c3d3b1b6a9182698c85354578d1d58e9d64)

sysdeps/unix/sysv/linux/ia64/brk.c
sysdeps/unix/sysv/linux/ia64/sysdep.h

index cf2c5bd667fb44321a3e84856caf2a168de6676c..61d8fa260eb59d1efa96cc60417088f96598eeb1 100644 (file)
@@ -16,7 +16,6 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
-#include <dl-sysdep.h>
-/* brk is used by statup before TCB is properly set.  */
-#undef USE_DL_SYSINFO
+/* brk is used by startup before TCB is properly set up.  */
+#define IA64_USE_NEW_STUB 0
 #include <sysdeps/unix/sysv/linux/brk.c>
index 7198c192a03b7676f8311cad42793e6bb6d59036..f1c81a66833941cc79a30399d713cca18187b7c6 100644 (file)
 #undef SYS_ify
 #define SYS_ify(syscall_name)  __NR_##syscall_name
 
-#if defined USE_DL_SYSINFO \
-       && (IS_IN (libc) \
-           || IS_IN (libpthread) || IS_IN (librt))
-# define IA64_USE_NEW_STUB
-#else
-# undef IA64_USE_NEW_STUB
+#ifndef IA64_USE_NEW_STUB
+# if defined USE_DL_SYSINFO && IS_IN (libc)
+#  define IA64_USE_NEW_STUB 1
+# else
+#  define IA64_USE_NEW_STUB 0
+# endif
+#endif
+#if IA64_USE_NEW_STUB && !USE_DL_SYSINFO
+# error IA64_USE_NEW_STUB needs USE_DL_SYSINFO
 #endif
 
 #ifdef __ASSEMBLER__
        mov r15=num;                            \
        break __IA64_BREAK_SYSCALL
 
-#ifdef IA64_USE_NEW_STUB
+#if IA64_USE_NEW_STUB
 # ifdef SHARED
 #  define DO_CALL(num)                         \
        .prologue;                              \
    (non-negative) errno on error or the return value on success.
  */
 
-#ifdef IA64_USE_NEW_STUB
+#if IA64_USE_NEW_STUB
 
 # define INTERNAL_SYSCALL_NCS(name, nr, args...)                             \
 ({                                                                           \
 #define ASM_OUTARGS_5  ASM_OUTARGS_4, "=r" (_out4)
 #define ASM_OUTARGS_6  ASM_OUTARGS_5, "=r" (_out5)
 
-#ifdef IA64_USE_NEW_STUB
+#if IA64_USE_NEW_STUB
 #define ASM_ARGS_0
 #define ASM_ARGS_1     ASM_ARGS_0, "4" (_out0)
 #define ASM_ARGS_2     ASM_ARGS_1, "5" (_out1)
   /* Branch registers.  */                                             \
   "b6"
 
-#ifdef IA64_USE_NEW_STUB
+#if IA64_USE_NEW_STUB
 # define ASM_CLOBBERS_6        ASM_CLOBBERS_6_COMMON
 #else
 # define ASM_CLOBBERS_6        ASM_CLOBBERS_6_COMMON , "b7"