patches/glibc/2.3.2/glibc-2.3.2-allow-gcc-3.4-nounit.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.
yann@1
     1
Fixes errors like
yann@1
     2
yann@1
     3
# gcc-3.4.0-glibc-2.3.2/build-glibc/csu/crtn.o(.text+0x0):mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/csu/crtn.S:20: multiple definition of `dummy'
yann@1
     4
# gcc-3.4.0-glibc-2.3.2/build-glibc/csu/crti.o(.text+0x0):mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/csu/crti.S:42: first defined here
yann@1
     5
# /gcc-3.4.0-glibc-2.3.2/build-glibc/csu/crti.o(.init+0x28):mipsel-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/csu/crti.S:58: undefined reference to `i_am_not_a_leaf'
yann@1
     6
yann@1
     7
CVSROOT:	/cvs/glibc
yann@1
     8
Module name:	libc
yann@1
     9
Changes by:	aj@sourceware.org	2003-12-02 07:37:29
yann@1
    10
yann@1
    11
Modified files:
yann@1
    12
	.              : configure.in configure config.make.in 
yann@1
    13
	csu            : Makefile 
yann@1
    14
	locale         : Makefile 
yann@1
    15
	linuxthreads   : Makefile 
yann@1
    16
	linuxthreads/sysdeps/unix/sysv/linux/x86_64: Makefile 
yann@1
    17
	nptl           : Makefile 
yann@1
    18
	nptl/sysdeps/unix/sysv/linux/x86_64: Makefile 
yann@1
    19
yann@1
    20
Log message:
yann@1
    21
	* config.make.in (fno-unit-at-a-time): Define.
yann@1
    22
	
yann@1
    23
	* configure.in: Add test for -fno-unit-at-a-time.
yann@1
    24
	Fix text for -fpie.
yann@1
    25
	
yann@1
    26
	* csu/Makefile (CFLAGS-initfini.s): Add $(fno_unit_at_a_time).
yann@1
    27
	* locale/Makefile (CFLAGS-loadlocale.c): Likewise.
yann@1
    28
	
yann@1
    29
	For linuxthreads:
yann@1
    30
	* Makefile (CFLAGS-pt-initfini.s): Add $(fno_unit_at_a_time).
yann@1
    31
	* sysdeps/unix/sysv/linux/x86_64/Makefile (CFLAGS-pt-initfini.s):
yann@1
    32
	Likewise.
yann@1
    33
	
yann@1
    34
	For nptl:
yann@1
    35
	* Makefile (CFLAGS-pt-initfini.s): Add $(fno_unit_at_a_time).
yann@1
    36
	* sysdeps/unix/sysv/linux/x86_64/Makefile (CFLAGS-pt-initfini.s):
yann@1
    37
	Likewise.
yann@1
    38
yann@1
    39
Main glibc change retrieved with
yann@1
    40
wget -O foo.patch 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/config.make.in.diff?r1=1.98&r2=1.99&cvsroot=glibc' \
yann@1
    41
'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/configure.diff?r1=1.393&r2=1.394&cvsroot=glibc' \
yann@1
    42
'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/csu/Makefile.diff?r1=1.71&r2=1.72&cvsroot=glibc' \
yann@1
    43
'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/locale/Makefile.diff?r1=1.71&r2=1.72&cvsroot=glibc'
yann@1
    44
yann@1
    45
and then rediffed against glibc-2.3.2
yann@1
    46
See also ../glibc-linuxthreads-2.3.2/glibc-linuxthreads-2.3.2-allow-3.4.patch
yann@1
    47
yann@1
    48
diff -aur glibc-2.3.2/config.make.in glibc-2.3.2-nounit/config.make.in
yann@1
    49
--- glibc-2.3.2/config.make.in	2002-11-14 14:53:32.000000000 -0800
yann@1
    50
+++ glibc-2.3.2-nounit/config.make.in	2004-05-29 23:19:58.000000000 -0700
yann@1
    51
@@ -50,6 +50,7 @@
yann@1
    52
 old-glibc-headers = @old_glibc_headers@
yann@1
    53
 unwind-find-fde = @libc_cv_gcc_unwind_find_fde@
yann@1
    54
 have-initfini-array = @libc_cv_initfinit_array@
yann@1
    55
+fno-unit-at-a-time = @fno_unit_at_a_time@
yann@1
    56
 
