patches/glibc/2.3.6/100-arm-ctl_bus_isa.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Apr 17 20:26:25 2008 +0000 (2008-04-17)
changeset 446 d205527c5e01
permissions -rw-r--r--
Move config files around, and clean up the mess in the config/ directory.

config/kernel/kernel_linux.in | 12 6 6 0 +-
config/paths.in | 89 0 89 0 ----------------
config/kernel_linux_headers_install.in | 168 0 168 0 ------------------------------
config/kernel.in | 2 1 1 0
config/kernel_linux_headers_copy.in | 42 0 42 0 --------
config/cc.in | 2 1 1 0
config/logging.in | 110 0 110 0 --------------------
config/build-behave.in | 45 0 45 0 --------
config/libc_uClibc.in | 101 0 101 0 ------------------
config/kernel_linux_headers_sanitised.in | 62 0 62 0 -----------
config/ct-behave.in | 82 0 82 0 ---------------
config/kernel_linux.in | 134 0 134 0 ------------------------
config/global.in | 10 5 5 0 +-
config/download_extract.in | 171 0 171 0 -------------------------------
config/cc_gcc.in | 130 0 130 0 ------------------------
config/libc_glibc.in | 124 0 124 0 ----------------------
config/libc.in | 4 2 2 0
17 files changed, 15 insertions(+), 1273 deletions(-)
     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>