[PATCH] -mminimal-toc removal 3: Remove it

Anton Blanchard anton at samba.org
Tue Aug 24 23:22:30 EST 2004


Remove -mminimal-toc. We now store the address of the procedure
descriptor in the syscall table. Fix the syscall path to load and
restore r2. Fix cond_syscall to match.

BTW with a working tocof() we could stash r2 + the PC in the syscall
table and save ourselves the load of the TOC.

Signed-off-by: Anton Blanchard <anton at samba.org>

---

 mminimal_toc_die_die_die-anton/arch/ppc64/Makefile        |    3
 mminimal_toc_die_die_die-anton/arch/ppc64/kernel/Makefile |    1
 mminimal_toc_die_die_die-anton/arch/ppc64/kernel/entry.S  |    5
 mminimal_toc_die_die_die-anton/arch/ppc64/kernel/misc.S   | 1076 +++++++-------
 mminimal_toc_die_die_die-anton/arch/ppc64/mm/Makefile     |    2
 mminimal_toc_die_die_die-anton/arch/ppc64/xmon/Makefile   |    2
 mminimal_toc_die_die_die-anton/include/asm-ppc64/unistd.h |    3
 7 files changed, 545 insertions(+), 547 deletions(-)

diff -puN arch/ppc64/Makefile~mminimal_toc_die_die_die_3 arch/ppc64/Makefile
--- mminimal_toc_die_die_die/arch/ppc64/Makefile~mminimal_toc_die_die_die_3	2004-08-24 19:50:11.553591159 +1000
+++ mminimal_toc_die_die_die-anton/arch/ppc64/Makefile	2004-08-24 19:50:11.609586854 +1000
@@ -26,8 +26,7 @@ CHECKFLAGS	+= -m64 -D__powerpc__=1

 LDFLAGS		:= -m elf64ppc
 LDFLAGS_vmlinux	:= -Bstatic -e $(KERNELLOAD) -Ttext $(KERNELLOAD)
-CFLAGS		+= -msoft-float -pipe -Wno-uninitialized -mminimal-toc \
-		   -mtraceback=none
+CFLAGS		+= -msoft-float -pipe -Wno-uninitialized -mtraceback=none

 ifeq ($(CONFIG_POWER4_ONLY),y)
 	CFLAGS += $(call cc-option,-mcpu=power4)
diff -puN arch/ppc64/kernel/Makefile~mminimal_toc_die_die_die_3 arch/ppc64/kernel/Makefile
--- mminimal_toc_die_die_die/arch/ppc64/kernel/Makefile~mminimal_toc_die_die_die_3	2004-08-24 19:50:11.560590621 +1000
+++ mminimal_toc_die_die_die-anton/arch/ppc64/kernel/Makefile	2004-08-24 19:50:11.610586778 +1000
@@ -2,7 +2,6 @@
 # Makefile for the linux ppc64 kernel.
 #

-EXTRA_CFLAGS	+= -mno-minimal-toc
 extra-y		:= head.o vmlinux.lds

 obj-y               :=	setup.o entry.o traps.o irq.o idle.o dma.o \
diff -puN arch/ppc64/kernel/entry.S~mminimal_toc_die_die_die_3 arch/ppc64/kernel/entry.S
--- mminimal_toc_die_die_die/arch/ppc64/kernel/entry.S~mminimal_toc_die_die_die_3	2004-08-24 19:50:11.566590160 +1000
+++ mminimal_toc_die_die_die-anton/arch/ppc64/kernel/entry.S	2004-08-24 19:50:11.613586547 +1000
@@ -143,9 +143,12 @@ system_call:			/* label this so stack tr
 	clrldi	r8,r8,32
 15:
 	slwi	r0,r0,3
-	ldx	r10,r11,r0	/* Fetch system call handler [ptr] */
+	ldx	r10,r11,r0	/* Fetch OPD */
+	ld	r2,8(r10)	/* load r2 */
+	ld	r10,0(r10)	/* load pc */
 	mtctr   r10
 	bctrl			/* Call handler */
+	ld	r2,PACATOC(r13)	/* get kernel TOC into r2 */

 syscall_exit:
 #ifdef SHOW_SYSCALLS
diff -puN arch/ppc64/kernel/misc.S~mminimal_toc_die_die_die_3 arch/ppc64/kernel/misc.S
--- mminimal_toc_die_die_die/arch/ppc64/kernel/misc.S~mminimal_toc_die_die_die_3	2004-08-24 19:50:11.572589698 +1000
+++ mminimal_toc_die_die_die-anton/arch/ppc64/kernel/misc.S	2004-08-24 19:50:11.626585548 +1000
@@ -609,544 +609,544 @@ _GLOBAL(kernel_thread)
 /* Why isn't this a) automatic, b) written in 'C'? */
 	.balign 8
 _GLOBAL(sys_call_table32)
