patches/glibc/2.3.6/100-arm-ctl_bus_isa.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 13 10:32:38 2008 +0000 (2008-07-13)
changeset 645 8e58024f8e37
permissions -rw-r--r--
Ioannis E. VENETIS <venetis@mail.capsl.udel.edu> pointed out that GMP and MPFR were not used by gcc.
Turned out that none could use GMP and MPFR as the config option changed its name, but the change was not propagated to all users.

/trunk/scripts/build/binutils.sh | 2 1 1 0 +-
/trunk/scripts/build/debug/300-gdb.sh | 2 1 1 0 +-
/trunk/scripts/build/cc_gcc.sh | 6 3 3 0 +++---
3 files changed, 5 insertions(+), 5 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>