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