patches/glibc/2.3.6/100-arm-ctl_bus_isa.patch
author Remy Bohmer <linux@bohmer.net>
Thu May 27 23:18:19 2010 +0200 (2010-05-27)
changeset 2060 51e4597b07fc
permissions -rw-r--r--
scripts: add option to strip all toolchain executables

To reduce filesizes of the toolchain and even improve build times
of projects to be build with this toolchain it is usefull to strip
the delivered toolchain executables. Since it is not likely that we
will debug the toolchain executables itself we do not need the
debug information inside the executables itself.

Signed-off-by: Remy Bohmer <linux@bohmer.net>
     1 Applies to both glibc-2.2.5 and glibc-2.3.2, and probably glibc cvs as of Aug 2004.
     2 Needed to build glibc with linux kernels 2.4.23 or higher on ARM, 
     3 Fixes following error:
     4 
     5 ../sysdeps/unix/sysv/linux/arm/ioperm.c: In function `init_iosys':
     6 ../sysdeps/unix/sysv/linux/arm/ioperm.c:103: error: `BUS_ISA' undeclared (first use in this function)
     7 ../sysdeps/unix/sysv/linux/arm/ioperm.c:103: error: (Each undeclared identifier is reported only once
     8 ../sysdeps/unix/sysv/linux/arm/ioperm.c:103: error: for each function it appears in.)
     9 ../sysdeps/unix/sysv/linux/arm/ioperm.c:103: error: initializer element is not constant
    10 ../sysdeps/unix/sysv/linux/arm/ioperm.c:103: error: (near initialization for `iobase_name[1]')
    11 ../sysdeps/unix/sysv/linux/arm/ioperm.c:104: error: initializer element is not constant
    12 ../sysdeps/unix/sysv/linux/arm/ioperm.c:104: error: (near initialization for `ioshift_name[1]')
    13 make[2]: *** [/home/dank/crosstool-0.28/build/arm-softfloat-linux-gnu/gcc-3.3.4-glibc-2.2.5/build-glibc/misc/ioperm.o] Error 1
    14 
    15 cf. "[SYSCTL] BUS_ISA -> CTL_BUS_ISA",  http://www.ussg.iu.edu/hypermail/linux/kernel/0311.0/0529.html
    16 
    17 --- glibc-2.3.2/sysdeps/unix/sysv/linux/arm/ioperm.c.old	2003-02-20 14:22:24.000000000 -0800
    18 +++ glibc-2.3.2/sysdeps/unix/sysv/linux/arm/ioperm.c	2004-01-31 16:01:50.000000000 -0800
    19 @@ -47,6 +47,12 @@
    20  #include <asm/page.h>
    21  #include <sys/sysctl.h>
    22  
    23 +/* see http://www.ussg.iu.edu/hypermail/linux/kernel/0311.0/0529.html */
    24 +#include <linux/version.h>
    25 +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,4,23))
    26 +#define CTL_BUS_ISA BUS_ISA	/* and hope it's not the one from linux/input.h */
    27 +#endif
    28 +
    29  #define PATH_ARM_SYSTYPE	"/etc/arm_systype"
    30  #define PATH_CPUINFO		"/proc/cpuinfo"
    31  
    32 @@ -80,7 +86,7 @@
    33   * Initialize I/O system.  There are several ways to get the information
    34   * we need.  Each is tried in turn until one succeeds.
    35   *
    36 - * 1. Sysctl (CTL_BUS, BUS_ISA, ISA_*).  This is the preferred method
    37 + * 1. Sysctl (CTL_BUS, CTL_BUS_ISA, ISA_*).  This is the preferred method
    38   *    but not all kernels support it.
    39   *
    40   * 2. Read the value (not the contents) of symlink PATH_ARM_SYSTYPE.
    41 @@ -100,8 +106,8 @@
    42  {
    43    char systype[256];
    44    int i, n;
    45 -  static int iobase_name[] = { CTL_BUS, BUS_ISA, BUS_ISA_PORT_BASE };
    46 -  static int ioshift_name[] = { CTL_BUS, BUS_ISA, BUS_ISA_PORT_SHIFT };
    47 +  static int iobase_name[] = { CTL_BUS, CTL_BUS_ISA, BUS_ISA_PORT_BASE };
    48 +  static int ioshift_name[] = { CTL_BUS, CTL_BUS_ISA, BUS_ISA_PORT_SHIFT };
    49    size_t len = sizeof(io.base);
    50  
    51    if (! sysctl (iobase_name, 3, &io.io_base, &len, NULL, 0)
    52 
    53 Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>