yann@1
    57
 static-libgcc = @libc_cv_gcc_static_libgcc@
yann@1
    58
 
yann@1
    59
diff -aur glibc-2.3.2/configure glibc-2.3.2-nounit/configure
yann@1
    60
--- glibc-2.3.2/configure	2003-02-26 01:20:48.000000000 -0800
yann@1
    61
+++ glibc-2.3.2-nounit/configure	2004-05-30 06:22:31.000000000 -0700
yann@1
    62
@@ -312,7 +312,7 @@
yann@1
    63
 # include <unistd.h>
yann@1
    64
 #endif"
yann@1
    65
 
yann@1
    66
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS with_fp with_cvs oldest_abi subdirs force_install all_warnings build build_cpu build_vendor build_os host host_cpu host_vendor host_os base_machine sysnames INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S PWD_P CC MAKE MSGFMT MAKEINFO SED AUTOCONF CFLAGS LDFLAGS CPPFLAGS ac_ct_CC OBJEXT BUILD_CC cross_compiling CPP AR OBJDUMP RANLIB ac_ct_RANLIB MIG AS LD CCVERSION SYSINCLUDES libc_cv_gcc_static_libgcc BASH libc_cv_have_bash2 KSH libc_cv_have_ksh AWK PERL INSTALL_INFO OLD_DEBIAN_INSTALL_INFO BISON VERSIONING libc_cv_asm_protected_directive libc_cv_initfinit_array libc_cv_z_nodelete libc_cv_z_nodlopen libc_cv_z_initfirst libc_cv_Bgroup libc_cv_z_combreloc libc_cv_have_initfini no_whole_archive exceptions LIBGD EGREP sizeof_long_double libc_cv_gcc_unwind_find_fde uname_sysname uname_release uname_version old_glibc_headers libc_cv_slibdir libc_cv_localedir libc_cv_sysconfdir libc_cv_rootsbindir use_ldconfig ldd_rewrite_script gnu_ld gnu_as elf xcoff static shared pic_default profile omitfp bounded static_nss nopic_initfini DEFINES linux_doors mach_interface_list VERSION RELEASE LIBOBJS LTLIBOBJS'
yann@1
    67
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS with_fp with_cvs oldest_abi subdirs force_install all_warnings build build_cpu build_vendor build_os host host_cpu host_vendor host_os base_machine sysnames INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S PWD_P CC MAKE MSGFMT MAKEINFO SED AUTOCONF CFLAGS LDFLAGS CPPFLAGS ac_ct_CC OBJEXT BUILD_CC cross_compiling CPP AR OBJDUMP RANLIB ac_ct_RANLIB MIG AS LD CCVERSION SYSINCLUDES libc_cv_gcc_static_libgcc BASH libc_cv_have_bash2 KSH libc_cv_have_ksh AWK PERL INSTALL_INFO OLD_DEBIAN_INSTALL_INFO BISON VERSIONING libc_cv_asm_protected_directive libc_cv_initfinit_array libc_cv_z_nodelete libc_cv_z_nodlopen libc_cv_z_initfirst libc_cv_Bgroup libc_cv_z_combreloc fno_unit_at_a_time libc_cv_have_initfini no_whole_archive exceptions LIBGD EGREP sizeof_long_double libc_cv_gcc_unwind_find_fde uname_sysname uname_release uname_version old_glibc_headers libc_cv_slibdir libc_cv_localedir libc_cv_sysconfdir libc_cv_rootsbindir use_ldconfig ldd_rewrite_script gnu_ld gnu_as elf xcoff static shared pic_default profile omitfp bounded static_nss nopic_initfini DEFINES linux_doors mach_interface_list VERSION RELEASE LIBOBJS LTLIBOBJS'
yann@1
    68
 ac_subst_files=''
yann@1
    69
 
yann@1
    70
 # Initialize some variables set by options.
yann@1
    71
@@ -4984,6 +4984,35 @@
yann@1
    72
 fi
yann@1
    73
 
yann@1
    74
 
yann@1
    75
+echo "$as_me:$LINENO: checking for -fno-unit-at-a-time" >&5
yann@1
    76
+echo $ECHO_N "checking for -fno-unit-at-a-time... $ECHO_C" >&6
yann@1
    77
+if test "${libc_cv_fno_unit_at_a_time+set}" = set; then
yann@1
    78
+  echo $ECHO_N "(cached) $ECHO_C" >&6
yann@1
    79
