patches/strace/4.5.18/170-no_cachectl.patch
author Michael Hope <michael.hope@linaro.org>
Wed Oct 19 15:27:32 2011 +1300 (2011-10-19)
changeset 2739 f320e22f2cba
permissions -rw-r--r--
arch: add softfp support

Some architectures support a mixed hard/soft floating point, where
the compiler emits hardware floating point instructions, but passes
the operands in core (aka integer) registers.

For example, ARM supports this mode (to come in the next changeset).

Add support for softfp cross compilers to the GCC and GLIBC
configuration. Needed for Ubuntu and other distros that are softfp.

Signed-off-by: Michael Hope <michael.hope@linaro.org>
[yann.morin.1998@anciens.enib.fr: split the original patch]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
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