[S390] fix s390 assembler code alignments
authorJan Glauber <jang@linux.vnet.ibm.com>
Sun, 24 Jul 2011 08:48:19 +0000 (10:48 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Sun, 24 Jul 2011 08:48:21 +0000 (10:48 +0200)
The alignment is missing for various global symbols in s390 assembly code.
With a recent gcc and an instruction like stgrl this can lead to a
specification exception if the instruction uses such a mis-aligned address.

Specify the alignment explicitely and while add it define __ALIGN for s390
and use the ENTRY define to save some lines of code.

Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
21 files changed:
arch/s390/boot/compressed/head31.S
arch/s390/boot/compressed/head64.S
arch/s390/include/asm/linkage.h
arch/s390/kernel/base.S
arch/s390/kernel/compat_wrapper.S
arch/s390/kernel/entry.S
arch/s390/kernel/entry64.S
arch/s390/kernel/head.S
arch/s390/kernel/head31.S
arch/s390/kernel/head64.S
arch/s390/kernel/mcount.S
arch/s390/kernel/mcount64.S
arch/s390/kernel/reipl.S
arch/s390/kernel/reipl64.S
arch/s390/kernel/relocate_kernel.S
arch/s390/kernel/relocate_kernel64.S
arch/s390/kernel/sclp.S
arch/s390/kernel/switch_cpu.S
arch/s390/kernel/switch_cpu64.S
arch/s390/kernel/swsusp_asm64.S
arch/s390/lib/qrnnd.S

index 2a5523a..e8c9e18 100644 (file)
@@ -7,14 +7,14 @@
  */
 
 #include <linux/init.h>
+#include <linux/linkage.h>
 #include <asm/asm-offsets.h>
 #include <asm/thread_info.h>
 #include <asm/page.h>
 #include "sizes.h"
 
 __HEAD
-       .globl  startup_continue
-startup_continue:
+ENTRY(startup_continue)
        basr    %r13,0                  # get base
 .LPG1:
        # setup stack
index 2982cb1..f86a4ee 100644 (file)
@@ -7,14 +7,14 @@
  */
 
 #include <linux/init.h>
+#include <linux/linkage.h>
 #include <asm/asm-offsets.h>
 #include <asm/thread_info.h>
 #include <asm/page.h>
 #include "sizes.h"
 
 __HEAD
-       .globl  startup_continue
-startup_continue:
+ENTRY(startup_continue)
        basr    %r13,0                  # get base
 .LPG1:
        # setup stack
index 291c2d0..fc8a828 100644 (file)
@@ -1,6 +1,9 @@
 #ifndef __ASM_LINKAGE_H
 #define __ASM_LINKAGE_H
 
-/* Nothing to see here... */
+#include <linux/stringify.h>
+
+#define __ALIGN .align 4, 0x07
+#define __ALIGN_STR __stringify(__ALIGN)
 
 #endif
index 15e46ca..209938c 100644 (file)
@@ -6,13 +6,13 @@
  *              Michael Holzheu <holzheu@de.ibm.com>
  */
 
+#include <linux/linkage.h>
 #include <asm/asm-offsets.h>
 #include <asm/ptrace.h>
 
 #ifdef CONFIG_64BIT
 
-       .globl  s390_base_mcck_handler
-s390_base_mcck_handler:
+ENTRY(s390_base_mcck_handler)
        basr    %r13,0
 0:     lg      %r15,__LC_PANIC_STACK   # load panic stack
        aghi    %r15,-STACK_FRAME_OVERHEAD
@@ -26,13 +26,13 @@ s390_base_mcck_handler:
        lpswe   __LC_MCK_OLD_PSW
 
        .section .bss
+       .align 8
        .globl  s390_base_mcck_handler_fn
 s390_base_mcck_handler_fn:
        .quad   0
        .previous
 
-       .globl  s390_base_ext_handler
-s390_base_ext_handler:
+ENTRY(s390_base_ext_handler)
        stmg    %r0,%r15,__LC_SAVE_AREA
        basr    %r13,0
 0:     aghi    %r15,-STACK_FRAME_OVERHEAD
@@ -46,13 +46,13 @@ s390_base_ext_handler:
        lpswe   __LC_EXT_OLD_PSW
 
        .section .bss
+       .align 8
        .globl s390_base_ext_handler_fn
 s390_base_ext_handler_fn:
        .quad   0
        .previous
 
-       .globl  s390_base_pgm_handler
-s390_base_pgm_handler:
+ENTRY(s390_base_pgm_handler)
        stmg    %r0,%r15,__LC_SAVE_AREA
        basr    %r13,0
 0:     aghi    %r15,-STACK_FRAME_OVERHEAD
@@ -70,6 +70,7 @@ disabled_wait_psw:
        .quad   0x0002000180000000,0x0000000000000000 + s390_base_pgm_handler
 
        .section .bss
+       .align 8
        .globl s390_base_pgm_handler_fn
 s390_base_pgm_handler_fn:
        .quad   0
@@ -77,8 +78,7 @@ s390_base_pgm_handler_fn:
 
 #else /* CONFIG_64BIT */
 
-       .globl  s390_base_mcck_handler
-s390_base_mcck_handler:
+ENTRY(s390_base_mcck_handler)
        basr    %r13,0
 0:     l       %r15,__LC_PANIC_STACK   # load panic stack
        ahi     %r15,-STACK_FRAME_OVERHEAD
@@ -93,13 +93,13 @@ s390_base_mcck_handler:
 2:     .long   s390_base_mcck_handler_fn
 
        .section .bss
+       .align 4
        .globl  s390_base_mcck_handler_fn
 s390_base_mcck_handler_fn:
        .long   0
        .previous
 
-       .globl  s390_base_ext_handler
-s390_base_ext_handler:
+ENTRY(s390_base_ext_handler)
        stm     %r0,%r15,__LC_SAVE_AREA
        basr    %r13,0
 0:     ahi     %r15,-STACK_FRAME_OVERHEAD
@@ -115,13 +115,13 @@ s390_base_ext_handler:
 2:     .long   s390_base_ext_handler_fn
 
        .section .bss
+       .align 4
        .globl  s390_base_ext_handler_fn
 s390_base_ext_handler_fn:
        .long   0
        .previous
 
-       .globl  s390_base_pgm_handler
-s390_base_pgm_handler:
+ENTRY(s390_base_pgm_handler)
        stm     %r0,%r15,__LC_SAVE_AREA
        basr    %r13,0
 0:     ahi     %r15,-STACK_FRAME_OVERHEAD
@@ -142,6 +142,7 @@ disabled_wait_psw:
        .long   0x000a0000,0x00000000 + s390_base_pgm_handler
 
        .section .bss
+       .align 4
        .globl  s390_base_pgm_handler_fn
 s390_base_pgm_handler_fn:
        .long   0
index 1f5eb78..08ab9aa 100644 (file)
@@ -7,86 +7,74 @@
 *              Thomas Spatzier (tspat@de.ibm.com)
 */
 
-       .globl  sys32_exit_wrapper
-sys32_exit_wrapper:
+#include <linux/linkage.h>
+
+ENTRY(sys32_exit_wrapper)
        lgfr    %r2,%r2                 # int
        jg      sys_exit                # branch to sys_exit
 
-       .globl  sys32_read_wrapper
-sys32_read_wrapper:
+ENTRY(sys32_read_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgtr   %r3,%r3                 # char *
        llgfr   %r4,%r4                 # size_t
        jg      sys32_read              # branch to sys_read
 
-       .globl  sys32_write_wrapper
-sys32_write_wrapper:
+ENTRY(sys32_write_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgtr   %r3,%r3                 # const char *
        llgfr   %r4,%r4                 # size_t
        jg      sys32_write             # branch to system call
 
-       .globl  sys32_open_wrapper
-sys32_open_wrapper:
+ENTRY(sys32_open_wrapper)
        llgtr   %r2,%r2                 # const char *
        lgfr    %r3,%r3                 # int
        lgfr    %r4,%r4                 # int
        jg      sys_open                # branch to system call
 
-       .globl  sys32_close_wrapper
-sys32_close_wrapper:
+ENTRY(sys32_close_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        jg      sys_close               # branch to system call
 
-       .globl  sys32_creat_wrapper
-sys32_creat_wrapper:
+ENTRY(sys32_creat_wrapper)
        llgtr   %r2,%r2                 # const char *
        lgfr    %r3,%r3                 # int
        jg      sys_creat               # branch to system call
 
-       .globl  sys32_link_wrapper
-sys32_link_wrapper:
+ENTRY(sys32_link_wrapper)
        llgtr   %r2,%r2                 # const char *
        llgtr   %r3,%r3                 # const char *
        jg      sys_link                # branch to system call
 
-       .globl  sys32_unlink_wrapper
-sys32_unlink_wrapper:
+ENTRY(sys32_unlink_wrapper)
        llgtr   %r2,%r2                 # const char *
        jg      sys_unlink              # branch to system call
 
-       .globl  sys32_chdir_wrapper
-sys32_chdir_wrapper:
+ENTRY(sys32_chdir_wrapper)
        llgtr   %r2,%r2                 # const char *
        jg      sys_chdir               # branch to system call
 
-       .globl  sys32_time_wrapper
-sys32_time_wrapper:
+ENTRY(sys32_time_wrapper)
        llgtr   %r2,%r2                 # int *
        jg      compat_sys_time         # branch to system call
 
-       .globl  sys32_mknod_wrapper
-sys32_mknod_wrapper:
+ENTRY(sys32_mknod_wrapper)
        llgtr   %r2,%r2                 # const char *
        lgfr    %r3,%r3                 # int
        llgfr   %r4,%r4                 # dev
        jg      sys_mknod               # branch to system call
 
-       .globl  sys32_chmod_wrapper
-sys32_chmod_wrapper:
+ENTRY(sys32_chmod_wrapper)
        llgtr   %r2,%r2                 # const char *
        llgfr   %r3,%r3                 # mode_t
        jg      sys_chmod               # branch to system call
 
-       .globl  sys32_lchown16_wrapper
-sys32_lchown16_wrapper:
+ENTRY(sys32_lchown16_wrapper)
        llgtr   %r2,%r2                 # const char *
        llgfr   %r3,%r3                 # __kernel_old_uid_emu31_t
        llgfr   %r4,%r4                 # __kernel_old_uid_emu31_t
        jg      sys32_lchown16          # branch to system call
 
-       .globl  sys32_lseek_wrapper
-sys32_lseek_wrapper:
+ENTRY(sys32_lseek_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        lgfr    %r3,%r3                 # off_t
        llgfr   %r4,%r4                 # unsigned int
@@ -94,8 +82,7 @@ sys32_lseek_wrapper:
 
 #sys32_getpid_wrapper                          # void
 
-       .globl  sys32_mount_wrapper
-sys32_mount_wrapper:
+ENTRY(sys32_mount_wrapper)
        llgtr   %r2,%r2                 # char *
        llgtr   %r3,%r3                 # char *
        llgtr   %r4,%r4                 # char *
@@ -103,102 +90,85 @@ sys32_mount_wrapper:
        llgtr   %r6,%r6                 # void *
        jg      compat_sys_mount        # branch to system call
 
-       .globl  sys32_oldumount_wrapper
-sys32_oldumount_wrapper:
+ENTRY(sys32_oldumount_wrapper)
        llgtr   %r2,%r2                 # char *
        jg      sys_oldumount           # branch to system call
 
-       .globl  sys32_setuid16_wrapper
-sys32_setuid16_wrapper:
+ENTRY(sys32_setuid16_wrapper)
        llgfr   %r2,%r2                 # __kernel_old_uid_emu31_t
        jg      sys32_setuid16          # branch to system call
 
 #sys32_getuid16_wrapper                        # void
 
-       .globl  sys32_ptrace_wrapper
-sys32_ptrace_wrapper:
+ENTRY(sys32_ptrace_wrapper)
        lgfr    %r2,%r2                 # long
        lgfr    %r3,%r3                 # long
        llgtr   %r4,%r4                 # long
        llgfr   %r5,%r5                 # long
        jg      compat_sys_ptrace       # branch to system call
 
-       .globl  sys32_alarm_wrapper
-sys32_alarm_wrapper:
+ENTRY(sys32_alarm_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        jg      sys_alarm               # branch to system call
 
-       .globl  compat_sys_utime_wrapper
-compat_sys_utime_wrapper:
+ENTRY(compat_sys_utime_wrapper)
        llgtr   %r2,%r2                 # char *
        llgtr   %r3,%r3                 # struct compat_utimbuf *
        jg      compat_sys_utime        # branch to system call
 
-       .globl  sys32_access_wrapper
-sys32_access_wrapper:
+ENTRY(sys32_access_wrapper)
        llgtr   %r2,%r2                 # const char *
        lgfr    %r3,%r3                 # int
        jg      sys_access              # branch to system call
 
-       .globl  sys32_nice_wrapper
-sys32_nice_wrapper:
+ENTRY(sys32_nice_wrapper)
        lgfr    %r2,%r2                 # int
        jg      sys_nice                # branch to system call
 
 #sys32_sync_wrapper                    # void
 
-       .globl  sys32_kill_wrapper
-sys32_kill_wrapper:
+ENTRY(sys32_kill_wrapper)
        lgfr    %r2,%r2                 # int
        lgfr    %r3,%r3                 # int
        jg      sys_kill                # branch to system call
 
-       .globl  sys32_rename_wrapper
-sys32_rename_wrapper:
+ENTRY(sys32_rename_wrapper)
        llgtr   %r2,%r2                 # const char *
        llgtr   %r3,%r3                 # const char *
        jg      sys_rename              # branch to system call
 
-       .globl  sys32_mkdir_wrapper
-sys32_mkdir_wrapper:
+ENTRY(sys32_mkdir_wrapper)
        llgtr   %r2,%r2                 # const char *
        lgfr    %r3,%r3                 # int
        jg      sys_mkdir               # branch to system call
 
-       .globl  sys32_rmdir_wrapper
-sys32_rmdir_wrapper:
+ENTRY(sys32_rmdir_wrapper)
        llgtr   %r2,%r2                 # const char *
        jg      sys_rmdir               # branch to system call
 
-       .globl  sys32_dup_wrapper
-sys32_dup_wrapper:
+ENTRY(sys32_dup_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        jg      sys_dup                 # branch to system call
 
-       .globl  sys32_pipe_wrapper
-sys32_pipe_wrapper:
+ENTRY(sys32_pipe_wrapper)
        llgtr   %r2,%r2                 # u32 *
        jg      sys_pipe                # branch to system call
 
-       .globl  compat_sys_times_wrapper
-compat_sys_times_wrapper:
+ENTRY(compat_sys_times_wrapper)
        llgtr   %r2,%r2                 # struct compat_tms *
        jg      compat_sys_times        # branch to system call
 
-       .globl  sys32_brk_wrapper
-sys32_brk_wrapper:
+ENTRY(sys32_brk_wrapper)
        llgtr   %r2,%r2                 # unsigned long
        jg      sys_brk                 # branch to system call
 
-       .globl  sys32_setgid16_wrapper
-sys32_setgid16_wrapper:
+ENTRY(sys32_setgid16_wrapper)
        llgfr   %r2,%r2                 # __kernel_old_gid_emu31_t
        jg      sys32_setgid16          # branch to system call
 
 #sys32_getgid16_wrapper                        # void
 
-       .globl sys32_signal_wrapper
-sys32_signal_wrapper:
+ENTRY(sys32_signal_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # __sighandler_t
        jg      sys_signal
@@ -207,55 +177,46 @@ sys32_signal_wrapper:
 
 #sys32_getegid16_wrapper               # void
 
-       .globl  sys32_acct_wrapper
-sys32_acct_wrapper:
+ENTRY(sys32_acct_wrapper)
        llgtr   %r2,%r2                 # char *
        jg      sys_acct                # branch to system call
 
-       .globl  sys32_umount_wrapper
-sys32_umount_wrapper:
+ENTRY(sys32_umount_wrapper)
        llgtr   %r2,%r2                 # char *
        lgfr    %r3,%r3                 # int
        jg      sys_umount              # branch to system call
 
-       .globl  compat_sys_ioctl_wrapper
-compat_sys_ioctl_wrapper:
+ENTRY(compat_sys_ioctl_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgfr   %r3,%r3                 # unsigned int
        llgfr   %r4,%r4                 # unsigned int
        jg      compat_sys_ioctl        # branch to system call
 
-       .globl  compat_sys_fcntl_wrapper
-compat_sys_fcntl_wrapper:
+ENTRY(compat_sys_fcntl_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgfr   %r3,%r3                 # unsigned int
        llgfr   %r4,%r4                 # unsigned long
        jg      compat_sys_fcntl        # branch to system call
 
-       .globl  sys32_setpgid_wrapper
-sys32_setpgid_wrapper:
+ENTRY(sys32_setpgid_wrapper)
        lgfr    %r2,%r2                 # pid_t
        lgfr    %r3,%r3                 # pid_t
        jg      sys_setpgid             # branch to system call
 
-       .globl  sys32_umask_wrapper
-sys32_umask_wrapper:
+ENTRY(sys32_umask_wrapper)
        lgfr    %r2,%r2                 # int
        jg      sys_umask               # branch to system call
 
-       .globl  sys32_chroot_wrapper
-sys32_chroot_wrapper:
+ENTRY(sys32_chroot_wrapper)
        llgtr   %r2,%r2                 # char *
        jg      sys_chroot              # branch to system call
 
-       .globl sys32_ustat_wrapper
-sys32_ustat_wrapper:
+ENTRY(sys32_ustat_wrapper)
        llgfr   %r2,%r2                 # dev_t
        llgtr   %r3,%r3                 # struct ustat *
        jg      compat_sys_ustat
 
-       .globl  sys32_dup2_wrapper
-sys32_dup2_wrapper:
+ENTRY(sys32_dup2_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgfr   %r3,%r3                 # unsigned int
        jg      sys_dup2                # branch to system call
@@ -266,262 +227,220 @@ sys32_dup2_wrapper:
 
 #sys32_setsid_wrapper                  # void
 
-       .globl  sys32_sigaction_wrapper
-sys32_sigaction_wrapper:
+ENTRY(sys32_sigaction_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # const struct old_sigaction *
        llgtr   %r4,%r4                 # struct old_sigaction32 *
        jg      sys32_sigaction         # branch to system call
 
-       .globl  sys32_setreuid16_wrapper
-sys32_setreuid16_wrapper:
+ENTRY(sys32_setreuid16_wrapper)
        llgfr   %r2,%r2                 # __kernel_old_uid_emu31_t
        llgfr   %r3,%r3                 # __kernel_old_uid_emu31_t
        jg      sys32_setreuid16        # branch to system call
 
-       .globl  sys32_setregid16_wrapper
-sys32_setregid16_wrapper:
+ENTRY(sys32_setregid16_wrapper)
        llgfr   %r2,%r2                 # __kernel_old_gid_emu31_t
        llgfr   %r3,%r3                 # __kernel_old_gid_emu31_t
        jg      sys32_setregid16        # branch to system call
 
-       .globl sys_sigsuspend_wrapper
-sys_sigsuspend_wrapper:
+ENTRY(sys_sigsuspend_wrapper)
        lgfr    %r2,%r2                 # int
        lgfr    %r3,%r3                 # int
        llgfr   %r4,%r4                 # old_sigset_t
        jg      sys_sigsuspend
 
-       .globl  compat_sys_sigpending_wrapper
-compat_sys_sigpending_wrapper:
+ENTRY(compat_sys_sigpending_wrapper)
        llgtr   %r2,%r2                 # compat_old_sigset_t *
        jg      compat_sys_sigpending   # branch to system call
 
-       .globl  sys32_sethostname_wrapper
-sys32_sethostname_wrapper:
+ENTRY(sys32_sethostname_wrapper)
        llgtr   %r2,%r2                 # char *
        lgfr    %r3,%r3                 # int
        jg      sys_sethostname         # branch to system call
 
-       .globl  compat_sys_setrlimit_wrapper
-compat_sys_setrlimit_wrapper:
+ENTRY(compat_sys_setrlimit_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgtr   %r3,%r3                 # struct rlimit_emu31 *
        jg      compat_sys_setrlimit    # branch to system call
 
-       .globl  compat_sys_old_getrlimit_wrapper
-compat_sys_old_getrlimit_wrapper:
+ENTRY(compat_sys_old_getrlimit_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgtr   %r3,%r3                 # struct rlimit_emu31 *
        jg      compat_sys_old_getrlimit # branch to system call
 
-       .globl  compat_sys_getrlimit_wrapper
-compat_sys_getrlimit_wrapper:
+ENTRY(compat_sys_getrlimit_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgtr   %r3,%r3                 # struct rlimit_emu31 *
        jg      compat_sys_getrlimit    # branch to system call
 
-       .globl  sys32_mmap2_wrapper
-sys32_mmap2_wrapper:
+ENTRY(sys32_mmap2_wrapper)
        llgtr   %r2,%r2                 # struct mmap_arg_struct_emu31 *
        jg      sys32_mmap2                     # branch to system call
 
-       .globl  compat_sys_getrusage_wrapper
-compat_sys_getrusage_wrapper:
+ENTRY(compat_sys_getrusage_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # struct rusage_emu31 *
        jg      compat_sys_getrusage    # branch to system call
 
-       .globl  compat_sys_gettimeofday_wrapper
-compat_sys_gettimeofday_wrapper:
+ENTRY(compat_sys_gettimeofday_wrapper)
        llgtr   %r2,%r2                 # struct timeval_emu31 *
        llgtr   %r3,%r3                 # struct timezone *
        jg      compat_sys_gettimeofday # branch to system call
 
-       .globl  compat_sys_settimeofday_wrapper
-compat_sys_settimeofday_wrapper:
+ENTRY(compat_sys_settimeofday_wrapper)
        llgtr   %r2,%r2                 # struct timeval_emu31 *
        llgtr   %r3,%r3                 # struct timezone *
        jg      compat_sys_settimeofday # branch to system call
 
-       .globl  sys32_getgroups16_wrapper
-sys32_getgroups16_wrapper:
+ENTRY(sys32_getgroups16_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # __kernel_old_gid_emu31_t *
        jg      sys32_getgroups16       # branch to system call
 
-       .globl  sys32_setgroups16_wrapper
-sys32_setgroups16_wrapper:
+ENTRY(sys32_setgroups16_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # __kernel_old_gid_emu31_t *
        jg      sys32_setgroups16       # branch to system call
 
-       .globl  sys32_symlink_wrapper
-sys32_symlink_wrapper:
+ENTRY(sys32_symlink_wrapper)
        llgtr   %r2,%r2                 # const char *
        llgtr   %r3,%r3                 # const char *
        jg      sys_symlink             # branch to system call
 
-       .globl  sys32_readlink_wrapper
-sys32_readlink_wrapper:
+ENTRY(sys32_readlink_wrapper)
        llgtr   %r2,%r2                 # const char *
        llgtr   %r3,%r3                 # char *
        lgfr    %r4,%r4                 # int
        jg      sys_readlink            # branch to system call
 
-       .globl  sys32_uselib_wrapper
-sys32_uselib_wrapper:
+ENTRY(sys32_uselib_wrapper)
        llgtr   %r2,%r2                 # const char *
        jg      sys_uselib              # branch to system call
 
-       .globl  sys32_swapon_wrapper
-sys32_swapon_wrapper:
+ENTRY(sys32_swapon_wrapper)
        llgtr   %r2,%r2                 # const char *
        lgfr    %r3,%r3                 # int
        jg      sys_swapon              # branch to system call
 
-       .globl  sys32_reboot_wrapper
-sys32_reboot_wrapper:
+ENTRY(sys32_reboot_wrapper)
        lgfr    %r2,%r2                 # int
        lgfr    %r3,%r3                 # int
        llgfr   %r4,%r4                 # unsigned int
        llgtr   %r5,%r5                 # void *
        jg      sys_reboot              # branch to system call
 
-       .globl  old32_readdir_wrapper
-old32_readdir_wrapper:
+ENTRY(old32_readdir_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgtr   %r3,%r3                 # void *
        llgfr   %r4,%r4                 # unsigned int
        jg      compat_sys_old_readdir  # branch to system call
 
-       .globl  old32_mmap_wrapper
-old32_mmap_wrapper:
+ENTRY(old32_mmap_wrapper)
        llgtr   %r2,%r2                 # struct mmap_arg_struct_emu31 *
        jg      old32_mmap              # branch to system call
 
-       .globl  sys32_munmap_wrapper
-sys32_munmap_wrapper:
+ENTRY(sys32_munmap_wrapper)
        llgfr   %r2,%r2                 # unsigned long
        llgfr   %r3,%r3                 # size_t
        jg      sys_munmap              # branch to system call
 
-       .globl  sys32_truncate_wrapper
-sys32_truncate_wrapper:
+ENTRY(sys32_truncate_wrapper)
        llgtr   %r2,%r2                 # const char *
        lgfr    %r3,%r3                 # long
        jg      sys_truncate            # branch to system call
 
-       .globl  sys32_ftruncate_wrapper
-sys32_ftruncate_wrapper:
+ENTRY(sys32_ftruncate_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgfr   %r3,%r3                 # unsigned long
        jg      sys_ftruncate           # branch to system call
 
-       .globl  sys32_fchmod_wrapper
-sys32_fchmod_wrapper:
+ENTRY(sys32_fchmod_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgfr   %r3,%r3                 # mode_t
        jg      sys_fchmod              # branch to system call
 
-       .globl  sys32_fchown16_wrapper
-sys32_fchown16_wrapper:
+ENTRY(sys32_fchown16_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgfr   %r3,%r3                 # compat_uid_t
        llgfr   %r4,%r4                 # compat_uid_t
        jg      sys32_fchown16          # branch to system call
 
-       .globl  sys32_getpriority_wrapper
-sys32_getpriority_wrapper:
+ENTRY(sys32_getpriority_wrapper)
        lgfr    %r2,%r2                 # int
        lgfr    %r3,%r3                 # int
        jg      sys_getpriority         # branch to system call
 
-       .globl  sys32_setpriority_wrapper
-sys32_setpriority_wrapper:
+ENTRY(sys32_setpriority_wrapper)
        lgfr    %r2,%r2                 # int
        lgfr    %r3,%r3                 # int
        lgfr    %r4,%r4                 # int
        jg      sys_setpriority         # branch to system call
 
-       .globl  compat_sys_statfs_wrapper
-compat_sys_statfs_wrapper:
+ENTRY(compat_sys_statfs_wrapper)
        llgtr   %r2,%r2                 # char *
        llgtr   %r3,%r3                 # struct compat_statfs *
        jg      compat_sys_statfs       # branch to system call
 
-       .globl  compat_sys_fstatfs_wrapper
-compat_sys_fstatfs_wrapper:
+ENTRY(compat_sys_fstatfs_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgtr   %r3,%r3                 # struct compat_statfs *
        jg      compat_sys_fstatfs      # branch to system call
 
-       .globl  compat_sys_socketcall_wrapper
-compat_sys_socketcall_wrapper:
+ENTRY(compat_sys_socketcall_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # u32 *
        jg      compat_sys_socketcall   # branch to system call
 
-       .globl  sys32_syslog_wrapper
-sys32_syslog_wrapper:
+ENTRY(sys32_syslog_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # char *
        lgfr    %r4,%r4                 # int
        jg      sys_syslog              # branch to system call
 
-       .globl  compat_sys_setitimer_wrapper
-compat_sys_setitimer_wrapper:
+ENTRY(compat_sys_setitimer_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # struct itimerval_emu31 *
        llgtr   %r4,%r4                 # struct itimerval_emu31 *
        jg      compat_sys_setitimer    # branch to system call
 
-       .globl  compat_sys_getitimer_wrapper
-compat_sys_getitimer_wrapper:
+ENTRY(compat_sys_getitimer_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # struct itimerval_emu31 *
        jg      compat_sys_getitimer    # branch to system call
 
-       .globl  compat_sys_newstat_wrapper
-compat_sys_newstat_wrapper:
+ENTRY(compat_sys_newstat_wrapper)
        llgtr   %r2,%r2                 # char *
        llgtr   %r3,%r3                 # struct stat_emu31 *
        jg      compat_sys_newstat      # branch to system call
 
-       .globl  compat_sys_newlstat_wrapper
-compat_sys_newlstat_wrapper:
+ENTRY(compat_sys_newlstat_wrapper)
        llgtr   %r2,%r2                 # char *
        llgtr   %r3,%r3                 # struct stat_emu31 *
        jg      compat_sys_newlstat     # branch to system call
 
-       .globl  compat_sys_newfstat_wrapper
-compat_sys_newfstat_wrapper:
+ENTRY(compat_sys_newfstat_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgtr   %r3,%r3                 # struct stat_emu31 *
        jg      compat_sys_newfstat     # branch to system call
 
 #sys32_vhangup_wrapper                 # void
 
-       .globl  compat_sys_wait4_wrapper
-compat_sys_wait4_wrapper:
+ENTRY(compat_sys_wait4_wrapper)
        lgfr    %r2,%r2                 # pid_t
        llgtr   %r3,%r3                 # unsigned int *
        lgfr    %r4,%r4                 # int
        llgtr   %r5,%r5                 # struct rusage *
        jg      compat_sys_wait4        # branch to system call
 
-       .globl  sys32_swapoff_wrapper
-sys32_swapoff_wrapper:
+ENTRY(sys32_swapoff_wrapper)
        llgtr   %r2,%r2                 # const char *
        jg      sys_swapoff             # branch to system call
 
-       .globl  compat_sys_sysinfo_wrapper
-compat_sys_sysinfo_wrapper:
+ENTRY(compat_sys_sysinfo_wrapper)
        llgtr   %r2,%r2                 # struct sysinfo_emu31 *
        jg      compat_sys_sysinfo      # branch to system call
 
-       .globl  sys32_ipc_wrapper
-sys32_ipc_wrapper:
+ENTRY(sys32_ipc_wrapper)
        llgfr   %r2,%r2                 # uint
        lgfr    %r3,%r3                 # int
        lgfr    %r4,%r4                 # int
@@ -529,8 +448,7 @@ sys32_ipc_wrapper:
        llgfr   %r6,%r6                 # u32
        jg      sys32_ipc               # branch to system call
 
-       .globl  sys32_fsync_wrapper
-sys32_fsync_wrapper:
+ENTRY(sys32_fsync_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        jg      sys_fsync               # branch to system call
 
@@ -538,97 +456,81 @@ sys32_fsync_wrapper:
 
 #sys32_clone_wrapper                   # done in clone_glue
 
-       .globl  sys32_setdomainname_wrapper
-sys32_setdomainname_wrapper:
+ENTRY(sys32_setdomainname_wrapper)
        llgtr   %r2,%r2                 # char *
        lgfr    %r3,%r3                 # int
        jg      sys_setdomainname       # branch to system call
 
-       .globl  sys32_newuname_wrapper
-sys32_newuname_wrapper:
+ENTRY(sys32_newuname_wrapper)
        llgtr   %r2,%r2                 # struct new_utsname *
        jg      sys_newuname            # branch to system call
 
-       .globl  compat_sys_adjtimex_wrapper
-compat_sys_adjtimex_wrapper:
+ENTRY(compat_sys_adjtimex_wrapper)
        llgtr   %r2,%r2                 # struct compat_timex *
        jg      compat_sys_adjtimex     # branch to system call
 
-       .globl  sys32_mprotect_wrapper
-sys32_mprotect_wrapper:
+ENTRY(sys32_mprotect_wrapper)
        llgtr   %r2,%r2                 # unsigned long (actually pointer
        llgfr   %r3,%r3                 # size_t
        llgfr   %r4,%r4                 # unsigned long
        jg      sys_mprotect            # branch to system call
 
-       .globl  compat_sys_sigprocmask_wrapper
-compat_sys_sigprocmask_wrapper:
+ENTRY(compat_sys_sigprocmask_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # compat_old_sigset_t *
        llgtr   %r4,%r4                 # compat_old_sigset_t *
        jg      compat_sys_sigprocmask          # branch to system call
 
-       .globl  sys_init_module_wrapper
-sys_init_module_wrapper:
+ENTRY(sys_init_module_wrapper)
        llgtr   %r2,%r2                 # void *
        llgfr   %r3,%r3                 # unsigned long
        llgtr   %r4,%r4                 # char *
        jg      sys_init_module         # branch to system call
 
-       .globl  sys_delete_module_wrapper
-sys_delete_module_wrapper:
+ENTRY(sys_delete_module_wrapper)
        llgtr   %r2,%r2                 # const char *
        llgfr   %r3,%r3                 # unsigned int
        jg      sys_delete_module       # branch to system call
 
-       .globl  sys32_quotactl_wrapper
-sys32_quotactl_wrapper:
+ENTRY(sys32_quotactl_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgtr   %r3,%r3                 # const char *
        llgfr   %r4,%r4                 # qid_t
        llgtr   %r5,%r5                 # caddr_t
        jg      sys_quotactl            # branch to system call
 
-       .globl  sys32_getpgid_wrapper
-sys32_getpgid_wrapper:
+ENTRY(sys32_getpgid_wrapper)
        lgfr    %r2,%r2                 # pid_t
        jg      sys_getpgid             # branch to system call
 
-       .globl  sys32_fchdir_wrapper
-sys32_fchdir_wrapper:
+ENTRY(sys32_fchdir_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        jg      sys_fchdir              # branch to system call
 
-       .globl  sys32_bdflush_wrapper
-sys32_bdflush_wrapper:
+ENTRY(sys32_bdflush_wrapper)
        lgfr    %r2,%r2                 # int
        lgfr    %r3,%r3                 # long
        jg      sys_bdflush             # branch to system call
 
-       .globl  sys32_sysfs_wrapper
-sys32_sysfs_wrapper:
+ENTRY(sys32_sysfs_wrapper)
        lgfr    %r2,%r2                 # int
        llgfr   %r3,%r3                 # unsigned long
        llgfr   %r4,%r4                 # unsigned long
        jg      sys_sysfs               # branch to system call
 
-       .globl  sys32_personality_wrapper
-sys32_personality_wrapper:
+ENTRY(sys32_personality_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        jg      sys_s390_personality    # branch to system call
 
-       .globl  sys32_setfsuid16_wrapper
-sys32_setfsuid16_wrapper:
+ENTRY(sys32_setfsuid16_wrapper)
        llgfr   %r2,%r2                 # __kernel_old_uid_emu31_t
        jg      sys32_setfsuid16        # branch to system call
 
-       .globl  sys32_setfsgid16_wrapper
-sys32_setfsgid16_wrapper:
+ENTRY(sys32_setfsgid16_wrapper)
        llgfr   %r2,%r2                 # __kernel_old_gid_emu31_t
        jg      sys32_setfsgid16        # branch to system call
 
-       .globl  sys32_llseek_wrapper
-sys32_llseek_wrapper:
+ENTRY(sys32_llseek_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgfr   %r3,%r3                 # unsigned long
        llgfr   %r4,%r4                 # unsigned long
@@ -636,15 +538,13 @@ sys32_llseek_wrapper:
        llgfr   %r6,%r6                 # unsigned int
        jg      sys_llseek              # branch to system call
 
-       .globl  sys32_getdents_wrapper
-sys32_getdents_wrapper:
+ENTRY(sys32_getdents_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgtr   %r3,%r3                 # void *
        llgfr   %r4,%r4                 # unsigned int
        jg      compat_sys_getdents     # branch to system call
 
-       .globl  compat_sys_select_wrapper
-compat_sys_select_wrapper:
+ENTRY(compat_sys_select_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # compat_fd_set *
        llgtr   %r4,%r4                 # compat_fd_set *
@@ -652,112 +552,94 @@ compat_sys_select_wrapper:
        llgtr   %r6,%r6                 # struct compat_timeval *
        jg      compat_sys_select       # branch to system call
 
-       .globl  sys32_flock_wrapper
-sys32_flock_wrapper:
+ENTRY(sys32_flock_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgfr   %r3,%r3                 # unsigned int
        jg      sys_flock               # branch to system call
 
-       .globl  sys32_msync_wrapper
-sys32_msync_wrapper:
+ENTRY(sys32_msync_wrapper)
        llgfr   %r2,%r2                 # unsigned long
        llgfr   %r3,%r3                 # size_t
        lgfr    %r4,%r4                 # int
        jg      sys_msync               # branch to system call
 
-       .globl  compat_sys_readv_wrapper
-compat_sys_readv_wrapper:
+ENTRY(compat_sys_readv_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # const struct compat_iovec *
        llgfr   %r4,%r4                 # unsigned long
        jg      compat_sys_readv        # branch to system call
 
-       .globl  compat_sys_writev_wrapper
-compat_sys_writev_wrapper:
+ENTRY(compat_sys_writev_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # const struct compat_iovec *
        llgfr   %r4,%r4                 # unsigned long
        jg      compat_sys_writev       # branch to system call
 
-       .globl  sys32_getsid_wrapper
-sys32_getsid_wrapper:
+ENTRY(sys32_getsid_wrapper)
        lgfr    %r2,%r2                 # pid_t
        jg      sys_getsid              # branch to system call
 
-       .globl  sys32_fdatasync_wrapper
-sys32_fdatasync_wrapper:
+ENTRY(sys32_fdatasync_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        jg      sys_fdatasync           # branch to system call
 
-       .globl  sys32_mlock_wrapper
-sys32_mlock_wrapper:
+ENTRY(sys32_mlock_wrapper)
        llgfr   %r2,%r2                 # unsigned long
        llgfr   %r3,%r3                 # size_t
        jg      sys_mlock               # branch to system call
 
-       .globl  sys32_munlock_wrapper
-sys32_munlock_wrapper:
+ENTRY(sys32_munlock_wrapper)
        llgfr   %r2,%r2                 # unsigned long
        llgfr   %r3,%r3                 # size_t
        jg      sys_munlock             # branch to system call
 
-       .globl  sys32_mlockall_wrapper
-sys32_mlockall_wrapper:
+ENTRY(sys32_mlockall_wrapper)
        lgfr    %r2,%r2                 # int
        jg      sys_mlockall            # branch to system call
 
 #sys32_munlockall_wrapper              # void
 
-       .globl  sys32_sched_setparam_wrapper
-sys32_sched_setparam_wrapper:
+ENTRY(sys32_sched_setparam_wrapper)
        lgfr    %r2,%r2                 # pid_t
        llgtr   %r3,%r3                 # struct sched_param *
        jg      sys_sched_setparam      # branch to system call
 
-       .globl  sys32_sched_getparam_wrapper
-sys32_sched_getparam_wrapper:
+ENTRY(sys32_sched_getparam_wrapper)
        lgfr    %r2,%r2                 # pid_t
        llgtr   %r3,%r3                 # struct sched_param *
        jg      sys_sched_getparam      # branch to system call
 
-       .globl  sys32_sched_setscheduler_wrapper
-sys32_sched_setscheduler_wrapper:
+ENTRY(sys32_sched_setscheduler_wrapper)
        lgfr    %r2,%r2                 # pid_t
        lgfr    %r3,%r3                 # int
        llgtr   %r4,%r4                 # struct sched_param *
        jg      sys_sched_setscheduler  # branch to system call
 
-       .globl  sys32_sched_getscheduler_wrapper
-sys32_sched_getscheduler_wrapper:
+ENTRY(sys32_sched_getscheduler_wrapper)
        lgfr    %r2,%r2                 # pid_t
        jg      sys_sched_getscheduler  # branch to system call
 
 #sys32_sched_yield_wrapper             # void
 
-       .globl  sys32_sched_get_priority_max_wrapper
-sys32_sched_get_priority_max_wrapper:
+ENTRY(sys32_sched_get_priority_max_wrapper)
        lgfr    %r2,%r2                 # int
        jg      sys_sched_get_priority_max      # branch to system call
 
-       .globl  sys32_sched_get_priority_min_wrapper
-sys32_sched_get_priority_min_wrapper:
+ENTRY(sys32_sched_get_priority_min_wrapper)
        lgfr    %r2,%r2                 # int
        jg      sys_sched_get_priority_min      # branch to system call
 
-       .globl  sys32_sched_rr_get_interval_wrapper
-sys32_sched_rr_get_interval_wrapper:
+ENTRY(sys32_sched_rr_get_interval_wrapper)
        lgfr    %r2,%r2                 # pid_t
        llgtr   %r3,%r3                 # struct compat_timespec *
        jg      sys32_sched_rr_get_interval     # branch to system call
 
-       .globl  compat_sys_nanosleep_wrapper
-compat_sys_nanosleep_wrapper:
+ENTRY(compat_sys_nanosleep_wrapper)
        llgtr   %r2,%r2                 # struct compat_timespec *
        llgtr   %r3,%r3                 # struct compat_timespec *
        jg      compat_sys_nanosleep            # branch to system call
 
-       .globl  sys32_mremap_wrapper
-sys32_mremap_wrapper:
+ENTRY(sys32_mremap_wrapper)
        llgfr   %r2,%r2                 # unsigned long
        llgfr   %r3,%r3                 # unsigned long
        llgfr   %r4,%r4                 # unsigned long
@@ -765,50 +647,43 @@ sys32_mremap_wrapper:
        llgfr   %r6,%r6                 # unsigned long
        jg      sys_mremap              # branch to system call
 
-       .globl  sys32_setresuid16_wrapper
-sys32_setresuid16_wrapper:
+ENTRY(sys32_setresuid16_wrapper)
        llgfr   %r2,%r2                 # __kernel_old_uid_emu31_t
        llgfr   %r3,%r3                 # __kernel_old_uid_emu31_t
        llgfr   %r4,%r4                 # __kernel_old_uid_emu31_t
        jg      sys32_setresuid16       # branch to system call
 
-       .globl  sys32_getresuid16_wrapper
-sys32_getresuid16_wrapper:
+ENTRY(sys32_getresuid16_wrapper)
        llgtr   %r2,%r2                 # __kernel_old_uid_emu31_t *
        llgtr   %r3,%r3                 # __kernel_old_uid_emu31_t *
        llgtr   %r4,%r4                 # __kernel_old_uid_emu31_t *
        jg      sys32_getresuid16       # branch to system call
 
-       .globl  sys32_poll_wrapper
-sys32_poll_wrapper:
+ENTRY(sys32_poll_wrapper)
        llgtr   %r2,%r2                 # struct pollfd *
        llgfr   %r3,%r3                 # unsigned int
        lgfr    %r4,%r4                 # long
        jg      sys_poll                # branch to system call
 
-       .globl  compat_sys_nfsservctl_wrapper
-compat_sys_nfsservctl_wrapper:
+ENTRY(compat_sys_nfsservctl_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # struct compat_nfsctl_arg*
        llgtr   %r4,%r4                 # union compat_nfsctl_res*
        jg      compat_sys_nfsservctl   # branch to system call
 
-       .globl  sys32_setresgid16_wrapper
-sys32_setresgid16_wrapper:
+ENTRY(sys32_setresgid16_wrapper)
        llgfr   %r2,%r2                 # __kernel_old_gid_emu31_t
        llgfr   %r3,%r3                 # __kernel_old_gid_emu31_t
        llgfr   %r4,%r4                 # __kernel_old_gid_emu31_t
        jg      sys32_setresgid16       # branch to system call
 
-       .globl  sys32_getresgid16_wrapper
-sys32_getresgid16_wrapper:
+ENTRY(sys32_getresgid16_wrapper)
        llgtr   %r2,%r2                 # __kernel_old_gid_emu31_t *
        llgtr   %r3,%r3                 # __kernel_old_gid_emu31_t *
        llgtr   %r4,%r4                 # __kernel_old_gid_emu31_t *
        jg      sys32_getresgid16       # branch to system call
 
-       .globl  sys32_prctl_wrapper
-sys32_prctl_wrapper:
+ENTRY(sys32_prctl_wrapper)
        lgfr    %r2,%r2                 # int
        llgfr   %r3,%r3                 # unsigned long
        llgfr   %r4,%r4                 # unsigned long
@@ -818,51 +693,44 @@ sys32_prctl_wrapper:
 
 #sys32_rt_sigreturn_wrapper            # done in rt_sigreturn_glue
 
-       .globl  sys32_rt_sigaction_wrapper
-sys32_rt_sigaction_wrapper:
+ENTRY(sys32_rt_sigaction_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # const struct sigaction_emu31 *
        llgtr   %r4,%r4                 # const struct sigaction_emu31 *
        llgfr   %r5,%r5                 # size_t
        jg      sys32_rt_sigaction      # branch to system call
 
-       .globl  sys32_rt_sigprocmask_wrapper
-sys32_rt_sigprocmask_wrapper:
+ENTRY(sys32_rt_sigprocmask_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # old_sigset_emu31 *
        llgtr   %r4,%r4                 # old_sigset_emu31 *
        llgfr   %r5,%r5                 # size_t
        jg      sys32_rt_sigprocmask    # branch to system call
 
-       .globl  sys32_rt_sigpending_wrapper
-sys32_rt_sigpending_wrapper:
+ENTRY(sys32_rt_sigpending_wrapper)
        llgtr   %r2,%r2                 # sigset_emu31 *
        llgfr   %r3,%r3                 # size_t
        jg      sys32_rt_sigpending     # branch to system call
 
-       .globl  compat_sys_rt_sigtimedwait_wrapper
-compat_sys_rt_sigtimedwait_wrapper:
+ENTRY(compat_sys_rt_sigtimedwait_wrapper)
        llgtr   %r2,%r2                 # const sigset_emu31_t *
        llgtr   %r3,%r3                 # siginfo_emu31_t *
        llgtr   %r4,%r4                 # const struct compat_timespec *
        llgfr   %r5,%r5                 # size_t
        jg      compat_sys_rt_sigtimedwait      # branch to system call
 
-       .globl  sys32_rt_sigqueueinfo_wrapper
-sys32_rt_sigqueueinfo_wrapper:
+ENTRY(sys32_rt_sigqueueinfo_wrapper)
        lgfr    %r2,%r2                 # int
        lgfr    %r3,%r3                 # int
        llgtr   %r4,%r4                 # siginfo_emu31_t *
        jg      sys32_rt_sigqueueinfo   # branch to system call
 
-       .globl compat_sys_rt_sigsuspend_wrapper
-compat_sys_rt_sigsuspend_wrapper:
+ENTRY(compat_sys_rt_sigsuspend_wrapper)
        llgtr   %r2,%r2                 # compat_sigset_t *
        llgfr   %r3,%r3                 # compat_size_t
        jg      compat_sys_rt_sigsuspend
 
-       .globl  sys32_pread64_wrapper
-sys32_pread64_wrapper:
+ENTRY(sys32_pread64_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgtr   %r3,%r3                 # char *
        llgfr   %r4,%r4                 # size_t
@@ -870,8 +738,7 @@ sys32_pread64_wrapper:
        llgfr   %r6,%r6                 # u32
        jg      sys32_pread64           # branch to system call
 
-       .globl  sys32_pwrite64_wrapper
-sys32_pwrite64_wrapper:
+ENTRY(sys32_pwrite64_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgtr   %r3,%r3                 # const char *
        llgfr   %r4,%r4                 # size_t
@@ -879,39 +746,33 @@ sys32_pwrite64_wrapper:
        llgfr   %r6,%r6                 # u32
        jg      sys32_pwrite64          # branch to system call
 
-       .globl  sys32_chown16_wrapper
-sys32_chown16_wrapper:
+ENTRY(sys32_chown16_wrapper)
        llgtr   %r2,%r2                 # const char *
        llgfr   %r3,%r3                 # __kernel_old_uid_emu31_t
        llgfr   %r4,%r4                 # __kernel_old_gid_emu31_t
        jg      sys32_chown16           # branch to system call
 
-       .globl  sys32_getcwd_wrapper
-sys32_getcwd_wrapper:
+ENTRY(sys32_getcwd_wrapper)
        llgtr   %r2,%r2                 # char *
        llgfr   %r3,%r3                 # unsigned long
        jg      sys_getcwd              # branch to system call
 
-       .globl  sys32_capget_wrapper
-sys32_capget_wrapper:
+ENTRY(sys32_capget_wrapper)
        llgtr   %r2,%r2                 # cap_user_header_t
        llgtr   %r3,%r3                 # cap_user_data_t
        jg      sys_capget              # branch to system call
 
-       .globl  sys32_capset_wrapper
-sys32_capset_wrapper:
+ENTRY(sys32_capset_wrapper)
        llgtr   %r2,%r2                 # cap_user_header_t
        llgtr   %r3,%r3                 # const cap_user_data_t
        jg      sys_capset              # branch to system call
 
-       .globl sys32_sigaltstack_wrapper
-sys32_sigaltstack_wrapper:
+ENTRY(sys32_sigaltstack_wrapper)
        llgtr   %r2,%r2                 # const stack_emu31_t *
        llgtr   %r3,%r3                 # stack_emu31_t *
        jg      sys32_sigaltstack
 
-       .globl  sys32_sendfile_wrapper
-sys32_sendfile_wrapper:
+ENTRY(sys32_sendfile_wrapper)
        lgfr    %r2,%r2                 # int
        lgfr    %r3,%r3                 # int
        llgtr   %r4,%r4                 # __kernel_off_emu31_t *
@@ -920,22 +781,19 @@ sys32_sendfile_wrapper:
 
 #sys32_vfork_wrapper                   # done in vfork_glue
 
-       .globl  sys32_truncate64_wrapper
-sys32_truncate64_wrapper:
+ENTRY(sys32_truncate64_wrapper)
        llgtr   %r2,%r2                 # const char *
        llgfr   %r3,%r3                 # unsigned long
        llgfr   %r4,%r4                 # unsigned long
        jg      sys32_truncate64        # branch to system call
 
-       .globl  sys32_ftruncate64_wrapper
-sys32_ftruncate64_wrapper:
+ENTRY(sys32_ftruncate64_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgfr   %r3,%r3                 # unsigned long
        llgfr   %r4,%r4                 # unsigned long
        jg      sys32_ftruncate64       # branch to system call
 
-       .globl sys32_lchown_wrapper
-sys32_lchown_wrapper:
+ENTRY(sys32_lchown_wrapper)
        llgtr   %r2,%r2                 # const char *
        llgfr   %r3,%r3                 # uid_t
        llgfr   %r4,%r4                 # gid_t
@@ -946,156 +804,131 @@ sys32_lchown_wrapper:
 #sys32_geteuid_wrapper                 # void
 #sys32_getegid_wrapper                 # void
 
-       .globl sys32_setreuid_wrapper
-sys32_setreuid_wrapper:
+ENTRY(sys32_setreuid_wrapper)
        llgfr   %r2,%r2                 # uid_t
        llgfr   %r3,%r3                 # uid_t
        jg      sys_setreuid            # branch to system call
 
-       .globl sys32_setregid_wrapper
-sys32_setregid_wrapper:
+ENTRY(sys32_setregid_wrapper)
        llgfr   %r2,%r2                 # gid_t
        llgfr   %r3,%r3                 # gid_t
        jg      sys_setregid            # branch to system call
 
-       .globl  sys32_getgroups_wrapper
-sys32_getgroups_wrapper:
+ENTRY(sys32_getgroups_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # gid_t *
        jg      sys_getgroups           # branch to system call
 
-       .globl  sys32_setgroups_wrapper
-sys32_setgroups_wrapper:
+ENTRY(sys32_setgroups_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # gid_t *
        jg      sys_setgroups           # branch to system call
 
-       .globl sys32_fchown_wrapper
-sys32_fchown_wrapper:
+ENTRY(sys32_fchown_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgfr   %r3,%r3                 # uid_t
        llgfr   %r4,%r4                 # gid_t
        jg      sys_fchown              # branch to system call
 
-       .globl sys32_setresuid_wrapper
-sys32_setresuid_wrapper:
+ENTRY(sys32_setresuid_wrapper)
        llgfr   %r2,%r2                 # uid_t
        llgfr   %r3,%r3                 # uid_t
        llgfr   %r4,%r4                 # uid_t
        jg      sys_setresuid           # branch to system call
 
-       .globl sys32_getresuid_wrapper
-sys32_getresuid_wrapper:
+ENTRY(sys32_getresuid_wrapper)
        llgtr   %r2,%r2                 # uid_t *
        llgtr   %r3,%r3                 # uid_t *
        llgtr   %r4,%r4                 # uid_t *
        jg      sys_getresuid           # branch to system call
 
-       .globl sys32_setresgid_wrapper
-sys32_setresgid_wrapper:
+ENTRY(sys32_setresgid_wrapper)
        llgfr   %r2,%r2                 # gid_t
        llgfr   %r3,%r3                 # gid_t
        llgfr   %r4,%r4                 # gid_t
        jg      sys_setresgid           # branch to system call
 
-       .globl sys32_getresgid_wrapper
-sys32_getresgid_wrapper:
+ENTRY(sys32_getresgid_wrapper)
        llgtr   %r2,%r2                 # gid_t *
        llgtr   %r3,%r3                 # gid_t *
        llgtr   %r4,%r4                 # gid_t *
        jg      sys_getresgid           # branch to system call
 
-       .globl sys32_chown_wrapper
-sys32_chown_wrapper:
+ENTRY(sys32_chown_wrapper)
        llgtr   %r2,%r2                 # const char *
        llgfr   %r3,%r3                 # uid_t
        llgfr   %r4,%r4                 # gid_t
        jg      sys_chown               # branch to system call
 
-       .globl sys32_setuid_wrapper
-sys32_setuid_wrapper:
+ENTRY(sys32_setuid_wrapper)
        llgfr   %r2,%r2                 # uid_t
        jg      sys_setuid              # branch to system call
 
-       .globl sys32_setgid_wrapper
-sys32_setgid_wrapper:
+ENTRY(sys32_setgid_wrapper)
        llgfr   %r2,%r2                 # gid_t
        jg      sys_setgid              # branch to system call
 
-       .globl sys32_setfsuid_wrapper
-sys32_setfsuid_wrapper:
+ENTRY(sys32_setfsuid_wrapper)
        llgfr   %r2,%r2                 # uid_t
        jg      sys_setfsuid            # branch to system call
 
-       .globl sys32_setfsgid_wrapper
-sys32_setfsgid_wrapper:
+ENTRY(sys32_setfsgid_wrapper)
        llgfr   %r2,%r2                 # gid_t
        jg      sys_setfsgid            # branch to system call
 
-       .globl  sys32_pivot_root_wrapper
-sys32_pivot_root_wrapper:
+ENTRY(sys32_pivot_root_wrapper)
        llgtr   %r2,%r2                 # const char *
        llgtr   %r3,%r3                 # const char *
        jg      sys_pivot_root          # branch to system call
 
-       .globl  sys32_mincore_wrapper
-sys32_mincore_wrapper:
+ENTRY(sys32_mincore_wrapper)
        llgfr   %r2,%r2                 # unsigned long
        llgfr   %r3,%r3                 # size_t
        llgtr   %r4,%r4                 # unsigned char *
        jg      sys_mincore             # branch to system call
 
-       .globl  sys32_madvise_wrapper
-sys32_madvise_wrapper:
+ENTRY(sys32_madvise_wrapper)
        llgfr   %r2,%r2                 # unsigned long
        llgfr   %r3,%r3                 # size_t
        lgfr    %r4,%r4                 # int
        jg      sys_madvise             # branch to system call
 
-       .globl  sys32_getdents64_wrapper
-sys32_getdents64_wrapper:
+ENTRY(sys32_getdents64_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgtr   %r3,%r3                 # void *
        llgfr   %r4,%r4                 # unsigned int
        jg      sys_getdents64          # branch to system call
 
-       .globl  compat_sys_fcntl64_wrapper
-compat_sys_fcntl64_wrapper:
+ENTRY(compat_sys_fcntl64_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgfr   %r3,%r3                 # unsigned int
        llgfr   %r4,%r4                 # unsigned long
        jg      compat_sys_fcntl64      # branch to system call
 
-       .globl  sys32_stat64_wrapper
-sys32_stat64_wrapper:
+ENTRY(sys32_stat64_wrapper)
        llgtr   %r2,%r2                 # char *
        llgtr   %r3,%r3                 # struct stat64 *
        jg      sys32_stat64            # branch to system call
 
-       .globl  sys32_lstat64_wrapper
-sys32_lstat64_wrapper:
+ENTRY(sys32_lstat64_wrapper)
        llgtr   %r2,%r2                 # char *
        llgtr   %r3,%r3                 # struct stat64 *
        jg      sys32_lstat64           # branch to system call
 
-       .globl  sys32_stime_wrapper
-sys32_stime_wrapper:
+ENTRY(sys32_stime_wrapper)
        llgtr   %r2,%r2                 # long *
        jg      compat_sys_stime        # branch to system call
 
-       .globl  sys32_sysctl_wrapper
-sys32_sysctl_wrapper:
+ENTRY(sys32_sysctl_wrapper)
        llgtr   %r2,%r2                 # struct compat_sysctl_args *
        jg      compat_sys_sysctl
 
-       .globl  sys32_fstat64_wrapper
-sys32_fstat64_wrapper:
+ENTRY(sys32_fstat64_wrapper)
        llgfr   %r2,%r2                 # unsigned long
        llgtr   %r3,%r3                 # struct stat64 *
        jg      sys32_fstat64           # branch to system call
 
-       .globl  compat_sys_futex_wrapper
-compat_sys_futex_wrapper:
+ENTRY(compat_sys_futex_wrapper)
        llgtr   %r2,%r2                 # u32 *
        lgfr    %r3,%r3                 # int
        lgfr    %r4,%r4                 # int
@@ -1105,8 +938,7 @@ compat_sys_futex_wrapper:
        stg     %r0,160(%r15)
        jg      compat_sys_futex        # branch to system call
 
-       .globl  sys32_setxattr_wrapper
-sys32_setxattr_wrapper:
+ENTRY(sys32_setxattr_wrapper)
        llgtr   %r2,%r2                 # char *
        llgtr   %r3,%r3                 # char *
        llgtr   %r4,%r4                 # void *
@@ -1114,8 +946,7 @@ sys32_setxattr_wrapper:
        lgfr    %r6,%r6                 # int
        jg      sys_setxattr
 
-       .globl  sys32_lsetxattr_wrapper
-sys32_lsetxattr_wrapper:
+ENTRY(sys32_lsetxattr_wrapper)
        llgtr   %r2,%r2                 # char *
        llgtr   %r3,%r3                 # char *
        llgtr   %r4,%r4                 # void *
@@ -1123,8 +954,7 @@ sys32_lsetxattr_wrapper:
        lgfr    %r6,%r6                 # int
        jg      sys_lsetxattr
 
-       .globl  sys32_fsetxattr_wrapper
-sys32_fsetxattr_wrapper:
+ENTRY(sys32_fsetxattr_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # char *
        llgtr   %r4,%r4                 # void *
@@ -1132,124 +962,106 @@ sys32_fsetxattr_wrapper:
        lgfr    %r6,%r6                 # int
        jg      sys_fsetxattr
 
-       .globl  sys32_getxattr_wrapper
-sys32_getxattr_wrapper:
+ENTRY(sys32_getxattr_wrapper)
        llgtr   %r2,%r2                 # char *
        llgtr   %r3,%r3                 # char *
        llgtr   %r4,%r4                 # void *
        llgfr   %r5,%r5                 # size_t
        jg      sys_getxattr
 
-       .globl  sys32_lgetxattr_wrapper
-sys32_lgetxattr_wrapper:
+ENTRY(sys32_lgetxattr_wrapper)
        llgtr   %r2,%r2                 # char *
        llgtr   %r3,%r3                 # char *
        llgtr   %r4,%r4                 # void *
        llgfr   %r5,%r5                 # size_t
        jg      sys_lgetxattr
 
-       .globl  sys32_fgetxattr_wrapper
-sys32_fgetxattr_wrapper:
+ENTRY(sys32_fgetxattr_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # char *
        llgtr   %r4,%r4                 # void *
        llgfr   %r5,%r5                 # size_t
        jg      sys_fgetxattr
 
-       .globl  sys32_listxattr_wrapper
-sys32_listxattr_wrapper:
+ENTRY(sys32_listxattr_wrapper)
        llgtr   %r2,%r2                 # char *
        llgtr   %r3,%r3                 # char *
        llgfr   %r4,%r4                 # size_t
        jg      sys_listxattr
 
-       .globl  sys32_llistxattr_wrapper
-sys32_llistxattr_wrapper:
+ENTRY(sys32_llistxattr_wrapper)
        llgtr   %r2,%r2                 # char *
        llgtr   %r3,%r3                 # char *
        llgfr   %r4,%r4                 # size_t
        jg      sys_llistxattr
 
-       .globl  sys32_flistxattr_wrapper
-sys32_flistxattr_wrapper:
+ENTRY(sys32_flistxattr_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # char *
        llgfr   %r4,%r4                 # size_t
        jg      sys_flistxattr
 
-       .globl  sys32_removexattr_wrapper
-sys32_removexattr_wrapper:
+ENTRY(sys32_removexattr_wrapper)
        llgtr   %r2,%r2                 # char *
        llgtr   %r3,%r3                 # char *
        jg      sys_removexattr
 
-       .globl  sys32_lremovexattr_wrapper
-sys32_lremovexattr_wrapper:
+ENTRY(sys32_lremovexattr_wrapper)
        llgtr   %r2,%r2                 # char *
        llgtr   %r3,%r3                 # char *
        jg      sys_lremovexattr
 
-       .globl  sys32_fremovexattr_wrapper
-sys32_fremovexattr_wrapper:
+ENTRY(sys32_fremovexattr_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # char *
        jg      sys_fremovexattr
 
-       .globl  sys32_sched_setaffinity_wrapper
-sys32_sched_setaffinity_wrapper:
+ENTRY(sys32_sched_setaffinity_wrapper)
        lgfr    %r2,%r2                 # int
        llgfr   %r3,%r3                 # unsigned int
        llgtr   %r4,%r4                 # unsigned long *
        jg      compat_sys_sched_setaffinity
 
-       .globl  sys32_sched_getaffinity_wrapper
-sys32_sched_getaffinity_wrapper:
+ENTRY(sys32_sched_getaffinity_wrapper)
        lgfr    %r2,%r2                 # int
        llgfr   %r3,%r3                 # unsigned int
        llgtr   %r4,%r4                 # unsigned long *
        jg      compat_sys_sched_getaffinity
 
-       .globl  sys32_exit_group_wrapper
-sys32_exit_group_wrapper:
+ENTRY(sys32_exit_group_wrapper)
        lgfr    %r2,%r2                 # int
        jg      sys_exit_group          # branch to system call
 
-       .globl  sys32_set_tid_address_wrapper
-sys32_set_tid_address_wrapper:
+ENTRY(sys32_set_tid_address_wrapper)
        llgtr   %r2,%r2                 # int *
        jg      sys_set_tid_address     # branch to system call
 
-       .globl  sys_epoll_create_wrapper
-sys_epoll_create_wrapper:
+ENTRY(sys_epoll_create_wrapper)
        lgfr    %r2,%r2                 # int
        jg      sys_epoll_create        # branch to system call
 
-       .globl  sys_epoll_ctl_wrapper
-sys_epoll_ctl_wrapper:
+ENTRY(sys_epoll_ctl_wrapper)
        lgfr    %r2,%r2                 # int
        lgfr    %r3,%r3                 # int
        lgfr    %r4,%r4                 # int
        llgtr   %r5,%r5                 # struct epoll_event *
        jg      sys_epoll_ctl           # branch to system call
 
-       .globl  sys_epoll_wait_wrapper
-sys_epoll_wait_wrapper:
+ENTRY(sys_epoll_wait_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # struct epoll_event *
        lgfr    %r4,%r4                 # int
        lgfr    %r5,%r5                 # int
        jg      sys_epoll_wait          # branch to system call
 
-       .globl  sys32_lookup_dcookie_wrapper
-sys32_lookup_dcookie_wrapper:
+ENTRY(sys32_lookup_dcookie_wrapper)
        sllg    %r2,%r2,32              # get high word of 64bit dcookie
        or      %r2,%r3                 # get low word of 64bit dcookie
        llgtr   %r3,%r4                 # char *
        llgfr   %r4,%r5                 # size_t
        jg      sys_lookup_dcookie
 
-       .globl  sys32_fadvise64_wrapper
-sys32_fadvise64_wrapper:
+ENTRY(sys32_fadvise64_wrapper)
        lgfr    %r2,%r2                 # int
        sllg    %r3,%r3,32              # get high word of 64bit loff_t
        or      %r3,%r4                 # get low word of 64bit loff_t
@@ -1257,81 +1069,68 @@ sys32_fadvise64_wrapper:
        lgfr    %r5,%r6                 # int
        jg      sys32_fadvise64
 
-       .globl  sys32_fadvise64_64_wrapper
-sys32_fadvise64_64_wrapper:
+ENTRY(sys32_fadvise64_64_wrapper)
        llgtr   %r2,%r2                 # struct fadvise64_64_args *
        jg      sys32_fadvise64_64
 
-       .globl  sys32_clock_settime_wrapper
-sys32_clock_settime_wrapper:
+ENTRY(sys32_clock_settime_wrapper)
        lgfr    %r2,%r2                 # clockid_t (int)
        llgtr   %r3,%r3                 # struct compat_timespec *
        jg      compat_sys_clock_settime
 
-       .globl  sys32_clock_gettime_wrapper
-sys32_clock_gettime_wrapper:
+ENTRY(sys32_clock_gettime_wrapper)
        lgfr    %r2,%r2                 # clockid_t (int)
        llgtr   %r3,%r3                 # struct compat_timespec *
        jg      compat_sys_clock_gettime
 
-       .globl  sys32_clock_getres_wrapper
-sys32_clock_getres_wrapper:
+ENTRY(sys32_clock_getres_wrapper)
        lgfr    %r2,%r2                 # clockid_t (int)
        llgtr   %r3,%r3                 # struct compat_timespec *
        jg      compat_sys_clock_getres
 
-       .globl  sys32_clock_nanosleep_wrapper
-sys32_clock_nanosleep_wrapper:
+ENTRY(sys32_clock_nanosleep_wrapper)
        lgfr    %r2,%r2                 # clockid_t (int)
        lgfr    %r3,%r3                 # int
        llgtr   %r4,%r4                 # struct compat_timespec *
        llgtr   %r5,%r5                 # struct compat_timespec *
        jg      compat_sys_clock_nanosleep
 
-       .globl  sys32_timer_create_wrapper
-sys32_timer_create_wrapper:
+ENTRY(sys32_timer_create_wrapper)
        lgfr    %r2,%r2                 # timer_t (int)
        llgtr   %r3,%r3                 # struct compat_sigevent *
        llgtr   %r4,%r4                 # timer_t *
        jg      compat_sys_timer_create
 
-       .globl  sys32_timer_settime_wrapper
-sys32_timer_settime_wrapper:
+ENTRY(sys32_timer_settime_wrapper)
        lgfr    %r2,%r2                 # timer_t (int)
        lgfr    %r3,%r3                 # int
        llgtr   %r4,%r4                 # struct compat_itimerspec *
        llgtr   %r5,%r5                 # struct compat_itimerspec *
        jg      compat_sys_timer_settime
 
-       .globl  sys32_timer_gettime_wrapper
-sys32_timer_gettime_wrapper:
+ENTRY(sys32_timer_gettime_wrapper)
        lgfr    %r2,%r2                 # timer_t (int)
        llgtr   %r3,%r3                 # struct compat_itimerspec *
        jg      compat_sys_timer_gettime
 
-       .globl  sys32_timer_getoverrun_wrapper
-sys32_timer_getoverrun_wrapper:
+ENTRY(sys32_timer_getoverrun_wrapper)
        lgfr    %r2,%r2                 # timer_t (int)
        jg      sys_timer_getoverrun
 
-       .globl  sys32_timer_delete_wrapper
-sys32_timer_delete_wrapper:
+ENTRY(sys32_timer_delete_wrapper)
        lgfr    %r2,%r2                 # timer_t (int)
        jg      sys_timer_delete
 
-       .globl  sys32_io_setup_wrapper
-sys32_io_setup_wrapper:
+ENTRY(sys32_io_setup_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgtr   %r3,%r3                 # u32 *
        jg      compat_sys_io_setup
 
-       .globl  sys32_io_destroy_wrapper
-sys32_io_destroy_wrapper:
+ENTRY(sys32_io_destroy_wrapper)
        llgfr   %r2,%r2                 # (aio_context_t) u32
        jg      sys_io_destroy
 
-       .globl  sys32_io_getevents_wrapper
-sys32_io_getevents_wrapper:
+ENTRY(sys32_io_getevents_wrapper)
        llgfr   %r2,%r2                 # (aio_context_t) u32
        lgfr    %r3,%r3                 # long
        lgfr    %r4,%r4                 # long
@@ -1339,49 +1138,42 @@ sys32_io_getevents_wrapper:
        llgtr   %r6,%r6                 # struct compat_timespec *
        jg      compat_sys_io_getevents
 
-       .globl  sys32_io_submit_wrapper
-sys32_io_submit_wrapper:
+ENTRY(sys32_io_submit_wrapper)
        llgfr   %r2,%r2                 # (aio_context_t) u32
        lgfr    %r3,%r3                 # long
        llgtr   %r4,%r4                 # struct iocb **
        jg      compat_sys_io_submit
 
-       .globl  sys32_io_cancel_wrapper
-sys32_io_cancel_wrapper:
+ENTRY(sys32_io_cancel_wrapper)
        llgfr   %r2,%r2                 # (aio_context_t) u32
        llgtr   %r3,%r3                 # struct iocb *
        llgtr   %r4,%r4                 # struct io_event *
        jg      sys_io_cancel
 
-       .globl compat_sys_statfs64_wrapper
-compat_sys_statfs64_wrapper:
+ENTRY(compat_sys_statfs64_wrapper)
        llgtr   %r2,%r2                 # const char *
        llgfr   %r3,%r3                 # compat_size_t
        llgtr   %r4,%r4                 # struct compat_statfs64 *
        jg      compat_sys_statfs64
 
-       .globl compat_sys_fstatfs64_wrapper
-compat_sys_fstatfs64_wrapper:
+ENTRY(compat_sys_fstatfs64_wrapper)
        llgfr   %r2,%r2                 # unsigned int fd
        llgfr   %r3,%r3                 # compat_size_t
        llgtr   %r4,%r4                 # struct compat_statfs64 *
        jg      compat_sys_fstatfs64
 
-       .globl  compat_sys_mq_open_wrapper
-compat_sys_mq_open_wrapper:
+ENTRY(compat_sys_mq_open_wrapper)
        llgtr   %r2,%r2                 # const char *
        lgfr    %r3,%r3                 # int
        llgfr   %r4,%r4                 # mode_t
        llgtr   %r5,%r5                 # struct compat_mq_attr *
        jg      compat_sys_mq_open
 
-       .globl  sys32_mq_unlink_wrapper
-sys32_mq_unlink_wrapper:
+ENTRY(sys32_mq_unlink_wrapper)
        llgtr   %r2,%r2                 # const char *
        jg      sys_mq_unlink
 
-       .globl  compat_sys_mq_timedsend_wrapper
-compat_sys_mq_timedsend_wrapper:
+ENTRY(compat_sys_mq_timedsend_wrapper)
        lgfr    %r2,%r2                 # mqd_t
        llgtr   %r3,%r3                 # const char *
        llgfr   %r4,%r4                 # size_t
@@ -1389,8 +1181,7 @@ compat_sys_mq_timedsend_wrapper:
        llgtr   %r6,%r6                 # const struct compat_timespec *
        jg      compat_sys_mq_timedsend
 
-       .globl  compat_sys_mq_timedreceive_wrapper
-compat_sys_mq_timedreceive_wrapper:
+ENTRY(compat_sys_mq_timedreceive_wrapper)
        lgfr    %r2,%r2                 # mqd_t
        llgtr   %r3,%r3                 # char *
        llgfr   %r4,%r4                 # size_t
@@ -1398,21 +1189,18 @@ compat_sys_mq_timedreceive_wrapper:
        llgtr   %r6,%r6                 # const struct compat_timespec *
        jg      compat_sys_mq_timedreceive
 
-       .globl  compat_sys_mq_notify_wrapper
-compat_sys_mq_notify_wrapper:
+ENTRY(compat_sys_mq_notify_wrapper)
        lgfr    %r2,%r2                 # mqd_t
        llgtr   %r3,%r3                 # struct compat_sigevent *
        jg      compat_sys_mq_notify
 
-       .globl  compat_sys_mq_getsetattr_wrapper
-compat_sys_mq_getsetattr_wrapper:
+ENTRY(compat_sys_mq_getsetattr_wrapper)
        lgfr    %r2,%r2                 # mqd_t
        llgtr   %r3,%r3                 # struct compat_mq_attr *
        llgtr   %r4,%r4                 # struct compat_mq_attr *
        jg      compat_sys_mq_getsetattr
 
-       .globl  compat_sys_add_key_wrapper
-compat_sys_add_key_wrapper:
+ENTRY(compat_sys_add_key_wrapper)
        llgtr   %r2,%r2                 # const char *
        llgtr   %r3,%r3                 # const char *
        llgtr   %r4,%r4                 # const void *
@@ -1420,16 +1208,14 @@ compat_sys_add_key_wrapper:
        llgfr   %r6,%r6                 # (key_serial_t) u32
        jg      sys_add_key
 
-       .globl  compat_sys_request_key_wrapper
-compat_sys_request_key_wrapper:
+ENTRY(compat_sys_request_key_wrapper)
        llgtr   %r2,%r2                 # const char *
        llgtr   %r3,%r3                 # const char *
        llgtr   %r4,%r4                 # const void *
        llgfr   %r5,%r5                 # (key_serial_t) u32
        jg      sys_request_key
 
-       .globl  sys32_remap_file_pages_wrapper
-sys32_remap_file_pages_wrapper:
+ENTRY(sys32_remap_file_pages_wrapper)
        llgfr   %r2,%r2                 # unsigned long
        llgfr   %r3,%r3                 # unsigned long
        llgfr   %r4,%r4                 # unsigned long
@@ -1437,8 +1223,7 @@ sys32_remap_file_pages_wrapper:
        llgfr   %r6,%r6                 # unsigned long
        jg      sys_remap_file_pages
 
-       .globl  compat_sys_waitid_wrapper
-compat_sys_waitid_wrapper:
+ENTRY(compat_sys_waitid_wrapper)
        lgfr    %r2,%r2                 # int
        lgfr    %r3,%r3                 # pid_t
        llgtr   %r4,%r4                 # siginfo_emu31_t *
@@ -1446,65 +1231,56 @@ compat_sys_waitid_wrapper:
        llgtr   %r6,%r6                 # struct rusage_emu31 *
        jg      compat_sys_waitid
 
-       .globl  compat_sys_kexec_load_wrapper
-compat_sys_kexec_load_wrapper:
+ENTRY(compat_sys_kexec_load_wrapper)
        llgfr   %r2,%r2                 # unsigned long
        llgfr   %r3,%r3                 # unsigned long
        llgtr   %r4,%r4                 # struct kexec_segment *
        llgfr   %r5,%r5                 # unsigned long
        jg      compat_sys_kexec_load
 
-       .globl  sys_ioprio_set_wrapper
-sys_ioprio_set_wrapper:
+ENTRY(sys_ioprio_set_wrapper)
        lgfr    %r2,%r2                 # int
        lgfr    %r3,%r3                 # int
        lgfr    %r4,%r4                 # int
        jg      sys_ioprio_set
 
-       .globl  sys_ioprio_get_wrapper
-sys_ioprio_get_wrapper:
+ENTRY(sys_ioprio_get_wrapper)
        lgfr    %r2,%r2                 # int
        lgfr    %r3,%r3                 # int
        jg      sys_ioprio_get
 
-       .globl  sys_inotify_add_watch_wrapper
-sys_inotify_add_watch_wrapper:
+ENTRY(sys_inotify_add_watch_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # const char *
        llgfr   %r4,%r4                 # u32
        jg      sys_inotify_add_watch
 
-       .globl  sys_inotify_rm_watch_wrapper
-sys_inotify_rm_watch_wrapper:
+ENTRY(sys_inotify_rm_watch_wrapper)
        lgfr    %r2,%r2                 # int
        llgfr   %r3,%r3                 # u32
        jg      sys_inotify_rm_watch
 
-       .globl compat_sys_openat_wrapper
-compat_sys_openat_wrapper:
+ENTRY(compat_sys_openat_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgtr   %r3,%r3                 # const char *
        lgfr    %r4,%r4                 # int
        lgfr    %r5,%r5                 # int
        jg      compat_sys_openat
 
-       .globl sys_mkdirat_wrapper
-sys_mkdirat_wrapper:
+ENTRY(sys_mkdirat_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # const char *
        lgfr    %r4,%r4                 # int
        jg      sys_mkdirat
 
-       .globl sys_mknodat_wrapper
-sys_mknodat_wrapper:
+ENTRY(sys_mknodat_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # const char *
        lgfr    %r4,%r4                 # int
        llgfr   %r5,%r5                 # unsigned int
        jg      sys_mknodat
 
-       .globl sys_fchownat_wrapper
-sys_fchownat_wrapper:
+ENTRY(sys_fchownat_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # const char *
        llgfr   %r4,%r4                 # uid_t
@@ -1512,38 +1288,33 @@ sys_fchownat_wrapper:
        lgfr    %r6,%r6                 # int
        jg      sys_fchownat
 
-       .globl compat_sys_futimesat_wrapper
-compat_sys_futimesat_wrapper:
+ENTRY(compat_sys_futimesat_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgtr   %r3,%r3                 # char *
        llgtr   %r4,%r4                 # struct timeval *
        jg      compat_sys_futimesat
 
-       .globl sys32_fstatat64_wrapper
-sys32_fstatat64_wrapper:
+ENTRY(sys32_fstatat64_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgtr   %r3,%r3                 # char *
        llgtr   %r4,%r4                 # struct stat64 *
        lgfr    %r5,%r5                 # int
        jg      sys32_fstatat64
 
-       .globl sys_unlinkat_wrapper
-sys_unlinkat_wrapper:
+ENTRY(sys_unlinkat_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # const char *
        lgfr    %r4,%r4                 # int
        jg      sys_unlinkat
 
-       .globl sys_renameat_wrapper
-sys_renameat_wrapper:
+ENTRY(sys_renameat_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # const char *
        lgfr    %r4,%r4                 # int
        llgtr   %r5,%r5                 # const char *
        jg      sys_renameat
 
-       .globl sys_linkat_wrapper
-sys_linkat_wrapper:
+ENTRY(sys_linkat_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # const char *
        lgfr    %r4,%r4                 # int
@@ -1551,37 +1322,32 @@ sys_linkat_wrapper:
        lgfr    %r6,%r6                 # int
        jg      sys_linkat
 
-       .globl sys_symlinkat_wrapper
-sys_symlinkat_wrapper:
+ENTRY(sys_symlinkat_wrapper)
        llgtr   %r2,%r2                 # const char *
        lgfr    %r3,%r3                 # int
        llgtr   %r4,%r4                 # const char *
        jg      sys_symlinkat
 
-       .globl sys_readlinkat_wrapper
-sys_readlinkat_wrapper:
+ENTRY(sys_readlinkat_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # const char *
        llgtr   %r4,%r4                 # char *
        lgfr    %r5,%r5                 # int
        jg      sys_readlinkat
 
-       .globl sys_fchmodat_wrapper
-sys_fchmodat_wrapper:
+ENTRY(sys_fchmodat_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # const char *
        llgfr   %r4,%r4                 # mode_t
        jg      sys_fchmodat
 
-       .globl sys_faccessat_wrapper
-sys_faccessat_wrapper:
+ENTRY(sys_faccessat_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # const char *
        lgfr    %r4,%r4                 # int
        jg      sys_faccessat
 
-       .globl compat_sys_pselect6_wrapper
-compat_sys_pselect6_wrapper:
+ENTRY(compat_sys_pselect6_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # fd_set *
        llgtr   %r4,%r4                 # fd_set *
@@ -1591,8 +1357,7 @@ compat_sys_pselect6_wrapper:
        stg     %r0,160(%r15)
        jg      compat_sys_pselect6
 
-       .globl compat_sys_ppoll_wrapper
-compat_sys_ppoll_wrapper:
+ENTRY(compat_sys_ppoll_wrapper)
        llgtr   %r2,%r2                 # struct pollfd *
        llgfr   %r3,%r3                 # unsigned int
        llgtr   %r4,%r4                 # struct timespec *
@@ -1600,26 +1365,22 @@ compat_sys_ppoll_wrapper:
        llgfr   %r6,%r6                 # size_t
        jg      compat_sys_ppoll
 
-       .globl sys_unshare_wrapper
-sys_unshare_wrapper:
+ENTRY(sys_unshare_wrapper)
        llgfr   %r2,%r2                 # unsigned long
        jg      sys_unshare
 
-       .globl compat_sys_set_robust_list_wrapper
-compat_sys_set_robust_list_wrapper:
+ENTRY(compat_sys_set_robust_list_wrapper)
        llgtr   %r2,%r2                 # struct compat_robust_list_head *
        llgfr   %r3,%r3                 # size_t
        jg      compat_sys_set_robust_list
 
-       .globl compat_sys_get_robust_list_wrapper
-compat_sys_get_robust_list_wrapper:
+ENTRY(compat_sys_get_robust_list_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # compat_uptr_t_t *
        llgtr   %r4,%r4                 # compat_size_t *
        jg      compat_sys_get_robust_list
 
-       .globl sys_splice_wrapper
-sys_splice_wrapper:
+ENTRY(sys_splice_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # loff_t *
        lgfr    %r4,%r4                 # int
@@ -1629,8 +1390,7 @@ sys_splice_wrapper:
        stg     %r0,160(%r15)
        jg      sys_splice
 
-       .globl  sys_sync_file_range_wrapper
-sys_sync_file_range_wrapper:
+ENTRY(sys_sync_file_range_wrapper)
        lgfr    %r2,%r2                 # int
        sllg    %r3,%r3,32              # get high word of 64bit loff_t
        or      %r3,%r4                 # get low word of 64bit loff_t
@@ -1639,31 +1399,27 @@ sys_sync_file_range_wrapper:
        llgf    %r5,164(%r15)           # unsigned int
        jg      sys_sync_file_range
 
-       .globl  sys_tee_wrapper
-sys_tee_wrapper:
+ENTRY(sys_tee_wrapper)
        lgfr    %r2,%r2                 # int
        lgfr    %r3,%r3                 # int
        llgfr   %r4,%r4                 # size_t
        llgfr   %r5,%r5                 # unsigned int
        jg      sys_tee
 
-       .globl compat_sys_vmsplice_wrapper
-compat_sys_vmsplice_wrapper:
+ENTRY(compat_sys_vmsplice_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # compat_iovec *
        llgfr   %r4,%r4                 # unsigned int
        llgfr   %r5,%r5                 # unsigned int
        jg      compat_sys_vmsplice
 
-       .globl  sys_getcpu_wrapper
-sys_getcpu_wrapper:
+ENTRY(sys_getcpu_wrapper)
        llgtr   %r2,%r2                 # unsigned *
        llgtr   %r3,%r3                 # unsigned *
        llgtr   %r4,%r4                 # struct getcpu_cache *
        jg      sys_getcpu
 
-       .globl  compat_sys_epoll_pwait_wrapper
-compat_sys_epoll_pwait_wrapper:
+ENTRY(compat_sys_epoll_pwait_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # struct compat_epoll_event *
        lgfr    %r4,%r4                 # int
@@ -1673,34 +1429,29 @@ compat_sys_epoll_pwait_wrapper:
        stg     %r0,160(%r15)
        jg      compat_sys_epoll_pwait
 
-       .globl  compat_sys_utimes_wrapper
-compat_sys_utimes_wrapper:
+ENTRY(compat_sys_utimes_wrapper)
        llgtr   %r2,%r2                 # char *
        llgtr   %r3,%r3                 # struct compat_timeval *
        jg      compat_sys_utimes
 
-       .globl  compat_sys_utimensat_wrapper
-compat_sys_utimensat_wrapper:
+ENTRY(compat_sys_utimensat_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgtr   %r3,%r3                 # char *
        llgtr   %r4,%r4                 # struct compat_timespec *
        lgfr    %r5,%r5                 # int
        jg      compat_sys_utimensat
 
-       .globl  compat_sys_signalfd_wrapper
-compat_sys_signalfd_wrapper:
+ENTRY(compat_sys_signalfd_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # compat_sigset_t *
        llgfr   %r4,%r4                 # compat_size_t
        jg      compat_sys_signalfd
 
-       .globl  sys_eventfd_wrapper
-sys_eventfd_wrapper:
+ENTRY(sys_eventfd_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        jg      sys_eventfd
 
-       .globl  sys_fallocate_wrapper
-sys_fallocate_wrapper:
+ENTRY(sys_fallocate_wrapper)
        lgfr    %r2,%r2                 # int
        lgfr    %r3,%r3                 # int
        sllg    %r4,%r4,32              # get high word of 64bit loff_t
@@ -1709,94 +1460,80 @@ sys_fallocate_wrapper:
        l       %r5,164(%r15)           # get low word of 64bit loff_t
        jg      sys_fallocate
 
-       .globl  sys_timerfd_create_wrapper
-sys_timerfd_create_wrapper:
+ENTRY(sys_timerfd_create_wrapper)
        lgfr    %r2,%r2                 # int
        lgfr    %r3,%r3                 # int
        jg      sys_timerfd_create
 
-       .globl  compat_sys_timerfd_settime_wrapper
-compat_sys_timerfd_settime_wrapper:
+ENTRY(compat_sys_timerfd_settime_wrapper)
        lgfr    %r2,%r2                 # int
        lgfr    %r3,%r3                 # int
        llgtr   %r4,%r4                 # struct compat_itimerspec *
        llgtr   %r5,%r5                 # struct compat_itimerspec *
        jg      compat_sys_timerfd_settime
 
-       .globl  compat_sys_timerfd_gettime_wrapper
-compat_sys_timerfd_gettime_wrapper:
+ENTRY(compat_sys_timerfd_gettime_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # struct compat_itimerspec *
        jg      compat_sys_timerfd_gettime
 
-       .globl compat_sys_signalfd4_wrapper
-compat_sys_signalfd4_wrapper:
+ENTRY(compat_sys_signalfd4_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # compat_sigset_t *
        llgfr   %r4,%r4                 # compat_size_t
        lgfr    %r5,%r5                 # int
        jg      compat_sys_signalfd4
 
-       .globl sys_eventfd2_wrapper
-sys_eventfd2_wrapper:
+ENTRY(sys_eventfd2_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        lgfr    %r3,%r3                 # int
        jg      sys_eventfd2
 
-       .globl  sys_inotify_init1_wrapper
-sys_inotify_init1_wrapper:
+ENTRY(sys_inotify_init1_wrapper)
        lgfr    %r2,%r2                 # int
        jg      sys_inotify_init1
 
-       .globl  sys_pipe2_wrapper
-sys_pipe2_wrapper:
+ENTRY(sys_pipe2_wrapper)
        llgtr   %r2,%r2                 # u32 *
        lgfr    %r3,%r3                 # int
        jg      sys_pipe2               # branch to system call
 
-       .globl  sys_dup3_wrapper
-sys_dup3_wrapper:
+ENTRY(sys_dup3_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgfr   %r3,%r3                 # unsigned int
        lgfr    %r4,%r4                 # int
        jg      sys_dup3                # branch to system call
 
-       .globl  sys_epoll_create1_wrapper
-sys_epoll_create1_wrapper:
+ENTRY(sys_epoll_create1_wrapper)
        lgfr    %r2,%r2                 # int
        jg      sys_epoll_create1       # branch to system call
 
-       .globl  sys32_readahead_wrapper
-sys32_readahead_wrapper:
+ENTRY(sys32_readahead_wrapper)
        lgfr    %r2,%r2                 # int
        llgfr   %r3,%r3                 # u32
        llgfr   %r4,%r4                 # u32
        lgfr    %r5,%r5                 # s32
        jg      sys32_readahead         # branch to system call
 
-       .globl  sys32_sendfile64_wrapper
-sys32_sendfile64_wrapper:
+ENTRY(sys32_sendfile64_wrapper)
        lgfr    %r2,%r2                 # int
        lgfr    %r3,%r3                 # int
        llgtr   %r4,%r4                 # compat_loff_t *
        lgfr    %r5,%r5                 # s32
        jg      sys32_sendfile64        # branch to system call
 
-       .globl  sys_tkill_wrapper
-sys_tkill_wrapper:
+ENTRY(sys_tkill_wrapper)
        lgfr    %r2,%r2                 # pid_t
        lgfr    %r3,%r3                 # int
        jg      sys_tkill               # branch to system call
 
-       .globl  sys_tgkill_wrapper
-sys_tgkill_wrapper:
+ENTRY(sys_tgkill_wrapper)
        lgfr    %r2,%r2                 # pid_t
        lgfr    %r3,%r3                 # pid_t
        lgfr    %r4,%r4                 # int
        jg      sys_tgkill              # branch to system call
 
-       .globl  compat_sys_keyctl_wrapper
-compat_sys_keyctl_wrapper:
+ENTRY(compat_sys_keyctl_wrapper)
        llgfr   %r2,%r2                 # u32
        llgfr   %r3,%r3                 # u32
        llgfr   %r4,%r4                 # u32
@@ -1804,8 +1541,7 @@ compat_sys_keyctl_wrapper:
        llgfr   %r6,%r6                 # u32
        jg      compat_sys_keyctl       # branch to system call
 
-       .globl  compat_sys_preadv_wrapper
-compat_sys_preadv_wrapper:
+ENTRY(compat_sys_preadv_wrapper)
        llgfr   %r2,%r2                 # unsigned long
        llgtr   %r3,%r3                 # compat_iovec *
        llgfr   %r4,%r4                 # unsigned long
@@ -1813,8 +1549,7 @@ compat_sys_preadv_wrapper:
        llgfr   %r6,%r6                 # u32
        jg      compat_sys_preadv       # branch to system call
 
-       .globl  compat_sys_pwritev_wrapper
-compat_sys_pwritev_wrapper:
+ENTRY(compat_sys_pwritev_wrapper)
        llgfr   %r2,%r2                 # unsigned long
        llgtr   %r3,%r3                 # compat_iovec *
        llgfr   %r4,%r4                 # unsigned long
@@ -1822,16 +1557,14 @@ compat_sys_pwritev_wrapper:
        llgfr   %r6,%r6                 # u32
        jg      compat_sys_pwritev      # branch to system call
 
-       .globl  compat_sys_rt_tgsigqueueinfo_wrapper
-compat_sys_rt_tgsigqueueinfo_wrapper:
+ENTRY(compat_sys_rt_tgsigqueueinfo_wrapper)
        lgfr    %r2,%r2                 # compat_pid_t
        lgfr    %r3,%r3                 # compat_pid_t
        lgfr    %r4,%r4                 # int
        llgtr   %r5,%r5                 # struct compat_siginfo *
        jg      compat_sys_rt_tgsigqueueinfo_wrapper # branch to system call
 
-       .globl  sys_perf_event_open_wrapper
-sys_perf_event_open_wrapper:
+ENTRY(sys_perf_event_open_wrapper)
        llgtr   %r2,%r2                 # const struct perf_event_attr *
        lgfr    %r3,%r3                 # pid_t
        lgfr    %r4,%r4                 # int
@@ -1839,29 +1572,25 @@ sys_perf_event_open_wrapper:
        llgfr   %r6,%r6                 # unsigned long
        jg      sys_perf_event_open     # branch to system call
 
-       .globl  sys_clone_wrapper
-sys_clone_wrapper:
+ENTRY(sys_clone_wrapper)
        llgfr   %r2,%r2                 # unsigned long
        llgfr   %r3,%r3                 # unsigned long
        llgtr   %r4,%r4                 # int *
        llgtr   %r5,%r5                 # int *
        jg      sys_clone               # branch to system call
 
-       .globl  sys32_execve_wrapper
-sys32_execve_wrapper:
+ENTRY(sys32_execve_wrapper)
        llgtr   %r2,%r2                 # char *
        llgtr   %r3,%r3                 # compat_uptr_t *
        llgtr   %r4,%r4                 # compat_uptr_t *
        jg      sys32_execve            # branch to system call
 
-       .globl  sys_fanotify_init_wrapper
-sys_fanotify_init_wrapper:
+ENTRY(sys_fanotify_init_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgfr   %r3,%r3                 # unsigned int
        jg      sys_fanotify_init       # branch to system call
 
-       .globl  sys_fanotify_mark_wrapper
-sys_fanotify_mark_wrapper:
+ENTRY(sys_fanotify_mark_wrapper)
        lgfr    %r2,%r2                 # int
        llgfr   %r3,%r3                 # unsigned int
        sllg    %r4,%r4,32              # get high word of 64bit mask
@@ -1870,16 +1599,14 @@ sys_fanotify_mark_wrapper:
        llgt    %r6,164(%r15)           # char *
        jg      sys_fanotify_mark       # branch to system call
 
-       .globl  sys_prlimit64_wrapper
-sys_prlimit64_wrapper:
+ENTRY(sys_prlimit64_wrapper)
        lgfr    %r2,%r2                 # pid_t
        llgfr   %r3,%r3                 # unsigned int
        llgtr   %r4,%r4                 # const struct rlimit64 __user *
        llgtr   %r5,%r5                 # struct rlimit64 __user *
        jg      sys_prlimit64           # branch to system call
 
-       .globl  sys_name_to_handle_at_wrapper
-sys_name_to_handle_at_wrapper:
+ENTRY(sys_name_to_handle_at_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # const char __user *
        llgtr   %r4,%r4                 # struct file_handle __user *
@@ -1887,21 +1614,18 @@ sys_name_to_handle_at_wrapper:
        lgfr    %r6,%r6                 # int
        jg      sys_name_to_handle_at
 
-       .globl  compat_sys_open_by_handle_at_wrapper
-compat_sys_open_by_handle_at_wrapper:
+ENTRY(compat_sys_open_by_handle_at_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # struct file_handle __user *
        lgfr    %r4,%r4                 # int
        jg      compat_sys_open_by_handle_at
 
-       .globl  compat_sys_clock_adjtime_wrapper
-compat_sys_clock_adjtime_wrapper:
+ENTRY(compat_sys_clock_adjtime_wrapper)
        lgfr    %r2,%r2                 # clockid_t (int)
        llgtr   %r3,%r3                 # struct compat_timex __user *
        jg      compat_sys_clock_adjtime
 
-       .globl  sys_syncfs_wrapper
-sys_syncfs_wrapper:
+ENTRY(sys_syncfs_wrapper)
        lgfr    %r2,%r2                 # int
        jg      sys_syncfs
 
index 0476174..3eab7cf 100644 (file)
@@ -9,8 +9,8 @@
  *              Heiko Carstens <heiko.carstens@de.ibm.com>
  */
 
-#include <linux/linkage.h>
 #include <linux/init.h>
+#include <linux/linkage.h>
 #include <asm/cache.h>
 #include <asm/errno.h>
 #include <asm/ptrace.h>
@@ -197,8 +197,7 @@ STACK_SIZE  = 1 << STACK_SHIFT
  * Returns:
  *  gpr2 = prev
  */
-       .globl  __switch_to
-__switch_to:
+ENTRY(__switch_to)
        basr    %r1,0
 0:     l       %r4,__THREAD_info(%r2)          # get thread_info of prev
        l       %r5,__THREAD_info(%r3)          # get thread_info of next
@@ -224,8 +223,7 @@ __critical_start:
  * are executed with interrupts enabled.
  */
 
-       .globl  system_call
-system_call:
+ENTRY(system_call)
        stpt    __LC_SYNC_ENTER_TIMER
 sysc_saveall:
        SAVE_ALL_SVC __LC_SVC_OLD_PSW,__LC_SAVE_AREA
@@ -388,8 +386,7 @@ sysc_tracenogo:
 #
 # a new process exits the kernel with ret_from_fork
 #
-       .globl  ret_from_fork
-ret_from_fork:
+ENTRY(ret_from_fork)
        l       %r13,__LC_SVC_NEW_PSW+4
        l       %r12,__LC_THREAD_INFO   # load pointer to thread_info struct
        tm      SP_PSW+1(%r15),0x01     # forking a kernel thread ?
@@ -405,8 +402,7 @@ ret_from_fork:
 # kernel_execve function needs to deal with pt_regs that is not
 # at the usual place
 #
-       .globl  kernel_execve
-kernel_execve:
+ENTRY(kernel_execve)
        stm     %r12,%r15,48(%r15)
        lr      %r14,%r15
        l       %r13,__LC_SVC_NEW_PSW+4
@@ -438,8 +434,7 @@ kernel_execve:
  * Program check handler routine
  */
 
-       .globl  pgm_check_handler
-pgm_check_handler:
+ENTRY(pgm_check_handler)
 /*
  * First we need to check for a special case:
  * Single stepping an instruction that disables the PER event mask will
@@ -565,8 +560,7 @@ kernel_per:
  * IO interrupt handler routine
  */
 
-       .globl io_int_handler
-io_int_handler:
+ENTRY(io_int_handler)
        stck    __LC_INT_CLOCK
        stpt    __LC_ASYNC_ENTER_TIMER
        SAVE_ALL_ASYNC __LC_IO_OLD_PSW,__LC_SAVE_AREA+16
@@ -703,8 +697,7 @@ io_notify_resume:
  * External interrupt handler routine
  */
 
-       .globl  ext_int_handler
-ext_int_handler:
+ENTRY(ext_int_handler)
        stck    __LC_INT_CLOCK
        stpt    __LC_ASYNC_ENTER_TIMER
        SAVE_ALL_ASYNC __LC_EXT_OLD_PSW,__LC_SAVE_AREA+16
@@ -731,8 +724,7 @@ __critical_end:
  * Machine check handler routines
  */
 
-       .globl mcck_int_handler
-mcck_int_handler:
+ENTRY(mcck_int_handler)
        stck    __LC_MCCK_CLOCK
        spt     __LC_CPU_TIMER_SAVE_AREA        # revalidate cpu timer
        lm      %r0,%r15,__LC_GPREGS_SAVE_AREA  # revalidate gprs
@@ -818,8 +810,7 @@ mcck_return:
  */
 #ifdef CONFIG_SMP
        __CPUINIT
-       .globl restart_int_handler
-restart_int_handler:
+ENTRY(restart_int_handler)
        basr    %r1,0
 restart_base:
        spt     restart_vtime-restart_base(%r1)
@@ -848,8 +839,7 @@ restart_vtime:
 /*
  * If we do not run with SMP enabled, let the new CPU crash ...
  */
-       .globl restart_int_handler
-restart_int_handler:
+ENTRY(restart_int_handler)
        basr    %r1,0
 restart_base:
        lpsw    restart_crash-restart_base(%r1)
index ab596a8..7a0fd42 100644 (file)
@@ -9,8 +9,8 @@
  *              Heiko Carstens <heiko.carstens@de.ibm.com>
  */
 
-#include <linux/linkage.h>
 #include <linux/init.h>
+#include <linux/linkage.h>
 #include <asm/cache.h>
 #include <asm/errno.h>
 #include <asm/ptrace.h>
@@ -219,8 +219,7 @@ _TIF_EXIT_SIE = (_TIF_SIGPENDING | _TIF_NEED_RESCHED | _TIF_MCCK_PENDING)
  * Returns:
  *  gpr2 = prev
  */
-       .globl  __switch_to
-__switch_to:
+ENTRY(__switch_to)
        lg      %r4,__THREAD_info(%r2)          # get thread_info of prev
        lg      %r5,__THREAD_info(%r3)          # get thread_info of next
        tm      __TI_flags+7(%r4),_TIF_MCCK_PENDING # machine check pending?
@@ -245,8 +244,7 @@ __critical_start:
  * are executed with interrupts enabled.
  */
 
-       .globl  system_call
-system_call:
+ENTRY(system_call)
        stpt    __LC_SYNC_ENTER_TIMER
 sysc_saveall:
        SAVE_ALL_SVC __LC_SVC_OLD_PSW,__LC_SAVE_AREA
@@ -408,8 +406,7 @@ sysc_tracenogo:
 #
 # a new process exits the kernel with ret_from_fork
 #
-       .globl  ret_from_fork
-ret_from_fork:
+ENTRY(ret_from_fork)
        lg      %r13,__LC_SVC_NEW_PSW+8
        lg      %r12,__LC_THREAD_INFO   # load pointer to thread_info struct
        tm      SP_PSW+1(%r15),0x01     # forking a kernel thread ?
@@ -424,8 +421,7 @@ ret_from_fork:
 # kernel_execve function needs to deal with pt_regs that is not
 # at the usual place
 #
-       .globl  kernel_execve
-kernel_execve:
+ENTRY(kernel_execve)
        stmg    %r12,%r15,96(%r15)
        lgr     %r14,%r15
        aghi    %r15,-SP_SIZE
@@ -455,8 +451,7 @@ kernel_execve:
  * Program check handler routine
  */
 
-       .globl  pgm_check_handler
-pgm_check_handler:
+ENTRY(pgm_check_handler)
 /*
  * First we need to check for a special case:
  * Single stepping an instruction that disables the PER event mask will
@@ -584,8 +579,7 @@ kernel_per:
 /*
  * IO interrupt handler routine
  */
-       .globl io_int_handler
-io_int_handler:
+ENTRY(io_int_handler)
        stck    __LC_INT_CLOCK
        stpt    __LC_ASYNC_ENTER_TIMER
        SAVE_ALL_ASYNC __LC_IO_OLD_PSW,__LC_SAVE_AREA+40
@@ -719,8 +713,7 @@ io_notify_resume:
 /*
  * External interrupt handler routine
  */
-       .globl  ext_int_handler
-ext_int_handler:
+ENTRY(ext_int_handler)
        stck    __LC_INT_CLOCK
        stpt    __LC_ASYNC_ENTER_TIMER
        SAVE_ALL_ASYNC __LC_EXT_OLD_PSW,__LC_SAVE_AREA+40
@@ -749,8 +742,7 @@ __critical_end:
 /*
  * Machine check handler routines
  */
-       .globl mcck_int_handler
-mcck_int_handler:
+ENTRY(mcck_int_handler)
        stck    __LC_MCCK_CLOCK
        la      %r1,4095                # revalidate r1
        spt     __LC_CPU_TIMER_SAVE_AREA-4095(%r1)      # revalidate cpu timer
@@ -836,8 +828,7 @@ mcck_done:
  */
 #ifdef CONFIG_SMP
        __CPUINIT
-       .globl restart_int_handler
-restart_int_handler:
+ENTRY(restart_int_handler)
        basr    %r1,0
 restart_base:
        spt     restart_vtime-restart_base(%r1)
@@ -864,8 +855,7 @@ restart_vtime:
 /*
  * If we do not run with SMP enabled, let the new CPU crash ...
  */
-       .globl restart_int_handler
-restart_int_handler:
+ENTRY(restart_int_handler)
        basr    %r1,0
 restart_base:
        lpswe   restart_crash-restart_base(%r1)
@@ -1055,8 +1045,7 @@ cleanup_io_restore_insn:
  * %r2 pointer to sie control block
  * %r3 guest register save area
  */
-       .globl  sie64a
-sie64a:
+ENTRY(sie64a)
        stmg    %r6,%r14,__SF_GPRS(%r15)        # save kernel registers
        stg     %r2,__SF_EMPTY(%r15)            # save control block pointer
        stg     %r3,__SF_EMPTY+8(%r15)          # save guest register save area
index fb317bf..2d781ba 100644 (file)
@@ -22,6 +22,7 @@
  */
 
 #include <linux/init.h>
+#include <linux/linkage.h>
 #include <asm/asm-offsets.h>
 #include <asm/thread_info.h>
 #include <asm/page.h>
@@ -383,8 +384,7 @@ iplstart:
 # doesn't need a builtin ipl record.
 #
        .org    0x800
-       .globl  start
-start:
+ENTRY(start)
        stm     %r0,%r15,0x07b0         # store registers
        basr    %r12,%r0
 .base:
@@ -448,8 +448,7 @@ start:
 # or linload or SALIPL
 #
        .org    0x10000
-       .globl  startup
-startup:
+ENTRY(startup)
        basr    %r13,0                  # get base
 .LPG0:
        xc      0x200(256),0x200        # partially clear lowcore
index b8f8dc1..dd0d1e2 100644 (file)
  */
 
 #include <linux/init.h>
+#include <linux/linkage.h>
 #include <asm/asm-offsets.h>
 #include <asm/thread_info.h>
 #include <asm/page.h>
 
 __HEAD
-       .globl  startup_continue
-startup_continue:
+ENTRY(startup_continue)
        basr    %r13,0                  # get base
 .LPG1:
 
@@ -78,8 +78,7 @@ startup_continue:
 .Lbase_cc:
        .long   sched_clock_base_cc
 
-       .globl  _ehead
-_ehead:
+ENTRY(_ehead)
 
 #ifdef CONFIG_SHARED_KERNEL
        .org    0x100000 - 0x11000      # head.o ends at 0x11000
@@ -88,8 +87,8 @@ _ehead:
 #
 # startup-code, running in absolute addressing mode
 #
-       .globl  _stext
-_stext:        basr    %r13,0                  # get base
+ENTRY(_stext)
+       basr    %r13,0                  # get base
 .LPG3:
 # check control registers
        stctl   %c0,%c15,0(%r15)
index cdef687..1886028 100644 (file)
  */
 
 #include <linux/init.h>
+#include <linux/linkage.h>
 #include <asm/asm-offsets.h>
 #include <asm/thread_info.h>
 #include <asm/page.h>
 
 __HEAD
-       .globl  startup_continue
-startup_continue:
+ENTRY(startup_continue)
        larl    %r1,sched_clock_base_cc
        mvc     0(8,%r1),__LC_LAST_UPDATE_CLOCK
        larl    %r13,.LPG1              # get base
@@ -76,8 +76,7 @@ startup_continue:
        .long   0x80000000,0,0,0        # invalid access-list entries
        .endr
 
-       .globl  _ehead
-_ehead:
+ENTRY(_ehead)
 
 #ifdef CONFIG_SHARED_KERNEL
        .org    0x100000 - 0x11000      # head.o ends at 0x11000
@@ -86,8 +85,8 @@ _ehead:
 #
 # startup-code, running in absolute addressing mode
 #
-       .globl  _stext
-_stext:        basr    %r13,0                  # get base
+ENTRY(_stext)
+       basr    %r13,0                  # get base
 .LPG3:
 # check control registers
        stctg   %c0,%c15,0(%r15)
index 1e6a557..7e2c38b 100644 (file)
@@ -5,21 +5,19 @@
  *
  */
 
+#include <linux/linkage.h>
 #include <asm/asm-offsets.h>
 
        .section .kprobes.text, "ax"
 
-       .globl ftrace_stub
-ftrace_stub:
+ENTRY(ftrace_stub)
        br      %r14
 
-       .globl _mcount
-_mcount:
+ENTRY(_mcount)
 #ifdef CONFIG_DYNAMIC_FTRACE
        br      %r14
 
-       .globl ftrace_caller
-ftrace_caller:
+ENTRY(ftrace_caller)
 #endif
        stm     %r2,%r5,16(%r15)
        bras    %r1,2f
@@ -41,8 +39,7 @@ ftrace_caller:
 #ifdef CONFIG_FUNCTION_GRAPH_TRACER
        l       %r2,100(%r15)
        l       %r3,152(%r15)
-       .globl  ftrace_graph_caller
-ftrace_graph_caller:
+ENTRY(ftrace_graph_caller)
 # The bras instruction gets runtime patched to call prepare_ftrace_return.
 # See ftrace_enable_ftrace_graph_caller. The patched instruction is:
 #      bras    %r14,prepare_ftrace_return
@@ -56,8 +53,7 @@ ftrace_graph_caller:
 
 #ifdef CONFIG_FUNCTION_GRAPH_TRACER
 
-       .globl  return_to_handler
-return_to_handler:
+ENTRY(return_to_handler)
        stm     %r2,%r5,16(%r15)
        st      %r14,56(%r15)
        lr      %r0,%r15
index e736672..f70cade 100644 (file)
@@ -5,21 +5,19 @@
  *
  */
 
+#include <linux/linkage.h>
 #include <asm/asm-offsets.h>
 
        .section .kprobes.text, "ax"
 
-       .globl ftrace_stub
-ftrace_stub:
+ENTRY(ftrace_stub)
        br      %r14
 
-       .globl _mcount
-_mcount:
+ENTRY(_mcount)
 #ifdef CONFIG_DYNAMIC_FTRACE
        br      %r14
 
-       .globl ftrace_caller
-ftrace_caller:
+ENTRY(ftrace_caller)
 #endif
        larl    %r1,function_trace_stop
        icm     %r1,0xf,0(%r1)
@@ -37,8 +35,7 @@ ftrace_caller:
 #ifdef CONFIG_FUNCTION_GRAPH_TRACER
        lg      %r2,168(%r15)
        lg      %r3,272(%r15)
-       .globl  ftrace_graph_caller
-ftrace_graph_caller:
+ENTRY(ftrace_graph_caller)
 # The bras instruction gets runtime patched to call prepare_ftrace_return.
 # See ftrace_enable_ftrace_graph_caller. The patched instruction is:
 #      bras    %r14,prepare_ftrace_return
@@ -52,8 +49,7 @@ ftrace_graph_caller:
 
 #ifdef CONFIG_FUNCTION_GRAPH_TRACER
 
-       .globl  return_to_handler
-return_to_handler:
+ENTRY(return_to_handler)
        stmg    %r2,%r5,32(%r15)
        lgr     %r1,%r15
        aghi    %r15,-160
index cb899d9..303d961 100644 (file)
@@ -6,14 +6,15 @@
  *    Author(s): Holger Smolinski (Holger.Smolinski@de.ibm.com)
  */
 
+#include <linux/linkage.h>
 #include <asm/asm-offsets.h>
 
 #
 # do_reipl_asm
 # Parameter: r2 = schid of reipl device
 #
-               .globl  do_reipl_asm
-do_reipl_asm:  basr    %r13,0
+ENTRY(do_reipl_asm)
+               basr    %r13,0
 .Lpg0:         lpsw    .Lnewpsw-.Lpg0(%r13)
 .Lpg1:         # do store status of all registers
 
index 9eabbc9..78eb7cf 100644 (file)
@@ -4,6 +4,7 @@
  *              Denis Joseph Barrow,
  */
 
+#include <linux/linkage.h>
 #include <asm/asm-offsets.h>
 
 #
@@ -11,8 +12,8 @@
 # Parameter: r2 = schid of reipl device
 #
 
-               .globl  do_reipl_asm
-do_reipl_asm:  basr    %r13,0
+ENTRY(do_reipl_asm)
+               basr    %r13,0
 .Lpg0:         lpswe   .Lnewpsw-.Lpg0(%r13)
 .Lpg1:         # do store status of all registers
 
index 3b456b8..c91d70a 100644 (file)
@@ -8,6 +8,8 @@
  *
  */
 
+#include <linux/linkage.h>
+
 /*
  * moves the new kernel to its destination...
  * %r2 = pointer to first kimage_entry_t
@@ -22,8 +24,7 @@
  */
 
        .text
-       .globl          relocate_kernel
-       relocate_kernel:
+ENTRY(relocate_kernel)
                basr    %r13,0          # base address
        .base:
                stnsm   sys_msk-.base(%r13),0xfb        # disable DAT
                .byte   0
                .align  8
        relocate_kernel_end:
+       .align 8
        .globl  relocate_kernel_len
        relocate_kernel_len:
                .quad   relocate_kernel_end - relocate_kernel
index 1f9ea20..7c3ce58 100644 (file)
@@ -8,6 +8,8 @@
  *
  */
 
+#include <linux/linkage.h>
+
 /*
  * moves the new kernel to its destination...
  * %r2 = pointer to first kimage_entry_t
@@ -23,8 +25,7 @@
  */
 
        .text
-       .globl          relocate_kernel
-       relocate_kernel:
+ENTRY(relocate_kernel)
                basr    %r13,0          # base address
        .base:
                stnsm   sys_msk-.base(%r13),0xfb        # disable DAT
                .byte   0
                .align  8
        relocate_kernel_end:
+       .align 8
        .globl  relocate_kernel_len
        relocate_kernel_len:
                .quad   relocate_kernel_end - relocate_kernel
index 2e82fdd..95792d8 100644 (file)
@@ -8,6 +8,8 @@
  *
  */
 
+#include <linux/linkage.h>
+
 LC_EXT_NEW_PSW         = 0x58                  # addr of ext int handler
 LC_EXT_NEW_PSW_64      = 0x1b0                 # addr of ext int handler 64 bit
 LC_EXT_INT_PARAM       = 0x80                  # addr of ext int parameter
@@ -260,8 +262,7 @@ _sclp_print:
 #   R2 = 0 on success, 1 on failure
 #
 
-       .globl _sclp_print_early
-_sclp_print_early:
+ENTRY(_sclp_print_early)
        stm     %r6,%r15,24(%r15)               # save registers
        ahi     %r15,-96                        # create stack frame
 #ifdef CONFIG_64BIT
index 20530dd..bfe070b 100644 (file)
@@ -5,6 +5,7 @@
  *
  */
 
+#include <linux/linkage.h>
 #include <asm/asm-offsets.h>
 #include <asm/ptrace.h>
 
@@ -16,9 +17,7 @@
 #           %r6 - destination cpu
 
        .section .text
-       .align 4
-       .globl smp_switch_to_cpu
-smp_switch_to_cpu:
+ENTRY(smp_switch_to_cpu)
        stm     %r6,%r15,__SF_GPRS(%r15)
        lr      %r1,%r15
        ahi     %r15,-STACK_FRAME_OVERHEAD
@@ -33,8 +32,7 @@ smp_switch_to_cpu:
        brc     2,2b                    /* busy, try again */
 3:     j       3b
 
-       .globl  smp_restart_cpu
-smp_restart_cpu:
+ENTRY(smp_restart_cpu)
        basr    %r13,0
 0:     la      %r1,.gprregs_addr-0b(%r13)
        l       %r1,0(%r1)
index 5be3f43..fcc42d7 100644 (file)
@@ -5,6 +5,7 @@
  *
  */
 
+#include <linux/linkage.h>
 #include <asm/asm-offsets.h>
 #include <asm/ptrace.h>
 
@@ -16,9 +17,7 @@
 #           %r6 - destination cpu
 
        .section .text
-       .align 4
-       .globl smp_switch_to_cpu
-smp_switch_to_cpu:
+ENTRY(smp_switch_to_cpu)
        stmg    %r6,%r15,__SF_GPRS(%r15)
        lgr     %r1,%r15
        aghi    %r15,-STACK_FRAME_OVERHEAD
@@ -31,8 +30,7 @@ smp_switch_to_cpu:
        brc     2,2b                    /* busy, try again */
 3:     j       3b
 
-       .globl  smp_restart_cpu
-smp_restart_cpu:
+ENTRY(smp_restart_cpu)
        larl    %r1,.gprregs
        lmg     %r0,%r15,0(%r1)
 1:     sigp    %r0,%r5,__SIGP_SENSE    /* Wait for calling CPU */
index 1f066e4..51bcdb5 100644 (file)
@@ -7,6 +7,7 @@
  *           Michael Holzheu <holzheu@linux.vnet.ibm.com>
  */
 
+#include <linux/linkage.h>
 #include <asm/page.h>
 #include <asm/ptrace.h>
 #include <asm/thread_info.h>
@@ -22,9 +23,7 @@
  * This function runs with disabled interrupts.
  */
        .section .text
-       .align  4
-       .globl swsusp_arch_suspend
-swsusp_arch_suspend:
+ENTRY(swsusp_arch_suspend)
        stmg    %r6,%r15,__SF_GPRS(%r15)
        lgr     %r1,%r15
        aghi    %r15,-STACK_FRAME_OVERHEAD
@@ -112,8 +111,7 @@ swsusp_arch_suspend:
  * Then we return to the function that called swsusp_arch_suspend().
  * swsusp_arch_resume() runs with disabled interrupts.
  */
-       .globl swsusp_arch_resume
-swsusp_arch_resume:
+ENTRY(swsusp_arch_resume)
        stmg    %r6,%r15,__SF_GPRS(%r15)
        lgr     %r1,%r15
        aghi    %r15,-STACK_FRAME_OVERHEAD
index eb1df63..d321329 100644 (file)
@@ -1,5 +1,7 @@
 # S/390 __udiv_qrnnd
 
+#include <linux/linkage.h>
+
 # r2 : &__r
 # r3 : upper half of 64 bit word n
 # r4 : lower half of 64 bit word n
@@ -8,8 +10,7 @@
 # the quotient q is to be returned
 
        .text
-       .globl __udiv_qrnnd
-__udiv_qrnnd:
+ENTRY(__udiv_qrnnd)
        st    %r2,24(%r15)        # store pointer to reminder for later
        lr    %r0,%r3             # reload n
        lr    %r1,%r4