Patch for strace 4.5.17, problems with strace 4.5.18

Michael Abbott michael at araneidae.co.uk
Thu Oct 23 14:34:53 UTC 2008


For ARM EABI target, the two most recent strace releases fail to compile.  
The attached patch is a condensation of 
	http://marc.info/?l=strace&m=120126455227098&w=2
which was partially applied to 4.5.17, and fully incorporated into 4.5.18 
... but that still doesn't work!


The compiler I'm using is arm-unknown-linux-gnueabi, built using 
crosstool-ng, and targeting a recent linux 2.6.  For strace 4.5.17 the 
compile fails for obvious reasons when the patch below is inspected!

When attempting to compile strace 4.5.18:
	$ ./configure --host=arm-unknown-linux-gnueabi
	$ make
[... snip ...]
	In file included from syscall.c:129:
	linux/arm/syscallent.h:435:3: error: #error fix me
[... snip ...]
	make: *** [build] Error 2


For crosstool-ng it should be possible to build strace 4.5.17 using this 
patch, certainly seems to work fine for me.  I've not yet dug into what's 
wrong with 4.5.18 -- it looks as if this patch is now fully incorporated 
into the source tree, but unfortunately something is still broken.

Yann, if you like I can prepare a patch against crosstool-ng for this, but 
I suspect you can do it much more quickly than I can!


Patch follows.

Author: Michael Abbott <michael.abbott at diamond.ac.uk>
Date:   Wed Oct 22 08:53:42 2008 +0100

    Syscall patch for ARM
    Patch mailed to strace mailing list by Anderson Lizardo, work by
    Bruna Moreira, dated 2008-01-25.  Patch cleaned up against 4.5.17 release.

diff --git a/linux/arm/errnoent1.h b/linux/arm/errnoent1.h
new file mode 100644
index 0000000..a894827
--- /dev/null
+++ b/linux/arm/errnoent1.h
@@ -0,0 +1,2 @@
+/* Our second set comes from the i386 files.  */
+#include "../errnoent.h"
diff --git a/linux/arm/ioctlent1.h b/linux/arm/ioctlent1.h
new file mode 100644
index 0000000..a44b0ae
--- /dev/null
+++ b/linux/arm/ioctlent1.h
@@ -0,0 +1,2 @@
+/* Our second set comes from the i386 files.  */
+#include "../ioctlent.h"
diff --git a/linux/arm/signalent1.h b/linux/arm/signalent1.h
new file mode 100644
index 0000000..5c18d98
--- /dev/null
+++ b/linux/arm/signalent1.h
@@ -0,0 +1,2 @@
+/* Our second set comes from the i386 files.  */
+#include "../signalent.h"
diff --git a/linux/arm/syscallent1.h b/linux/arm/syscallent1.h
new file mode 100644
index 0000000..0978e9f
--- /dev/null
+++ b/linux/arm/syscallent1.h
@@ -0,0 +1,7 @@
+/* ARM specific syscalls */
+	{ 5,	0,	printargs,		"SYS_0"			}, /* 0 */
+	{ 5,	0,	printargs,		"breakpoint"		}, /* 1 */
+	{ 5,	0,	printargs,		"cacheflush"		}, /* 2 */
+	{ 5,	0,	printargs,		"usr26"			}, /* 3 */
+	{ 5,	0,	printargs,		"usr32"			}, /* 4 */
+	{ 5,	0,	printargs,		"set_tls"		}, /* 5 */




More information about the Strace-devel mailing list