-	.llong .sys_restart_syscall	/* 0 */
-	.llong .sys_exit
-	.llong .ppc_fork
-	.llong .sys_read
-	.llong .sys_write
-	.llong .sys32_open		/* 5 */
-	.llong .sys_close
-	.llong .sys32_waitpid
-	.llong .sys32_creat
-	.llong .sys_link
-	.llong .sys_unlink      	/* 10 */
-	.llong .sys32_execve
-	.llong .sys_chdir
-	.llong .sys32_time
-	.llong .sys_mknod
-	.llong .sys_chmod		/* 15 */
-	.llong .sys_lchown
-	.llong .sys_ni_syscall		/* old break syscall */
-	.llong .sys_ni_syscall		/* old stat syscall */
-	.llong .ppc32_lseek
-	.llong .sys_getpid              /* 20 */
-	.llong .compat_sys_mount
-	.llong .sys_oldumount
-	.llong .sys_setuid
-	.llong .sys_getuid
-	.llong .ppc64_sys32_stime       /* 25 */
-	.llong .sys32_ptrace
-	.llong .sys_alarm
-	.llong .sys_ni_syscall		/* old fstat syscall */
-	.llong .sys32_pause
-	.llong .compat_sys_utime		/* 30 */
-	.llong .sys_ni_syscall		/* old stty syscall */
-	.llong .sys_ni_syscall		/* old gtty syscall */
-	.llong .sys32_access
-	.llong .sys32_nice
-	.llong .sys_ni_syscall		/* 35 - old ftime syscall */
-	.llong .sys_sync
-	.llong .sys32_kill
-	.llong .sys_rename
-	.llong .sys32_mkdir
-	.llong .sys_rmdir		/* 40 */
-	.llong .sys_dup
-	.llong .sys_pipe
-	.llong .compat_sys_times
-	.llong .sys_ni_syscall		/* old prof syscall */
-	.llong .sys_brk			/* 45 */
-	.llong .sys_setgid
-	.llong .sys_getgid
-	.llong .sys_signal
-	.llong .sys_geteuid
-	.llong .sys_getegid		/* 50 */
-	.llong .sys_acct
-	.llong .sys_umount
-	.llong .sys_ni_syscall		/* old lock syscall */
-	.llong .compat_sys_ioctl
-	.llong .compat_sys_fcntl		/* 55 */
-	.llong .sys_ni_syscall		/* old mpx syscall */
-	.llong .sys32_setpgid
-	.llong .sys_ni_syscall		/* old ulimit syscall */
-	.llong .sys32_olduname
-	.llong .sys32_umask		/* 60 */
-	.llong .sys_chroot
-	.llong .sys_ustat
-	.llong .sys_dup2
-	.llong .sys_getppid
-	.llong .sys_getpgrp	        /* 65 */
-	.llong .sys_setsid
-	.llong .sys32_sigaction
-	.llong .sys_sgetmask
-	.llong .sys32_ssetmask
-	.llong .sys_setreuid	        /* 70 */
-	.llong .sys_setregid
-	.llong .ppc32_sigsuspend
-	.llong .compat_sys_sigpending
-	.llong .sys32_sethostname
-	.llong .compat_sys_setrlimit	        /* 75 */
-	.llong .compat_sys_old_getrlimit
-	.llong .compat_sys_getrusage
-	.llong .sys32_gettimeofday
-	.llong .sys32_settimeofday
-	.llong .sys32_getgroups	        /* 80 */
-	.llong .sys32_setgroups
-	.llong .sys_ni_syscall		/* old select syscall */
-	.llong .sys_symlink
-	.llong .sys_ni_syscall		/* old lstat syscall */
-	.llong .sys32_readlink	        /* 85 */
-	.llong .sys_uselib
-	.llong .sys_swapon
-	.llong .sys_reboot
-	.llong .old32_readdir
-	.llong .sys_mmap		/* 90 */
-	.llong .sys_munmap
-	.llong .sys_truncate
-	.llong .sys_ftruncate
-	.llong .sys_fchmod
-	.llong .sys_fchown              /* 95 */
-	.llong .sys32_getpriority
-	.llong .sys32_setpriority
-	.llong .sys_ni_syscall		/* old profil syscall */
-	.llong .compat_sys_statfs
-	.llong .compat_sys_fstatfs		/* 100 */
-	.llong .sys_ni_syscall		/* old ioperm syscall */
-	.llong .compat_sys_socketcall
-	.llong .sys32_syslog
-	.llong .compat_sys_setitimer
-	.llong .compat_sys_getitimer		/* 105 */
-	.llong .compat_sys_newstat
-	.llong .compat_sys_newlstat
-	.llong .compat_sys_newfstat
-	.llong .sys_uname
-	.llong .sys_ni_syscall		/* 110 old iopl syscall */
-	.llong .sys_vhangup
-	.llong .sys_ni_syscall		/* old idle syscall */
-	.llong .sys_ni_syscall		/* old vm86 syscall */
-	.llong .compat_sys_wait4
-	.llong .sys_swapoff		/* 115 */
-	.llong .sys32_sysinfo
-	.llong .sys32_ipc
-	.llong .sys_fsync
-	.llong .ppc32_sigreturn
-	.llong .ppc_clone		/* 120 */
-	.llong .sys32_setdomainname
-	.llong .ppc64_newuname
-	.llong .sys_ni_syscall		/* old modify_ldt syscall */
-	.llong .sys32_adjtimex
-	.llong .sys_mprotect		/* 125 */
-	.llong .compat_sys_sigprocmask
-	.llong .sys_ni_syscall		/* old create_module syscall */
-	.llong .sys_init_module
-	.llong .sys_delete_module
-	.llong .sys_ni_syscall		/* 130 old get_kernel_syms syscall */
-	.llong .sys_quotactl
-	.llong .sys32_getpgid
-	.llong .sys_fchdir
-	.llong .sys_bdflush
-	.llong .sys32_sysfs		/* 135 */
-	.llong .ppc64_personality
-	.llong .sys_ni_syscall	        /* for afs_syscall */
-	.llong .sys_setfsuid
-	.llong .sys_setfsgid
-	.llong .sys_llseek	        /* 140 */
-        .llong .sys32_getdents
-	.llong .ppc32_select
-	.llong .sys_flock
-	.llong .sys_msync
-	.llong .compat_sys_readv	/* 145 */
-	.llong .compat_sys_writev
-	.llong .sys32_getsid
-	.llong .sys_fdatasync
-	.llong .sys32_sysctl
-	.llong .sys_mlock		/* 150 */
-	.llong .sys_munlock
-	.llong .sys_mlockall
-	.llong .sys_munlockall
-	.llong .sys32_sched_setparam
-	.llong .sys32_sched_getparam	/* 155 */
-	.llong .sys32_sched_setscheduler
-	.llong .sys32_sched_getscheduler
-	.llong .sys_sched_yield
-	.llong .sys32_sched_get_priority_max
-	.llong .sys32_sched_get_priority_min  /* 160 */
-	.llong .sys32_sched_rr_get_interval
-	.llong .compat_sys_nanosleep
-	.llong .sys_mremap
-	.llong .sys_setresuid
-	.llong .sys_getresuid	        /* 165 */
-	.llong .sys_ni_syscall		/* old query_module syscall */
-	.llong .sys_poll
-	.llong .compat_sys_nfsservctl
-	.llong .sys_setresgid
-	.llong .sys_getresgid	        /* 170 */
-	.llong .sys32_prctl
-	.llong .ppc32_rt_sigreturn
-	.llong .sys32_rt_sigaction
-	.llong .sys32_rt_sigprocmask
-	.llong .sys32_rt_sigpending     /* 175 */
-	.llong .sys32_rt_sigtimedwait
-	.llong .sys32_rt_sigqueueinfo
-	.llong .ppc32_rt_sigsuspend
-	.llong .sys32_pread64
-	.llong .sys32_pwrite64	        /* 180 */
-	.llong .sys_chown
-	.llong .sys_getcwd
-	.llong .sys_capget
-	.llong .sys_capset
-	.llong .sys32_sigaltstack	/* 185 */
-	.llong .sys32_sendfile
-	.llong .sys_ni_syscall		/* reserved for streams1 */
-	.llong .sys_ni_syscall		/* reserved for streams2 */
-	.llong .ppc_vfork
-	.llong .compat_sys_getrlimit	        /* 190 */
-	.llong .sys32_readahead
-	.llong .sys32_mmap2
-	.llong .sys32_truncate64
-	.llong .sys32_ftruncate64
-	.llong .sys_stat64      	/* 195 */
-	.llong .sys_lstat64
-	.llong .sys_fstat64
-	.llong .sys32_pciconfig_read
-	.llong .sys32_pciconfig_write
-	.llong .sys32_pciconfig_iobase	/* 200 - pciconfig_iobase */
-	.llong .sys_ni_syscall		/* reserved for MacOnLinux */
-	.llong .sys_getdents64
-	.llong .sys_pivot_root
-	.llong .compat_sys_fcntl64
-	.llong .sys_madvise		/* 205 */
-	.llong .sys_mincore
-	.llong .sys_gettid
-	.llong .sys_tkill
-	.llong .sys_setxattr
-	.llong .sys_lsetxattr		/* 210 */
-	.llong .sys_fsetxattr
-	.llong .sys_getxattr
-	.llong .sys_lgetxattr
-	.llong .sys_fgetxattr
-	.llong .sys_listxattr		/* 215 */
-	.llong .sys_llistxattr
-	.llong .sys_flistxattr
-	.llong .sys_removexattr
-	.llong .sys_lremovexattr
-	.llong .sys_fremovexattr	/* 220 */
-	.llong .compat_sys_futex
-	.llong .compat_sys_sched_setaffinity
-	.llong .compat_sys_sched_getaffinity
-	.llong .sys_ni_syscall
-	.llong .sys_ni_syscall		/* 225 - reserved for tux */
-	.llong .sys32_sendfile64
-	.llong .compat_sys_io_setup
-	.llong .sys_io_destroy
-	.llong .compat_sys_io_getevents
-	.llong .compat_sys_io_submit
-	.llong .sys_io_cancel
-	.llong .sys_set_tid_address
-	.llong .ppc32_fadvise64
-	.llong .sys_exit_group
-	.llong .ppc32_lookup_dcookie	/* 235 */
-	.llong .sys_epoll_create
-	.llong .sys_epoll_ctl
-	.llong .sys_epoll_wait
-	.llong .sys_remap_file_pages
-	.llong .ppc32_timer_create	/* 240 */
-	.llong .compat_timer_settime
-	.llong .compat_timer_gettime
-	.llong .sys_timer_getoverrun
-	.llong .sys_timer_delete
-	.llong .compat_clock_settime	/* 245 */
-	.llong .compat_clock_gettime
-	.llong .compat_clock_getres
-	.llong .compat_clock_nanosleep
-	.llong .ppc32_swapcontext
-	.llong .sys32_tgkill		/* 250 */
-	.llong .sys32_utimes
-	.llong .compat_statfs64
-	.llong .compat_fstatfs64
-	.llong .ppc32_fadvise64_64	/* 32bit only fadvise64_64 */
-	.llong .ppc_rtas		/* 255 */
-	.llong .sys_ni_syscall		/* 256 reserved for sys_debug_setcontext */
-	.llong .sys_ni_syscall		/* 257 reserved for vserver */
-	.llong .sys_ni_syscall		/* 258 reserved for new sys_remap_file_pages */
-	.llong .sys_ni_syscall		/* 259 reserved for new sys_mbind */
-	.llong .sys_ni_syscall		/* 260 reserved for new sys_get_mempolicy */
-	.llong .sys_ni_syscall		/* 261 reserved for new sys_set_mempolicy */
-	.llong .compat_sys_mq_open
-	.llong .sys_mq_unlink
-	.llong .compat_sys_mq_timedsend
-	.llong .compat_sys_mq_timedreceive /* 265 */
-	.llong .compat_sys_mq_notify
-	.llong .compat_sys_mq_getsetattr
-	.llong .sys_ni_syscall		/* 268 reserved for sys_kexec_load */
+	.llong sys_restart_syscall	/* 0 */
+	.llong sys_exit
+	.llong ppc_fork
+	.llong sys_read
+	.llong sys_write
+	.llong sys32_open		/* 5 */
+	.llong sys_close
+	.llong sys32_waitpid
+	.llong sys32_creat
+	.llong sys_link
+	.llong sys_unlink      	/* 10 */
+	.llong sys32_execve
+	.llong sys_chdir
+	.llong sys32_time
+	.llong sys_mknod
+	.llong sys_chmod		/* 15 */
+	.llong sys_lchown
+	.llong sys_ni_syscall		/* old break syscall */
+	.llong sys_ni_syscall		/* old stat syscall */
+	.llong ppc32_lseek
+	.llong sys_getpid              /* 20 */
+	.llong compat_sys_mount
+	.llong sys_oldumount
+	.llong sys_setuid
+	.llong sys_getuid
+	.llong ppc64_sys32_stime       /* 25 */
+	.llong sys32_ptrace
+	.llong sys_alarm
+	.llong sys_ni_syscall		/* old fstat syscall */
+	.llong sys32_pause
+	.llong compat_sys_utime		/* 30 */
+	.llong sys_ni_syscall		/* old stty syscall */
+	.llong sys_ni_syscall		/* old gtty syscall */
+	.llong sys32_access
+	.llong sys32_nice
+	.llong sys_ni_syscall		/* 35 - old ftime syscall */
+	.llong sys_sync
+	.llong sys32_kill
+	.llong sys_rename
+	.llong sys32_mkdir
+	.llong sys_rmdir		/* 40 */
+	.llong sys_dup
+	.llong sys_pipe
+	.llong compat_sys_times
+	.llong sys_ni_syscall		/* old prof syscall */
+	.llong sys_brk			/* 45 */
+	.llong sys_setgid
+	.llong sys_getgid
+	.llong sys_signal
+	.llong sys_geteuid
+	.llong sys_getegid		/* 50 */
+	.llong sys_acct
+	.llong sys_umount
+	.llong sys_ni_syscall		/* old lock syscall */
+	.llong compat_sys_ioctl
+	.llong compat_sys_fcntl		/* 55 */
+	.llong sys_ni_syscall		/* old mpx syscall */
+	.llong sys32_setpgid
+	.llong sys_ni_syscall		/* old ulimit syscall */
+	.llong sys32_olduname
+	.llong sys32_umask		/* 60 */
+	.llong sys_chroot
+	.llong sys_ustat
+	.llong sys_dup2
+	.llong sys_getppid
+	.llong sys_getpgrp	        /* 65 */
+	.llong sys_setsid
+	.llong sys32_sigaction
+	.llong sys_sgetmask
+	.llong sys32_ssetmask
+	.llong sys_setreuid	        /* 70 */
+	.llong sys_setregid
+	.llong ppc32_sigsuspend
+	.llong compat_sys_sigpending
+	.llong sys32_sethostname
+	.llong compat_sys_setrlimit	        /* 75 */
+	.llong compat_sys_old_getrlimit
+	.llong compat_sys_getrusage
+	.llong sys32_gettimeofday
+	.llong sys32_settimeofday
+	.llong sys32_getgroups	        /* 80 */
+	.llong sys32_setgroups
+	.llong sys_ni_syscall		/* old select syscall */
+	.llong sys_symlink
+	.llong sys_ni_syscall		/* old lstat syscall */
+	.llong sys32_readlink	        /* 85 */
+	.llong sys_uselib
+	.llong sys_swapon
+	.llong sys_reboot
+	.llong old32_readdir
+	.llong sys_mmap		/* 90 */
+	.llong sys_munmap
+	.llong sys_truncate
+	.llong sys_ftruncate
+	.llong sys_fchmod
+	.llong sys_fchown              /* 95 */
+	.llong sys32_getpriority
+	.llong sys32_setpriority
+	.llong sys_ni_syscall		/* old profil syscall */
+	.llong compat_sys_statfs
+	.llong compat_sys_fstatfs		/* 100 */
+	.llong sys_ni_syscall		/* old ioperm syscall */
+	.llong compat_sys_socketcall
+	.llong sys32_syslog
+	.llong compat_sys_setitimer
+	.llong compat_sys_getitimer		/* 105 */
+	.llong compat_sys_newstat
+	.llong compat_sys_newlstat
+	.llong compat_sys_newfstat
+	.llong sys_uname
+	.llong sys_ni_syscall		/* 110 old iopl syscall */
+	.llong sys_vhangup
+	.llong sys_ni_syscall		/* old idle syscall */
+	.llong sys_ni_syscall		/* old vm86 syscall */
+	.llong compat_sys_wait4
+	.llong sys_swapoff		/* 115 */
+	.llong sys32_sysinfo
+	.llong sys32_ipc
+	.llong sys_fsync
+	.llong ppc32_sigreturn
+	.llong ppc_clone		/* 120 */
+	.llong sys32_setdomainname
+	.llong ppc64_newuname
+	.llong sys_ni_syscall		/* old modify_ldt syscall */
+	.llong sys32_adjtimex
+	.llong sys_mprotect		/* 125 */
+	.llong compat_sys_sigprocmask
+	.llong sys_ni_syscall		/* old create_module syscall */
+	.llong sys_init_module
+	.llong sys_delete_module
+	.llong sys_ni_syscall		/* 130 old get_kernel_syms syscall */
+	.llong sys_quotactl
+	.llong sys32_getpgid
+	.llong sys_fchdir
+	.llong sys_bdflush
+	.llong sys32_sysfs		/* 135 */
+	.llong ppc64_personality
+	.llong sys_ni_syscall	        /* for afs_syscall */
+	.llong sys_setfsuid
+	.llong sys_setfsgid
+	.llong sys_llseek	        /* 140 */
+	.llong sys32_getdents
+	.llong ppc32_select
+	.llong sys_flock
+	.llong sys_msync
+	.llong compat_sys_readv	/* 145 */
+	.llong compat_sys_writev
+	.llong sys32_getsid
+	.llong sys_fdatasync
+	.llong sys32_sysctl
+	.llong sys_mlock		/* 150 */
+	.llong sys_munlock
+	.llong sys_mlockall
+	.llong sys_munlockall
+	.llong sys32_sched_setparam
+	.llong sys32_sched_getparam	/* 155 */
+	.llong sys32_sched_setscheduler
+	.llong sys32_sched_getscheduler
+	.llong sys_sched_yield
+	.llong sys32_sched_get_priority_max
+	.llong sys32_sched_get_priority_min  /* 160 */
+	.llong sys32_sched_rr_get_interval
+	.llong compat_sys_nanosleep
+	.llong sys_mremap
+	.llong sys_setresuid
+	.llong sys_getresuid	        /* 165 */
+	.llong sys_ni_syscall		/* old query_module syscall */
+	.llong sys_poll
+	.llong compat_sys_nfsservctl
+	.llong sys_setresgid
+	.llong sys_getresgid	        /* 170 */
+	.llong sys32_prctl
+	.llong ppc32_rt_sigreturn
+	.llong sys32_rt_sigaction
+	.llong sys32_rt_sigprocmask
+	.llong sys32_rt_sigpending     /* 175 */
+	.llong sys32_rt_sigtimedwait
+	.llong sys32_rt_sigqueueinfo
+	.llong ppc32_rt_sigsuspend
+	.llong sys32_pread64
+	.llong sys32_pwrite64	        /* 180 */
+	.llong sys_chown
+	.llong sys_getcwd
+	.llong sys_capget
+	.llong sys_capset
+	.llong sys32_sigaltstack	/* 185 */
+	.llong sys32_sendfile
+	.llong sys_ni_syscall		/* reserved for streams1 */
+	.llong sys_ni_syscall		/* reserved for streams2 */
+	.llong ppc_vfork
+	.llong compat_sys_getrlimit	        /* 190 */
+	.llong sys32_readahead
+	.llong sys32_mmap2
+	.llong sys32_truncate64
+	.llong sys32_ftruncate64
+	.llong sys_stat64      	/* 195 */
+	.llong sys_lstat64
+	.llong sys_fstat64
+	.llong sys32_pciconfig_read
+	.llong sys32_pciconfig_write
+	.llong sys32_pciconfig_iobase	/* 200 - pciconfig_iobase */
+	.llong sys_ni_syscall		/* reserved for MacOnLinux */
+	.llong sys_getdents64
+	.llong sys_pivot_root
+	.llong compat_sys_fcntl64
+	.llong sys_madvise		/* 205 */
+	.llong sys_mincore
+	.llong sys_gettid
+	.llong sys_tkill
+	.llong sys_setxattr
+	.llong sys_lsetxattr		/* 210 */
+	.llong sys_fsetxattr
+	.llong sys_getxattr
+	.llong sys_lgetxattr
+	.llong sys_fgetxattr
+	.llong sys_listxattr		/* 215 */
+	.llong sys_llistxattr
+	.llong sys_flistxattr
+	.llong sys_removexattr
+	.llong sys_lremovexattr
+	.llong sys_fremovexattr	/* 220 */
+	.llong compat_sys_futex
+	.llong compat_sys_sched_setaffinity
+	.llong compat_sys_sched_getaffinity
+	.llong sys_ni_syscall
+	.llong sys_ni_syscall		/* 225 - reserved for tux */
+	.llong sys32_sendfile64
+	.llong compat_sys_io_setup
+	.llong sys_io_destroy
+	.llong compat_sys_io_getevents
+	.llong compat_sys_io_submit
+	.llong sys_io_cancel
+	.llong sys_set_tid_address
+	.llong ppc32_fadvise64
+	.llong sys_exit_group
+	.llong ppc32_lookup_dcookie	/* 235 */
+	.llong sys_epoll_create
+	.llong sys_epoll_ctl
+	.llong sys_epoll_wait
+	.llong sys_remap_file_pages
+	.llong ppc32_timer_create	/* 240 */
+	.llong compat_timer_settime
+	.llong compat_timer_gettime
+	.llong sys_timer_getoverrun
+	.llong sys_timer_delete
+	.llong compat_clock_settime	/* 245 */
+	.llong compat_clock_gettime
+	.llong compat_clock_getres
+	.llong compat_clock_nanosleep
+	.llong ppc32_swapcontext
+	.llong sys32_tgkill		/* 250 */
+	.llong sys32_utimes
+	.llong compat_statfs64
+	.llong compat_fstatfs64
+	.llong ppc32_fadvise64_64	/* 32bit only fadvise64_64 */
+	.llong ppc_rtas		/* 255 */
+	.llong sys_ni_syscall		/* 256 reserved for sys_debug_setcontext */
+	.llong sys_ni_syscall		/* 257 reserved for vserver */
+	.llong sys_ni_syscall		/* 258 reserved for new sys_remap_file_pages */
+	.llong sys_ni_syscall		/* 259 reserved for new sys_mbind */
+	.llong sys_ni_syscall		/* 260 reserved for new sys_get_mempolicy */
+	.llong sys_ni_syscall		/* 261 reserved for new sys_set_mempolicy */
+	.llong compat_sys_mq_open
+	.llong sys_mq_unlink
+	.llong compat_sys_mq_timedsend
+	.llong compat_sys_mq_timedreceive /* 265 */
+	.llong compat_sys_mq_notify
+	.llong compat_sys_mq_getsetattr
+	.llong sys_ni_syscall		/* 268 reserved for sys_kexec_load */

 	.balign 8
 _GLOBAL(sys_call_table)
