patches/glibc/2.3.6/250-weakalias.patch
author Johannes Stezenbach <js@sig21.net>
Thu Jul 29 19:47:16 2010 +0200 (2010-07-29)
changeset 2045 fdaa6c7f6dea
parent 402 197e1b49586e
permissions -rw-r--r--
cc/gcc: add option to compile against static libstdc++, for gcc-4.4 and newer

Idea and know-how taken from CodeSourcery build script.

Normal build:
$ ldd arm-unknown-linux-uclibcgnueabi-gcc
linux-gate.so.1 => (0xb77f3000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb76e8000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb75a1000)
libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb757a000)
/lib/ld-linux.so.2 (0xb77f4000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb755c000)

CC_STATIC_LIBSTDCXX=y:
$ ldd arm-unknown-linux-uclibcgnueabi-gcc
linux-gate.so.1 => (0xb7843000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb76e6000)
/lib/ld-linux.so.2 (0xb7844000)

I made CC_STATIC_LIBSTDCXX default=y since I think
it is always desirable.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
     1 This one was taken from debian.
     2 
     3 # DP: Description: Fix __bind redefinition problem
     4 # DP: Related bugs: 
     5 # DP: Dpatch author: Phil Blundell
     6 # DP: Patch author: Daniel Jacobowitz
     7 # DP: Upstream status: In CVS
     8 # DP: Status Details:
     9 # DP: Date: 2005-12-25
    10 
    11 Index: sysdeps/unix/sysv/linux/arm/socket.S
    12 ===================================================================
    13 RCS file: /cvs/glibc/ports/sysdeps/unix/sysv/linux/arm/socket.S,v
    14 retrieving revision 1.12
    15 retrieving revision 1.13
    16 diff -u -r1.12 -r1.13
    17 --- glibc-2.3.6.ds1.orig/sysdeps/unix/sysv/linux/arm/socket.S	4 Dec 2004 21:20:16 -0000	1.12
    18 +++ glibc-2.3.6.ds1/sysdeps/unix/sysv/linux/arm/socket.S	27 Oct 2005 18:50:12 -0000	1.13
    19 @@ -1,4 +1,6 @@
    20 -/* Copyright (C) 1995, 1996, 1997, 1998, 2003 Free Software Foundation, Inc.
    21 +/* Copyright (C) 1995, 1996, 1997, 1998, 2003, 2004, 2005
    22 +   Free Software Foundation, Inc.
    23 +
    24     This file is part of the GNU C Library.
    25  
    26     The GNU C Library is free software; you can redistribute it and/or
    27 @@ -32,7 +34,11 @@
    28     The .S files for the other calls just #define socket and #include this.  */
    29  
    30  #ifndef __socket
    31 +#ifndef NO_WEAK_ALIAS
    32  #define __socket P(__,socket)
    33 +#else
    34 +#define __socket socket
    35 +#endif
    36  #endif
    37  
    38  #define PUSHARGS_1	str a1, [sp, $-4]!
    39 @@ -120,4 +126,6 @@
    40  
    41  PSEUDO_END (__socket)
    42  
    43 +#ifndef NO_WEAK_ALIAS
    44  weak_alias (__socket, socket)
    45 +#endif