patches/glibc/2.3.6/100-arm-ctl_bus_isa.patch
author Remy Bohmer <linux@bohmer.net>
Sun Jul 11 22:23:34 2010 +0200 (2010-07-11)
changeset 2021 3e52a1510f87
permissions -rw-r--r--
debug/gdb: Fix compilation for Mingw hosts

GDB requires PDcurses instead of ncurses while running on Windows.
So, do not always compile ncurses in case GDB needs to build.

PDcurses is provided by an earlier build step and is not described in
this file.

Signed-off-by: Remy Bohmer <linux@bohmer.net>
[yann.morin.1998@anciense.nib.fr: we already have a way to detect ncurses usage]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     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>