patches/strace/4.5.17/180-no_cachectl.patch
author Arnaud Lacombe <lacombar@gmail.com>
Tue Aug 03 06:17:51 2010 +0200 (2010-08-03)
changeset 2064 f5ebe8c429dc
permissions -rw-r--r--
libc/uClibc: add uClibc 0.9.30.3

This version has been released a couple of month ago, but it never reached
crosstool-ng tree. This may be linked to the fact that the current 0.9.30.2,
once patched, has nothing much different from 0.9.30.3, released.

I'm not including any patch with this upgrade, on purpose.

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
yann@1045
     1
This patch is needed on newer uclibc becuase the uclibc header generation
yann@1045
     2
mechanism generates the sysnum.h properly NR_cacheflush is defined for ARM
yann@1045
     3
but there is no cachectl.h file which is exported to userspace. Strace 
yann@1045
     4
assumes that if SYS_cacheflush is defined than it icludes asm/cachectl.h
yann@1045
     5
which breaks the build for ARM now.
yann@1045
     6
yann@1045
     7
This patch adds a check for ARM architecture.
yann@1045
     8
yann@1045
     9
-Khem
yann@1045
    10
yann@1045
    11
Here is error
yann@1045
    12
yann@1045
    13
| 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; \
yann@1045
    14
|   then mv -f ".deps/term.Tpo" ".deps/term.Po"; else rm -f ".deps/term.Tpo"; exit 1; fi
yann@1045
    15
| system.c:69:26: error: asm/cachectl.h: No such file or directory
yann@1045
    16
| make[1]: *** [system.o] Error 1
yann@1045
    17
| make[1]: *** Waiting for unfinished jobs....
yann@1045
    18
| signal.c: In function 'sys_sigreturn':
yann@1045
    19
| signal.c:1221: warning: passing argument 4 of 'ptrace' makes integer from pointer without a cast
yann@1045
    20
| 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'
yann@1045
    21
| make: *** [all] Error 2
yann@1045
    22
| FATAL: oe_runmake failed
yann@1045
    23
yann@1045
    24
Index: strace-4.5.14/system.c
yann@1045
    25
===================================================================
yann@1045
    26
--- strace-4.5.14.orig/system.c 2008-05-15 20:23:16.000000000 -0700
yann@1045
    27
+++ strace-4.5.14/system.c  2008-05-15 20:24:03.000000000 -0700
yann@1045
    28
@@ -70,7 +70,7 @@
yann@1045
    29
 #include <linux/capability.h>
yann@1045
    30
 #endif
yann@1045
    31
 
yann@1045
    32
-#ifdef SYS_cacheflush
yann@1045
    33
+#if defined SYS_cacheflush && !defined ARM
yann@1045
    34
 #include <asm/cachectl.h>
yann@1045
    35
 #endif