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

Reply via email to