patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-elf.patch
changeset 236 42650dc4e95e
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-elf.patch	Thu Jul 12 08:47:15 2007 +0000
     1.3 @@ -0,0 +1,39 @@
     1.4 +Fixes
     1.5 +
     1.6 +dl-load.c: In function '_dl_map_object_from_fd':
     1.7 +dl-load.c:1089: error: invalid lvalue in assignment
     1.8 +dl-load.c:1109: error: invalid lvalue in assignment
     1.9 +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
    1.10 +
    1.11 +http://sourceware.org/cgi-bin/cvsweb.cgi/libc/elf/dl-load.c.diff?r1=1.235&r2=1.236&cvsroot=glibc
    1.12 +rediffed against glibc-2.2.5
    1.13 +
    1.14 +Revision 1.236, Sat Feb 21 18:25:41 2004 UTC by aj
    1.15 +Branch: MAIN
    1.16 +Changes since 1.235: +2 -2 lines
    1.17 +Diff to previous 1.235 (colored)
    1.18 +
    1.19 +(_dl_map_object_from_fd): Fix casts used as lvalue.
    1.20 +
    1.21 +
    1.22 +diff -ur glibc-2.2.5/elf/dl-load.c glibc-2.2.5-patched/elf/dl-load.c
    1.23 +--- glibc-2.2.5/elf/dl-load.c	2001-11-10 14:43:10.000000000 -0800
    1.24 ++++ glibc-2.2.5-patched/elf/dl-load.c	2005-03-11 13:48:18.211982328 -0800
    1.25 +@@ -1086,7 +1086,7 @@
    1.26 +       }
    1.27 +     else
    1.28 +       /* Adjust the PT_PHDR value by the runtime load address.  */
    1.29 +-      (ElfW(Addr)) l->l_phdr += l->l_addr;
    1.30 ++      l->l_phdr = (ElfW(Phdr) *) ((ElfW(Addr)) l->l_phdr + l->l_addr);
    1.31 +   }
    1.32 + 
    1.33 +   /* We are done mapping in the file.  We no longer need the descriptor.  */
    1.34 +@@ -1106,7 +1106,7 @@
    1.35 + 	}
    1.36 +     }
    1.37 +   else
    1.38 +-    (ElfW(Addr)) l->l_ld += l->l_addr;
    1.39 ++    l->l_ld = (ElfW(Dyn) *) ((ElfW(Addr)) l->l_ld + l->l_addr);
    1.40 + 
    1.41 +   l->l_entry += l->l_addr;
    1.42 +