Finally, valgrind on ppc32.
Plenty still to do, but simple programs like ls seem to run ok

Thanks, Paul, for having your ppc port of valgrind 2.4 to work from!




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3969 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/vki_unistd-ppc32-linux.h b/coregrind/vki_unistd-ppc32-linux.h
new file mode 100644
index 0000000..50e6dba
--- /dev/null
+++ b/coregrind/vki_unistd-ppc32-linux.h
@@ -0,0 +1,302 @@
+
+/*
+   This file is part of Valgrind, a dynamic binary instrumentation
+   framework.
+
+   Copyright (C) 2005 Julian Seward
+      jseward@acm.org
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307, USA.
+
+   The GNU General Public License is contained in the file COPYING.
+*/
+
+#ifndef __VKI_UNISTD_PPC32_LINUX_H
+#define __VKI_UNISTD_PPC32_LINUX_H
+
+// From linux-2.6.9/include/asm-ppc/unistd.h
+
+#define __NR_restart_syscall		  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_vm86old			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_pread64			179
+//#define __NR_pwrite64			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
+/* Number 256 is reserved for sys_debug_setcontext */
+/* 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
+
+#endif /* __VKI_UNISTD_PPC32_LINUX_H */