patches/strace/4.5.18/170-no_cachectl.patch
author "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
Wed May 25 20:23:48 2011 +0200 (2011-05-25)
branch1.11
changeset 2552 cc285cc98e65
permissions -rw-r--r--
debug/gdb: fix runtime sysroot

This patch sets the runtime sysroot to fix the following GDB warning:
"Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code."

The sysroot can later be changed within gdb with the `set sysroot`
command if necessary.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
(transplanted from 7690196856ce4a4700d1887cc3adf80acc627c52)
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
@@ -65,7 +65,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