(JUMPTARGET): Move branch instructions from here...
authordrepper <drepper>
Tue, 14 Jan 2003 01:04:45 +0000 (01:04 +0000)
committerdrepper <drepper>
Tue, 14 Jan 2003 01:04:45 +0000 (01:04 +0000)
(PSEUDO): ... to here.

sysdeps/s390/s390-32/sysdep.h
sysdeps/s390/s390-64/sysdep.h

index 316fc4c..a9dac44 100644 (file)
 #define mcount         _mcount
 #endif
 
-#define        PSEUDO(name, syscall_name, args)                                      \
-lose: SYSCALL_PIC_SETUP                                                              \
-  JUMPTARGET(syscall_error)                                                  \
-  .globl syscall_error;                                                              \
-  ENTRY (name)                                                               \
-  DO_CALL (syscall_name, args);                                                      \
-  jm lose
+#define        PSEUDO(name, syscall_name, args) \
+lose: SYSCALL_PIC_SETUP                                \
+    basr %r1,0;                                        \
+0:  al %r1,1f-0b(%r1);                         \
+    br %r1;                                    \
+1:  .long JUMPTARGET(syscall_error) - 0b;      \
+    .globl syscall_error;                      \
+    ENTRY (name)                               \
+    DO_CALL (syscall_name, args);              \
+    jm lose
 
 #undef PSEUDO_END
 #define        PSEUDO_END(name)                                                      \
@@ -96,21 +99,13 @@ lose: SYSCALL_PIC_SETUP                                                           \
 
 #undef JUMPTARGET
 #ifdef PIC
-#define JUMPTARGET(name)  \
-    basr %r1,0            \
-0:  al   %r1,1f-0b(0,%r1) \
-    br   %r1              \
-1:  .long name##@PLT - 0b
+#define JUMPTARGET(name)       name##@PLT
 #define SYSCALL_PIC_SETUP             \
     bras  %r12,1f                     \
 0:  .long _GLOBAL_OFFSET_TABLE_-0b    \
 1:  al    %r12,0(%r12)
 #else
-#define JUMPTARGET(name)   \
-    basr  %r1,0            \
-0:  al    %r1,1f-0b(0,%r1) \
-    br    %r1              \
-1:  .long name - 0b
+#define JUMPTARGET(name)       name
 #define SYSCALL_PIC_SETUP      /* Nothing.  */
 #endif
 
index 430cee3..b863d26 100644 (file)
 #define mcount         _mcount
 #endif
 
-#define        PSEUDO(name, syscall_name, args)                                      \
-lose: SYSCALL_PIC_SETUP                                                              \
-  JUMPTARGET(syscall_error)                                                  \
-  .globl syscall_error;                                                              \
-  ENTRY (name)                                                               \
-  DO_CALL (syscall_name, args);                                                      \
+#define        PSEUDO(name, syscall_name, args) \
+lose: SYSCALL_PIC_SETUP                        \
+  jg JUMPTARGET(syscall_error);                \
+  .globl syscall_error;                        \
+  ENTRY (name)                         \
+  DO_CALL (syscall_name, args);                \
   jm lose
 
 #undef PSEUDO_END
@@ -94,13 +94,11 @@ lose: SYSCALL_PIC_SETUP                                                           \
 
 #undef JUMPTARGET
 #ifdef PIC
-#define JUMPTARGET(name)  \
-    brasl name##@PLT
+#define JUMPTARGET(name)       name##@PLT
 #define SYSCALL_PIC_SETUP \
     larl  %r12,_GLOBAL_OFFSET_TABLE_
 #else
-#define JUMPTARGET(name)  \
-    brasl name
+#define JUMPTARGET(name)       name
 #define SYSCALL_PIC_SETUP      /* Nothing.  */
 #endif