patches/strace/4.5.18/170-no_cachectl.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Wed Dec 05 20:31:43 2012 +0100 (2012-12-05)
changeset 3134 863723936e24
permissions -rw-r--r--
scripts/xldd: use user's sed and grep

xldd uses sed and grep as detected by ./configure. This works well if is
used on the machine that build the toolchain.

But if the user moves the toolchain to another machine where sed and grep
are not in the same directory (eg. /bin/sed vs. /usr/bin/sed), then xldd
will stop functionning.

Fix that by using ${SED} and ${GREP} if they are set in the environment.

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