From 409ddfbcca266869b0352d55e8beabc164abf6cb Mon Sep 17 00:00:00 2001
From: Kedar Sovani <kedars@marvell.com>
Date: Sun, 30 Nov 2008 22:47:32 -0500
Subject: [PATCH] strace: Update arm syscallent.h file.

Signed-off-by: Kedar Sovani <kedars@marvell.com>
---
 strace-4.5.18-arm-syscallent.patch |   92 ++++++++++++++++++++++++++++++++++++
 strace.spec                        |    7 ++-
 2 files changed, 98 insertions(+), 1 deletions(-)
 create mode 100644 strace-4.5.18-arm-syscallent.patch

diff --git a/strace-4.5.18-arm-syscallent.patch b/strace-4.5.18-arm-syscallent.patch
new file mode 100644
index 0000000..5d73a04
--- /dev/null
+++ b/strace-4.5.18-arm-syscallent.patch
@@ -0,0 +1,92 @@
+diff -urp strace-4.5.18.orig/linux/arm/syscallent.h strace-4.5.18/linux/arm/syscallent.h
+--- strace-4.5.18.orig/linux/arm/syscallent.h	2008-07-17 21:23:49.000000000 -0400
++++ strace-4.5.18/linux/arm/syscallent.h	2008-11-30 22:31:37.000000000 -0500
+@@ -328,21 +328,21 @@
+ 	{ 5,	TN,	sys_getsockopt,		"getsockopt"	}, /* 295 */
+ 	{ 3,	TN,	sys_sendmsg,		"sendmsg"	}, /* 296 */
+ 	{ 3,	TN,	sys_recvmsg,		"recvmsg"	}, /* 297 */
+-	{ 5,	0,	printargs,		"SYS_298"	}, /* 298 */
+-	{ 5,	0,	printargs,		"SYS_299"	}, /* 299 */
+-	{ 5,	0,	printargs,		"SYS_300"	}, /* 300 */
+-	{ 5,	0,	printargs,		"SYS_301"	}, /* 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 */
+-	{ 5,	0,	printargs,		"SYS_307"	}, /* 307 */
+-	{ 5,	0,	printargs,		"SYS_308"	}, /* 308 */
++	{ 4,	TI,	sys_semop,		"semop"		}, /* 298 */
++	{ 4,	TI,	sys_semget,		"semget"	}, /* 299 */
++	{ 4,	TI,	sys_semctl,		"semctl"	}, /* 300 */
++	{ 4,	TI,	sys_msgsnd,		"msgsnd"	}, /* 301 */
++	{ 4,	TI,	sys_msgrcv,		"msgrcv"	}, /* 302 */
++	{ 4,	TI,	sys_msgget,		"msgget"	}, /* 303 */
++	{ 4,	TI,	sys_msgctl,		"msgctl"	}, /* 304 */
++	{ 4,	TI,	sys_shmat,		"shmat"		}, /* 305 */
++	{ 4,	TI,	sys_shmdt,		"shmdt"		}, /* 306 */
++	{ 4,	TI,	sys_shmget,		"shmget"	}, /* 307 */
++	{ 4,	TI,	sys_shmctl,		"shmctl"	}, /* 308 */
+ 	{ 5,	0,	printargs,		"SYS_309"	}, /* 309 */
+ 	{ 5,	0,	printargs,		"SYS_310"	}, /* 310 */
+ 	{ 5,	0,	printargs,		"SYS_311"	}, /* 311 */
+-	{ 5,	0,	printargs,		"SYS_312"	}, /* 312 */
++	{ 5,	TI,	sys_semtimedop,		"semtimedop"	}, /* 312 */
+ 	{ 5,	0,	printargs,		"SYS_313"	}, /* 313 */
+ 	{ 5,	0,	printargs,		"SYS_314"	}, /* 314 */
+ 	{ 5,	0,	printargs,		"SYS_315"	}, /* 315 */
+@@ -430,10 +430,6 @@
+ 	{ 5,	0,	printargs,		"SYS_397"	}, /* 397 */
+ 	{ 5,	0,	printargs,		"SYS_398"	}, /* 398 */
+ 	{ 5,	0,	printargs,		"SYS_399"	}, /* 399 */
+-
+-#if SYS_socket_subcall != 400
+- #error fix me
+-#endif
+ 	{ 8,	0,	printargs,		"socket_subcall"}, /* 400 */
+ 	{ 3,	TN,	sys_socket,		"socket"	}, /* 401 */
+ 	{ 3,	TN,	sys_bind,		"bind"		}, /* 402 */
+@@ -452,32 +448,27 @@
+ 	{ 5,	TN,	sys_getsockopt,		"getsockopt"	}, /* 415 */
+ 	{ 5,	TN,	sys_sendmsg,		"sendmsg"	}, /* 416 */
+ 	{ 5,	TN,	sys_recvmsg,		"recvmsg"	}, /* 417 */
+-
+-#if SYS_ipc_subcall != 418
+- #error fix me
+-#endif
+ 	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 418 */
+-	{ 4,	TI,	sys_semop,		"semop"		}, /* 419 */
+-	{ 4,	TI,	sys_semget,		"semget"	}, /* 420 */
+-	{ 4,	TI,	sys_semctl,		"semctl"	}, /* 421 */
+-	{ 5,	TI,	sys_semtimedop,		"semtimedop"	}, /* 422 */
++	{ 5,	0,	printargs,		"SYS_419"	}, /* 419 */
++	{ 5,	0,	printargs,		"SYS_420"	}, /* 420 */
++	{ 5,	0,	printargs,		"SYS_421"	}, /* 421 */
+ 	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 423 */
+ 	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 424 */
+ 	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 425 */
+ 	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 426 */
+ 	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 427 */
+ 	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 428 */
+-	{ 4,	TI,	sys_msgsnd,		"msgsnd"	}, /* 429 */
+-	{ 4,	TI,	sys_msgrcv,		"msgrcv"	}, /* 430 */
+-	{ 4,	TI,	sys_msgget,		"msgget"	}, /* 431 */
+-	{ 4,	TI,	sys_msgctl,		"msgctl"	}, /* 432 */
++	{ 5,	0,	printargs,		"SYS_429"	}, /* 429 */
++	{ 5,	0,	printargs,		"SYS_430"	}, /* 430 */
++	{ 5,	0,	printargs,		"SYS_431"	}, /* 431 */
++	{ 5,	0,	printargs,		"SYS_432"	}, /* 432 */
+ 	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 433 */
+ 	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 434 */
+ 	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 435 */
+ 	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 436 */
+ 	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 437 */
+ 	{ 4,	0,	printargs,		"ipc_subcall"	}, /* 438 */
+-	{ 4,	TI,	sys_shmat,		"shmat"		}, /* 439 */
+-	{ 4,	TI,	sys_shmdt,		"shmdt"		}, /* 440 */
+-	{ 4,	TI,	sys_shmget,		"shmget"	}, /* 441 */
+-	{ 4,	TI,	sys_shmctl,		"shmctl"	}, /* 442 */
++	{ 5,	0,	printargs,		"SYS_305"	}, /* 439 */
++	{ 5,	0,	printargs,		"SYS_306"	}, /* 440 */
++	{ 5,	0,	printargs,		"SYS_307"	}, /* 441 */
++	{ 5,	0,	printargs,		"SYS_308"	}, /* 442 */
diff --git a/strace.spec b/strace.spec
index 335b26d..8b648c2 100644
--- a/strace.spec
+++ b/strace.spec
@@ -1,12 +1,13 @@
 Summary: Tracks and displays system calls associated with a running process
 Name: strace
 Version: 4.5.18
-Release: 1%{?dist}
+Release: 1%{?dist}.fa1
 License: BSD
 Group: Development/Debuggers
 URL: http://sourceforge.net/projects/strace/
 Source0: http://dl.sourceforge.net/strace/%{name}-%{version}.tar.bz2
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Patch100: strace-4.5.18-arm-syscallent.patch 
 
 BuildRequires: libaio-devel, libacl-devel
 
@@ -43,6 +44,7 @@ The `strace' program in the `strace' package is for 32-bit processes.
 
 %prep
 %setup -q
+%patch100 -p1
 
 %build
 %configure
@@ -76,6 +78,9 @@ rm -rf %{buildroot}
 
 
 %changelog
+* Tue Dec 9 2008 Kedar Sovani <kedars@marvell.com> - 4.5.18-1.fa1
+- update syscall entries for arm
+
 * Thu Aug 28 2008 Roland McGrath <roland@redhat.com> - 4.5.18-1
 - build fix for newer kernel headers (#457291)
 - fix CLONE_VFORK handling (#455078)
-- 
1.5.3.3

