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 <[EMAIL PROTECTED]>
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
*/
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Strace-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/strace-devel