patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-elf.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Jul 28 21:34:41 2007 +0000 (2007-07-28)
changeset 301 2be7232a73ac
permissions -rw-r--r--
Bump version to 0.2.2.
     1 Fixes
     2 
     3 dl-load.c: In function '_dl_map_object_from_fd':
     4 dl-load.c:1089: error: invalid lvalue in assignment
     5 dl-load.c:1109: error: invalid lvalue in assignment
     6 make[2]: *** [/home/dank/queue/jobdir.fast2/crosstool-dev/build/i686-unknown-linux-gnu/gcc-4.0-20050305-glibc-2.2.5/build-glibc/elf/dl-load.o] Error 1
     7 
     8 http://sourceware.org/cgi-bin/cvsweb.cgi/libc/elf/dl-load.c.diff?r1=1.235&r2=1.236&cvsroot=glibc
     9 rediffed against glibc-2.2.5
    10 
    11 Revision 1.236, Sat Feb 21 18:25:41 2004 UTC by aj
    12 Branch: MAIN
    13 Changes since 1.235: +2 -2 lines
    14 Diff to previous 1.235 (colored)
    15 
    16 (_dl_map_object_from_fd): Fix casts used as lvalue.
    17 
    18 
    19 diff -ur glibc-2.2.5/elf/dl-load.c glibc-2.2.5-patched/elf/dl-load.c
    20 --- glibc-2.2.5/elf/dl-load.c	2001-11-10 14:43:10.000000000 -0800
    21 +++ glibc-2.2.5-patched/elf/dl-load.c	2005-03-11 13:48:18.211982328 -0800
    22 @@ -1086,7 +1086,7 @@
    23        }
    24      else
    25        /* Adjust the PT_PHDR value by the runtime load address.  */
    26 -      (ElfW(Addr)) l->l_phdr += l->l_addr;
    27 +      l->l_phdr = (ElfW(Phdr) *) ((ElfW(Addr)) l->l_phdr + l->l_addr);
    28    }
    29  
    30    /* We are done mapping in the file.  We no longer need the descriptor.  */
    31 @@ -1106,7 +1106,7 @@
    32  	}
    33      }
    34    else
    35 -    (ElfW(Addr)) l->l_ld += l->l_addr;
    36 +    l->l_ld = (ElfW(Dyn) *) ((ElfW(Addr)) l->l_ld + l->l_addr);
    37  
    38    l->l_entry += l->l_addr;
    39