Please note that only ARM (arm and thumb) has received testing. For this
reason DEFAULT_PREFERENCE is set to -1.

--
Signed-off-by: Aleksandr Koltsoff <[email protected]>


>From cbf4f807b9c6a23444baf174483945ce86aa1eb8 Mon Sep 17 00:00:00 2001
From: Aleksandr Koltsoff <[email protected]>
Date: Sun, 20 Sep 2009 12:55:24 +0300
Subject: [PATCH] strace: Update to 4.5.18

Please note that only ARM (arm and thumb) has received testing.
---
 .../strace-4.5.18/strace-4.5.17-arm-syscalls.patch |  140 ++++++++++++++++++++
 .../strace-4.5.18/strace-arm-no-cachectl.patch     |   34 +++++
 recipes/strace/strace_4.5.18.bb                    |   14 ++
 3 files changed, 188 insertions(+), 0 deletions(-)
 create mode 100644 recipes/strace/strace-4.5.18/strace-4.5.17-arm-syscalls.patch
 create mode 100644 recipes/strace/strace-4.5.18/strace-arm-no-cachectl.patch
 create mode 100644 recipes/strace/strace_4.5.18.bb

diff --git a/recipes/strace/strace-4.5.18/strace-4.5.17-arm-syscalls.patch b/recipes/strace/strace-4.5.18/strace-4.5.17-arm-syscalls.patch
new file mode 100644
index 0000000..d336892
--- /dev/null
+++ b/recipes/strace/strace-4.5.18/strace-4.5.17-arm-syscalls.patch
@@ -0,0 +1,140 @@
+This patch was required to build 4.5.18 (arm). It was meant for 4.5.17 originally,
+but applies cleanly against 4.5.18.
+
+Patch found on gentoo bugtracker:
+http://bugs.gentoo.org/attachment.cgi?id=181917&action=view
+
+diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h
+index 5ccef2f..edc3641 100644
+--- a/linux/arm/syscallent.h
++++ b/linux/arm/syscallent.h
+@@ -431,6 +431,7 @@
+ 	{ 5,	0,	printargs,		"SYS_398"	}, /* 398 */
+ 	{ 5,	0,	printargs,		"SYS_399"	}, /* 399 */
+ 
++#ifndef __ARM_EABI__
+ #if SYS_socket_subcall != 400
+  #error fix me
+ #endif
+@@ -481,3 +482,4 @@
+ 	{ 4,	TI,	sys_shmdt,		"shmdt"		}, /* 440 */
+ 	{ 4,	TI,	sys_shmget,		"shmget"	}, /* 441 */
+ 	{ 4,	TI,	sys_shmctl,		"shmctl"	}, /* 442 */
++#endif
+diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h
+index edc3641..6dd783a 100644
+--- a/linux/arm/syscallent.h
++++ b/linux/arm/syscallent.h
+@@ -328,63 +328,63 @@
+ 	{ 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 */
+-	{ 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,	0,	printargs,		"SYS_313"	}, /* 313 */
+-	{ 5,	0,	printargs,		"SYS_314"	}, /* 314 */
+-	{ 5,	0,	printargs,		"SYS_315"	}, /* 315 */
+-	{ 5,	0,	printargs,		"SYS_316"	}, /* 316 */
+-	{ 5,	0,	printargs,		"SYS_317"	}, /* 317 */
+-	{ 5,	0,	printargs,		"SYS_318"	}, /* 318 */
+-	{ 5,	0,	printargs,		"SYS_319"	}, /* 319 */
+-	{ 5,	0,	printargs,		"SYS_320"	}, /* 320 */
+-	{ 5,	0,	printargs,		"SYS_321"	}, /* 321 */
+-	{ 5,	0,	printargs,		"SYS_322"	}, /* 322 */
+-	{ 5,	0,	printargs,		"SYS_323"	}, /* 323 */
+-	{ 5,	0,	printargs,		"SYS_324"	}, /* 324 */
+-	{ 5,	0,	printargs,		"SYS_325"	}, /* 325 */
+-	{ 5,	0,	printargs,		"SYS_326"	}, /* 326 */
+-	{ 5,	0,	printargs,		"SYS_327"	}, /* 327 */
+-	{ 5,	0,	printargs,		"SYS_328"	}, /* 328 */
+-	{ 5,	0,	printargs,		"SYS_329"	}, /* 329 */
+-	{ 5,	0,	printargs,		"SYS_330"	}, /* 330 */
+-	{ 5,	0,	printargs,		"SYS_331"	}, /* 331 */
+-	{ 5,	0,	printargs,		"SYS_332"	}, /* 332 */
+-	{ 5,	0,	printargs,		"SYS_333"	}, /* 333 */
+-	{ 5,	0,	printargs,		"SYS_334"	}, /* 334 */
++	{ 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,		"add_key"	}, /* 309 */
++	{ 4,	0,	printargs,		"request_key"	}, /* 310 */
++	{ 5,	0,	printargs,		"keyctl"	}, /* 311 */
++	{ 5,	TI,	sys_semtimedop,		"semtimedop"	}, /* 312 */
++	{ 5,	0,	printargs,		"vserver"	}, /* 313 */
++	{ 3,	0,	printargs,		"ioprio_set"	}, /* 314 */
++	{ 2,	0,	printargs,		"ioprio_get"	}, /* 315 */
++	{ 0,	TD,	printargs,		"inotify_init"	}, /* 316 */
++	{ 3,	TD,	sys_inotify_add_watch,	"inotify_add_watch" }, /* 317 */
++	{ 2,	TD,	sys_inotify_rm_watch,	"inotify_rm_watch" }, /* 318 */
++	{ 6,	0,	sys_mbind,		"mbind"		}, /* 319 */
++	{ 3,	0,	sys_set_mempolicy,	"set_mempolicy"	}, /* 320 */
++	{ 5,	0,	sys_get_mempolicy,	"get_mempolicy"	}, /* 321 */
++	{ 4,	TD|TF,	sys_openat,		"openat"	}, /* 322 */
++	{ 3,	TD|TF,	sys_mkdirat,		"mkdirat"	}, /* 323 */
++	{ 4,	TD|TF,	sys_mknodat,		"mknodat"	}, /* 324 */
++	{ 5,	TD|TF,	sys_fchownat,		"fchownat"	}, /* 325 */
++	{ 3,	TD|TF,	sys_futimesat,		"futimesat"	}, /* 326 */
++	{ 4,	TD|TD,	sys_newfstatat,		"newfstatat"	}, /* 327 */
++	{ 3,	TD|TF,	sys_unlinkat,		"unlinkat"	}, /* 328 */
++	{ 4,	TD|TF,	sys_renameat,		"renameat"	}, /* 329 */
++	{ 5,	TD|TF,	sys_linkat,		"linkat"	}, /* 330 */
++	{ 3,	TD|TF,	sys_symlinkat,		"symlinkat"	}, /* 331 */
++	{ 4,	TD|TF,	sys_readlinkat,		"readlinkat"	}, /* 332 */
++	{ 3,	TD|TF,	sys_fchmodat,		"fchmodat"	}, /* 333 */
++	{ 3,	TD|TF,	sys_faccessat,		"faccessat"	}, /* 334 */
+ 	{ 5,	0,	printargs,		"SYS_335"	}, /* 335 */
+ 	{ 5,	0,	printargs,		"SYS_336"	}, /* 336 */
+-	{ 5,	0,	printargs,		"SYS_337"	}, /* 337 */
+-	{ 5,	0,	printargs,		"SYS_338"	}, /* 338 */
+-	{ 5,	0,	printargs,		"SYS_339"	}, /* 339 */
+-	{ 5,	0,	printargs,		"SYS_340"	}, /* 340 */
++	{ 1,	TP,	sys_unshare,		"unshare"	}, /* 337 */
++	{ 2,	0,	printargs,		"set_robust_list" }, /* 338 */
++	{ 3,	0,	printargs,		"get_robust_list" }, /* 339 */
++	{ 6,	TD,	printargs,		"splice"	}, /* 340 */
+ 	{ 5,	0,	printargs,		"SYS_341"	}, /* 341 */
+-	{ 5,	0,	printargs,		"SYS_342"	}, /* 342 */
+-	{ 5,	0,	printargs,		"SYS_343"	}, /* 343 */
++	{ 4,	TD,	printargs,		"tee"		}, /* 342 */
++	{ 4,	TD,	printargs,		"vmsplice"	}, /* 343 */
+ 	{ 6,	0,	sys_move_pages,		"move_pages"	}, /* 344 */
+ 	{ 3,	0,	sys_getcpu,		"getcpu"	}, /* 345 */
+ 	{ 5,	0,	printargs,		"SYS_346"	}, /* 346 */
+-	{ 5,	0,	printargs,		"SYS_347"	}, /* 347 */
+-	{ 5,	0,	printargs,		"SYS_348"	}, /* 348 */
++	{ 5,	0,	printargs,		"kexec_load"	}, /* 347 */
++	{ 4,	TD|TF,	sys_utimensat,		"utimensat"	}, /* 348 */
+ 	{ 3,	TD|TS,	sys_signalfd,		"signalfd"	}, /* 349 */
+ 	{ 4,	TD,	sys_timerfd,		"timerfd"	}, /* 350 */
+ 	{ 1,	TD,	sys_eventfd,		"eventfd"	}, /* 351 */
+-	{ 5,	0,	printargs,		"SYS_352"	}, /* 352 */
+-	{ 5,	0,	printargs,		"SYS_353"	}, /* 353 */
+-	{ 5,	0,	printargs,		"SYS_354"	}, /* 354 */
++	{ 6,	TF,	sys_fallocate,		"fallocate"	}, /* 352 */
++	{ 4,	TD,	sys_timerfd_settime,	"timerfd_settime"}, /* 353 */
++	{ 2,	TD,	sys_timerfd_gettime,	"timerfd_gettime"}, /* 354 */
+ 	{ 5,	0,	printargs,		"SYS_355"	}, /* 355 */
+ 	{ 5,	0,	printargs,		"SYS_356"	}, /* 356 */
+ 	{ 5,	0,	printargs,		"SYS_357"	}, /* 357 */
+	
\ No newline at end of file
diff --git a/recipes/strace/strace-4.5.18/strace-arm-no-cachectl.patch b/recipes/strace/strace-4.5.18/strace-arm-no-cachectl.patch
new file mode 100644
index 0000000..b71995d
--- /dev/null
+++ b/recipes/strace/strace-4.5.18/strace-arm-no-cachectl.patch
@@ -0,0 +1,34 @@
+
+
+This patch is needed on newer uclibc becuase the uclibc header generation mechanism generates the sysnum.h properly NR_cacheflush is defined for ARM but there is no cachectl.h file which is exported to userspace. Strace assumes that if SYS_cacheflush is defined than it icludes asm/cachectl.h which breaks the build for ARM now.
+
+This patch adds a check for ARM architecture.
+
+-Khem
+
+Here is error
+
+| if ccache arm-angstrom-linux-uclibcgnueabi-gcc -march=armv5te -mtune=arm926ej-s -DHAVE_CONFIG_H -I. -I. -I. -Ilinux/arm -I./linux/arm -Ilinux -I./linux  -isystem/home/kraj/work/oe/build/uclibc/tmp-omap5912osk/staging/arm-angstrom-linux-uclibcgnueabi/usr/include -Wall -isystem/home/kraj/work/oe/build/uclibc/tmp-omap5912osk/staging/arm-angstrom-linux-uclibcgnueabi/usr/include -fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os -MT term.o -MD -MP -MF ".deps/term.Tpo" -c -o term.o term.c; \
+| 	then mv -f ".deps/term.Tpo" ".deps/term.Po"; else rm -f ".deps/term.Tpo"; exit 1; fi
+| system.c:69:26: error: asm/cachectl.h: No such file or directory
+| make[1]: *** [system.o] Error 1
+| make[1]: *** Waiting for unfinished jobs....
+| signal.c: In function 'sys_sigreturn':
+| signal.c:1221: warning: passing argument 4 of 'ptrace' makes integer from pointer without a cast
+| make[1]: Leaving directory `/home/kraj/work/oe/build/uclibc/tmp-omap5912osk/work/armv5te-angstrom-linux-uclibcgnueabi/strace-4.5.14-r5/strace-4.5.14'
+| make: *** [all] Error 2
+| FATAL: oe_runmake failed
+
+Index: strace-4.5.14/system.c
+===================================================================
+--- strace-4.5.14.orig/system.c	2008-05-15 20:23:16.000000000 -0700
++++ strace-4.5.14/system.c	2008-05-15 20:24:03.000000000 -0700
+@@ -65,7 +65,7 @@
+ #include <linux/capability.h>
+ #endif
+ 
+-#ifdef SYS_cacheflush
++#if defined SYS_cacheflush && !defined ARM
+ #include <asm/cachectl.h>
+ #endif
+ 
diff --git a/recipes/strace/strace_4.5.18.bb b/recipes/strace/strace_4.5.18.bb
new file mode 100644
index 0000000..d3ebbf6
--- /dev/null
+++ b/recipes/strace/strace_4.5.18.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "strace is a system call tracing tool."
+SECTION = "console/utils"
+LICENSE = "GPL"
+PR = "r1"
+
+# only arm tested
+DEFAULT_PREFERENCE = "-1"
+#DEFAULT_PREFERENCE_arm = "1"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/strace/strace-${PV}.tar.bz2 \
+	   file://strace-4.5.17-arm-syscalls.patch;patch=1 \
+	   file://strace-arm-no-cachectl.patch;patch=1"
+
+inherit autotools
-- 
1.6.4.3

_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

Reply via email to