summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Heim <phreak@gentoo.org>2006-08-28 17:53:01 +0000
committerChristian Heim <phreak@gentoo.org>2006-08-28 17:53:01 +0000
commita3eed86833011e6f88948c02eccd93d224422f6d (patch)
treeecf5fc12df2217dc4f4dc01d0537330a438082fd /dietlibc
parentRenaming and adding to the README (diff)
downloadmisc-a3eed86833011e6f88948c02eccd93d224422f6d.tar.gz
misc-a3eed86833011e6f88948c02eccd93d224422f6d.tar.bz2
misc-a3eed86833011e6f88948c02eccd93d224422f6d.zip
Removing old patch
svn path=/; revision=445
Diffstat (limited to 'dietlibc')
-rw-r--r--dietlibc/patches/0.30-r1/03_all_ppc-rename.patch2856
1 files changed, 0 insertions, 2856 deletions
diff --git a/dietlibc/patches/0.30-r1/03_all_ppc-rename.patch b/dietlibc/patches/0.30-r1/03_all_ppc-rename.patch
deleted file mode 100644
index 2d39266..0000000
--- a/dietlibc/patches/0.30-r1/03_all_ppc-rename.patch
+++ /dev/null
@@ -1,2856 +0,0 @@
-Index: dietlibc-0.30/Makefile
-===================================================================
---- dietlibc-0.30.orig/Makefile
-+++ dietlibc-0.30/Makefile
-@@ -23,11 +23,11 @@ else
- ifeq ($(MYARCH),alpha)
- ARCH=alpha
- else
--ifeq ($(MYARCH),ppc)
--ARCH=ppc
-+ifeq ($(MYARCH),powerpc)
-+ARCH=powerpc
- else
--ifeq ($(MYARCH),ppc64)
--ARCH=ppc64
-+ifeq ($(MYARCH),powerpc64)
-+ARCH=powerpc64
- else
- ifeq ($(MYARCH),arm)
- ARCH=arm
-@@ -285,10 +285,10 @@ $(PICODIR)/libm.so: $(DYN_LIBMATH_OBJS)
- $(SYSCALLOBJ): syscalls.h
-
- $(OBJDIR)/elftrunc: $(OBJDIR)/diet contrib/elftrunc.c
-- bin-$(MYARCH)/diet $(CROSS)$(CC) $(CFLAGS) -o $@ contrib/elftrunc.c
-+ bin-$(ARCH)/diet $(CROSS)$(CC) $(CFLAGS) -o $@ contrib/elftrunc.c
-
- $(OBJDIR)/dnsd: $(OBJDIR)/diet contrib/dnsd.c
-- bin-$(MYARCH)/diet $(CROSS)$(CC) $(CFLAGS) -o $@ contrib/dnsd.c
-+ bin-$(ARCH)/diet $(CROSS)$(CC) $(CFLAGS) -o $@ contrib/dnsd.c
-
- VERSION=dietlibc-$(shell head -n 1 CHANGES|sed 's/://')
- CURNAME=$(notdir $(shell pwd))
-@@ -370,10 +370,10 @@ uninstall:
- for i in `find include -name \*.h`; do rm -f $(DESTDIR)$(prefix)/$$i; done
- -rmdir $(DESTDIR)$(ILIBDIR) $(DESTDIR)$(MAN1DIR) $(DESTDIR)$(BINDIR)
-
--.PHONY: sparc ppc mips arm alpha i386 parisc mipsel powerpc s390 sparc64
--.PHONY: x86_64 ia64 ppc64 s390x
-+.PHONY: sparc powerpc mips arm alpha i386 parisc mipsel powerpc s390 sparc64
-+.PHONY: x86_64 ia64 powerpc64 s390x
-
--arm sparc alpha mips parisc s390 sparc64 x86_64 ia64 ppc64 s390x:
-+arm sparc alpha mips parisc s390 sparc64 x86_64 ia64 powerpc64 s390x:
- $(MAKE) ARCH=$@ CROSS=$@-linux- all
-
- i386:
-@@ -383,8 +383,8 @@ else
- $(MAKE) ARCH=$@ CROSS=$@-linux- all
- endif
-
--ppc:
--ifeq ($(MYARCH),ppc64)
-+powerpc:
-+ifeq ($(MYARCH),powerpc64)
- $(MAKE) ARCH=$@ CC="$(CC) -m32" all
- else
- $(MAKE) ARCH=$@ CROSS=$@-linux- all
-@@ -397,15 +397,11 @@ mipsel:
- mips-gnu:
- $(MAKE) ARCH=$@ CROSS=$@-linux-gnu- all
-
--# Some people named their cross compiler toolchain powerpc-linux-gcc
--powerpc:
-- $(MAKE) ARCH=ppc CROSS=powerpc-linux- all
--
- hppa:
- ln -sf bin-parisc bin-hppa
- $(MAKE) ARCH=parisc CROSS=hppa-linux- all
-
--CROSS_ARCH=arm sparc ppc alpha i386 mips sparc64 x86_64 s390 parisc
-+CROSS_ARCH=arm sparc powerpc alpha i386 mips sparc64 x86_64 s390 parisc
- cross:
- $(MAKE) $(subst $(ARCH),,$(CROSS_ARCH))
-
-Index: dietlibc-0.30/diet.c
-===================================================================
---- dietlibc-0.30.orig/diet.c
-+++ dietlibc-0.30/diet.c
-@@ -35,8 +35,8 @@ static const char* Os[] = {
- "arm","-Os","-fomit-frame-pointer",0,
- "mips","-Os","-fomit-frame-pointer","-mno-abicalls","-fno-pic","-G","0",0,
- "mipsel","-Os","-fomit-frame-pointer","-mno-abicalls","-fno-pic","-G","0",0,
-- "ppc","-Os","-fomit-frame-pointer","-mpowerpc-gpopt","-mpowerpc-gfxopt",0,
-- "ppc64","-Os","-fomit-frame-pointer","-mpowerpc-gpopt","-mpowerpc-gfxopt",0,
-+ "powerpc","-Os","-fomit-frame-pointer","-mpowerpc-gpopt","-mpowerpc-gfxopt",0,
-+ "powerpc64","-Os","-fomit-frame-pointer","-mpowerpc-gpopt","-mpowerpc-gfxopt",0,
- "s390","-Os","-fomit-frame-pointer",0,
- "s390x","-Os","-fomit-frame-pointer",0,
- "sh","-Os","-fomit-frame-pointer",0,
-@@ -151,10 +151,10 @@ int main(int argc,char *argv[]) {
- #endif
- #endif
- #ifdef __powerpc__
-- shortplatform="ppc";
-+ shortplatform="powerpc";
- #endif
- #ifdef __powerpc64__
-- shortplatform="ppc64";
-+ shortplatform="powerpc64";
- #endif
- #ifdef __i386__
- shortplatform="i386";
-Index: dietlibc-0.30/powerpc/Makefile.add
-===================================================================
---- /dev/null
-+++ dietlibc-0.30/powerpc/Makefile.add
-@@ -0,0 +1,3 @@
-+
-+CFLAGS+=-mpowerpc-gpopt -mpowerpc-gfxopt -Os
-+VPATH:=ppc:syscalls.s:$(VPATH)
-Index: dietlibc-0.30/powerpc/__longjmp.S
-===================================================================
---- /dev/null
-+++ dietlibc-0.30/powerpc/__longjmp.S
-@@ -0,0 +1,59 @@
-+#include <setjmp.h>
-+
-+
-+#ifdef PIC
-+#define JUMPTARGET(name) name##@plt
-+#else
-+#define JUMPTARGET(name) name
-+#endif
-+
-+.global __longjmp
-+.type __longjmp,@function
-+.align 2
-+__longjmp:
-+ lwz 1,(JB_GPR1*4)(3)
-+ lwz 2,(JB_GPR2*4)(3)
-+ lwz 0,(JB_LR*4)(3)
-+ lwz 14,((JB_GPRS+0)*4)(3)
-+ lfd 14,((JB_FPRS+0*2)*4)(3)
-+ lwz 15,((JB_GPRS+1)*4)(3)
-+ lfd 15,((JB_FPRS+1*2)*4)(3)
-+ lwz 16,((JB_GPRS+2)*4)(3)
-+ lfd 16,((JB_FPRS+2*2)*4)(3)
-+ lwz 17,((JB_GPRS+3)*4)(3)
-+ lfd 17,((JB_FPRS+3*2)*4)(3)
-+ lwz 18,((JB_GPRS+4)*4)(3)
-+ lfd 18,((JB_FPRS+4*2)*4)(3)
-+ lwz 19,((JB_GPRS+5)*4)(3)
-+ lfd 19,((JB_FPRS+5*2)*4)(3)
-+ lwz 20,((JB_GPRS+6)*4)(3)
-+ lfd 20,((JB_FPRS+6*2)*4)(3)
-+ mtlr 0
-+ lwz 21,((JB_GPRS+7)*4)(3)
-+ lfd 21,((JB_FPRS+7*2)*4)(3)
-+ lwz 22,((JB_GPRS+8)*4)(3)
-+ lfd 22,((JB_FPRS+8*2)*4)(3)
-+ lwz 0,(JB_CR*4)(3)
-+ lwz 23,((JB_GPRS+9)*4)(3)
-+ lfd 23,((JB_FPRS+9*2)*4)(3)
-+ lwz 24,((JB_GPRS+10)*4)(3)
-+ lfd 24,((JB_FPRS+10*2)*4)(3)
-+ lwz 25,((JB_GPRS+11)*4)(3)
-+ lfd 25,((JB_FPRS+11*2)*4)(3)
-+ mtcrf 0xFF,0
-+ lwz 26,((JB_GPRS+12)*4)(3)
-+ lfd 26,((JB_FPRS+12*2)*4)(3)
-+ lwz 27,((JB_GPRS+13)*4)(3)
-+ lfd 27,((JB_FPRS+13*2)*4)(3)
-+ lwz 28,((JB_GPRS+14)*4)(3)
-+ lfd 28,((JB_FPRS+14*2)*4)(3)
-+ lwz 29,((JB_GPRS+15)*4)(3)
-+ lfd 29,((JB_FPRS+15*2)*4)(3)
-+ lwz 30,((JB_GPRS+16)*4)(3)
-+ lfd 30,((JB_FPRS+16*2)*4)(3)
-+ lwz 31,((JB_GPRS+17)*4)(3)
-+ lfd 31,((JB_FPRS+17*2)*4)(3)
-+ mr 3,4
-+ blr
-+.size __longjmp,.-__longjmp
-+
-Index: dietlibc-0.30/powerpc/__testandset.S
-===================================================================
---- /dev/null
-+++ dietlibc-0.30/powerpc/__testandset.S
-@@ -0,0 +1,12 @@
-+.global __testandset
-+.type __testandset,@function
-+.align 2
-+__testandset:
-+1: lwarx 5,0,3
-+ li 0,1
-+ stwcx. 0,0,3
-+ bne- 1b
-+ mr 3,5
-+ blr
-+.size __testandset,.-__testandset
-+
-Index: dietlibc-0.30/powerpc/clone.S
-===================================================================
---- /dev/null
-+++ dietlibc-0.30/powerpc/clone.S
-@@ -0,0 +1,48 @@
-+#include <dietfeatures.h>
-+#include "syscalls.h"
-+#include <errno.h>
-+
-+.text
-+.weak clone
-+clone:
-+.global __clone
-+__clone:
-+ cmpwi 4,0 /* check have non null child_stack pointer */
-+ cmpwi cr1, 3,0 /* check have non null thread_funcion */
-+ cror eq,4*cr1+eq,eq /* now if eq is set one is or both are zero */
-+ beq .Lclone_error
-+
-+ stwu 1,-32(1) /* alloc some space on the stack */
-+ stmw 29, 16(1) /* save r29,r30,r31 on stack */
-+
-+ rlwinm 4,4,0,0,27 /* mask out lower 4 bits */
-+
-+ /* move parameter to positions clone wants them */
-+ mr 29,3 /* r29 = r3 fn */
-+ mr 30,4 /* r30 = r4 stack */
-+ mr 31,6 /* r31 = r6 arg */
-+ mr 3, 5 /* r3 = r5 flags */
-+
-+ li 0, __NR_clone /* load syscall nr. */
-+ sc
-+
-+ cmpwi cr1,3,0 /* compare return of syscall with 0 */
-+ crandc 4*cr1+eq,4*cr1+eq,so
-+ bne .Lclone_parent /* return was non zero -> .Lclone_parent */
-+
-+ /* we are the cloned process */
-+ mr 1, 30 /* set stack pointer */
-+ mtctr 29 /* set count register to fn ? */
-+ mr 3, 31 /* set argument */
-+ bctrl /* branch trough count register and link */
-+ b _exit /* exit thread */
-+
-+.Lclone_parent:
-+ lmw 29,16(1) /* restore saved registers */
-+ addi 1, 1,32 /* free stack */
-+ bnslr+ /* had cloned a thread so return to parent */
-+ b error_unified_syscall
-+
-+.Lclone_error:
-+ li 3, EINVAL
-+ b error_unified_syscall
-Index: dietlibc-0.30/powerpc/mmap.c
-===================================================================
---- /dev/null
-+++ dietlibc-0.30/powerpc/mmap.c
-@@ -0,0 +1,40 @@
-+#include "dietfeatures.h"
-+#include <sys/types.h>
-+#include <errno.h>
-+#include "syscalls.h"
-+
-+int mmap(void*start,size_t length,int prot,int flags,int fd,off_t offset) {
-+ unsigned long __sc_ret, __sc_err;
-+ {
-+ register unsigned long __sc_0 __asm__ ("r0");
-+ register unsigned long __sc_3 __asm__ ("r3");
-+ register unsigned long __sc_4 __asm__ ("r4");
-+ register unsigned long __sc_5 __asm__ ("r5");
-+ register unsigned long __sc_6 __asm__ ("r6");
-+ register unsigned long __sc_7 __asm__ ("r7");
-+ register unsigned long __sc_8 __asm__ ("r8");
-+
-+ __sc_3 = (unsigned long) (start);
-+ __sc_4 = (unsigned long) (length);
-+ __sc_5 = (unsigned long) (prot);
-+ __sc_6 = (unsigned long) (flags);
-+ __sc_7 = (unsigned long) (fd);
-+ __sc_8 = (unsigned long) (offset);
-+ __sc_0 = __NR_mmap;
-+ __asm__ __volatile__
-+ ("sc \n\t"
-+ "mfcr %1 "
-+ : "=&r" (__sc_3), "=&r" (__sc_0)
-+ : "0" (__sc_3), "1" (__sc_0),
-+ "r" (__sc_4),
-+ "r" (__sc_5),
-+ "r" (__sc_6),
-+ "r" (__sc_7),
-+ "r" (__sc_8)
-+ : "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12");
-+ __sc_ret = __sc_3;
-+ __sc_err = __sc_0;
-+ }
-+ return (__sc_err & 0x10000000 ? errno = __sc_ret, __sc_ret = -1 : 0),
-+ (int) __sc_ret;
-+}
-Index: dietlibc-0.30/powerpc/setjmp.S
-===================================================================
---- /dev/null
-+++ dietlibc-0.30/powerpc/setjmp.S
-@@ -0,0 +1,56 @@
-+#include <setjmp.h>
-+
-+#ifdef PIC
-+#define JUMPTARGET(name) name##@plt
-+#else
-+#define JUMPTARGET(name) name
-+#endif
-+
-+.global __sigsetjmp
-+.type __sigsetjmp,@function
-+.align 2
-+__sigsetjmp:
-+ stw 1,(JB_GPR1*4)(3)
-+ mflr 0
-+ stw 2,(JB_GPR2*4)(3)
-+ stw 14,((JB_GPRS+0)*4)(3)
-+ stfd 14,((JB_FPRS+0*2)*4)(3)
-+ stw 0,(JB_LR*4)(3)
-+ stw 15,((JB_GPRS+1)*4)(3)
-+ stfd 15,((JB_FPRS+1*2)*4)(3)
-+ mfcr 0
-+ stw 16,((JB_GPRS+2)*4)(3)
-+ stfd 16,((JB_FPRS+2*2)*4)(3)
-+ stw 0,(JB_CR*4)(3)
-+ stw 17,((JB_GPRS+3)*4)(3)
-+ stfd 17,((JB_FPRS+3*2)*4)(3)
-+ stw 18,((JB_GPRS+4)*4)(3)
-+ stfd 18,((JB_FPRS+4*2)*4)(3)
-+ stw 19,((JB_GPRS+5)*4)(3)
-+ stfd 19,((JB_FPRS+5*2)*4)(3)
-+ stw 20,((JB_GPRS+6)*4)(3)
-+ stfd 20,((JB_FPRS+6*2)*4)(3)
-+ stw 21,((JB_GPRS+7)*4)(3)
-+ stfd 21,((JB_FPRS+7*2)*4)(3)
-+ stw 22,((JB_GPRS+8)*4)(3)
-+ stfd 22,((JB_FPRS+8*2)*4)(3)
-+ stw 23,((JB_GPRS+9)*4)(3)
-+ stfd 23,((JB_FPRS+9*2)*4)(3)
-+ stw 24,((JB_GPRS+10)*4)(3)
-+ stfd 24,((JB_FPRS+10*2)*4)(3)
-+ stw 25,((JB_GPRS+11)*4)(3)
-+ stfd 25,((JB_FPRS+11*2)*4)(3)
-+ stw 26,((JB_GPRS+12)*4)(3)
-+ stfd 26,((JB_FPRS+12*2)*4)(3)
-+ stw 27,((JB_GPRS+13)*4)(3)
-+ stfd 27,((JB_FPRS+13*2)*4)(3)
-+ stw 28,((JB_GPRS+14)*4)(3)
-+ stfd 28,((JB_FPRS+14*2)*4)(3)
-+ stw 29,((JB_GPRS+15)*4)(3)
-+ stfd 29,((JB_FPRS+15*2)*4)(3)
-+ stw 30,((JB_GPRS+16)*4)(3)
-+ stfd 30,((JB_FPRS+16*2)*4)(3)
-+ stw 31,((JB_GPRS+17)*4)(3)
-+ stfd 31,((JB_FPRS+17*2)*4)(3)
-+ b JUMPTARGET (__sigjmp_save)
-+.size __sigsetjmp,.-__sigsetjmp
-Index: dietlibc-0.30/powerpc/start.S
-===================================================================
---- /dev/null
-+++ dietlibc-0.30/powerpc/start.S
-@@ -0,0 +1,52 @@
-+#include "dietfeatures.h"
-+
-+.text
-+.global _start
-+.type _start,@function
-+_start:
-+ /* Save the stack pointer, in case we're statically linked under Linux. */
-+ mr 9,1
-+ /* Set up an initial stack frame, and clear the LR. */
-+ clrrwi 1,1,4
-+ li 0,0
-+ stwu 1,-16(1)
-+ mtlr 0
-+ stw 0,0(1)
-+
-+ /* r9 contains the initial stack pointer
-+ argc = (r9)
-+ argv = (r9+4)
-+ envp = argv+(argc+1)*4 */
-+
-+ lis 14,__libc_stack_end@ha
-+ stw 9,__libc_stack_end@l(14)
-+
-+ lwzu 3,0(9) /* argc */
-+ addi 4,9,4 /* argv */
-+ add 5,0,3 /* argc... */
-+ addi 5,5,1 /* argc+1...*/
-+ slwi 5,5,2 /* (argc+1)*4 */
-+ add 5,5,4 /* argv+(argc+1)*4 */
-+
-+ lis 14,environ@ha
-+ stw 5,environ@l(14)
-+
-+#ifdef WANT_DYNAMIC
-+ mr 6,7
-+ bl _dyn_start
-+#else
-+ bl CALL_IN_STARTCODE
-+#endif
-+ b exit
-+.size _start,.-_start
-+
-+
-+/* Define a symbol for the first piece of initialized data. */
-+ .section ".data"
-+__data_start:
-+
-+/* this is needed for libgcc_eh.a - see gcc-3.4/gcc/config/rs6000/linux-unwind.h */
-+ .weak __libc_stack_end
-+ .lcomm __libc_stack_end,4,4
-+ .type __libc_stack_end,@object
-+
-Index: dietlibc-0.30/powerpc/syscalls.h
-===================================================================
---- /dev/null
-+++ dietlibc-0.30/powerpc/syscalls.h
-@@ -0,0 +1,299 @@
-+
-+#define __NR_exit 1
-+#define __NR_fork 2
-+#define __NR_read 3
-+#define __NR_write 4
-+#define __NR_open 5
-+#define __NR_close 6
-+#define __NR_waitpid 7
-+#define __NR_creat 8
-+#define __NR_link 9
-+#define __NR_unlink 10
-+#define __NR_execve 11
-+#define __NR_chdir 12
-+#define __NR_time 13
-+#define __NR_mknod 14
-+#define __NR_chmod 15
-+#define __NR_lchown 16
-+#define __NR_break 17
-+#define __NR_oldstat 18
-+#define __NR_lseek 19
-+#define __NR_getpid 20
-+#define __NR_mount 21
-+#define __NR_umount 22
-+#define __NR_setuid 23
-+#define __NR_getuid 24
-+#define __NR_stime 25
-+#define __NR_ptrace 26
-+#define __NR_alarm 27
-+#define __NR_oldfstat 28
-+#define __NR_pause 29
-+#define __NR_utime 30
-+#define __NR_stty 31
-+#define __NR_gtty 32
-+#define __NR_access 33
-+#define __NR_nice 34
-+#define __NR_ftime 35
-+#define __NR_sync 36
-+#define __NR_kill 37
-+#define __NR_rename 38
-+#define __NR_mkdir 39
-+#define __NR_rmdir 40
-+#define __NR_dup 41
-+#define __NR_pipe 42
-+#define __NR_times 43
-+#define __NR_prof 44
-+#define __NR_brk 45
-+#define __NR_setgid 46
-+#define __NR_getgid 47
-+#define __NR_signal 48
-+#define __NR_geteuid 49
-+#define __NR_getegid 50
-+#define __NR_acct 51
-+#define __NR_umount2 52
-+#define __NR_lock 53
-+#define __NR_ioctl 54
-+#define __NR_fcntl 55
-+#define __NR_mpx 56
-+#define __NR_setpgid 57
-+#define __NR_ulimit 58
-+#define __NR_oldolduname 59
-+#define __NR_umask 60
-+#define __NR_chroot 61
-+#define __NR_ustat 62
-+#define __NR_dup2 63
-+#define __NR_getppid 64
-+#define __NR_getpgrp 65
-+#define __NR_setsid 66
-+#define __NR_sigaction 67
-+#define __NR_sgetmask 68
-+#define __NR_ssetmask 69
-+#define __NR_setreuid 70
-+#define __NR_setregid 71
-+#define __NR_sigsuspend 72
-+#define __NR_sigpending 73
-+#define __NR_sethostname 74
-+#define __NR_setrlimit 75
-+#define __NR_getrlimit 76
-+#define __NR_getrusage 77
-+#define __NR_gettimeofday 78
-+#define __NR_settimeofday 79
-+#define __NR_getgroups 80
-+#define __NR_setgroups 81
-+#define __NR_select 82
-+#define __NR_symlink 83
-+#define __NR_oldlstat 84
-+#define __NR_readlink 85
-+#define __NR_uselib 86
-+#define __NR_swapon 87
-+#define __NR_reboot 88
-+#define __NR_readdir 89
-+#define __NR_mmap 90
-+#define __NR_munmap 91
-+#define __NR_truncate 92
-+#define __NR_ftruncate 93
-+#define __NR_fchmod 94
-+#define __NR_fchown 95
-+#define __NR_getpriority 96
-+#define __NR_setpriority 97
-+#define __NR_profil 98
-+#define __NR_statfs 99
-+#define __NR_fstatfs 100
-+#define __NR_ioperm 101
-+#define __NR_socketcall 102
-+#define __NR_syslog 103
-+#define __NR_setitimer 104
-+#define __NR_getitimer 105
-+#define __NR_stat 106
-+#define __NR_lstat 107
-+#define __NR_fstat 108
-+#define __NR_olduname 109
-+#define __NR_iopl 110
-+#define __NR_vhangup 111
-+#define __NR_idle 112
-+#define __NR_vm86 113
-+#define __NR_wait4 114
-+#define __NR_swapoff 115
-+#define __NR_sysinfo 116
-+#define __NR_ipc 117
-+#define __NR_fsync 118
-+#define __NR_sigreturn 119
-+#define __NR_clone 120
-+#define __NR_setdomainname 121
-+#define __NR_uname 122
-+#define __NR_modify_ldt 123
-+#define __NR_adjtimex 124
-+#define __NR_mprotect 125
-+#define __NR_sigprocmask 126
-+#define __NR_create_module 127
-+#define __NR_init_module 128
-+#define __NR_delete_module 129
-+#define __NR_get_kernel_syms 130
-+#define __NR_quotactl 131
-+#define __NR_getpgid 132
-+#define __NR_fchdir 133
-+#define __NR_bdflush 134
-+#define __NR_sysfs 135
-+#define __NR_personality 136
-+#define __NR_afs_syscall 137 /* Syscall for Andrew File System */
-+#define __NR_setfsuid 138
-+#define __NR_setfsgid 139
-+#define __NR__llseek 140
-+#define __NR_getdents 141
-+#define __NR__newselect 142
-+#define __NR_flock 143
-+#define __NR_msync 144
-+#define __NR_readv 145
-+#define __NR_writev 146
-+#define __NR_getsid 147
-+#define __NR_fdatasync 148
-+#define __NR__sysctl 149
-+#define __NR_mlock 150
-+#define __NR_munlock 151
-+#define __NR_mlockall 152
-+#define __NR_munlockall 153
-+#define __NR_sched_setparam 154
-+#define __NR_sched_getparam 155
-+#define __NR_sched_setscheduler 156
-+#define __NR_sched_getscheduler 157
-+#define __NR_sched_yield 158
-+#define __NR_sched_get_priority_max 159
-+#define __NR_sched_get_priority_min 160
-+#define __NR_sched_rr_get_interval 161
-+#define __NR_nanosleep 162
-+#define __NR_mremap 163
-+#define __NR_setresuid 164
-+#define __NR_getresuid 165
-+#define __NR_query_module 166
-+#define __NR_poll 167
-+#define __NR_nfsservctl 168
-+#define __NR_setresgid 169
-+#define __NR_getresgid 170
-+#define __NR_prctl 171
-+#define __NR_rt_sigreturn 172
-+#define __NR_rt_sigaction 173
-+#define __NR_rt_sigprocmask 174
-+#define __NR_rt_sigpending 175
-+#define __NR_rt_sigtimedwait 176
-+#define __NR_rt_sigqueueinfo 177
-+#define __NR_rt_sigsuspend 178
-+#define __NR_pread 179
-+#define __NR_pwrite 180
-+#define __NR_chown 181
-+#define __NR_getcwd 182
-+#define __NR_capget 183
-+#define __NR_capset 184
-+#define __NR_sigaltstack 185
-+#define __NR_sendfile 186
-+#define __NR_getpmsg 187 /* some people actually want streams */
-+#define __NR_putpmsg 188 /* some people actually want streams */
-+#define __NR_vfork 189
-+#define __NR_ugetrlimit 190 /* SuS compliant getrlimit */
-+#define __NR_readahead 191
-+#define __NR_mmap2 192
-+#define __NR_truncate64 193
-+#define __NR_ftruncate64 194
-+#define __NR_stat64 195
-+#define __NR_lstat64 196
-+#define __NR_fstat64 197
-+#define __NR_pciconfig_read 198
-+#define __NR_pciconfig_write 199
-+#define __NR_pciconfig_iobase 200
-+#define __NR_multiplexer 201
-+#define __NR_getdents64 202
-+#define __NR_pivot_root 203
-+#define __NR_fcntl64 204
-+#define __NR_madvise 205
-+#define __NR_mincore 206
-+#define __NR_gettid 207
-+#define __NR_tkill 208
-+#define __NR_setxattr 209
-+#define __NR_lsetxattr 210
-+#define __NR_fsetxattr 211
-+#define __NR_getxattr 212
-+#define __NR_lgetxattr 213
-+#define __NR_fgetxattr 214
-+#define __NR_listxattr 215
-+#define __NR_llistxattr 216
-+#define __NR_flistxattr 217
-+#define __NR_removexattr 218
-+#define __NR_lremovexattr 219
-+#define __NR_fremovexattr 220
-+#define __NR_futex 221
-+#define __NR_sched_setaffinity 222
-+#define __NR_sched_getaffinity 223
-+/* 224 currently unused */
-+#define __NR_tuxcall 225
-+#define __NR_sendfile64 226
-+#define __NR_io_setup 227
-+#define __NR_io_destroy 228
-+#define __NR_io_getevents 229
-+#define __NR_io_submit 230
-+#define __NR_io_cancel 231
-+#define __NR_set_tid_address 232
-+#define __NR_fadvise64 233
-+#define __NR_exit_group 234
-+#define __NR_lookup_dcookie 235
-+#define __NR_epoll_create 236
-+#define __NR_epoll_ctl 237
-+#define __NR_epoll_wait 238
-+#define __NR_remap_file_pages 239
-+#define __NR_timer_create 240
-+#define __NR_timer_settime 241
-+#define __NR_timer_gettime 242
-+#define __NR_timer_getoverrun 243
-+#define __NR_timer_delete 244
-+#define __NR_clock_settime 245
-+#define __NR_clock_gettime 246
-+#define __NR_clock_getres 247
-+#define __NR_clock_nanosleep 248
-+#define __NR_swapcontext 249
-+#define __NR_tgkill 250
-+#define __NR_utimes 251
-+#define __NR_statfs64 252
-+#define __NR_fstatfs64 253
-+#define __NR_fadvise64_64 254
-+#define __NR_rtas 255
-+#define __NR_sys_debug_setcontext 256
-+/* Number 257 is reserved for vserver */
-+/* Number 258 is reserved for new sys_remap_file_pages */
-+/* Number 259 is reserved for new sys_mbind */
-+/* Number 260 is reserved for new sys_get_mempolicy */
-+/* Number 261 is reserved for new sys_set_mempolicy */
-+#define __NR_mq_open 262
-+#define __NR_mq_unlink 263
-+#define __NR_mq_timedsend 264
-+#define __NR_mq_timedreceive 265
-+#define __NR_mq_notify 266
-+#define __NR_mq_getsetattr 267
-+#define __NR_kexec_load 268
-+#define __NR_add_key 269
-+#define __NR_request_key 270
-+#define __NR_keyctl 271
-+#define __NR_waitid 272
-+#define __NR_ioprio_set 273
-+#define __NR_ioprio_get 274
-+#define __NR_inotify_init 275
-+#define __NR_inotify_add_watch 276
-+#define __NR_inotify_rm_watch 277
-+
-+
-+#define syscall_weak(name,wsym,sym) \
-+.text; \
-+.type wsym,@function; \
-+.weak wsym; \
-+wsym: ; \
-+.type sym,@function; \
-+.global sym; \
-+sym: \
-+ li 0,__NR_##name; \
-+ b __unified_syscall
-+
-+#define syscall(name,sym) \
-+.text; \
-+.type sym,@function; \
-+.global sym; \
-+sym: \
-+ li 0,__NR_##name; \
-+ b __unified_syscall
-+
-Index: dietlibc-0.30/powerpc/unified.S
-===================================================================
---- /dev/null
-+++ dietlibc-0.30/powerpc/unified.S
-@@ -0,0 +1,40 @@
-+#include <dietfeatures.h>
-+#include "syscalls.h"
-+
-+.text
-+.type exit,@function
-+.weak exit
-+exit:
-+.type _exit,@function
-+.global _exit
-+_exit:
-+ li 0,__NR_exit
-+.global __unified_syscall
-+__unified_syscall:
-+ sc
-+ bnslr+
-+
-+.global error_unified_syscall
-+error_unified_syscall:
-+#ifdef WANT_THREAD_SAFE
-+ stwu 1,-16(1)
-+ mflr 0
-+ stw 0,20(1)
-+ stw 3,12(1)
-+ bl __errno_location
-+ lwz 0,12(1)
-+ stw 0,0(3)
-+ lwz 0,20(1)
-+ mtlr 0
-+ addi 1,1,16
-+#else
-+ lis 9,errno@ha
-+ stw 3,errno@l(9)
-+#endif
-+ li 3,-1
-+
-+/* here we go and "reuse" the return for weak-void functions */
-+#include "dietuglyweaks.h"
-+
-+ blr
-+
-Index: dietlibc-0.30/powerpc64/Makefile.add
-===================================================================
---- /dev/null
-+++ dietlibc-0.30/powerpc64/Makefile.add
-@@ -0,0 +1,5 @@
-+
-+CFLAGS+=-Os -mpowerpc64
-+VPATH:=ppc64:syscalls.s:$(VPATH)
-+
-+CC+=-m64
-Index: dietlibc-0.30/powerpc64/__longjmp.S
-===================================================================
---- /dev/null
-+++ dietlibc-0.30/powerpc64/__longjmp.S
-@@ -0,0 +1,54 @@
-+#include <setjmp.h>
-+
-+ .quad .__longjmp,.TOC.@tocbase,0
-+ .text
-+ .size __longjmp,24
-+ .type .__longjmp,@function
-+ .globl .__longjmp
-+.align 2
-+.__longjmp:
-+ ld 1,(JB_GPR1*8)(3)
-+ ld 2,(JB_GPR2*8)(3)
-+ ld 0,(JB_LR*8)(3)
-+ ld 14,((JB_GPRS+0)*8)(3)
-+ lfd 14,((JB_FPRS+0)*8)(3)
-+ ld 15,((JB_GPRS+1)*8)(3)
-+ lfd 15,((JB_FPRS+1)*8)(3)
-+ ld 16,((JB_GPRS+2)*8)(3)
-+ lfd 16,((JB_FPRS+2)*8)(3)
-+ ld 17,((JB_GPRS+3)*8)(3)
-+ lfd 17,((JB_FPRS+3)*8)(3)
-+ ld 18,((JB_GPRS+4)*8)(3)
-+ lfd 18,((JB_FPRS+4)*8)(3)
-+ ld 19,((JB_GPRS+5)*8)(3)
-+ lfd 19,((JB_FPRS+5)*8)(3)
-+ ld 20,((JB_GPRS+6)*8)(3)
-+ lfd 20,((JB_FPRS+6)*8)(3)
-+ mtlr 0
-+ ld 21,((JB_GPRS+7)*8)(3)
-+ lfd 21,((JB_FPRS+7)*8)(3)
-+ ld 22,((JB_GPRS+8)*8)(3)
-+ lfd 22,((JB_FPRS+8)*8)(3)
-+ ld 0,(JB_CR*8)(3)
-+ ld 23,((JB_GPRS+9)*8)(3)
-+ lfd 23,((JB_FPRS+9)*8)(3)
-+ ld 24,((JB_GPRS+10)*8)(3)
-+ lfd 24,((JB_FPRS+10)*8)(3)
-+ ld 25,((JB_GPRS+11)*8)(3)
-+ lfd 25,((JB_FPRS+11)*8)(3)
-+ mtcrf 0xFF,0
-+ ld 26,((JB_GPRS+12)*8)(3)
-+ lfd 26,((JB_FPRS+12)*8)(3)
-+ ld 27,((JB_GPRS+13)*8)(3)
-+ lfd 27,((JB_FPRS+13)*8)(3)
-+ ld 28,((JB_GPRS+14)*8)(3)
-+ lfd 28,((JB_FPRS+14)*8)(3)
-+ ld 29,((JB_GPRS+15)*8)(3)
-+ lfd 29,((JB_FPRS+15)*8)(3)
-+ ld 30,((JB_GPRS+16)*8)(3)
-+ lfd 30,((JB_FPRS+16)*8)(3)
-+ ld 31,((JB_GPRS+17)*8)(3)
-+ lfd 31,((JB_FPRS+17)*8)(3)
-+ mr 3,4
-+ blr
-+.size .__longjmp,.-.__longjmp
-Index: dietlibc-0.30/powerpc64/__testandset.S
-===================================================================
---- /dev/null
-+++ dietlibc-0.30/powerpc64/__testandset.S
-@@ -0,0 +1,12 @@
-+.global __testandset
-+.type __testandset,@function
-+.align 2
-+__testandset:
-+1: lwarx 5,0,3
-+ li 0,1
-+ stwcx. 0,0,3
-+ bne- 1b
-+ mr 3,5
-+ blr
-+.size __testandset,.-__testandset
-+
-Index: dietlibc-0.30/powerpc64/clone.S
-===================================================================
---- /dev/null
-+++ dietlibc-0.30/powerpc64/clone.S
-@@ -0,0 +1,52 @@
-+#include <dietfeatures.h>
-+#include "syscalls.h"
-+#include <errno.h>
-+
-+.text
-+.weak clone
-+clone:
-+.global __clone
-+__clone:
-+ cmpwi 4,0 /* check have non null child_stack pointer */
-+ cmpwi cr1, 3,0 /* check have non null thread_funcion */
-+ cror eq,4*cr1+eq,eq /* now if eq is set one is or both are zero */
-+ beq .Lclone_error
-+
-+ stdu 1,-64(1) /* alloc some space on the stack */
-+ std 29, 16(1) /* save r29,r30,r31 on stack */
-+ std 30, 24(1)
-+ std 31, 32(1)
-+
-+ rlwinm 4,4,0,0,27 /* mask out lower 4 bits */
-+
-+ /* move parameter to positions clone wants them */
-+ mr 29,3 /* r29 = r3 fn */
-+ mr 30,4 /* r30 = r4 stack */
-+ mr 31,6 /* r31 = r6 arg */
-+ mr 3, 5 /* r3 = r5 flags */
-+
-+ li 0, __NR_clone /* load syscall nr. */
-+ sc
-+
-+ cmpwi cr1,3,0 /* compare return of syscall with 0 */
-+ crandc 4*cr1+eq,4*cr1+eq,so
-+ bne .Lclone_parent /* return was non zero -> .Lclone_parent */
-+
-+ /* we are the cloned process */
-+ mr 1, 30 /* set stack pointer */
-+ mtctr 29 /* set count register to fn ? */
-+ mr 3, 31 /* set argument */
-+ bctrl /* branch trough count register and link */
-+ b _exit /* exit thread */
-+
-+.Lclone_parent:
-+ ld 29,16(1) /* restore saved registers */
-+ ld 30,24(1)
-+ ld 31,32(1)
-+ addi 1, 1,64 /* free stack */
-+ bnslr+ /* had cloned a thread so return to parent */
-+ b error_unified_syscall
-+
-+.Lclone_error:
-+ li 3, EINVAL
-+ b error_unified_syscall
-Index: dietlibc-0.30/powerpc64/setjmp.S
-===================================================================
---- /dev/null
-+++ dietlibc-0.30/powerpc64/setjmp.S
-@@ -0,0 +1,59 @@
-+#include <setjmp.h>
-+
-+#ifdef PIC
-+#define JUMPTARGET(name) name##@plt
-+#else
-+#define JUMPTARGET(name) .name
-+#endif
-+
-+ .quad .__sigsetjmp,.TOC.@tocbase,0
-+ .text
-+ .size __sigsetjmp,24
-+ .type .__sigsetjmp,@function
-+ .globl .__sigsetjmp
-+.align 2
-+.__sigsetjmp:
-+ std 1,(JB_GPR1*8)(3)
-+ mflr 0
-+ std 2,(JB_GPR2*8)(3)
-+ std 14,((JB_GPRS+0)*8)(3)
-+ stfd 14,((JB_FPRS+0)*8)(3)
-+ std 0,(JB_LR*8)(3)
-+ std 15,((JB_GPRS+1)*8)(3)
-+ stfd 15,((JB_FPRS+1)*8)(3)
-+ mfcr 0
-+ std 16,((JB_GPRS+2)*8)(3)
-+ stfd 16,((JB_FPRS+2)*8)(3)
-+ std 0,(JB_CR*8)(3)
-+ std 17,((JB_GPRS+3)*8)(3)
-+ stfd 17,((JB_FPRS+3)*8)(3)
-+ std 18,((JB_GPRS+4)*8)(3)
-+ stfd 18,((JB_FPRS+4)*8)(3)
-+ std 19,((JB_GPRS+5)*8)(3)
-+ stfd 19,((JB_FPRS+5)*8)(3)
-+ std 20,((JB_GPRS+6)*8)(3)
-+ stfd 20,((JB_FPRS+6)*8)(3)
-+ std 21,((JB_GPRS+7)*8)(3)
-+ stfd 21,((JB_FPRS+7)*8)(3)
-+ std 22,((JB_GPRS+8)*8)(3)
-+ stfd 22,((JB_FPRS+8)*8)(3)
-+ std 23,((JB_GPRS+9)*8)(3)
-+ stfd 23,((JB_FPRS+9)*8)(3)
-+ std 24,((JB_GPRS+10)*8)(3)
-+ stfd 24,((JB_FPRS+10)*8)(3)
-+ std 25,((JB_GPRS+11)*8)(3)
-+ stfd 25,((JB_FPRS+11)*8)(3)
-+ std 26,((JB_GPRS+12)*8)(3)
-+ stfd 26,((JB_FPRS+12)*8)(3)
-+ std 27,((JB_GPRS+13)*8)(3)
-+ stfd 27,((JB_FPRS+13)*8)(3)
-+ std 28,((JB_GPRS+14)*8)(3)
-+ stfd 28,((JB_FPRS+14)*8)(3)
-+ std 29,((JB_GPRS+15)*8)(3)
-+ stfd 29,((JB_FPRS+15)*8)(3)
-+ std 30,((JB_GPRS+16)*8)(3)
-+ stfd 30,((JB_FPRS+16)*8)(3)
-+ std 31,((JB_GPRS+17)*8)(3)
-+ stfd 31,((JB_FPRS+17)*8)(3)
-+ b JUMPTARGET (__sigjmp_save)
-+.size .__sigsetjmp,.-.__sigsetjmp
-Index: dietlibc-0.30/powerpc64/start.S
-===================================================================
---- /dev/null
-+++ dietlibc-0.30/powerpc64/start.S
-@@ -0,0 +1,91 @@
-+#include "dietfeatures.h"
-+
-+ .section ".text"
-+ .align 2
-+ .globl ._start
-+ .type ._start,@function
-+ .globl _start
-+ .section ".opd","aw"
-+_start:
-+ .quad ._start
-+ .quad .TOC.@tocbase, 0
-+ .previous
-+._start:
-+
-+/*
-+ .section ".text"
-+ .align 2
-+ .globl ._start
-+ .type ._start,@function
-+ .globl _start
-+ .section ".opd","aw"
-+_start:
-+ .quad ._start
-+ .quad .TOC.@tocbase, 0
-+ .previous
-+._start:
-+*/
-+ /* Save the stack pointer, in case we're statically linked under Linux. */
-+ mr 9,1
-+ /* Set up an initial stack frame, and clear the LR. */
-+ clrrdi 1,1,4
-+ li 0,0
-+ stdu 1,-128(1)
-+ mtlr 0
-+ std 0,0(1)
-+
-+ /* r9 contains the initial stack pointer
-+ argc = (r9)
-+ argv = (r9+4)
-+ envp = argv+(argc+1)*4 */
-+
-+ lis 14,__libc_stack_end@highesta
-+ ori 14,14,__libc_stack_end@highera
-+ sldi 14,14,32
-+ oris 14,14,__libc_stack_end@ha
-+ std 9,__libc_stack_end@l(14)
-+
-+ ldu 3,0(9) /* argc */
-+ addi 4,9,8 /* argv */
-+ add 5,0,3 /* argc... */
-+ addi 5,5,1 /* argc+1...*/
-+ slwi 5,5,3 /* (argc+1)*8 */
-+ add 5,5,4 /* argv+(argc+1)*8 */
-+
-+ lis 14,environ@highesta
-+ ori 14,14,environ@highera
-+ sldi 14,14,32
-+ oris 14,14,environ@ha
-+ std 5,environ@l(14)
-+
-+#ifdef WANT_DYNAMIC
-+/* #warning dynamic */
-+ mr 6,7
-+ bl ._dyn_start
-+#else
-+/* #warning static */
-+#define DOTIFY(name) .##name
-+ bl DOTIFY(CALL_IN_STARTCODE)
-+#endif
-+ b .exit
-+
-+.LT_start:
-+ .long 0
-+ .quad 0x000c000000000000 | 0x0000200000000000 | 0x0000004000000000
-+ .long .LT_start-._start
-+ .short .LT_start_name_end-.LT_start_name_start
-+.LT_start_name_start:
-+ .ascii "_start"
-+.LT_start_name_end:
-+ .align 2
-+ .size _start,.-_start
-+
-+/* Define a symbol for the first piece of initialized data. */
-+ .section ".data"
-+__data_start:
-+
-+/* this is needed for libgcc_eh.a - see gcc-3.4/gcc/config/rs6000/linux-unwind.h */
-+ .weak __libc_stack_end
-+ .lcomm __libc_stack_end,8,8
-+ .type __libc_stack_end,@object
-+
-Index: dietlibc-0.30/powerpc64/syscalls.h
-===================================================================
---- /dev/null
-+++ dietlibc-0.30/powerpc64/syscalls.h
-@@ -0,0 +1,317 @@
-+
-+#define __NR_exit 1
-+#define __NR_fork 2
-+#define __NR_read 3
-+#define __NR_write 4
-+#define __NR_open 5
-+#define __NR_close 6
-+#define __NR_waitpid 7
-+#define __NR_creat 8
-+#define __NR_link 9
-+#define __NR_unlink 10
-+#define __NR_execve 11
-+#define __NR_chdir 12
-+#define __NR_time 13
-+#define __NR_mknod 14
-+#define __NR_chmod 15
-+#define __NR_lchown 16
-+#define __NR_break 17
-+#define __NR_oldstat 18
-+#define __NR_lseek 19
-+#define __NR_getpid 20
-+#define __NR_mount 21
-+#define __NR_umount 22
-+#define __NR_setuid 23
-+#define __NR_getuid 24
-+#define __NR_stime 25
-+#define __NR_ptrace 26
-+#define __NR_alarm 27
-+#define __NR_oldfstat 28
-+#define __NR_pause 29
-+#define __NR_utime 30
-+#define __NR_stty 31
-+#define __NR_gtty 32
-+#define __NR_access 33
-+#define __NR_nice 34
-+#define __NR_ftime 35
-+#define __NR_sync 36
-+#define __NR_kill 37
-+#define __NR_rename 38
-+#define __NR_mkdir 39
-+#define __NR_rmdir 40
-+#define __NR_dup 41
-+#define __NR_pipe 42
-+#define __NR_times 43
-+#define __NR_prof 44
-+#define __NR_brk 45
-+#define __NR_setgid 46
-+#define __NR_getgid 47
-+#define __NR_signal 48
-+#define __NR_geteuid 49
-+#define __NR_getegid 50
-+#define __NR_acct 51
-+#define __NR_umount2 52
-+#define __NR_lock 53
-+#define __NR_ioctl 54
-+#define __NR_fcntl 55
-+#define __NR_mpx 56
-+#define __NR_setpgid 57
-+#define __NR_ulimit 58
-+#define __NR_oldolduname 59
-+#define __NR_umask 60
-+#define __NR_chroot 61
-+#define __NR_ustat 62
-+#define __NR_dup2 63
-+#define __NR_getppid 64
-+#define __NR_getpgrp 65
-+#define __NR_setsid 66
-+#define __NR_sigaction 67
-+#define __NR_sgetmask 68
-+#define __NR_ssetmask 69
-+#define __NR_setreuid 70
-+#define __NR_setregid 71
-+#define __NR_sigsuspend 72
-+#define __NR_sigpending 73
-+#define __NR_sethostname 74
-+#define __NR_setrlimit 75
-+#define __NR_getrlimit 76
-+#define __NR_getrusage 77
-+#define __NR_gettimeofday 78
-+#define __NR_settimeofday 79
-+#define __NR_getgroups 80
-+#define __NR_setgroups 81
-+#define __NR_select 82
-+#define __NR_symlink 83
-+#define __NR_oldlstat 84
-+#define __NR_readlink 85
-+#define __NR_uselib 86
-+#define __NR_swapon 87
-+#define __NR_reboot 88
-+#define __NR_readdir 89
-+#define __NR_mmap 90
-+#define __NR_munmap 91
-+#define __NR_truncate 92
-+#define __NR_ftruncate 93
-+#define __NR_fchmod 94
-+#define __NR_fchown 95
-+#define __NR_getpriority 96
-+#define __NR_setpriority 97
-+#define __NR_profil 98
-+#define __NR_statfs 99
-+#define __NR_fstatfs 100
-+#define __NR_ioperm 101
-+#define __NR_socketcall 102
-+#define __NR_syslog 103
-+#define __NR_setitimer 104
-+#define __NR_getitimer 105
-+#define __NR_stat 106
-+#define __NR_lstat 107
-+#define __NR_fstat 108
-+#define __NR_olduname 109
-+#define __NR_iopl 110
-+#define __NR_vhangup 111
-+#define __NR_idle 112
-+#define __NR_vm86 113
-+#define __NR_wait4 114
-+#define __NR_swapoff 115
-+#define __NR_sysinfo 116
-+#define __NR_ipc 117
-+#define __NR_fsync 118
-+#define __NR_sigreturn 119
-+#define __NR_clone 120
-+#define __NR_setdomainname 121
-+#define __NR_uname 122
-+#define __NR_modify_ldt 123
-+#define __NR_adjtimex 124
-+#define __NR_mprotect 125
-+#define __NR_sigprocmask 126
-+#define __NR_create_module 127
-+#define __NR_init_module 128
-+#define __NR_delete_module 129
-+#define __NR_get_kernel_syms 130
-+#define __NR_quotactl 131
-+#define __NR_getpgid 132
-+#define __NR_fchdir 133
-+#define __NR_bdflush 134
-+#define __NR_sysfs 135
-+#define __NR_personality 136
-+#define __NR_afs_syscall 137 /* Syscall for Andrew File System */
-+#define __NR_setfsuid 138
-+#define __NR_setfsgid 139
-+#define __NR__llseek 140
-+#define __NR_getdents 141
-+#define __NR__newselect 142
-+#define __NR_flock 143
-+#define __NR_msync 144
-+#define __NR_readv 145
-+#define __NR_writev 146
-+#define __NR_getsid 147
-+#define __NR_fdatasync 148
-+#define __NR__sysctl 149
-+#define __NR_mlock 150
-+#define __NR_munlock 151
-+#define __NR_mlockall 152
-+#define __NR_munlockall 153
-+#define __NR_sched_setparam 154
-+#define __NR_sched_getparam 155
-+#define __NR_sched_setscheduler 156
-+#define __NR_sched_getscheduler 157
-+#define __NR_sched_yield 158
-+#define __NR_sched_get_priority_max 159
-+#define __NR_sched_get_priority_min 160
-+#define __NR_sched_rr_get_interval 161
-+#define __NR_nanosleep 162
-+#define __NR_mremap 163
-+#define __NR_setresuid 164
-+#define __NR_getresuid 165
-+#define __NR_query_module 166
-+#define __NR_poll 167
-+#define __NR_nfsservctl 168
-+#define __NR_setresgid 169
-+#define __NR_getresgid 170
-+#define __NR_prctl 171
-+#define __NR_rt_sigreturn 172
-+#define __NR_rt_sigaction 173
-+#define __NR_rt_sigprocmask 174
-+#define __NR_rt_sigpending 175
-+#define __NR_rt_sigtimedwait 176
-+#define __NR_rt_sigqueueinfo 177
-+#define __NR_rt_sigsuspend 178
-+#define __NR_pread 179
-+#define __NR_pwrite 180
-+#define __NR_chown 181
-+#define __NR_getcwd 182
-+#define __NR_capget 183
-+#define __NR_capset 184
-+#define __NR_sigaltstack 185
-+#define __NR_sendfile 186
-+#define __NR_getpmsg 187 /* some people actually want streams */
-+#define __NR_putpmsg 188 /* some people actually want streams */
-+#define __NR_vfork 189
-+#define __NR_ugetrlimit 190 /* SuS compliant getrlimit */
-+#define __NR_readahead 191
-+/* #define __NR_mmap2 192 32bit only */
-+/* #define __NR_truncate64 193 32bit only */
-+/* #define __NR_ftruncate64 194 32bit only */
-+/* #define __NR_stat64 195 32bit only */
-+/* #define __NR_lstat64 196 32bit only */
-+/* #define __NR_fstat64 197 32bit only */
-+#define __NR_pciconfig_read 198
-+#define __NR_pciconfig_write 199
-+#define __NR_pciconfig_iobase 200
-+#define __NR_multiplexer 201
-+#define __NR_getdents64 202
-+#define __NR_pivot_root 203
-+/* #define __NR_fcntl64 204 32bit only */
-+#define __NR_madvise 205
-+#define __NR_mincore 206
-+#define __NR_gettid 207
-+#define __NR_tkill 208
-+#define __NR_setxattr 209
-+#define __NR_lsetxattr 210
-+#define __NR_fsetxattr 211
-+#define __NR_getxattr 212
-+#define __NR_lgetxattr 213
-+#define __NR_fgetxattr 214
-+#define __NR_listxattr 215
-+#define __NR_llistxattr 216
-+#define __NR_flistxattr 217
-+#define __NR_removexattr 218
-+#define __NR_lremovexattr 219
-+#define __NR_fremovexattr 220
-+#define __NR_futex 221
-+#define __NR_sched_setaffinity 222
-+#define __NR_sched_getaffinity 223
-+/* 224 currently unused */
-+#define __NR_tuxcall 225
-+/* #define __NR_sendfile64 226 32bit only */
-+#define __NR_io_setup 227
-+#define __NR_io_destroy 228
-+#define __NR_io_getevents 229
-+#define __NR_io_submit 230
-+#define __NR_io_cancel 231
-+#define __NR_set_tid_address 232
-+#define __NR_fadvise64 233
-+#define __NR_exit_group 234
-+#define __NR_lookup_dcookie 235
-+#define __NR_epoll_create 236
-+#define __NR_epoll_ctl 237
-+#define __NR_epoll_wait 238
-+#define __NR_remap_file_pages 239
-+#define __NR_timer_create 240
-+#define __NR_timer_settime 241
-+#define __NR_timer_gettime 242
-+#define __NR_timer_getoverrun 243
-+#define __NR_timer_delete 244
-+#define __NR_clock_settime 245
-+#define __NR_clock_gettime 246
-+#define __NR_clock_getres 247
-+#define __NR_clock_nanosleep 248
-+#define __NR_swapcontext 249
-+#define __NR_tgkill 250
-+#define __NR_utimes 251
-+#define __NR_statfs64 252
-+#define __NR_fstatfs64 253
-+/* #define __NR_fadvise64_64 254 32bit only */
-+#define __NR_rtas 255
-+/* Number 256 is reserved for sys_debug_setcontext */
-+/* Number 257 is reserved for vserver */
-+/* Number 258 is reserved for new sys_remap_file_pages */
-+#define __NR_mbind 259
-+#define __NR_get_mempolicy 260
-+#define __NR_set_mempolicy 261
-+#define __NR_mq_open 262
-+#define __NR_mq_unlink 263
-+#define __NR_mq_timedsend 264
-+#define __NR_mq_timedreceive 265
-+#define __NR_mq_notify 266
-+#define __NR_mq_getsetattr 267
-+#define __NR_kexec_load 268
-+#define __NR_add_key 269
-+#define __NR_request_key 270
-+#define __NR_keyctl 271
-+#define __NR_waitid 272
-+#define __NR_ioprio_set 273
-+#define __NR_ioprio_get 274
-+#define __NR_inotify_init 275
-+#define __NR_inotify_add_watch 276
-+#define __NR_inotify_rm_watch 277
-+
-+
-+
-+#define __diet_proto_common(sym) \
-+ .section ".opd","aw"; \
-+ .align 3; \
-+sym: \
-+ .quad .sym,.TOC.@tocbase,0; \
-+ .previous; \
-+ .size sym,24; \
-+ .type .sym,@function
-+
-+#define diet_proto_weak(sym) \
-+ .weak sym; \
-+ .weak .sym; \
-+ __diet_proto_common(sym)
-+
-+#define diet_proto(sym) \
-+ .globl sym; \
-+ .globl .sym; \
-+ __diet_proto_common(sym)
-+
-+
-+#define syscall_weak(name,wsym,sym) \
-+.text; \
-+diet_proto_weak(wsym); \
-+diet_proto(sym); \
-+.wsym: \
-+.sym: \
-+ li 0,__NR_##name; \
-+ b __unified_syscall
-+
-+#define syscall(name,sym) \
-+.text; \
-+diet_proto(sym); \
-+.sym: \
-+ li 0,__NR_##name; \
-+ b __unified_syscall
-+
-Index: dietlibc-0.30/powerpc64/umount.S
-===================================================================
---- /dev/null
-+++ dietlibc-0.30/powerpc64/umount.S
-@@ -0,0 +1,8 @@
-+#include "syscalls.h"
-+
-+ .text
-+diet_proto(umount)
-+.umount:
-+ li 0, __NR_umount2
-+ li 4, 0
-+ b __unified_syscall
-Index: dietlibc-0.30/powerpc64/unified.S
-===================================================================
---- /dev/null
-+++ dietlibc-0.30/powerpc64/unified.S
-@@ -0,0 +1,71 @@
-+#include <dietfeatures.h>
-+#include "syscalls.h"
-+
-+ .text
-+.exit:
-+ .weak .exit
-+._exit:
-+ li 0,__NR_exit
-+ .global __unified_syscall
-+__unified_syscall:
-+ sc
-+ bnslr+
-+
-+ .global error_unified_syscall
-+error_unified_syscall:
-+
-+#ifdef WANT_THREAD_SAFE
-+ stdu 1,-128(1)
-+ mflr 0
-+ std 0,20(1)
-+ std 3,12(1)
-+ bl .__errno_location
-+ ld 0,12(1)
-+ stw 0,0(3)
-+ ld 0,20(1)
-+ mtlr 0
-+ addi 1,1,128
-+#else
-+ lis 9,errno@highesta
-+ ori 9,9,errno@highera
-+ sldi 9,9,32
-+ oris 9,9,errno@ha
-+ stw 3,errno@l(9)
-+#endif
-+ li 3,-1
-+
-+/* here we go and "reuse" the return for weak-void functions */
-+//#include "dietuglyweaks.h"
-+.__thread_doexit:
-+ .weak .__thread_doexit
-+.__fflush_stdin:
-+ .weak .__fflush_stdin
-+.__fflush_stdout:
-+ .weak .__fflush_stdout
-+.__fflush_stderr:
-+ .weak .__fflush_stderr
-+.flockfile:
-+ .weak .flockfile
-+.funlockfile:
-+ .weak .funlockfile
-+.__nop:
-+ .weak .__nop
-+.__you_tried_to_link_a_dietlibc_object_against_glibc:
-+ .weak .__you_tried_to_link_a_dietlibc_object_against_glibc
-+
-+ blr
-+ .long 0
-+ .byte 0,0,0,1,128,0,0,0
-+ .size ._exit,.-._exit
-+ .size .exit,.-.exit
-+
-+diet_proto_weak(__thread_doexit)
-+diet_proto_weak(__fflush_stdin)
-+diet_proto_weak(__fflush_stdout)
-+diet_proto_weak(__fflush_stderr)
-+diet_proto_weak(flockfile)
-+diet_proto_weak(funlockfile)
-+diet_proto_weak(__nop)
-+diet_proto_weak(__you_tried_to_link_a_dietlibc_object_against_glibc)
-+diet_proto_weak(exit)
-+diet_proto(_exit)
-Index: dietlibc-0.30/ppc/Makefile.add
-===================================================================
---- dietlibc-0.30.orig/ppc/Makefile.add
-+++ /dev/null
-@@ -1,3 +0,0 @@
--
--CFLAGS+=-mpowerpc-gpopt -mpowerpc-gfxopt -Os
--VPATH:=ppc:syscalls.s:$(VPATH)
-Index: dietlibc-0.30/ppc/__longjmp.S
-===================================================================
---- dietlibc-0.30.orig/ppc/__longjmp.S
-+++ /dev/null
-@@ -1,59 +0,0 @@
--#include <setjmp.h>
--
--
--#ifdef PIC
--#define JUMPTARGET(name) name##@plt
--#else
--#define JUMPTARGET(name) name
--#endif
--
--.global __longjmp
--.type __longjmp,@function
--.align 2
--__longjmp:
-- lwz 1,(JB_GPR1*4)(3)
-- lwz 2,(JB_GPR2*4)(3)
-- lwz 0,(JB_LR*4)(3)
-- lwz 14,((JB_GPRS+0)*4)(3)
-- lfd 14,((JB_FPRS+0*2)*4)(3)
-- lwz 15,((JB_GPRS+1)*4)(3)
-- lfd 15,((JB_FPRS+1*2)*4)(3)
-- lwz 16,((JB_GPRS+2)*4)(3)
-- lfd 16,((JB_FPRS+2*2)*4)(3)
-- lwz 17,((JB_GPRS+3)*4)(3)
-- lfd 17,((JB_FPRS+3*2)*4)(3)
-- lwz 18,((JB_GPRS+4)*4)(3)
-- lfd 18,((JB_FPRS+4*2)*4)(3)
-- lwz 19,((JB_GPRS+5)*4)(3)
-- lfd 19,((JB_FPRS+5*2)*4)(3)
-- lwz 20,((JB_GPRS+6)*4)(3)
-- lfd 20,((JB_FPRS+6*2)*4)(3)
-- mtlr 0
-- lwz 21,((JB_GPRS+7)*4)(3)
-- lfd 21,((JB_FPRS+7*2)*4)(3)
-- lwz 22,((JB_GPRS+8)*4)(3)
-- lfd 22,((JB_FPRS+8*2)*4)(3)
-- lwz 0,(JB_CR*4)(3)
-- lwz 23,((JB_GPRS+9)*4)(3)
-- lfd 23,((JB_FPRS+9*2)*4)(3)
-- lwz 24,((JB_GPRS+10)*4)(3)
-- lfd 24,((JB_FPRS+10*2)*4)(3)
-- lwz 25,((JB_GPRS+11)*4)(3)
-- lfd 25,((JB_FPRS+11*2)*4)(3)
-- mtcrf 0xFF,0
-- lwz 26,((JB_GPRS+12)*4)(3)
-- lfd 26,((JB_FPRS+12*2)*4)(3)
-- lwz 27,((JB_GPRS+13)*4)(3)
-- lfd 27,((JB_FPRS+13*2)*4)(3)
-- lwz 28,((JB_GPRS+14)*4)(3)
-- lfd 28,((JB_FPRS+14*2)*4)(3)
-- lwz 29,((JB_GPRS+15)*4)(3)
-- lfd 29,((JB_FPRS+15*2)*4)(3)
-- lwz 30,((JB_GPRS+16)*4)(3)
-- lfd 30,((JB_FPRS+16*2)*4)(3)
-- lwz 31,((JB_GPRS+17)*4)(3)
-- lfd 31,((JB_FPRS+17*2)*4)(3)
-- mr 3,4
-- blr
--.size __longjmp,.-__longjmp
--
-Index: dietlibc-0.30/ppc/__testandset.S
-===================================================================
---- dietlibc-0.30.orig/ppc/__testandset.S
-+++ /dev/null
-@@ -1,12 +0,0 @@
--.global __testandset
--.type __testandset,@function
--.align 2
--__testandset:
--1: lwarx 5,0,3
-- li 0,1
-- stwcx. 0,0,3
-- bne- 1b
-- mr 3,5
-- blr
--.size __testandset,.-__testandset
--
-Index: dietlibc-0.30/ppc/clone.S
-===================================================================
---- dietlibc-0.30.orig/ppc/clone.S
-+++ /dev/null
-@@ -1,48 +0,0 @@
--#include <dietfeatures.h>
--#include "syscalls.h"
--#include <errno.h>
--
--.text
--.weak clone
--clone:
--.global __clone
--__clone:
-- cmpwi 4,0 /* check have non null child_stack pointer */
-- cmpwi cr1, 3,0 /* check have non null thread_funcion */
-- cror eq,4*cr1+eq,eq /* now if eq is set one is or both are zero */
-- beq .Lclone_error
--
-- stwu 1,-32(1) /* alloc some space on the stack */
-- stmw 29, 16(1) /* save r29,r30,r31 on stack */
--
-- rlwinm 4,4,0,0,27 /* mask out lower 4 bits */
--
-- /* move parameter to positions clone wants them */
-- mr 29,3 /* r29 = r3 fn */
-- mr 30,4 /* r30 = r4 stack */
-- mr 31,6 /* r31 = r6 arg */
-- mr 3, 5 /* r3 = r5 flags */
--
-- li 0, __NR_clone /* load syscall nr. */
-- sc
--
-- cmpwi cr1,3,0 /* compare return of syscall with 0 */
-- crandc 4*cr1+eq,4*cr1+eq,so
-- bne .Lclone_parent /* return was non zero -> .Lclone_parent */
--
-- /* we are the cloned process */
-- mr 1, 30 /* set stack pointer */
-- mtctr 29 /* set count register to fn ? */
-- mr 3, 31 /* set argument */
-- bctrl /* branch trough count register and link */
-- b _exit /* exit thread */
--
--.Lclone_parent:
-- lmw 29,16(1) /* restore saved registers */
-- addi 1, 1,32 /* free stack */
-- bnslr+ /* had cloned a thread so return to parent */
-- b error_unified_syscall
--
--.Lclone_error:
-- li 3, EINVAL
-- b error_unified_syscall
-Index: dietlibc-0.30/ppc/mmap.c
-===================================================================
---- dietlibc-0.30.orig/ppc/mmap.c
-+++ /dev/null
-@@ -1,40 +0,0 @@
--#include "dietfeatures.h"
--#include <sys/types.h>
--#include <errno.h>
--#include "syscalls.h"
--
--int mmap(void*start,size_t length,int prot,int flags,int fd,off_t offset) {
-- unsigned long __sc_ret, __sc_err;
-- {
-- register unsigned long __sc_0 __asm__ ("r0");
-- register unsigned long __sc_3 __asm__ ("r3");
-- register unsigned long __sc_4 __asm__ ("r4");
-- register unsigned long __sc_5 __asm__ ("r5");
-- register unsigned long __sc_6 __asm__ ("r6");
-- register unsigned long __sc_7 __asm__ ("r7");
-- register unsigned long __sc_8 __asm__ ("r8");
--
-- __sc_3 = (unsigned long) (start);
-- __sc_4 = (unsigned long) (length);
-- __sc_5 = (unsigned long) (prot);
-- __sc_6 = (unsigned long) (flags);
-- __sc_7 = (unsigned long) (fd);
-- __sc_8 = (unsigned long) (offset);
-- __sc_0 = __NR_mmap;
-- __asm__ __volatile__
-- ("sc \n\t"
-- "mfcr %1 "
-- : "=&r" (__sc_3), "=&r" (__sc_0)
-- : "0" (__sc_3), "1" (__sc_0),
-- "r" (__sc_4),
-- "r" (__sc_5),
-- "r" (__sc_6),
-- "r" (__sc_7),
-- "r" (__sc_8)
-- : "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12");
-- __sc_ret = __sc_3;
-- __sc_err = __sc_0;
-- }
-- return (__sc_err & 0x10000000 ? errno = __sc_ret, __sc_ret = -1 : 0),
-- (int) __sc_ret;
--}
-Index: dietlibc-0.30/ppc/setjmp.S
-===================================================================
---- dietlibc-0.30.orig/ppc/setjmp.S
-+++ /dev/null
-@@ -1,56 +0,0 @@
--#include <setjmp.h>
--
--#ifdef PIC
--#define JUMPTARGET(name) name##@plt
--#else
--#define JUMPTARGET(name) name
--#endif
--
--.global __sigsetjmp
--.type __sigsetjmp,@function
--.align 2
--__sigsetjmp:
-- stw 1,(JB_GPR1*4)(3)
-- mflr 0
-- stw 2,(JB_GPR2*4)(3)
-- stw 14,((JB_GPRS+0)*4)(3)
-- stfd 14,((JB_FPRS+0*2)*4)(3)
-- stw 0,(JB_LR*4)(3)
-- stw 15,((JB_GPRS+1)*4)(3)
-- stfd 15,((JB_FPRS+1*2)*4)(3)
-- mfcr 0
-- stw 16,((JB_GPRS+2)*4)(3)
-- stfd 16,((JB_FPRS+2*2)*4)(3)
-- stw 0,(JB_CR*4)(3)
-- stw 17,((JB_GPRS+3)*4)(3)
-- stfd 17,((JB_FPRS+3*2)*4)(3)
-- stw 18,((JB_GPRS+4)*4)(3)
-- stfd 18,((JB_FPRS+4*2)*4)(3)
-- stw 19,((JB_GPRS+5)*4)(3)
-- stfd 19,((JB_FPRS+5*2)*4)(3)
-- stw 20,((JB_GPRS+6)*4)(3)
-- stfd 20,((JB_FPRS+6*2)*4)(3)
-- stw 21,((JB_GPRS+7)*4)(3)
-- stfd 21,((JB_FPRS+7*2)*4)(3)
-- stw 22,((JB_GPRS+8)*4)(3)
-- stfd 22,((JB_FPRS+8*2)*4)(3)
-- stw 23,((JB_GPRS+9)*4)(3)
-- stfd 23,((JB_FPRS+9*2)*4)(3)
-- stw 24,((JB_GPRS+10)*4)(3)
-- stfd 24,((JB_FPRS+10*2)*4)(3)
-- stw 25,((JB_GPRS+11)*4)(3)
-- stfd 25,((JB_FPRS+11*2)*4)(3)
-- stw 26,((JB_GPRS+12)*4)(3)
-- stfd 26,((JB_FPRS+12*2)*4)(3)
-- stw 27,((JB_GPRS+13)*4)(3)
-- stfd 27,((JB_FPRS+13*2)*4)(3)
-- stw 28,((JB_GPRS+14)*4)(3)
-- stfd 28,((JB_FPRS+14*2)*4)(3)
-- stw 29,((JB_GPRS+15)*4)(3)
-- stfd 29,((JB_FPRS+15*2)*4)(3)
-- stw 30,((JB_GPRS+16)*4)(3)
-- stfd 30,((JB_FPRS+16*2)*4)(3)
-- stw 31,((JB_GPRS+17)*4)(3)
-- stfd 31,((JB_FPRS+17*2)*4)(3)
-- b JUMPTARGET (__sigjmp_save)
--.size __sigsetjmp,.-__sigsetjmp
-Index: dietlibc-0.30/ppc/start.S
-===================================================================
---- dietlibc-0.30.orig/ppc/start.S
-+++ /dev/null
-@@ -1,52 +0,0 @@
--#include "dietfeatures.h"
--
--.text
--.global _start
--.type _start,@function
--_start:
-- /* Save the stack pointer, in case we're statically linked under Linux. */
-- mr 9,1
-- /* Set up an initial stack frame, and clear the LR. */
-- clrrwi 1,1,4
-- li 0,0
-- stwu 1,-16(1)
-- mtlr 0
-- stw 0,0(1)
--
-- /* r9 contains the initial stack pointer
-- argc = (r9)
-- argv = (r9+4)
-- envp = argv+(argc+1)*4 */
--
-- lis 14,__libc_stack_end@ha
-- stw 9,__libc_stack_end@l(14)
--
-- lwzu 3,0(9) /* argc */
-- addi 4,9,4 /* argv */
-- add 5,0,3 /* argc... */
-- addi 5,5,1 /* argc+1...*/
-- slwi 5,5,2 /* (argc+1)*4 */
-- add 5,5,4 /* argv+(argc+1)*4 */
--
-- lis 14,environ@ha
-- stw 5,environ@l(14)
--
--#ifdef WANT_DYNAMIC
-- mr 6,7
-- bl _dyn_start
--#else
-- bl CALL_IN_STARTCODE
--#endif
-- b exit
--.size _start,.-_start
--
--
--/* Define a symbol for the first piece of initialized data. */
-- .section ".data"
--__data_start:
--
--/* this is needed for libgcc_eh.a - see gcc-3.4/gcc/config/rs6000/linux-unwind.h */
-- .weak __libc_stack_end
-- .lcomm __libc_stack_end,4,4
-- .type __libc_stack_end,@object
--
-Index: dietlibc-0.30/ppc/syscalls.h
-===================================================================
---- dietlibc-0.30.orig/ppc/syscalls.h
-+++ /dev/null
-@@ -1,299 +0,0 @@
--
--#define __NR_exit 1
--#define __NR_fork 2
--#define __NR_read 3
--#define __NR_write 4
--#define __NR_open 5
--#define __NR_close 6
--#define __NR_waitpid 7
--#define __NR_creat 8
--#define __NR_link 9
--#define __NR_unlink 10
--#define __NR_execve 11
--#define __NR_chdir 12
--#define __NR_time 13
--#define __NR_mknod 14
--#define __NR_chmod 15
--#define __NR_lchown 16
--#define __NR_break 17
--#define __NR_oldstat 18
--#define __NR_lseek 19
--#define __NR_getpid 20
--#define __NR_mount 21
--#define __NR_umount 22
--#define __NR_setuid 23
--#define __NR_getuid 24
--#define __NR_stime 25
--#define __NR_ptrace 26
--#define __NR_alarm 27
--#define __NR_oldfstat 28
--#define __NR_pause 29
--#define __NR_utime 30
--#define __NR_stty 31
--#define __NR_gtty 32
--#define __NR_access 33
--#define __NR_nice 34
--#define __NR_ftime 35
--#define __NR_sync 36
--#define __NR_kill 37
--#define __NR_rename 38
--#define __NR_mkdir 39
--#define __NR_rmdir 40
--#define __NR_dup 41
--#define __NR_pipe 42
--#define __NR_times 43
--#define __NR_prof 44
--#define __NR_brk 45
--#define __NR_setgid 46
--#define __NR_getgid 47
--#define __NR_signal 48
--#define __NR_geteuid 49
--#define __NR_getegid 50
--#define __NR_acct 51
--#define __NR_umount2 52
--#define __NR_lock 53
--#define __NR_ioctl 54
--#define __NR_fcntl 55
--#define __NR_mpx 56
--#define __NR_setpgid 57
--#define __NR_ulimit 58
--#define __NR_oldolduname 59
--#define __NR_umask 60
--#define __NR_chroot 61
--#define __NR_ustat 62
--#define __NR_dup2 63
--#define __NR_getppid 64
--#define __NR_getpgrp 65
--#define __NR_setsid 66
--#define __NR_sigaction 67
--#define __NR_sgetmask 68
--#define __NR_ssetmask 69
--#define __NR_setreuid 70
--#define __NR_setregid 71
--#define __NR_sigsuspend 72
--#define __NR_sigpending 73
--#define __NR_sethostname 74
--#define __NR_setrlimit 75
--#define __NR_getrlimit 76
--#define __NR_getrusage 77
--#define __NR_gettimeofday 78
--#define __NR_settimeofday 79
--#define __NR_getgroups 80
--#define __NR_setgroups 81
--#define __NR_select 82
--#define __NR_symlink 83
--#define __NR_oldlstat 84
--#define __NR_readlink 85
--#define __NR_uselib 86
--#define __NR_swapon 87
--#define __NR_reboot 88
--#define __NR_readdir 89
--#define __NR_mmap 90
--#define __NR_munmap 91
--#define __NR_truncate 92
--#define __NR_ftruncate 93
--#define __NR_fchmod 94
--#define __NR_fchown 95
--#define __NR_getpriority 96
--#define __NR_setpriority 97
--#define __NR_profil 98
--#define __NR_statfs 99
--#define __NR_fstatfs 100
--#define __NR_ioperm 101
--#define __NR_socketcall 102
--#define __NR_syslog 103
--#define __NR_setitimer 104
--#define __NR_getitimer 105
--#define __NR_stat 106
--#define __NR_lstat 107
--#define __NR_fstat 108
--#define __NR_olduname 109
--#define __NR_iopl 110
--#define __NR_vhangup 111
--#define __NR_idle 112
--#define __NR_vm86 113
--#define __NR_wait4 114
--#define __NR_swapoff 115
--#define __NR_sysinfo 116
--#define __NR_ipc 117
--#define __NR_fsync 118
--#define __NR_sigreturn 119
--#define __NR_clone 120
--#define __NR_setdomainname 121
--#define __NR_uname 122
--#define __NR_modify_ldt 123
--#define __NR_adjtimex 124
--#define __NR_mprotect 125
--#define __NR_sigprocmask 126
--#define __NR_create_module 127
--#define __NR_init_module 128
--#define __NR_delete_module 129
--#define __NR_get_kernel_syms 130
--#define __NR_quotactl 131
--#define __NR_getpgid 132
--#define __NR_fchdir 133
--#define __NR_bdflush 134
--#define __NR_sysfs 135
--#define __NR_personality 136
--#define __NR_afs_syscall 137 /* Syscall for Andrew File System */
--#define __NR_setfsuid 138
--#define __NR_setfsgid 139
--#define __NR__llseek 140
--#define __NR_getdents 141
--#define __NR__newselect 142
--#define __NR_flock 143
--#define __NR_msync 144
--#define __NR_readv 145
--#define __NR_writev 146
--#define __NR_getsid 147
--#define __NR_fdatasync 148
--#define __NR__sysctl 149
--#define __NR_mlock 150
--#define __NR_munlock 151
--#define __NR_mlockall 152
--#define __NR_munlockall 153
--#define __NR_sched_setparam 154
--#define __NR_sched_getparam 155
--#define __NR_sched_setscheduler 156
--#define __NR_sched_getscheduler 157
--#define __NR_sched_yield 158
--#define __NR_sched_get_priority_max 159
--#define __NR_sched_get_priority_min 160
--#define __NR_sched_rr_get_interval 161
--#define __NR_nanosleep 162
--#define __NR_mremap 163
--#define __NR_setresuid 164
--#define __NR_getresuid 165
--#define __NR_query_module 166
--#define __NR_poll 167
--#define __NR_nfsservctl 168
--#define __NR_setresgid 169
--#define __NR_getresgid 170
--#define __NR_prctl 171
--#define __NR_rt_sigreturn 172
--#define __NR_rt_sigaction 173
--#define __NR_rt_sigprocmask 174
--#define __NR_rt_sigpending 175
--#define __NR_rt_sigtimedwait 176
--#define __NR_rt_sigqueueinfo 177
--#define __NR_rt_sigsuspend 178
--#define __NR_pread 179
--#define __NR_pwrite 180
--#define __NR_chown 181
--#define __NR_getcwd 182
--#define __NR_capget 183
--#define __NR_capset 184
--#define __NR_sigaltstack 185
--#define __NR_sendfile 186
--#define __NR_getpmsg 187 /* some people actually want streams */
--#define __NR_putpmsg 188 /* some people actually want streams */
--#define __NR_vfork 189
--#define __NR_ugetrlimit 190 /* SuS compliant getrlimit */
--#define __NR_readahead 191
--#define __NR_mmap2 192
--#define __NR_truncate64 193
--#define __NR_ftruncate64 194
--#define __NR_stat64 195
--#define __NR_lstat64 196
--#define __NR_fstat64 197
--#define __NR_pciconfig_read 198
--#define __NR_pciconfig_write 199
--#define __NR_pciconfig_iobase 200
--#define __NR_multiplexer 201
--#define __NR_getdents64 202
--#define __NR_pivot_root 203
--#define __NR_fcntl64 204
--#define __NR_madvise 205
--#define __NR_mincore 206
--#define __NR_gettid 207
--#define __NR_tkill 208
--#define __NR_setxattr 209
--#define __NR_lsetxattr 210
--#define __NR_fsetxattr 211
--#define __NR_getxattr 212
--#define __NR_lgetxattr 213
--#define __NR_fgetxattr 214
--#define __NR_listxattr 215
--#define __NR_llistxattr 216
--#define __NR_flistxattr 217
--#define __NR_removexattr 218
--#define __NR_lremovexattr 219
--#define __NR_fremovexattr 220
--#define __NR_futex 221
--#define __NR_sched_setaffinity 222
--#define __NR_sched_getaffinity 223
--/* 224 currently unused */
--#define __NR_tuxcall 225
--#define __NR_sendfile64 226
--#define __NR_io_setup 227
--#define __NR_io_destroy 228
--#define __NR_io_getevents 229
--#define __NR_io_submit 230
--#define __NR_io_cancel 231
--#define __NR_set_tid_address 232
--#define __NR_fadvise64 233
--#define __NR_exit_group 234
--#define __NR_lookup_dcookie 235
--#define __NR_epoll_create 236
--#define __NR_epoll_ctl 237
--#define __NR_epoll_wait 238
--#define __NR_remap_file_pages 239
--#define __NR_timer_create 240
--#define __NR_timer_settime 241
--#define __NR_timer_gettime 242
--#define __NR_timer_getoverrun 243
--#define __NR_timer_delete 244
--#define __NR_clock_settime 245
--#define __NR_clock_gettime 246
--#define __NR_clock_getres 247
--#define __NR_clock_nanosleep 248
--#define __NR_swapcontext 249
--#define __NR_tgkill 250
--#define __NR_utimes 251
--#define __NR_statfs64 252
--#define __NR_fstatfs64 253
--#define __NR_fadvise64_64 254
--#define __NR_rtas 255
--#define __NR_sys_debug_setcontext 256
--/* Number 257 is reserved for vserver */
--/* Number 258 is reserved for new sys_remap_file_pages */
--/* Number 259 is reserved for new sys_mbind */
--/* Number 260 is reserved for new sys_get_mempolicy */
--/* Number 261 is reserved for new sys_set_mempolicy */
--#define __NR_mq_open 262
--#define __NR_mq_unlink 263
--#define __NR_mq_timedsend 264
--#define __NR_mq_timedreceive 265
--#define __NR_mq_notify 266
--#define __NR_mq_getsetattr 267
--#define __NR_kexec_load 268
--#define __NR_add_key 269
--#define __NR_request_key 270
--#define __NR_keyctl 271
--#define __NR_waitid 272
--#define __NR_ioprio_set 273
--#define __NR_ioprio_get 274
--#define __NR_inotify_init 275
--#define __NR_inotify_add_watch 276
--#define __NR_inotify_rm_watch 277
--
--
--#define syscall_weak(name,wsym,sym) \
--.text; \
--.type wsym,@function; \
--.weak wsym; \
--wsym: ; \
--.type sym,@function; \
--.global sym; \
--sym: \
-- li 0,__NR_##name; \
-- b __unified_syscall
--
--#define syscall(name,sym) \
--.text; \
--.type sym,@function; \
--.global sym; \
--sym: \
-- li 0,__NR_##name; \
-- b __unified_syscall
--
-Index: dietlibc-0.30/ppc/unified.S
-===================================================================
---- dietlibc-0.30.orig/ppc/unified.S
-+++ /dev/null
-@@ -1,40 +0,0 @@
--#include <dietfeatures.h>
--#include "syscalls.h"
--
--.text
--.type exit,@function
--.weak exit
--exit:
--.type _exit,@function
--.global _exit
--_exit:
-- li 0,__NR_exit
--.global __unified_syscall
--__unified_syscall:
-- sc
-- bnslr+
--
--.global error_unified_syscall
--error_unified_syscall:
--#ifdef WANT_THREAD_SAFE
-- stwu 1,-16(1)
-- mflr 0
-- stw 0,20(1)
-- stw 3,12(1)
-- bl __errno_location
-- lwz 0,12(1)
-- stw 0,0(3)
-- lwz 0,20(1)
-- mtlr 0
-- addi 1,1,16
--#else
-- lis 9,errno@ha
-- stw 3,errno@l(9)
--#endif
-- li 3,-1
--
--/* here we go and "reuse" the return for weak-void functions */
--#include "dietuglyweaks.h"
--
-- blr
--
-Index: dietlibc-0.30/ppc64/Makefile.add
-===================================================================
---- dietlibc-0.30.orig/ppc64/Makefile.add
-+++ /dev/null
-@@ -1,5 +0,0 @@
--
--CFLAGS+=-Os -mpowerpc64
--VPATH:=ppc64:syscalls.s:$(VPATH)
--
--CC+=-m64
-Index: dietlibc-0.30/ppc64/__longjmp.S
-===================================================================
---- dietlibc-0.30.orig/ppc64/__longjmp.S
-+++ /dev/null
-@@ -1,54 +0,0 @@
--#include <setjmp.h>
--
-- .quad .__longjmp,.TOC.@tocbase,0
-- .text
-- .size __longjmp,24
-- .type .__longjmp,@function
-- .globl .__longjmp
--.align 2
--.__longjmp:
-- ld 1,(JB_GPR1*8)(3)
-- ld 2,(JB_GPR2*8)(3)
-- ld 0,(JB_LR*8)(3)
-- ld 14,((JB_GPRS+0)*8)(3)
-- lfd 14,((JB_FPRS+0)*8)(3)
-- ld 15,((JB_GPRS+1)*8)(3)
-- lfd 15,((JB_FPRS+1)*8)(3)
-- ld 16,((JB_GPRS+2)*8)(3)
-- lfd 16,((JB_FPRS+2)*8)(3)
-- ld 17,((JB_GPRS+3)*8)(3)
-- lfd 17,((JB_FPRS+3)*8)(3)
-- ld 18,((JB_GPRS+4)*8)(3)
-- lfd 18,((JB_FPRS+4)*8)(3)
-- ld 19,((JB_GPRS+5)*8)(3)
-- lfd 19,((JB_FPRS+5)*8)(3)
-- ld 20,((JB_GPRS+6)*8)(3)
-- lfd 20,((JB_FPRS+6)*8)(3)
-- mtlr 0
-- ld 21,((JB_GPRS+7)*8)(3)
-- lfd 21,((JB_FPRS+7)*8)(3)
-- ld 22,((JB_GPRS+8)*8)(3)
-- lfd 22,((JB_FPRS+8)*8)(3)
-- ld 0,(JB_CR*8)(3)
-- ld 23,((JB_GPRS+9)*8)(3)
-- lfd 23,((JB_FPRS+9)*8)(3)
-- ld 24,((JB_GPRS+10)*8)(3)
-- lfd 24,((JB_FPRS+10)*8)(3)
-- ld 25,((JB_GPRS+11)*8)(3)
-- lfd 25,((JB_FPRS+11)*8)(3)
-- mtcrf 0xFF,0
-- ld 26,((JB_GPRS+12)*8)(3)
-- lfd 26,((JB_FPRS+12)*8)(3)
-- ld 27,((JB_GPRS+13)*8)(3)
-- lfd 27,((JB_FPRS+13)*8)(3)
-- ld 28,((JB_GPRS+14)*8)(3)
-- lfd 28,((JB_FPRS+14)*8)(3)
-- ld 29,((JB_GPRS+15)*8)(3)
-- lfd 29,((JB_FPRS+15)*8)(3)
-- ld 30,((JB_GPRS+16)*8)(3)
-- lfd 30,((JB_FPRS+16)*8)(3)
-- ld 31,((JB_GPRS+17)*8)(3)
-- lfd 31,((JB_FPRS+17)*8)(3)
-- mr 3,4
-- blr
--.size .__longjmp,.-.__longjmp
-Index: dietlibc-0.30/ppc64/__testandset.S
-===================================================================
---- dietlibc-0.30.orig/ppc64/__testandset.S
-+++ /dev/null
-@@ -1,12 +0,0 @@
--.global __testandset
--.type __testandset,@function
--.align 2
--__testandset:
--1: lwarx 5,0,3
-- li 0,1
-- stwcx. 0,0,3
-- bne- 1b
-- mr 3,5
-- blr
--.size __testandset,.-__testandset
--
-Index: dietlibc-0.30/ppc64/clone.S
-===================================================================
---- dietlibc-0.30.orig/ppc64/clone.S
-+++ /dev/null
-@@ -1,52 +0,0 @@
--#include <dietfeatures.h>
--#include "syscalls.h"
--#include <errno.h>
--
--.text
--.weak clone
--clone:
--.global __clone
--__clone:
-- cmpwi 4,0 /* check have non null child_stack pointer */
-- cmpwi cr1, 3,0 /* check have non null thread_funcion */
-- cror eq,4*cr1+eq,eq /* now if eq is set one is or both are zero */
-- beq .Lclone_error
--
-- stdu 1,-64(1) /* alloc some space on the stack */
-- std 29, 16(1) /* save r29,r30,r31 on stack */
-- std 30, 24(1)
-- std 31, 32(1)
--
-- rlwinm 4,4,0,0,27 /* mask out lower 4 bits */
--
-- /* move parameter to positions clone wants them */
-- mr 29,3 /* r29 = r3 fn */
-- mr 30,4 /* r30 = r4 stack */
-- mr 31,6 /* r31 = r6 arg */
-- mr 3, 5 /* r3 = r5 flags */
--
-- li 0, __NR_clone /* load syscall nr. */
-- sc
--
-- cmpwi cr1,3,0 /* compare return of syscall with 0 */
-- crandc 4*cr1+eq,4*cr1+eq,so
-- bne .Lclone_parent /* return was non zero -> .Lclone_parent */
--
-- /* we are the cloned process */
-- mr 1, 30 /* set stack pointer */
-- mtctr 29 /* set count register to fn ? */
-- mr 3, 31 /* set argument */
-- bctrl /* branch trough count register and link */
-- b _exit /* exit thread */
--
--.Lclone_parent:
-- ld 29,16(1) /* restore saved registers */
-- ld 30,24(1)
-- ld 31,32(1)
-- addi 1, 1,64 /* free stack */
-- bnslr+ /* had cloned a thread so return to parent */
-- b error_unified_syscall
--
--.Lclone_error:
-- li 3, EINVAL
-- b error_unified_syscall
-Index: dietlibc-0.30/ppc64/setjmp.S
-===================================================================
---- dietlibc-0.30.orig/ppc64/setjmp.S
-+++ /dev/null
-@@ -1,59 +0,0 @@
--#include <setjmp.h>
--
--#ifdef PIC
--#define JUMPTARGET(name) name##@plt
--#else
--#define JUMPTARGET(name) .name
--#endif
--
-- .quad .__sigsetjmp,.TOC.@tocbase,0
-- .text
-- .size __sigsetjmp,24
-- .type .__sigsetjmp,@function
-- .globl .__sigsetjmp
--.align 2
--.__sigsetjmp:
-- std 1,(JB_GPR1*8)(3)
-- mflr 0
-- std 2,(JB_GPR2*8)(3)
-- std 14,((JB_GPRS+0)*8)(3)
-- stfd 14,((JB_FPRS+0)*8)(3)
-- std 0,(JB_LR*8)(3)
-- std 15,((JB_GPRS+1)*8)(3)
-- stfd 15,((JB_FPRS+1)*8)(3)
-- mfcr 0
-- std 16,((JB_GPRS+2)*8)(3)
-- stfd 16,((JB_FPRS+2)*8)(3)
-- std 0,(JB_CR*8)(3)
-- std 17,((JB_GPRS+3)*8)(3)
-- stfd 17,((JB_FPRS+3)*8)(3)
-- std 18,((JB_GPRS+4)*8)(3)
-- stfd 18,((JB_FPRS+4)*8)(3)
-- std 19,((JB_GPRS+5)*8)(3)
-- stfd 19,((JB_FPRS+5)*8)(3)
-- std 20,((JB_GPRS+6)*8)(3)
-- stfd 20,((JB_FPRS+6)*8)(3)
-- std 21,((JB_GPRS+7)*8)(3)
-- stfd 21,((JB_FPRS+7)*8)(3)
-- std 22,((JB_GPRS+8)*8)(3)
-- stfd 22,((JB_FPRS+8)*8)(3)
-- std 23,((JB_GPRS+9)*8)(3)
-- stfd 23,((JB_FPRS+9)*8)(3)
-- std 24,((JB_GPRS+10)*8)(3)
-- stfd 24,((JB_FPRS+10)*8)(3)
-- std 25,((JB_GPRS+11)*8)(3)
-- stfd 25,((JB_FPRS+11)*8)(3)
-- std 26,((JB_GPRS+12)*8)(3)
-- stfd 26,((JB_FPRS+12)*8)(3)
-- std 27,((JB_GPRS+13)*8)(3)
-- stfd 27,((JB_FPRS+13)*8)(3)
-- std 28,((JB_GPRS+14)*8)(3)
-- stfd 28,((JB_FPRS+14)*8)(3)
-- std 29,((JB_GPRS+15)*8)(3)
-- stfd 29,((JB_FPRS+15)*8)(3)
-- std 30,((JB_GPRS+16)*8)(3)
-- stfd 30,((JB_FPRS+16)*8)(3)
-- std 31,((JB_GPRS+17)*8)(3)
-- stfd 31,((JB_FPRS+17)*8)(3)
-- b JUMPTARGET (__sigjmp_save)
--.size .__sigsetjmp,.-.__sigsetjmp
-Index: dietlibc-0.30/ppc64/start.S
-===================================================================
---- dietlibc-0.30.orig/ppc64/start.S
-+++ /dev/null
-@@ -1,91 +0,0 @@
--#include "dietfeatures.h"
--
-- .section ".text"
-- .align 2
-- .globl ._start
-- .type ._start,@function
-- .globl _start
-- .section ".opd","aw"
--_start:
-- .quad ._start
-- .quad .TOC.@tocbase, 0
-- .previous
--._start:
--
--/*
-- .section ".text"
-- .align 2
-- .globl ._start
-- .type ._start,@function
-- .globl _start
-- .section ".opd","aw"
--_start:
-- .quad ._start
-- .quad .TOC.@tocbase, 0
-- .previous
--._start:
--*/
-- /* Save the stack pointer, in case we're statically linked under Linux. */
-- mr 9,1
-- /* Set up an initial stack frame, and clear the LR. */
-- clrrdi 1,1,4
-- li 0,0
-- stdu 1,-128(1)
-- mtlr 0
-- std 0,0(1)
--
-- /* r9 contains the initial stack pointer
-- argc = (r9)
-- argv = (r9+4)
-- envp = argv+(argc+1)*4 */
--
-- lis 14,__libc_stack_end@highesta
-- ori 14,14,__libc_stack_end@highera
-- sldi 14,14,32
-- oris 14,14,__libc_stack_end@ha
-- std 9,__libc_stack_end@l(14)
--
-- ldu 3,0(9) /* argc */
-- addi 4,9,8 /* argv */
-- add 5,0,3 /* argc... */
-- addi 5,5,1 /* argc+1...*/
-- slwi 5,5,3 /* (argc+1)*8 */
-- add 5,5,4 /* argv+(argc+1)*8 */
--
-- lis 14,environ@highesta
-- ori 14,14,environ@highera
-- sldi 14,14,32
-- oris 14,14,environ@ha
-- std 5,environ@l(14)
--
--#ifdef WANT_DYNAMIC
--/* #warning dynamic */
-- mr 6,7
-- bl ._dyn_start
--#else
--/* #warning static */
--#define DOTIFY(name) .##name
-- bl DOTIFY(CALL_IN_STARTCODE)
--#endif
-- b .exit
--
--.LT_start:
-- .long 0
-- .quad 0x000c000000000000 | 0x0000200000000000 | 0x0000004000000000
-- .long .LT_start-._start
-- .short .LT_start_name_end-.LT_start_name_start
--.LT_start_name_start:
-- .ascii "_start"
--.LT_start_name_end:
-- .align 2
-- .size _start,.-_start
--
--/* Define a symbol for the first piece of initialized data. */
-- .section ".data"
--__data_start:
--
--/* this is needed for libgcc_eh.a - see gcc-3.4/gcc/config/rs6000/linux-unwind.h */
-- .weak __libc_stack_end
-- .lcomm __libc_stack_end,8,8
-- .type __libc_stack_end,@object
--
-Index: dietlibc-0.30/ppc64/syscalls.h
-===================================================================
---- dietlibc-0.30.orig/ppc64/syscalls.h
-+++ /dev/null
-@@ -1,317 +0,0 @@
--
--#define __NR_exit 1
--#define __NR_fork 2
--#define __NR_read 3
--#define __NR_write 4
--#define __NR_open 5
--#define __NR_close 6
--#define __NR_waitpid 7
--#define __NR_creat 8
--#define __NR_link 9
--#define __NR_unlink 10
--#define __NR_execve 11
--#define __NR_chdir 12
--#define __NR_time 13
--#define __NR_mknod 14
--#define __NR_chmod 15
--#define __NR_lchown 16
--#define __NR_break 17
--#define __NR_oldstat 18
--#define __NR_lseek 19
--#define __NR_getpid 20
--#define __NR_mount 21
--#define __NR_umount 22
--#define __NR_setuid 23
--#define __NR_getuid 24
--#define __NR_stime 25
--#define __NR_ptrace 26
--#define __NR_alarm 27
--#define __NR_oldfstat 28
--#define __NR_pause 29
--#define __NR_utime 30
--#define __NR_stty 31
--#define __NR_gtty 32
--#define __NR_access 33
--#define __NR_nice 34
--#define __NR_ftime 35
--#define __NR_sync 36
--#define __NR_kill 37
--#define __NR_rename 38
--#define __NR_mkdir 39
--#define __NR_rmdir 40
--#define __NR_dup 41
--#define __NR_pipe 42
--#define __NR_times 43
--#define __NR_prof 44
--#define __NR_brk 45
--#define __NR_setgid 46
--#define __NR_getgid 47
--#define __NR_signal 48
--#define __NR_geteuid 49
--#define __NR_getegid 50
--#define __NR_acct 51
--#define __NR_umount2 52
--#define __NR_lock 53
--#define __NR_ioctl 54
--#define __NR_fcntl 55
--#define __NR_mpx 56
--#define __NR_setpgid 57
--#define __NR_ulimit 58
--#define __NR_oldolduname 59
--#define __NR_umask 60
--#define __NR_chroot 61
--#define __NR_ustat 62
--#define __NR_dup2 63
--#define __NR_getppid 64
--#define __NR_getpgrp 65
--#define __NR_setsid 66
--#define __NR_sigaction 67
--#define __NR_sgetmask 68
--#define __NR_ssetmask 69
--#define __NR_setreuid 70
--#define __NR_setregid 71
--#define __NR_sigsuspend 72
--#define __NR_sigpending 73
--#define __NR_sethostname 74
--#define __NR_setrlimit 75
--#define __NR_getrlimit 76
--#define __NR_getrusage 77
--#define __NR_gettimeofday 78
--#define __NR_settimeofday 79
--#define __NR_getgroups 80
--#define __NR_setgroups 81
--#define __NR_select 82
--#define __NR_symlink 83
--#define __NR_oldlstat 84
--#define __NR_readlink 85
--#define __NR_uselib 86
--#define __NR_swapon 87
--#define __NR_reboot 88
--#define __NR_readdir 89
--#define __NR_mmap 90
--#define __NR_munmap 91
--#define __NR_truncate 92
--#define __NR_ftruncate 93
--#define __NR_fchmod 94
--#define __NR_fchown 95
--#define __NR_getpriority 96
--#define __NR_setpriority 97
--#define __NR_profil 98
--#define __NR_statfs 99
--#define __NR_fstatfs 100
--#define __NR_ioperm 101
--#define __NR_socketcall 102
--#define __NR_syslog 103
--#define __NR_setitimer 104
--#define __NR_getitimer 105
--#define __NR_stat 106
--#define __NR_lstat 107
--#define __NR_fstat 108
--#define __NR_olduname 109
--#define __NR_iopl 110
--#define __NR_vhangup 111
--#define __NR_idle 112
--#define __NR_vm86 113
--#define __NR_wait4 114
--#define __NR_swapoff 115
--#define __NR_sysinfo 116
--#define __NR_ipc 117
--#define __NR_fsync 118
--#define __NR_sigreturn 119
--#define __NR_clone 120
--#define __NR_setdomainname 121
--#define __NR_uname 122
--#define __NR_modify_ldt 123
--#define __NR_adjtimex 124
--#define __NR_mprotect 125
--#define __NR_sigprocmask 126
--#define __NR_create_module 127
--#define __NR_init_module 128
--#define __NR_delete_module 129
--#define __NR_get_kernel_syms 130
--#define __NR_quotactl 131
--#define __NR_getpgid 132
--#define __NR_fchdir 133
--#define __NR_bdflush 134
--#define __NR_sysfs 135
--#define __NR_personality 136
--#define __NR_afs_syscall 137 /* Syscall for Andrew File System */
--#define __NR_setfsuid 138
--#define __NR_setfsgid 139
--#define __NR__llseek 140
--#define __NR_getdents 141
--#define __NR__newselect 142
--#define __NR_flock 143
--#define __NR_msync 144
--#define __NR_readv 145
--#define __NR_writev 146
--#define __NR_getsid 147
--#define __NR_fdatasync 148
--#define __NR__sysctl 149
--#define __NR_mlock 150
--#define __NR_munlock 151
--#define __NR_mlockall 152
--#define __NR_munlockall 153
--#define __NR_sched_setparam 154
--#define __NR_sched_getparam 155
--#define __NR_sched_setscheduler 156
--#define __NR_sched_getscheduler 157
--#define __NR_sched_yield 158
--#define __NR_sched_get_priority_max 159
--#define __NR_sched_get_priority_min 160
--#define __NR_sched_rr_get_interval 161
--#define __NR_nanosleep 162
--#define __NR_mremap 163
--#define __NR_setresuid 164
--#define __NR_getresuid 165
--#define __NR_query_module 166
--#define __NR_poll 167
--#define __NR_nfsservctl 168
--#define __NR_setresgid 169
--#define __NR_getresgid 170
--#define __NR_prctl 171
--#define __NR_rt_sigreturn 172
--#define __NR_rt_sigaction 173
--#define __NR_rt_sigprocmask 174
--#define __NR_rt_sigpending 175
--#define __NR_rt_sigtimedwait 176
--#define __NR_rt_sigqueueinfo 177
--#define __NR_rt_sigsuspend 178
--#define __NR_pread 179
--#define __NR_pwrite 180
--#define __NR_chown 181
--#define __NR_getcwd 182
--#define __NR_capget 183
--#define __NR_capset 184
--#define __NR_sigaltstack 185
--#define __NR_sendfile 186
--#define __NR_getpmsg 187 /* some people actually want streams */
--#define __NR_putpmsg 188 /* some people actually want streams */
--#define __NR_vfork 189
--#define __NR_ugetrlimit 190 /* SuS compliant getrlimit */
--#define __NR_readahead 191
--/* #define __NR_mmap2 192 32bit only */
--/* #define __NR_truncate64 193 32bit only */
--/* #define __NR_ftruncate64 194 32bit only */
--/* #define __NR_stat64 195 32bit only */
--/* #define __NR_lstat64 196 32bit only */
--/* #define __NR_fstat64 197 32bit only */
--#define __NR_pciconfig_read 198
--#define __NR_pciconfig_write 199
--#define __NR_pciconfig_iobase 200
--#define __NR_multiplexer 201
--#define __NR_getdents64 202
--#define __NR_pivot_root 203
--/* #define __NR_fcntl64 204 32bit only */
--#define __NR_madvise 205
--#define __NR_mincore 206
--#define __NR_gettid 207
--#define __NR_tkill 208
--#define __NR_setxattr 209
--#define __NR_lsetxattr 210
--#define __NR_fsetxattr 211
--#define __NR_getxattr 212
--#define __NR_lgetxattr 213
--#define __NR_fgetxattr 214
--#define __NR_listxattr 215
--#define __NR_llistxattr 216
--#define __NR_flistxattr 217
--#define __NR_removexattr 218
--#define __NR_lremovexattr 219
--#define __NR_fremovexattr 220
--#define __NR_futex 221
--#define __NR_sched_setaffinity 222
--#define __NR_sched_getaffinity 223
--/* 224 currently unused */
--#define __NR_tuxcall 225
--/* #define __NR_sendfile64 226 32bit only */
--#define __NR_io_setup 227
--#define __NR_io_destroy 228
--#define __NR_io_getevents 229
--#define __NR_io_submit 230
--#define __NR_io_cancel 231
--#define __NR_set_tid_address 232
--#define __NR_fadvise64 233
--#define __NR_exit_group 234
--#define __NR_lookup_dcookie 235
--#define __NR_epoll_create 236
--#define __NR_epoll_ctl 237
--#define __NR_epoll_wait 238
--#define __NR_remap_file_pages 239
--#define __NR_timer_create 240
--#define __NR_timer_settime 241
--#define __NR_timer_gettime 242
--#define __NR_timer_getoverrun 243
--#define __NR_timer_delete 244
--#define __NR_clock_settime 245
--#define __NR_clock_gettime 246
--#define __NR_clock_getres 247
--#define __NR_clock_nanosleep 248
--#define __NR_swapcontext 249
--#define __NR_tgkill 250
--#define __NR_utimes 251
--#define __NR_statfs64 252
--#define __NR_fstatfs64 253
--/* #define __NR_fadvise64_64 254 32bit only */
--#define __NR_rtas 255
--/* Number 256 is reserved for sys_debug_setcontext */
--/* Number 257 is reserved for vserver */
--/* Number 258 is reserved for new sys_remap_file_pages */
--#define __NR_mbind 259
--#define __NR_get_mempolicy 260
--#define __NR_set_mempolicy 261
--#define __NR_mq_open 262
--#define __NR_mq_unlink 263
--#define __NR_mq_timedsend 264
--#define __NR_mq_timedreceive 265
--#define __NR_mq_notify 266
--#define __NR_mq_getsetattr 267
--#define __NR_kexec_load 268
--#define __NR_add_key 269
--#define __NR_request_key 270
--#define __NR_keyctl 271
--#define __NR_waitid 272
--#define __NR_ioprio_set 273
--#define __NR_ioprio_get 274
--#define __NR_inotify_init 275
--#define __NR_inotify_add_watch 276
--#define __NR_inotify_rm_watch 277
--
--
--
--#define __diet_proto_common(sym) \
-- .section ".opd","aw"; \
-- .align 3; \
--sym: \
-- .quad .sym,.TOC.@tocbase,0; \
-- .previous; \
-- .size sym,24; \
-- .type .sym,@function
--
--#define diet_proto_weak(sym) \
-- .weak sym; \
-- .weak .sym; \
-- __diet_proto_common(sym)
--
--#define diet_proto(sym) \
-- .globl sym; \
-- .globl .sym; \
-- __diet_proto_common(sym)
--
--
--#define syscall_weak(name,wsym,sym) \
--.text; \
--diet_proto_weak(wsym); \
--diet_proto(sym); \
--.wsym: \
--.sym: \
-- li 0,__NR_##name; \
-- b __unified_syscall
--
--#define syscall(name,sym) \
--.text; \
--diet_proto(sym); \
--.sym: \
-- li 0,__NR_##name; \
-- b __unified_syscall
--
-Index: dietlibc-0.30/ppc64/umount.S
-===================================================================
---- dietlibc-0.30.orig/ppc64/umount.S
-+++ /dev/null
-@@ -1,8 +0,0 @@
--#include "syscalls.h"
--
-- .text
--diet_proto(umount)
--.umount:
-- li 0, __NR_umount2
-- li 4, 0
-- b __unified_syscall
-Index: dietlibc-0.30/ppc64/unified.S
-===================================================================
---- dietlibc-0.30.orig/ppc64/unified.S
-+++ /dev/null
-@@ -1,71 +0,0 @@
--#include <dietfeatures.h>
--#include "syscalls.h"
--
-- .text
--.exit:
-- .weak .exit
--._exit:
-- li 0,__NR_exit
-- .global __unified_syscall
--__unified_syscall:
-- sc
-- bnslr+
--
-- .global error_unified_syscall
--error_unified_syscall:
--
--#ifdef WANT_THREAD_SAFE
-- stdu 1,-128(1)
-- mflr 0
-- std 0,20(1)
-- std 3,12(1)
-- bl .__errno_location
-- ld 0,12(1)
-- stw 0,0(3)
-- ld 0,20(1)
-- mtlr 0
-- addi 1,1,128
--#else
-- lis 9,errno@highesta
-- ori 9,9,errno@highera
-- sldi 9,9,32
-- oris 9,9,errno@ha
-- stw 3,errno@l(9)
--#endif
-- li 3,-1
--
--/* here we go and "reuse" the return for weak-void functions */
--//#include "dietuglyweaks.h"
--.__thread_doexit:
-- .weak .__thread_doexit
--.__fflush_stdin:
-- .weak .__fflush_stdin
--.__fflush_stdout:
-- .weak .__fflush_stdout
--.__fflush_stderr:
-- .weak .__fflush_stderr
--.flockfile:
-- .weak .flockfile
--.funlockfile:
-- .weak .funlockfile
--.__nop:
-- .weak .__nop
--.__you_tried_to_link_a_dietlibc_object_against_glibc:
-- .weak .__you_tried_to_link_a_dietlibc_object_against_glibc
--
-- blr
-- .long 0
-- .byte 0,0,0,1,128,0,0,0
-- .size ._exit,.-._exit
-- .size .exit,.-.exit
--
--diet_proto_weak(__thread_doexit)
--diet_proto_weak(__fflush_stdin)
--diet_proto_weak(__fflush_stdout)
--diet_proto_weak(__fflush_stderr)
--diet_proto_weak(flockfile)
--diet_proto_weak(funlockfile)
--diet_proto_weak(__nop)
--diet_proto_weak(__you_tried_to_link_a_dietlibc_object_against_glibc)
--diet_proto_weak(exit)
--diet_proto(_exit)
-Index: dietlibc-0.30/syscalls.h
-===================================================================
---- dietlibc-0.30.orig/syscalls.h
-+++ dietlibc-0.30/syscalls.h
-@@ -12,10 +12,10 @@
- #endif
-
- #elif defined(__powerpc64__)
--#include "ppc64/syscalls.h"
-+#include "powerpc64/syscalls.h"
-
- #elif defined(__powerpc__)
--#include "ppc/syscalls.h"
-+#include "powerpc/syscalls.h"
-
- #elif defined(__mips__)
- #include "mips/syscalls.h"