patches/strace/4.5.17/170-arm-syscalls.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Tue Oct 16 20:57:44 2012 +0200 (2012-10-16)
changeset 3079 37831a33e07e
permissions -rw-r--r--
kernel/linux: fix using custom location

Currently, extract and patch are skipped as thus:
- using a custom directory of pre-installed headers
- a correctly named directory already exists

Otherwise, extract and patch are done.

The current second condition is wrong, because it allows the following
sequence to happen:
- a non-custom kernel is used
- a previous build only partially extracted the non-custom sources
- that p[revious build broke during extraction (eg. incomplete tarball...)
- a subsequent build will find a properly named directory, and will
thus skip extract and patch, which is wrong

Fix that by following the conditions in this table:

Type | Extract | Patch
----------------------+---------+-------
Pre-installed headers | N | N
custom directory | N | N
custom tarball | Y | N
mainstream tarball | Y | Y

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: David Holsgrove <david.holsgrove@xilinx.com>
yann@974
     1
Original patch from gentoo: ../../dev/crosstool-NG/ct-ng.trunk/patches/strace/4.5.17/170-arm-syscalls.patch
yann@974
     2
-= BEGIN original header =-
yann@974
     3
Author: Michael Abbott <michael.abbott@diamond.ac.uk>
yann@974
     4
Date:   Wed Oct 22 08:53:42 2008 +0100
yann@974
     5
yann@974
     6
    Syscall patch for ARM
yann@974
     7
    Patch mailed to strace mailing list by Anderson Lizardo, work by
yann@974
     8
    Bruna Moreira, dated 2008-01-25.  Patch cleaned up against 4.5.17 release.
yann@974
     9
yann@974
    10
diff --git a/linux/arm/errnoent1.h b/linux/arm/errnoent1.h
yann@974
    11
new file mode 100644
yann@974
    12
index 0000000..a894827
yann@974
    13
-= END original header =-
yann@974
    14
diff -durN b/linux/arm/errnoent1.h b/linux/arm/errnoent1.h
yann@974
    15
--- b/linux/arm/errnoent1.h	1970-01-01 01:00:00.000000000 +0100
yann@974
    16
+++ b/linux/arm/errnoent1.h	2008-10-24 21:30:13.000000000 +0200
yann@974
    17
@@ -0,0 +1,2 @@
yann@974
    18
+/* Our second set comes from the i386 files.  */
yann@974
    19
+#include "../errnoent.h"
yann@974
    20
diff -durN b/linux/arm/ioctlent1.h b/linux/arm/ioctlent1.h
yann@974
    21
--- b/linux/arm/ioctlent1.h	1970-01-01 01:00:00.000000000 +0100
yann@974
    22
+++ b/linux/arm/ioctlent1.h	2008-10-24 21:30:13.000000000 +0200
yann@974
    23
@@ -0,0 +1,2 @@
yann@974
    24
+/* Our second set comes from the i386 files.  */
yann@974
    25
+#include "../ioctlent.h"
yann@974
    26
diff -durN b/linux/arm/signalent1.h b/linux/arm/signalent1.h
yann@974
    27
--- b/linux/arm/signalent1.h	1970-01-01 01:00:00.000000000 +0100
yann@974
    28
+++ b/linux/arm/signalent1.h	2008-10-24 21:30:13.000000000 +0200
yann@974
    29
@@ -0,0 +1,2 @@
yann@974
    30
+/* Our second set comes from the i386 files.  */
yann@974
    31
+#include "../signalent.h"
yann@974
    32
diff -durN b/linux/arm/syscallent1.h b/linux/arm/syscallent1.h
yann@974
    33
--- b/linux/arm/syscallent1.h	1970-01-01 01:00:00.000000000 +0100
yann@974
    34
+++ b/linux/arm/syscallent1.h	2008-10-24 21:30:13.000000000 +0200
yann@974
    35
@@ -0,0 +1,7 @@
yann@974
    36
+/* ARM specific syscalls */
yann@974
    37
+	{ 5,	0,	printargs,		"SYS_0"			}, /* 0 */
yann@974
    38
+	{ 5,	0,	printargs,		"breakpoint"		}, /* 1 */
yann@974
    39
+	{ 5,	0,	printargs,		"cacheflush"		}, /* 2 */
yann@974
    40
+	{ 5,	0,	printargs,		"usr26"			}, /* 3 */
yann@974
    41
+	{ 5,	0,	printargs,		"usr32"			}, /* 4 */
yann@974
    42
+	{ 5,	0,	printargs,		"set_tls"		}, /* 5 */