-	.llong .sys_restart_syscall	/* 0 */
-	.llong .sys_exit
-	.llong .ppc_fork
-	.llong .sys_read
-	.llong .sys_write
-	.llong .sys_open		/* 5 */
-	.llong .sys_close
-	.llong .sys_waitpid
-	.llong .sys_creat
-	.llong .sys_link
-	.llong .sys_unlink		/* 10 */
-	.llong .sys_execve
-	.llong .sys_chdir
-	.llong .sys64_time
-	.llong .sys_mknod
-	.llong .sys_chmod		/* 15 */
-	.llong .sys_lchown
-	.llong .sys_ni_syscall		/* old break syscall */
-	.llong .sys_ni_syscall		/* old stat syscall */
-	.llong .sys_lseek
-	.llong .sys_getpid		/* 20 */
-	.llong .sys_mount
-	.llong .sys_ni_syscall		/* old umount syscall */
-	.llong .sys_setuid
-	.llong .sys_getuid
-	.llong .ppc64_sys_stime		/* 25 */
-	.llong .sys_ptrace
-	.llong .sys_alarm
-	.llong .sys_ni_syscall		/* old fstat syscall */
-	.llong .sys_pause
-	.llong .sys_utime		/* 30 */
-	.llong .sys_ni_syscall		/* old stty syscall */
-	.llong .sys_ni_syscall		/* old gtty syscall */
-	.llong .sys_access
-	.llong .sys_nice
-	.llong .sys_ni_syscall		/* 35 - old ftime syscall */
-	.llong .sys_sync
-	.llong .sys_kill
-	.llong .sys_rename
-	.llong .sys_mkdir
-	.llong .sys_rmdir		/* 40 */
-	.llong .sys_dup
-	.llong .sys_pipe
-	.llong .sys_times
-	.llong .sys_ni_syscall		/* old prof syscall */
-	.llong .sys_brk			/* 45 */
-	.llong .sys_setgid
-	.llong .sys_getgid
-	.llong .sys_signal
-	.llong .sys_geteuid
-	.llong .sys_getegid		/* 50 */
-	.llong .sys_acct
-	.llong .sys_umount
-	.llong .sys_ni_syscall		/* old lock syscall */
-	.llong .sys_ioctl
-	.llong .sys_fcntl		/* 55 */
-	.llong .sys_ni_syscall		/* old mpx syscall */
-	.llong .sys_setpgid
-	.llong .sys_ni_syscall		/* old ulimit syscall */
-	.llong .sys_ni_syscall		/* old uname syscall */
-	.llong .sys_umask		/* 60 */
-	.llong .sys_chroot
-	.llong .sys_ustat
-	.llong .sys_dup2
-	.llong .sys_getppid
-	.llong .sys_getpgrp		/* 65 */
-	.llong .sys_setsid
-	.llong .sys_ni_syscall
-	.llong .sys_sgetmask
-	.llong .sys_ssetmask
-	.llong .sys_setreuid		/* 70 */
-	.llong .sys_setregid
-	.llong .sys_ni_syscall
-	.llong .sys_ni_syscall
-	.llong .sys_sethostname
-	.llong .sys_setrlimit		/* 75 */
-	.llong .sys_ni_syscall		/* old getrlimit syscall */
-	.llong .sys_getrusage
-	.llong .sys_gettimeofday
-	.llong .sys_settimeofday
-	.llong .sys_getgroups		/* 80 */
-	.llong .sys_setgroups
-	.llong .sys_ni_syscall		/* old select syscall */
-	.llong .sys_symlink
-	.llong .sys_ni_syscall		/* old lstat syscall */
-	.llong .sys_readlink		/* 85 */
-	.llong .sys_uselib
-	.llong .sys_swapon
-	.llong .sys_reboot
-	.llong .sys_ni_syscall		/* old readdir syscall */
-	.llong .sys_mmap		/* 90 */
-	.llong .sys_munmap
-	.llong .sys_truncate
-	.llong .sys_ftruncate
-	.llong .sys_fchmod
-	.llong .sys_fchown		/* 95 */
-	.llong .sys_getpriority
-	.llong .sys_setpriority
-	.llong .sys_ni_syscall		/* old profil syscall holder */
-	.llong .sys_statfs
-	.llong .sys_fstatfs		/* 100 */
-	.llong .sys_ni_syscall		/* old ioperm syscall */
-	.llong .sys_socketcall
-	.llong .sys_syslog
-	.llong .sys_setitimer
-	.llong .sys_getitimer		/* 105 */
-	.llong .sys_newstat
-	.llong .sys_newlstat
-	.llong .sys_newfstat
-	.llong .sys_ni_syscall		/* old uname syscall */
-	.llong .sys_ni_syscall		/* 110 old iopl syscall */
-	.llong .sys_vhangup
-	.llong .sys_ni_syscall		/* old idle syscall */
-	.llong .sys_ni_syscall		/* old vm86 syscall */
-	.llong .sys_wait4
-	.llong .sys_swapoff		/* 115 */
-	.llong .sys_sysinfo
-	.llong .sys_ipc
-	.llong .sys_fsync
-	.llong .sys_ni_syscall
-	.llong .ppc_clone		/* 120 */
-	.llong .sys_setdomainname
-	.llong .ppc64_newuname
-	.llong .sys_ni_syscall		/* old modify_ldt syscall */
-	.llong .sys_adjtimex
-	.llong .sys_mprotect		/* 125 */
-	.llong .sys_ni_syscall
-	.llong .sys_ni_syscall		/* old create_module syscall */
-	.llong .sys_init_module
-	.llong .sys_delete_module
-	.llong .sys_ni_syscall		/* 130 old get_kernel_syms syscall */
-	.llong .sys_quotactl
-	.llong .sys_getpgid
-	.llong .sys_fchdir
-	.llong .sys_bdflush
-	.llong .sys_sysfs		/* 135 */
-	.llong .ppc64_personality
-	.llong .sys_ni_syscall	        /* for afs_syscall */
-	.llong .sys_setfsuid
-	.llong .sys_setfsgid
-	.llong .sys_llseek	        /* 140 */
-        .llong .sys_getdents
-	.llong .sys_select
-	.llong .sys_flock
-	.llong .sys_msync
-	.llong .sys_readv		/* 145 */
-	.llong .sys_writev
-	.llong .sys_getsid
-	.llong .sys_fdatasync
-	.llong .sys_sysctl
-	.llong .sys_mlock		/* 150 */
-	.llong .sys_munlock
-	.llong .sys_mlockall
-	.llong .sys_munlockall
-	.llong .sys_sched_setparam
-	.llong .sys_sched_getparam	/* 155 */
-	.llong .sys_sched_setscheduler
-	.llong .sys_sched_getscheduler
-	.llong .sys_sched_yield
-	.llong .sys_sched_get_priority_max
-	.llong .sys_sched_get_priority_min  /* 160 */
-	.llong .sys_sched_rr_get_interval
-	.llong .sys_nanosleep
-	.llong .sys_mremap
-	.llong .sys_setresuid
-	.llong .sys_getresuid	        /* 165 */
-	.llong .sys_ni_syscall		/* old query_module syscall */
-	.llong .sys_poll
-	.llong .sys_nfsservctl
-	.llong .sys_setresgid
-	.llong .sys_getresgid	        /* 170 */
-	.llong .sys_prctl
-	.llong .ppc64_rt_sigreturn
-	.llong .sys_rt_sigaction
-	.llong .sys_rt_sigprocmask
-	.llong .sys_rt_sigpending	/* 175 */
-	.llong .sys_rt_sigtimedwait
-	.llong .sys_rt_sigqueueinfo
-	.llong .ppc64_rt_sigsuspend
-	.llong .sys_pread64
-	.llong .sys_pwrite64	        /* 180 */
-	.llong .sys_chown
-	.llong .sys_getcwd
-	.llong .sys_capget
-	.llong .sys_capset
-	.llong .sys_sigaltstack	        /* 185 */
-	.llong .sys_sendfile64
-	.llong .sys_ni_syscall		/* reserved for streams1 */
-	.llong .sys_ni_syscall		/* reserved for streams2 */
-	.llong .ppc_vfork
-	.llong .sys_getrlimit	        /* 190 */
-	.llong .sys_readahead
-	.llong .sys_ni_syscall		/* 32bit only mmap2 */
-	.llong .sys_ni_syscall		/* 32bit only truncate64 */
-	.llong .sys_ni_syscall		/* 32bit only ftruncate64 */
-	.llong .sys_ni_syscall		/* 195 - 32bit only stat64 */
-	.llong .sys_ni_syscall		/* 32bit only lstat64 */
-	.llong .sys_ni_syscall		/* 32bit only fstat64 */
-	.llong .sys_ni_syscall		/* 32bit only pciconfig_read */
-	.llong .sys_ni_syscall		/* 32bit only pciconfig_write */
-	.llong .sys_ni_syscall		/* 32bit only pciconfig_iobase */
-	.llong .sys_ni_syscall		/* reserved for MacOnLinux */
-	.llong .sys_getdents64
-	.llong .sys_pivot_root
-	.llong .sys_ni_syscall		/* 32bit only fcntl64 */
-	.llong .sys_madvise		/* 205 */
-	.llong .sys_mincore
-	.llong .sys_gettid
-	.llong .sys_tkill
-	.llong .sys_setxattr
-	.llong .sys_lsetxattr		/* 210 */
-	.llong .sys_fsetxattr
-	.llong .sys_getxattr
-	.llong .sys_lgetxattr
-	.llong .sys_fgetxattr
-	.llong .sys_listxattr		/* 215 */
-	.llong .sys_llistxattr
-	.llong .sys_flistxattr
-	.llong .sys_removexattr
-	.llong .sys_lremovexattr
-	.llong .sys_fremovexattr	/* 220 */
-	.llong .sys_futex
-	.llong .sys_sched_setaffinity
-	.llong .sys_sched_getaffinity
-	.llong .sys_ni_syscall
-	.llong .sys_ni_syscall		/* 225 - reserved for tux */
-	.llong .sys_ni_syscall		/* 32bit only sendfile64 */
-	.llong .sys_io_setup
-	.llong .sys_io_destroy
-	.llong .sys_io_getevents
-	.llong .sys_io_submit		/* 230 */
-	.llong .sys_io_cancel
-	.llong .sys_set_tid_address
-	.llong .sys_fadvise64
-	.llong .sys_exit_group
-	.llong .sys_lookup_dcookie	/* 235 */
-	.llong .sys_epoll_create
-	.llong .sys_epoll_ctl
-	.llong .sys_epoll_wait
-	.llong .sys_remap_file_pages
-	.llong .sys_timer_create	/* 240 */
-	.llong .sys_timer_settime
-	.llong .sys_timer_gettime
-	.llong .sys_timer_getoverrun
-	.llong .sys_timer_delete
-	.llong .sys_clock_settime	/* 245 */
-	.llong .sys_clock_gettime
-	.llong .sys_clock_getres
-	.llong .sys_clock_nanosleep
-	.llong .ppc64_swapcontext
-	.llong .sys_tgkill		/* 250 */
-	.llong .sys_utimes
-	.llong .sys_statfs64
-	.llong .sys_fstatfs64
-	.llong .sys_ni_syscall		/* 32bit only fadvise64_64 */
-	.llong .ppc_rtas		/* 255 */
-	.llong .sys_ni_syscall		/* 256 reserved for sys_debug_setcontext */
-	.llong .sys_ni_syscall		/* 257 reserved for vserver */
-	.llong .sys_ni_syscall		/* 258 reserved for new sys_remap_file_pages */
-	.llong .sys_ni_syscall		/* 259 reserved for new sys_mbind */
-	.llong .sys_ni_syscall		/* 260 reserved for new sys_get_mempolicy */
-	.llong .sys_ni_syscall		/* 261 reserved for new sys_set_mempolicy */
-	.llong .sys_mq_open
-	.llong .sys_mq_unlink
-	.llong .sys_mq_timedsend
-	.llong .sys_mq_timedreceive	/* 265 */
-	.llong .sys_mq_notify
-	.llong .sys_mq_getsetattr
-	.llong .sys_ni_syscall		/* 268 reserved for sys_kexec_load */
+	.llong sys_restart_syscall	/* 0 */
+	.llong sys_exit
+	.llong ppc_fork
+	.llong sys_read
+	.llong sys_write
+	.llong sys_open			/* 5 */
+	.llong sys_close
+	.llong sys_waitpid
+	.llong sys_creat
+	.llong sys_link
+	.llong sys_unlink		/* 10 */
+	.llong sys_execve
+	.llong sys_chdir
+	.llong sys64_time
+	.llong sys_mknod
+	.llong sys_chmod		/* 15 */
+	.llong sys_lchown
+	.llong sys_ni_syscall		/* old break syscall */
+	.llong sys_ni_syscall		/* old stat syscall */
+	.llong sys_lseek
+	.llong sys_getpid		/* 20 */
+	.llong sys_mount
+	.llong sys_ni_syscall		/* old umount syscall */
+	.llong sys_setuid
+	.llong sys_getuid
+	.llong ppc64_sys_stime		/* 25 */
+	.llong sys_ptrace
+	.llong sys_alarm
+	.llong sys_ni_syscall		/* old fstat syscall */
+	.llong sys_pause
+	.llong sys_utime		/* 30 */
+	.llong sys_ni_syscall		/* old stty syscall */
+	.llong sys_ni_syscall		/* old gtty syscall */
+	.llong sys_access
+	.llong sys_nice
+	.llong sys_ni_syscall		/* 35 - old ftime syscall */
+	.llong sys_sync
+	.llong sys_kill
+	.llong sys_rename
+	.llong sys_mkdir
+	.llong sys_rmdir		/* 40 */
+	.llong sys_dup
+	.llong sys_pipe
+	.llong sys_times
+	.llong sys_ni_syscall		/* old prof syscall */
+	.llong sys_brk			/* 45 */
+	.llong sys_setgid
+	.llong sys_getgid
+	.llong sys_signal
+	.llong sys_geteuid
+	.llong sys_getegid		/* 50 */
+	.llong sys_acct
+	.llong sys_umount
+	.llong sys_ni_syscall		/* old lock syscall */
+	.llong sys_ioctl
+	.llong sys_fcntl		/* 55 */
+	.llong sys_ni_syscall		/* old mpx syscall */
+	.llong sys_setpgid
+	.llong sys_ni_syscall		/* old ulimit syscall */
+	.llong sys_ni_syscall		/* old uname syscall */
+	.llong sys_umask		/* 60 */
+	.llong sys_chroot
+	.llong sys_ustat
+	.llong sys_dup2
+	.llong sys_getppid
+	.llong sys_getpgrp		/* 65 */
+	.llong sys_setsid
+	.llong sys_ni_syscall
+	.llong sys_sgetmask
+	.llong sys_ssetmask
+	.llong sys_setreuid		/* 70 */
+	.llong sys_setregid
+	.llong sys_ni_syscall
+	.llong sys_ni_syscall
+	.llong sys_sethostname
+	.llong sys_setrlimit		/* 75 */
+	.llong sys_ni_syscall		/* old getrlimit syscall */
+	.llong sys_getrusage
+	.llong sys_gettimeofday
+	.llong sys_settimeofday
+	.llong sys_getgroups		/* 80 */
+	.llong sys_setgroups
+	.llong sys_ni_syscall		/* old select syscall */
+	.llong sys_symlink
+	.llong sys_ni_syscall		/* old lstat syscall */
+	.llong sys_readlink		/* 85 */
+	.llong sys_uselib
+	.llong sys_swapon
+	.llong sys_reboot
+	.llong sys_ni_syscall		/* old readdir syscall */
+	.llong sys_mmap			/* 90 */
+	.llong sys_munmap
+	.llong sys_truncate
+	.llong sys_ftruncate
+	.llong sys_fchmod
+	.llong sys_fchown		/* 95 */
+	.llong sys_getpriority
+	.llong sys_setpriority
+	.llong sys_ni_syscall		/* old profil syscall holder */
+	.llong sys_statfs
+	.llong sys_fstatfs		/* 100 */
+	.llong sys_ni_syscall		/* old ioperm syscall */
+	.llong sys_socketcall
+	.llong sys_syslog
+	.llong sys_setitimer
+	.llong sys_getitimer		/* 105 */
+	.llong sys_newstat
+	.llong sys_newlstat
+	.llong sys_newfstat
+	.llong sys_ni_syscall		/* old uname syscall */
+	.llong sys_ni_syscall		/* 110 old iopl syscall */
+	.llong sys_vhangup
+	.llong sys_ni_syscall		/* old idle syscall */
+	.llong sys_ni_syscall		/* old vm86 syscall */
+	.llong sys_wait4
+	.llong sys_swapoff		/* 115 */
+	.llong sys_sysinfo
+	.llong sys_ipc
+	.llong sys_fsync
+	.llong sys_ni_syscall
+	.llong ppc_clone		/* 120 */
+	.llong sys_setdomainname
+	.llong ppc64_newuname
+	.llong sys_ni_syscall		/* old modify_ldt syscall */
+	.llong sys_adjtimex
+	.llong sys_mprotect		/* 125 */
+	.llong sys_ni_syscall
+	.llong sys_ni_syscall		/* old create_module syscall */
+	.llong sys_init_module
+	.llong sys_delete_module
+	.llong sys_ni_syscall		/* 130 old get_kernel_syms syscall */
+	.llong sys_quotactl
+	.llong sys_getpgid
+	.llong sys_fchdir
+	.llong sys_bdflush
+	.llong sys_sysfs		/* 135 */
+	.llong ppc64_personality
+	.llong sys_ni_syscall	        /* for afs_syscall */
+	.llong sys_setfsuid
+	.llong sys_setfsgid
+	.llong sys_llseek	        /* 140 */
+	.llong sys_getdents
+	.llong sys_select
+	.llong sys_flock
+	.llong sys_msync
+	.llong sys_readv		/* 145 */
+	.llong sys_writev
+	.llong sys_getsid
+	.llong sys_fdatasync
+	.llong sys_sysctl
+	.llong sys_mlock		/* 150 */
+	.llong sys_munlock
+	.llong sys_mlockall
+	.llong sys_munlockall
+	.llong sys_sched_setparam
+	.llong sys_sched_getparam	/* 155 */
+	.llong sys_sched_setscheduler
+	.llong sys_sched_getscheduler
+	.llong sys_sched_yield
+	.llong sys_sched_get_priority_max
+	.llong sys_sched_get_priority_min  /* 160 */
+	.llong sys_sched_rr_get_interval
+	.llong sys_nanosleep
+	.llong sys_mremap
+	.llong sys_setresuid
+	.llong sys_getresuid	        /* 165 */
+	.llong sys_ni_syscall		/* old query_module syscall */
+	.llong sys_poll
+	.llong sys_nfsservctl
+	.llong sys_setresgid
+	.llong sys_getresgid	        /* 170 */
+	.llong sys_prctl
+	.llong ppc64_rt_sigreturn
+	.llong sys_rt_sigaction
+	.llong sys_rt_sigprocmask
+	.llong sys_rt_sigpending	/* 175 */
+	.llong sys_rt_sigtimedwait
+	.llong sys_rt_sigqueueinfo
+	.llong ppc64_rt_sigsuspend
+	.llong sys_pread64
+	.llong sys_pwrite64	        /* 180 */
+	.llong sys_chown
+	.llong sys_getcwd
+	.llong sys_capget
+	.llong sys_capset
+	.llong sys_sigaltstack	        /* 185 */
+	.llong sys_sendfile64
+	.llong sys_ni_syscall		/* reserved for streams1 */
+	.llong sys_ni_syscall		/* reserved for streams2 */
+	.llong ppc_vfork
+	.llong sys_getrlimit	        /* 190 */
+	.llong sys_readahead
+	.llong sys_ni_syscall		/* 32bit only mmap2 */
+	.llong sys_ni_syscall		/* 32bit only truncate64 */
+	.llong sys_ni_syscall		/* 32bit only ftruncate64 */
+	.llong sys_ni_syscall		/* 195 - 32bit only stat64 */
+	.llong sys_ni_syscall		/* 32bit only lstat64 */
+	.llong sys_ni_syscall		/* 32bit only fstat64 */
+	.llong sys_ni_syscall		/* 32bit only pciconfig_read */
+	.llong sys_ni_syscall		/* 32bit only pciconfig_write */
+	.llong sys_ni_syscall		/* 32bit only pciconfig_iobase */
+	.llong sys_ni_syscall		/* reserved for MacOnLinux */
+	.llong sys_getdents64
+	.llong sys_pivot_root
+	.llong sys_ni_syscall		/* 32bit only fcntl64 */
+	.llong sys_madvise		/* 205 */
+	.llong sys_mincore
+	.llong sys_gettid
+	.llong sys_tkill
+	.llong sys_setxattr
+	.llong sys_lsetxattr		/* 210 */
+	.llong sys_fsetxattr
+	.llong sys_getxattr
+	.llong sys_lgetxattr
+	.llong sys_fgetxattr
+	.llong sys_listxattr		/* 215 */
+	.llong sys_llistxattr
+	.llong sys_flistxattr
+	.llong sys_removexattr
+	.llong sys_lremovexattr
+	.llong sys_fremovexattr		/* 220 */
+	.llong sys_futex
+	.llong sys_sched_setaffinity
+	.llong sys_sched_getaffinity
+	.llong sys_ni_syscall
+	.llong sys_ni_syscall		/* 225 - reserved for tux */
+	.llong sys_ni_syscall		/* 32bit only sendfile64 */
+	.llong sys_io_setup
+	.llong sys_io_destroy
+	.llong sys_io_getevents
+	.llong sys_io_submit		/* 230 */
+	.llong sys_io_cancel
+	.llong sys_set_tid_address
+	.llong sys_fadvise64
+	.llong sys_exit_group
+	.llong sys_lookup_dcookie	/* 235 */
+	.llong sys_epoll_create
+	.llong sys_epoll_ctl
+	.llong sys_epoll_wait
+	.llong sys_remap_file_pages
+	.llong sys_timer_create		/* 240 */
+	.llong sys_timer_settime
+	.llong sys_timer_gettime
+	.llong sys_timer_getoverrun
+	.llong sys_timer_delete
+	.llong sys_clock_settime	/* 245 */
+	.llong sys_clock_gettime
+	.llong sys_clock_getres
+	.llong sys_clock_nanosleep
+	.llong ppc64_swapcontext
+	.llong sys_tgkill		/* 250 */
+	.llong sys_utimes
+	.llong sys_statfs64
+	.llong sys_fstatfs64
+	.llong sys_ni_syscall		/* 32bit only fadvise64_64 */
+	.llong ppc_rtas			/* 255 */
+	.llong sys_ni_syscall		/* 256 reserved for sys_debug_setcontext */
+	.llong sys_ni_syscall		/* 257 reserved for vserver */
+	.llong sys_ni_syscall		/* 258 reserved for new sys_remap_file_pages */
+	.llong sys_ni_syscall		/* 259 reserved for new sys_mbind */
+	.llong sys_ni_syscall		/* 260 reserved for new sys_get_mempolicy */
+	.llong sys_ni_syscall		/* 261 reserved for new sys_set_mempolicy */
+	.llong sys_mq_open
+	.llong sys_mq_unlink
+	.llong sys_mq_timedsend
+	.llong sys_mq_timedreceive	/* 265 */
+	.llong sys_mq_notify
+	.llong sys_mq_getsetattr
+	.llong sys_ni_syscall		/* 268 reserved for sys_kexec_load */
diff -puN arch/ppc64/mm/Makefile~mminimal_toc_die_die_die_3 arch/ppc64/mm/Makefile
--- mminimal_toc_die_die_die/arch/ppc64/mm/Makefile~mminimal_toc_die_die_die_3	2004-08-24 19:50:11.578589237 +1000
+++ mminimal_toc_die_die_die-anton/arch/ppc64/mm/Makefile	2004-08-24 19:50:11.627585471 +1000
@@ -2,8 +2,6 @@
 # Makefile for the linux ppc-specific parts of the memory manager.
 #

