fix obviously wrong syscall chunks for sparc

This commit is contained in:
Tom Callaway 2008-03-26 17:37:11 +00:00
parent 56655ea0cd
commit 424a4b38bf
2 changed files with 183 additions and 1 deletions

View File

@ -0,0 +1,177 @@
diff -up strace-4.5.16/linux/sparc/syscallent.h.BAD strace-4.5.16/linux/sparc/syscallent.h
--- strace-4.5.16/linux/sparc/syscallent.h.BAD 2008-03-26 10:09:47.000000000 -0500
+++ strace-4.5.16/linux/sparc/syscallent.h 2008-03-26 11:43:34.000000000 -0500
@@ -23,7 +23,7 @@
{ 2, 0, sys_capset, "capset" }, /* 22 */
{ 1, 0, sys_setuid, "setuid" }, /* 23 */
{ 0, 0, sys_getuid, "getuid" }, /* 24 */
- { 1, 0, sys_time, "time" }, /* 25 */
+ { 1, 0, printargs, "vmsplice" }, /* 25 */
{ 5, 0, sys_ptrace, "ptrace" }, /* 26 */
{ 1, 0, sys_alarm, "alarm" }, /* 27 */
{ 2, TS, sys_sigaltstack,"sigaltstack" }, /* 28 */
@@ -65,8 +65,8 @@
{ 0, 0, sys_getpagesize,"getpagesize" }, /* 64 */
{ 3, 0, sys_msync, "msync" }, /* 65 */
{ 0, TP, sys_vfork, "vfork" }, /* 66 */
- { 5, TD, sys_pread, "pread" }, /* 67 */
- { 5, TD, sys_pwrite, "pwrite" }, /* 68 */
+ { 5, TD, sys_pread, "pread64" }, /* 67 */
+ { 5, TD, sys_pwrite, "pwrite64" }, /* 68 */
{ 0, 0, sys_geteuid, "geteuid32" }, /* 69 */
{ 0, 0, sys_getegid, "getegid32" }, /* 70 */
{ 6, 0, sys_mmap, "mmap" }, /* 71 */
@@ -149,12 +149,12 @@
{ 5, 0, printargs, "pciconfig_read" }, /* 148 */
{ 5, 0, printargs, "pciconfig_write" }, /* 149 */
{ 3, TN, sys_getsockname,"getsockname" }, /* 150 */
- { 4, TN, sys_getmsg, "getmsg" }, /* 151 */
- { 4, TN, sys_putmsg, "putmsg" }, /* 152 */
+ { 0, TD, printargs, "inotify_init" }, /* 151 */
+ { 3, TD, sys_inotify_add_watch, "inotify_add_watch" },/* 152 */
{ 3, TD, sys_poll, "poll" }, /* 153 */
{ 4, TD, sys_getdents64, "getdents64" }, /* 154 */
{ 3, TD, sys_fcntl, "fcntl64" }, /* 155 */
- { 4, 0, printargs, "getdirentries" }, /* 156 */
+ { 2, TD, sys_inotify_rm_watch, "inotify_rm_watch" },/* 156 */
{ 2, TF, sys_statfs, "statfs" }, /* 157 */
{ 2, TD, sys_fstatfs, "fstatfs" }, /* 158 */
{ 1, TF, sys_umount, "oldumount" }, /* 159 */
@@ -194,13 +194,13 @@
{ 1, 0, sys_epoll_create,"epoll_create" }, /* 193 */
{ 4, TD, sys_epoll_ctl, "epoll_ctl" }, /* 194 */
{ 4, TD, sys_epoll_wait, "epoll_wait" }, /* 195 */
- { 2, 0, sys_ulimit, "ulimit" }, /* 196 */
+ { 3, 0, printargs, "ioprio_set"}, /* 196 */
{ 0, 0, sys_getppid, "getppid" }, /* 197 */
{ 3, TS, sys_sigaction, "sigaction" }, /* 198 */
{ 5, 0, printargs, "sgetmask" }, /* 199 */
{ 5, 0, printargs, "ssetmask" }, /* 200 */
{ 3, TS, sys_sigsuspend, "sigsuspend" }, /* 201 */
- { 2, TF, sys_lstat, "lstat" }, /* 202 */
+ { 2, TF, sys_oldlstat, "oldlstat" }, /* 202 */
{ 1, TF, sys_uselib, "uselib" }, /* 203 */
{ 3, TD, sys_readdir, "readdir" }, /* 204 */
{ 4, TD, sys_readahead, "readahead" }, /* 205 */
@@ -216,7 +216,7 @@
{ 5, 0, sys_ipc, "ipc" }, /* 215 */
{ 1, TS, sys_sigreturn, "sigreturn" }, /* 216 */
{ 5, TP, sys_clone, "clone" }, /* 217 */
- { 3, 0, sys_modify_ldt, "modify_ldt" }, /* 218 */
+ { 2, 0, printargs, "ioprio_get" }, /* 218 */
{ 1, 0, sys_adjtimex, "adjtimex" }, /* 219 */
{ 3, TS, sys_sigprocmask,"sigprocmask" }, /* 220 */
{ 2, 0, sys_create_module,"create_module" }, /* 221 */
@@ -228,9 +228,9 @@
{ 5, 0, sys_afs_syscall,"afs_syscall" }, /* 227 */
{ 1, 0, sys_setfsuid, "setfsuid" }, /* 228 */
{ 1, 0, sys_setfsgid, "setfsgid" }, /* 229 */
- { 5, TD, sys_select, "select" }, /* 230 */
+ { 5, TD, sys_select, "_newselect" }, /* 230 */
{ 1, 0, sys_time, "time" }, /* 231 */
- { 2, TF, sys_stat, "stat" }, /* 232 */
+ { 6, TD, printargs, "splice" }, /* 232 */
{ 1, 0, sys_stime, "stime" }, /* 233 */
{ 3, TF, sys_statfs64, "statfs64" }, /* 234 */
{ 3, TD, sys_fstatfs64, "fstatfs64" }, /* 235 */
@@ -253,7 +253,7 @@
{ 1, 0, sys_getsid, "getsid" }, /* 252 */
{ 1, TD, sys_fdatasync, "fdatasync" }, /* 253 */
{ 3, 0, printargs, "nfsservctl" }, /* 254 */
- { 5, 0, printargs, "aplib" }, /* 255 */
+ { 4, TD, printargs, "sync_file_range" }, /* 255 */
{ 2, 0, sys_clock_settime,"clock_settime" }, /* 256 */
{ 2, 0, sys_clock_gettime,"clock_gettime" }, /* 257 */
{ 2, 0, sys_clock_getres,"clock_getres" }, /* 258 */
@@ -300,18 +300,18 @@
{ 1, TP, sys_unshare, "unshare" }, /* 299 */
{ 2, 0, printargs, "set_robust_list" }, /* 300 */
{ 3, 0, printargs, "get_robust_list" }, /* 301 */
- { 5, 0, printargs, "SYS_302" }, /* 302 */
- { 5, 0, printargs, "SYS_303" }, /* 303 */
- { 5, 0, printargs, "SYS_304" }, /* 304 */
- { 5, 0, printargs, "SYS_305" }, /* 305 */
- { 5, 0, printargs, "SYS_306" }, /* 306 */
- { 6, 0, sys_move_pages, "move_pages" }, /* 307 */
- { 3, 0, sys_getcpu, "getcpu" }, /* 308 */
- { 5, TD, sys_epoll_pwait,"epoll_pwait" }, /* 309 */
- { 5, 0, printargs, "SYS_310" }, /* 310 */
- { 3, TD|TS, sys_signalfd, "signalfd"}, /* 311 */
- { 4, TD, sys_timerfd, "timerfd" }, /* 312 */
- { 1, TD, sys_eventfd, "eventfd" }, /* 313 */
+ { 4, 0, printargs, "migrate_pages" }, /* 302 */
+ { 6, 0, sys_mbind, "mbind" }, /* 303 */
+ { 5, 0, sys_get_mempolicy, "get_mempolicy" }, /* 304 */
+ { 3, 0, sys_set_mempolicy, "set_mempolicy" }, /* 305 */
+ { 5, 0, printargs, "kexec_load" }, /* 306 */
+ { 6, 0, sys_move_pages, "move_pages" }, /* 307 */
+ { 3, 0, sys_getcpu, "getcpu" }, /* 308 */
+ { 5, TD, sys_epoll_pwait, "epoll_pwait" },/* 309 */
+ { 4, TD|TF, sys_utimensat, "utimensat"}, /* 310 */
+ { 3, TD|TS, sys_signalfd, "signalfd"}, /* 311 */
+ { 4, TD, sys_timerfd, "timerfd" }, /* 312 */
+ { 1, TD, sys_eventfd, "eventfd" }, /* 313 */
{ 5, 0, printargs, "SYS_314" }, /* 314 */
{ 5, 0, printargs, "SYS_315" }, /* 315 */
{ 5, 0, printargs, "SYS_316" }, /* 316 */
diff -up strace-4.5.16/linux/sparc/syscall.h.BAD strace-4.5.16/linux/sparc/syscall.h
--- strace-4.5.16/linux/sparc/syscall.h.BAD 2008-03-26 12:00:19.000000000 -0500
+++ strace-4.5.16/linux/sparc/syscall.h 2008-03-26 12:00:07.000000000 -0500
@@ -203,5 +203,15 @@ int sys_fstatfs64(), sys_clock_settime()
int sys_clock_getres(), sys_clock_nanosleep();
int sys_timer_create(), sys_timer_settime(), sys_timer_gettime();
+int sys_inotify_add_watch(), sys_inotify_rm_watch(), sys_oldlstat();
+int sys_io_setup(), sys_io_destroy(), sys_io_submit(), sys_io_cancel();
+int sys_io_getevents(), sys_mq_open(), sys_mq_timedsend(), sys_mq_timedreceive();
+int sys_mq_notify(), sys_mq_getsetattr(), sys_waitid(), sys_openat();
+int sys_mkdirat(), sys_mknodat(), sys_fchownat(), sys_futimesat();
+int sys_newfstatat(), sys_unlinkat(), sys_renameat(), sys_linkat();
+int sys_symlinkat(), sys_readlinkat(), sys_fchmodat(), sys_faccessat();
+int sys_pselect6(), sys_ppoll(), sys_unshare(), sys_mbind();
+int sys_get_mempolicy(), sys_set_mempolicy(), sys_move_pages(), sys_getcpu();
+int sys_epoll_pwait(), sys_utimensat(), sys_signalfd(), sys_timerfd(), sys_eventfd();
#include "syscall1.h"
diff -up strace-4.5.16/defs.h.BAD strace-4.5.16/defs.h
--- strace-4.5.16/defs.h.BAD 2008-03-26 11:49:08.000000000 -0500
+++ strace-4.5.16/defs.h 2008-03-26 11:49:30.000000000 -0500
@@ -192,8 +192,7 @@ extern int ptrace();
#define DEFAULT_PERSONALITY 0
#ifdef LINUXSPARC
-#include <linux/a.out.h>
-#include <asm/psr.h>
+#include <asm/a.out.h>
#define PERSONALITY0_WORDSIZE 4
#define PERSONALITY1_WORDSIZE 4
#undef SUPPORTED_PERSONALITIES
@@ -201,6 +200,7 @@ extern int ptrace();
#define SUPPORTED_PERSONALITIES 3
#define PERSONALITY2_WORDSIZE 8
#else
+#include <asm/psr.h>
#define SUPPORTED_PERSONALITIES 2
#endif /* SPARC64 */
#endif /* LINUXSPARC */
diff -up strace-4.5.16/mem.c.BAD strace-4.5.16/mem.c
--- strace-4.5.16/mem.c.BAD 2008-03-26 12:03:03.000000000 -0500
+++ strace-4.5.16/mem.c 2008-03-26 12:03:22.000000000 -0500
@@ -544,7 +544,7 @@ struct tcb *tcp;
return 0;
}
-#if defined(ALPHA) || defined(FREEBSD) || defined(IA64) || defined(SUNOS4) || defined(SVR4)
+#if defined(ALPHA) || defined(FREEBSD) || defined(IA64) || defined(SUNOS4) || defined(SVR4) || defined (LINUXSPARC)
int
sys_getpagesize(tcp)
struct tcb *tcp;
@@ -553,7 +553,7 @@ struct tcb *tcp;
return RVAL_HEX;
return 0;
}
-#endif /* ALPHA || FREEBSD || IA64 || SUNOS4 || SVR4 */
+#endif /* ALPHA || FREEBSD || IA64 || SUNOS4 || SVR4 || LINUXSPARC */
#if defined(LINUX) && defined(__i386__)
void

View File

@ -1,11 +1,12 @@
Summary: Tracks and displays system calls associated with a running process
Name: strace
Version: 4.5.16
Release: 4%{?dist}
Release: 5%{?dist}
License: BSD
Group: Development/Debuggers
URL: http://sourceforge.net/projects/strace/
Source0: http://dl.sourceforge.net/strace/%{name}-%{version}.tar.bz2
Patch0: strace-4.5.16-sparc-fix.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%define strace64_arches ppc64 sparc64
@ -41,6 +42,7 @@ The `strace' program in the `strace' package is for 32-bit processes.
%prep
%setup -q
%patch0 -p1
%build
%configure
@ -74,6 +76,9 @@ rm -rf %{buildroot}
%changelog
* Wed Mar 26 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 4.5.16-5
- fix obviously wrong syscall chunks for sparc
* Wed Mar 26 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 4.5.16-4
- add sparc64 to strace64 arches