patches/glibc/2.2.5/glibc-2.2.5-mips-dl-machine-1.57.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue May 08 17:48:32 2007 +0000 (2007-05-08)
changeset 78 c3868084d81a
permissions -rw-r--r--
Huge fixes to glibc build, so that we can build at least (and at last):
- use ports addon even when installing headers,
- use optimisation (-O) when installing headers, to avoid unnecessary warnings (thanks Robert P. J. DAY for pointing this out!),
- lowest kernel version to use is only X.Y.Z, not X.Y.Z.T,
- a bit of preparations for NPTL (RSN I hope),
- fix fixing the linker scripts (changing the backup file is kind of useless and stupid);

Shut uClibc finish step: there really is nothing to do;

Add a patch for glibc-2.3.6 weak aliases handling on some archs (ARM and ALPHA at least);

Did not catch the make errors: fixed the pattern matching in scripts/functions;

Introduce a new log level, ALL:
- send components' build messages there,
- DEBUG log level is destined only for crosstool-NG debug messages,
- migrate sub-actions to use appropriate log levels;

Update the armeb-unknown-linux-gnu sample:
- it builds!
- uses gcc-4.0.4 and glibc-2.3.6,
- updated to latest config options set.
yann@1
     1
wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/mips/dl-machine.h.diff?r1=1.57&r2=1.58&cvsroot=glibc'
yann@1
     2
yann@1
     3
ChangeLog:
yann@1
     4
    (ELF_MACHINE_BEFORE_RTLD_RELOC): Don't use label at end of compound statement.
yann@1
     5
yann@1
     6
Fixes error
yann@1
     7
yann@1
     8
rtld.c: In function `_dl_start':
yann@1
     9
rtld.c:183: error: label at end of compound statement
yann@1
    10
make[2]: *** [/home/dank/wk/crosstool-0.28-rc32/build/mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.2.5/build-glibc/elf/rtld.os] Error 1
yann@1
    11
yann@1
    12
yann@1
    13
===================================================================
yann@1
    14
RCS file: /cvs/glibc/libc/sysdeps/mips/dl-machine.h,v
yann@1
    15
retrieving revision 1.56
yann@1
    16
retrieving revision 1.57
yann@1
    17
diff -u -r1.56 -r1.57
yann@1
    18
--- libc/sysdeps/mips/dl-machine.h	2002/01/17 23:21:33	1.56
yann@1
    19
+++ libc/sysdeps/mips/dl-machine.h	2002/01/29 02:58:00	1.57
yann@1
    20
@@ -1,5 +1,5 @@
yann@1
    21
 /* Machine-dependent ELF dynamic relocation inline functions.  MIPS version.
yann@1
    22
-   Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc.
yann@1
    23
+   Copyright (C) 1996-2001, 2002 Free Software Foundation, Inc.
yann@1
    24
    This file is part of the GNU C Library.
yann@1
    25
    Contributed by Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.
yann@1
    26
 
yann@1
    27
@@ -132,7 +132,7 @@
yann@1
    28
   got = (ElfW(Addr) *) D_PTR (map, l_info[DT_PLTGOT]);			\
yann@1
    29
 									\
yann@1
    30
   if (__builtin_expect (map->l_addr == 0, 1))				\
yann@1
    31
-    goto done;								\
yann@1
    32
+    break;								\
yann@1
    33
 									\
yann@1
    34
   /* got[0] is reserved. got[1] is also reserved for the dynamic object	\
yann@1
    35
      generated by gnu ld. Skip these reserved entries from		\
yann@1
    36
@@ -169,7 +169,6 @@
yann@1
    37
       got++;								\
yann@1
    38
       sym++;								\
yann@1
    39
     }									\
yann@1
    40
-done:									\
yann@1
    41
 } while(0)
yann@1
    42
 
yann@1
    43