-EXTRA_CFLAGS += -mno-minimal-toc
-
 obj-y := fault.o init.o imalloc.o hash_utils.o hash_low.o tlb.o \
 	slb_low.o slb.o stab.o
 obj-$(CONFIG_DISCONTIGMEM) += numa.o
diff -puN arch/ppc64/xmon/Makefile~mminimal_toc_die_die_die_3 arch/ppc64/xmon/Makefile
--- mminimal_toc_die_die_die/arch/ppc64/xmon/Makefile~mminimal_toc_die_die_die_3	2004-08-24 19:50:11.584588776 +1000
+++ mminimal_toc_die_die_die-anton/arch/ppc64/xmon/Makefile	2004-08-24 19:50:11.628585394 +1000
@@ -1,5 +1,3 @@
 # Makefile for xmon

-EXTRA_CFLAGS += -mno-minimal-toc
-
 obj-y := start.o xmon.o ppc-dis.o ppc-opc.o subr_prf.o setjmp.o
diff -puN include/asm-ppc64/unistd.h~mminimal_toc_die_die_die_3 include/asm-ppc64/unistd.h
--- mminimal_toc_die_die_die/include/asm-ppc64/unistd.h~mminimal_toc_die_die_die_3	2004-08-24 19:50:11.590588315 +1000
+++ mminimal_toc_die_die_die-anton/include/asm-ppc64/unistd.h	2004-08-24 19:50:11.629585317 +1000
@@ -468,7 +468,8 @@ long sys_rt_sigaction(int sig, const str
  * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
  * but it doesn't work on all toolchains, so we just do it by hand
  */
-#define cond_syscall(x) asm(".weak\t." #x "\n\t.set\t." #x ",.sys_ni_syscall");
+#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall");
+

 #endif		/* __KERNEL__ */

_

** Sent via the linuxppc64-dev mail list. See http://lists.linuxppc.org/





More information about the Linuxppc64-dev mailing list