patches/glibc/ports-2.10.1/220-section-comments.patch
author Johannes Stezenbach <js@sig21.net>
Thu Jul 29 19:47:16 2010 +0200 (2010-07-29)
changeset 2045 fdaa6c7f6dea
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 http://sources.redhat.com/ml/binutils/2004-04/msg00665.html
     2 
     3 fixes building on some architectures (like m68k/arm/cris/etc...) because
     4 it does the right thing
     5 
     6 diff -durN glibc-2.10.1.orig/include/libc-symbols.h glibc-2.10.1/include/libc-symbols.h
     7 --- glibc-2.10.1.orig/include/libc-symbols.h	2009-03-14 00:51:46.000000000 +0100
     8 +++ glibc-2.10.1/include/libc-symbols.h	2009-11-13 00:50:07.000000000 +0100
     9 @@ -239,12 +239,12 @@
    10  #  define __make_section_unallocated(section_string)
    11  # endif
    12  
    13 -/* Tacking on "\n\t#" to the section name makes gcc put it's bogus
    14 +/* Tacking on "\n#APP\n\t#" to the section name makes gcc put it's bogus
    15     section attributes on what looks like a comment to the assembler.  */
    16  # ifdef HAVE_SECTION_QUOTES
    17 -#  define __sec_comment "\"\n\t#\""
    18 +#  define __sec_comment "\"\n#APP\n\t#\""
    19  # else
    20 -#  define __sec_comment "\n\t#"
    21 +#  define __sec_comment "\n#APP\n\t#"
    22  # endif
    23  # define link_warning(symbol, msg) \
    24    __make_section_unallocated (".gnu.warning." #symbol) \