+else
yann@1
    80
+  cat > conftest.c <<EOF
yann@1
    81
+int foo;
yann@1
    82
+EOF
yann@1
    83
+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -S -fno-unit-at-a-time
yann@1
    84
+			    conftest.c 1>&5'
yann@1
    85
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
yann@1
    86
+  (eval $ac_try) 2>&5
yann@1
    87
+  ac_status=$?
yann@1
    88
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
yann@1
    89
+  (exit $ac_status); }; }
yann@1
    90
+then
yann@1
    91
+  libc_cv_fno_unit_at_a_time=yes
yann@1
    92
+else
yann@1
    93
+  libc_cv_fno_unit_at_a_time=no
yann@1
    94
+fi
yann@1
    95
+rm -f conftest*
yann@1
    96
+fi
yann@1
    97
+echo "$as_me:$LINENO: result: $libc_cv_fno_unit_at_a_time" >&5
yann@1
    98
+echo "${ECHO_T}$libc_cv_fno_unit_at_a_time" >&6
yann@1
    99
+if test $libc_cv_fno_unit_at_a_time = yes; then
yann@1
   100
+  fno_unit_at_a_time=-fno-unit-at-a-time
yann@1
   101
+fi
yann@1
   102
+
yann@1
   103
+
yann@1
   104
 if test $elf != yes; then
yann@1
   105
   echo "$as_me:$LINENO: checking for .init and .fini sections" >&5
yann@1
   106
 echo $ECHO_N "checking for .init and .fini sections... $ECHO_C" >&6
yann@1
   107
@@ -7236,6 +7265,7 @@
yann@1
   108
 s,@libc_cv_z_initfirst@,$libc_cv_z_initfirst,;t t
yann@1
   109
 s,@libc_cv_Bgroup@,$libc_cv_Bgroup,;t t
yann@1
   110
 s,@libc_cv_z_combreloc@,$libc_cv_z_combreloc,;t t
yann@1
   111
+s,@fno_unit_at_a_time@,$fno_unit_at_a_time,;t t
yann@1
   112
 s,@libc_cv_have_initfini@,$libc_cv_have_initfini,;t t
yann@1
   113
 s,@no_whole_archive@,$no_whole_archive,;t t
yann@1
   114
 s,@exceptions@,$exceptions,;t t
yann@1
   115
diff -aur glibc-2.3.2/csu/Makefile glibc-2.3.2-nounit/csu/Makefile
yann@1
   116
--- glibc-2.3.2/csu/Makefile	2002-12-31 14:24:37.000000000 -0800
yann@1
   117
+++ glibc-2.3.2-nounit/csu/Makefile	2004-05-29 23:18:27.000000000 -0700
yann@1
   118
@@ -99,7 +99,7 @@
yann@1
   119
 $(objpfx)crt%.o: $(objpfx)crt%.S $(objpfx)defs.h
yann@1
   120
 	$(compile.S) -g0 $(ASFLAGS-.os) -o $@
yann@1
   121
 
yann@1
   122
-CFLAGS-initfini.s = -g0 -fPIC -fno-inline-functions
yann@1
   123
+CFLAGS-initfini.s = -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time)
yann@1
   124
 
yann@1
   125
 vpath initfini.c $(full_config_sysdirs)
yann@1
   126
 
yann@1
   127
diff -aur glibc-2.3.2/locale/Makefile glibc-2.3.2-nounit/locale/Makefile
yann@1
   128
--- glibc-2.3.2/locale/Makefile	2002-10-17 10:05:53.000000000 -0700
yann@1
   129
+++ glibc-2.3.2-nounit/locale/Makefile	2004-05-29 23:18:27.000000000 -0700
yann@1
   130
@@ -100,6 +100,7 @@
yann@1
   131
 CFLAGS-charmap.c = -Wno-write-strings -Wno-char-subscripts
yann@1
   132
 CFLAGS-locfile.c = -Wno-write-strings -Wno-char-subscripts
yann@1
   133
 CFLAGS-charmap-dir.c = -Wno-write-strings
yann@1
   134
+CFLAGS-loadlocale.c = $(fno-unit-at-a-time)
yann@1
   135
 
yann@1
   136
 # This makes sure -DNOT_IN_libc is passed for all these modules.
yann@1
   137
 cpp-srcs-left := $(addsuffix .c,$(localedef-modules) $(localedef-aux) \