From 563ec40ca81867c0d1cea1ae0f2381bfe832af24 Mon Sep 17 00:00:00 2001 From: Mystery Man Date: Wed, 13 Aug 2003 10:49:24 +0000 Subject: This commit was manufactured by cvs2svn to create tag 'V9_2_0_29mdk'. --- mdk-stage1/dietlibc/ppc/Makefile.add | 3 - mdk-stage1/dietlibc/ppc/__longjmp.S | 59 -------- mdk-stage1/dietlibc/ppc/__testandset.S | 12 -- mdk-stage1/dietlibc/ppc/clone.S | 48 ------ mdk-stage1/dietlibc/ppc/mmap.c | 40 ----- mdk-stage1/dietlibc/ppc/setjmp.S | 56 ------- mdk-stage1/dietlibc/ppc/start.S | 42 ------ mdk-stage1/dietlibc/ppc/syscalls.h | 259 --------------------------------- mdk-stage1/dietlibc/ppc/unified.S | 40 ----- 9 files changed, 559 deletions(-) delete mode 100644 mdk-stage1/dietlibc/ppc/Makefile.add delete mode 100644 mdk-stage1/dietlibc/ppc/__longjmp.S delete mode 100644 mdk-stage1/dietlibc/ppc/__testandset.S delete mode 100644 mdk-stage1/dietlibc/ppc/clone.S delete mode 100644 mdk-stage1/dietlibc/ppc/mmap.c delete mode 100644 mdk-stage1/dietlibc/ppc/setjmp.S delete mode 100644 mdk-stage1/dietlibc/ppc/start.S delete mode 100644 mdk-stage1/dietlibc/ppc/syscalls.h delete mode 100644 mdk-stage1/dietlibc/ppc/unified.S (limited to 'mdk-stage1/dietlibc/ppc') diff --git a/mdk-stage1/dietlibc/ppc/Makefile.add b/mdk-stage1/dietlibc/ppc/Makefile.add deleted file mode 100644 index 641cf1ade..000000000 --- a/mdk-stage1/dietlibc/ppc/Makefile.add +++ /dev/null @@ -1,3 +0,0 @@ - -CFLAGS+=-mpowerpc-gpopt -mpowerpc-gfxopt -Os -VPATH:=ppc:syscalls.s:$(VPATH) diff --git a/mdk-stage1/dietlibc/ppc/__longjmp.S b/mdk-stage1/dietlibc/ppc/__longjmp.S deleted file mode 100644 index 8113eeeea..000000000 --- a/mdk-stage1/dietlibc/ppc/__longjmp.S +++ /dev/null @@ -1,59 +0,0 @@ -#include - - -#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 - diff --git a/mdk-stage1/dietlibc/ppc/__testandset.S b/mdk-stage1/dietlibc/ppc/__testandset.S deleted file mode 100644 index 146982337..000000000 --- a/mdk-stage1/dietlibc/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 - diff --git a/mdk-stage1/dietlibc/ppc/clone.S b/mdk-stage1/dietlibc/ppc/clone.S deleted file mode 100644 index 98f6bd4e8..000000000 --- a/mdk-stage1/dietlibc/ppc/clone.S +++ /dev/null @@ -1,48 +0,0 @@ -#include -#include "syscalls.h" -#include - -.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 diff --git a/mdk-stage1/dietlibc/ppc/mmap.c b/mdk-stage1/dietlibc/ppc/mmap.c deleted file mode 100644 index d03e87089..000000000 --- a/mdk-stage1/dietlibc/ppc/mmap.c +++ /dev/null @@ -1,40 +0,0 @@ -#include "dietfeatures.h" -#include -#include -#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; -} diff --git a/mdk-stage1/dietlibc/ppc/setjmp.S b/mdk-stage1/dietlibc/ppc/setjmp.S deleted file mode 100644 index 50fa2bdd4..000000000 --- a/mdk-stage1/dietlibc/ppc/setjmp.S +++ /dev/null @@ -1,56 +0,0 @@ -#include - -#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 diff --git a/mdk-stage1/dietlibc/ppc/start.S b/mdk-stage1/dietlibc/ppc/start.S deleted file mode 100644 index 7b2aed7fb..000000000 --- a/mdk-stage1/dietlibc/ppc/start.S +++ /dev/null @@ -1,42 +0,0 @@ -.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 */ - - 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 main -#endif - b exit -.size _start,.-_start - - -/* Define a symbol for the first piece of initialized data. */ - .section ".data" -__data_start: - diff --git a/mdk-stage1/dietlibc/ppc/syscalls.h b/mdk-stage1/dietlibc/ppc/syscalls.h deleted file mode 100644 index 5e8707357..000000000 --- a/mdk-stage1/dietlibc/ppc/syscalls.h +++ /dev/null @@ -1,259 +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_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 -#define __NR_security 224 -#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_alloc_hugepages 232 -#define __NR_free_hugepages 233 -#define __NR_exit_group 234 -#define __NR_lookup_dcookie 235 -#define __NR_sys_epoll_create 236 -#define __NR_sys_epoll_ctl 237 -#define __NR_sys_epoll_wait 238 -#define __NR_remap_file_pages 239 - -#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 - diff --git a/mdk-stage1/dietlibc/ppc/unified.S b/mdk-stage1/dietlibc/ppc/unified.S deleted file mode 100644 index eb136a96b..000000000 --- a/mdk-stage1/dietlibc/ppc/unified.S +++ /dev/null @@ -1,40 +0,0 @@ -#include -#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 - -- cgit v1.2.1