From b6b1bec022282a0598fc0c1ae0a36a72e1879ea3 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Sun, 16 Nov 2008 20:37:39 +0000 Subject: Make strace 4.5.17 and 4.5.18 build with latest uClibc (which no longer install cachectl.h). Patch from OpenEmbedded, by Khem (RAJ?), and forwarded by Joachim NILSSON. /trunk/patches/strace/4.5.17/180-no_cachectl.patch | 35 35 0 0 ++++++++++++++++++++++++++++ /trunk/patches/strace/4.5.18/170-no_cachectl.patch | 35 35 0 0 ++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) diff --git a/patches/strace/4.5.17/180-no_cachectl.patch b/patches/strace/4.5.17/180-no_cachectl.patch new file mode 100644 index 0000000..7fe946b --- /dev/null +++ b/patches/strace/4.5.17/180-no_cachectl.patch @@ -0,0 +1,35 @@ +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 +@@ -70,7 +70,7 @@ + #include + #endif + +-#ifdef SYS_cacheflush ++#if defined SYS_cacheflush && !defined ARM + #include + #endif diff --git a/patches/strace/4.5.18/170-no_cachectl.patch b/patches/strace/4.5.18/170-no_cachectl.patch new file mode 100644 index 0000000..a8fab23 --- /dev/null +++ b/patches/strace/4.5.18/170-no_cachectl.patch @@ -0,0 +1,35 @@ +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 + #endif + +-#ifdef SYS_cacheflush ++#if defined SYS_cacheflush && !defined ARM + #include + #endif -- cgit v0.10.2-6-g49f6