patches/glibc/2.7/300-binutils-_begin.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun May 03 09:50:16 2009 +0000 (2009-05-03)
branchnewlib
changeset 1366 5e5d1e6f55d3
permissions -rw-r--r--
Update the newlib devel branch with stuff from /trunk@1498.

-------- diffstat follows --------
/devel/newlib/configure | 336 176 160 0 +++++++------
/devel/newlib/Makefile.in | 12 3 9 0 -
/devel/newlib/scripts/build/kernel/linux.sh | 2 1 1 0
/devel/newlib/scripts/build/internals.sh | 1 0 1 0 -
/devel/newlib/scripts/build/libc/eglibc.sh | 1 0 1 0 -
/devel/newlib/scripts/build/mpfr.sh | 2 1 1 0
/devel/newlib/scripts/functions | 111 5 106 0 ----
/devel/newlib/scripts/config.guess | 7 5 2 0 +
/devel/newlib/scripts/config.sub | 3 2 1 0 +
/devel/newlib/scripts/saveSample.sh.in | 4 2 2 0
/devel/newlib/docs/overview.txt | 8 6 2 0 +
/devel/newlib/samples/armeb-unknown-linux-uclibc/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/sh4-unknown-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/x86_64-unknown-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/arm-unknown-elf/crosstool.config | 12 3 9 0 -
/devel/newlib/samples/armeb-unknown-eabi/crosstool.config | 2 0 2 0 -
/devel/newlib/samples/arm-unknown-linux-gnueabi/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/ia64-unknown-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/x86_64-unknown-linux-uclibc/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/armeb-unknown-linux-gnueabi/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/powerpc-e500v2-linux-gnuspe/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/i686-nptl-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/arm-unknown-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/powerpc-unknown-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/mips-unknown-linux-uclibc/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/arm-unknown-linux-uclibcgnueabi/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/arm-iphone-linux-gnueabi/crosstool.config | 8 4 4 0
/devel/newlib/samples/armeb-unknown-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/i586-geode-linux-uclibc/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/arm-unknown-linux-uclibc/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/powerpc-unknown-linux-uclibc/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/mips-unknown-elf/crosstool.config | 2 0 2 0 -
/devel/newlib/samples/powerpc-405-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/arm-unknown-eabi/crosstool.config | 12 3 9 0 -
/devel/newlib/samples/mipsel-unknown-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/powerpc64-unknown-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/alphaev56-unknown-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/samples/powerpc-860-linux-gnu/crosstool.config | 14 5 9 0 -
/devel/newlib/config/kernel/linux.in | 108 2 106 0 ----
/devel/newlib/config/global/ct-behave.in | 22 13 9 0 +
/devel/newlib/config/global/download.in | 210 15 195 0 +-------
/devel/newlib/config/libc/glibc.in | 7 7 0 0 +
/devel/newlib/config/libc/glibc-eglibc.in-common | 15 14 1 0 +
45 files changed, 382 insertions(+), 839 deletions(-)
yann@1310
     1
--- glibc-2.7.OLD/elf/Makefile	2009-04-22 17:08:55.000000000 +0300
yann@1310
     2
+++ glibc-2.7/elf/Makefile	2009-04-22 18:09:18.000000000 +0300
yann@1310
     3
@@ -1,4 +1,4 @@
yann@1310
     4
-# Copyright (C) 1995-2004, 2005, 2006, 2007 Free Software Foundation, Inc.
yann@1310
     5
+# Copyright (C) 1995-2007, 2008, 2009 Free Software Foundation, Inc.
yann@1310
     6
 # This file is part of the GNU C Library.
yann@1310
     7
 
yann@1310
     8
 # The GNU C Library is free software; you can redistribute it and/or
yann@1310
     9
@@ -23,7 +23,7 @@
yann@1310
    10
 headers		= elf.h bits/elfclass.h link.h bits/link.h
yann@1310
    11
 routines	= $(dl-routines) dl-support dl-iteratephdr \
yann@1310
    12
 		  dl-addr enbl-secure dl-profstub \
yann@1310
    13
-		  dl-origin dl-libc dl-sym dl-tsd
yann@1310
    14
+		  dl-origin dl-libc dl-sym dl-tsd dl-sysdep
yann@1310
    15
 
yann@1310
    16
 # The core dynamic linking functions are in libc for the static and
yann@1310
    17
 # profiled libraries.
yann@1310
    18
@@ -33,7 +33,8 @@
yann@1310
    19
 				  execstack caller open close trampoline)
yann@1310
    20
 all-dl-routines = $(dl-routines) $(sysdep-dl-routines)
yann@1310
    21
 # But they are absent from the shared libc, because that code is in ld.so.
yann@1310
    22
-elide-routines.os = $(all-dl-routines) dl-support enbl-secure dl-origin
yann@1310
    23
+elide-routines.os = $(all-dl-routines) dl-support enbl-secure dl-origin \
yann@1310
    24
+		    dl-sysdep
yann@1310
    25
 shared-only-routines += dl-caller
yann@1310
    26
 
yann@1310
    27
 # ld.so uses those routines, plus some special stuff for being the program
yann@1310
    28
@@ -120,13 +121,6 @@
yann@1310
    29
 install-bin-script = ldd
yann@1310
    30
 endif
yann@1310
    31
 
yann@1310
    32
-ifeq (yes,$(build-static-nss))
yann@1310
    33
-nssobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)nss)
yann@1310
    34
-resolvobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)resolv)
yann@1310
    35
-otherlibs += $(nssobjdir)/libnss_files.a $(resolvobjdir)/libnss_dns.a \
yann@1310
    36
-	     $(resolvobjdir)/libresolv.a
yann@1310
    37
-endif
yann@1310
    38
-
yann@1310
    39
 others		= sprof sln
yann@1310
    40
 install-bin	= sprof
yann@1310
    41
 others-static   = sln
yann@1310
    42
@@ -165,14 +159,14 @@
yann@1310
    43
 endif
yann@1310
    44
 ifeq (yes,$(build-shared))
yann@1310
    45
 tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \
yann@1310
    46
-	 constload1 order $(tests-vis-$(have-protected)) noload filter unload \
yann@1310
    47
+	 constload1 order vismain noload filter unload \
yann@1310
    48
 	 reldep reldep2 reldep3 reldep4 nodelete nodelete2 \
yann@1310
    49
 	 nodlopen nodlopen2 neededtest neededtest2 \
yann@1310
    50
 	 neededtest3 neededtest4 unload2 lateglobal initfirst global \
yann@1310
    51
 	 restest2 next dblload dblunload reldep5 reldep6 reldep7 reldep8 \
yann@1310
    52
 	 circleload1 tst-tls3 tst-tls4 tst-tls5 tst-tls6 tst-tls7 tst-tls8 \
yann@1310
    53
 	 tst-tls10 tst-tls11 tst-tls12 tst-tls13 tst-tls14 tst-tls15 \
yann@1310
    54
-	 tst-tls-dlinfo \
yann@1310
    55
+	 tst-tls16 tst-tls17 tst-tls18 tst-tls-dlinfo \
yann@1310
    56
 	 tst-align tst-align2 $(tests-execstack-$(have-z-execstack)) \
yann@1310
    57
 	 tst-dlmodcount tst-dlopenrpath tst-deep1 \
yann@1310
    58
 	 tst-dlmopen1 tst-dlmopen2 tst-dlmopen3 \
yann@1310
    59
@@ -181,16 +175,17 @@
yann@1310
    60
 	 tst-stackguard1 tst-addr1 tst-thrlock
yann@1310
    61
 #	 reldep9
yann@1310
    62
 test-srcs = tst-pathopt
yann@1310
    63
-tests-vis-yes = vismain
yann@1310
    64
 tests-execstack-yes = tst-execstack tst-execstack-needed tst-execstack-prog
yann@1310
    65
 endif
yann@1310
    66
 ifeq (yesyes,$(have-fpie)$(build-shared))
yann@1310
    67
 tests: $(objpfx)tst-pie1.out
yann@1310
    68
 endif
yann@1310
    69
 tests: $(objpfx)tst-leaks1-mem
yann@1310
    70
+tlsmod17a-suffixes = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
yann@1310
    71
+tlsmod18a-suffixes = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
yann@1310
    72
 modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
yann@1310
    73
 		testobj1_1 failobj constload2 constload3 unloadmod \
yann@1310
    74
-		dep1 dep2 dep3 dep4 $(modules-vis-$(have-protected)) \
yann@1310
    75
+		dep1 dep2 dep3 dep4 vismod1 vismod2 vismod3 \
yann@1310
    76
 		nodelmod1 nodelmod2 nodelmod3 nodelmod4 \
yann@1310
    77
 		nodel2mod1 nodel2mod2 nodel2mod3 \
yann@1310
    78
 		nodlopenmod nodlopenmod2 filtmod1 filtmod2 \
yann@1310
    79
@@ -206,7 +201,10 @@
yann@1310
    80
 		tst-tlsmod5 tst-tlsmod6 tst-tlsmod7 tst-tlsmod8 \
yann@1310
    81
 		tst-tlsmod9 tst-tlsmod10 tst-tlsmod11 tst-tlsmod12 \
yann@1310
    82
 		tst-tlsmod13 tst-tlsmod13a tst-tlsmod14a tst-tlsmod14b \
yann@1310
    83
-		tst-tlsmod15a tst-tlsmod15b \
yann@1310
    84
+		tst-tlsmod15a tst-tlsmod15b tst-tlsmod16a tst-tlsmod16b \
yann@1310
    85
+		$(patsubst %,tst-tlsmod17a%,$(tlsmod17a-suffixes)) \
yann@1310
    86
+		tst-tlsmod17b \
yann@1310
    87
+		$(patsubst %,tst-tlsmod18a%,$(tlsmod18a-suffixes)) \
yann@1310
    88
 		circlemod1 circlemod1a circlemod2 circlemod2a \
yann@1310
    89
 		circlemod3 circlemod3a \
yann@1310
    90
 		reldep8mod1 reldep8mod2 reldep8mod3 \
yann@1310
    91
@@ -226,7 +224,6 @@
yann@1310
    92
 ifeq (yesyes,$(have-fpie)$(build-shared))
yann@1310
    93
 modules-names += tst-piemod1
yann@1310
    94
 endif
yann@1310
    95
-modules-vis-yes = vismod1 vismod2 vismod3
yann@1310
    96
 modules-execstack-yes = tst-execstack-mod
yann@1310
    97
 extra-test-objs += $(addsuffix .os,$(strip $(modules-names)))
yann@1310
    98
 # We need this variable to be sure the test modules get the right CPPFLAGS.
yann@1310
    99
@@ -307,7 +304,7 @@
yann@1310
   100
 		  $(LDFLAGS-rtld) -Wl,-z,defs -Wl,--verbose 2>&1 |	\
yann@1310
   101
 		  LC_ALL=C \
yann@1310
   102
 		  sed -e '/^=========/,/^=========/!d;/^=========/d'	\
yann@1310
   103
-		      -e 's/\. = 0 + SIZEOF_HEADERS;/& _begin = . - SIZEOF_HEADERS;/' \
yann@1310
   104
+		      -e 's/\. = .* + SIZEOF_HEADERS;/& _begin = . - SIZEOF_HEADERS;/' \
yann@1310
   105
 		  > $@.lds
yann@1310
   106
 	$(LINK.o) -nostdlib -nostartfiles -shared -o $@			\
yann@1310
   107
 		  $(LDFLAGS-rtld) -Wl,-z,defs $(z-now-$(bind-now))	\
yann@1310
   108
@@ -315,7 +312,7 @@
yann@1310
   109
 		  -Wl,-soname=$(rtld-installed-name) -T $@.lds
yann@1310
   110
 	rm -f $@.lds
yann@1310
   111
 	readelf -s $@ \
yann@1310
   112
-	  | awk '($$7 ~ /^UND(|EF)$$/ && $$1 != "0:" && $$4 != "REGISTER") { print; p=1 } END { exit p != 0 }'
yann@1310
   113
+	  | $(AWK) '($$7 ~ /^UND(|EF)$$/ && $$1 != "0:" && $$4 != "REGISTER") { print; p=1 } END { exit p != 0 }'
yann@1310
   114
 
yann@1310
   115
 # interp.c exists just to get this string into the libraries.
yann@1310
   116
 CFLAGS-interp.c = -D'RUNTIME_LINKER="$(slibdir)/$(rtld-installed-name)"' \
yann@1310
   117
@@ -499,6 +496,7 @@
yann@1310
   118
 tst-tlsmod14a.so-no-z-defs = yes
yann@1310
   119
 tst-tlsmod14b.so-no-z-defs = yes
yann@1310
   120
 tst-tlsmod15a.so-no-z-defs = yes
yann@1310
   121
+tst-tlsmod16b.so-no-z-defs = yes
yann@1310
   122
 circlemod2.so-no-z-defs = yes
yann@1310
   123
 circlemod3.so-no-z-defs = yes
yann@1310
   124
 circlemod3a.so-no-z-defs = yes
yann@1310
   125
@@ -718,6 +716,22 @@
yann@1310
   126
 
yann@1310
   127
 
yann@1310
   128
 
yann@1310
   129
+$(objpfx)tst-tls16: $(libdl)
yann@1310
   130
+$(objpfx)tst-tls16.out: $(objpfx)tst-tlsmod16a.so $(objpfx)tst-tlsmod16b.so
yann@1310
   131
+
yann@1310
   132
+$(objpfx)tst-tls17: $(libdl)
yann@1310
   133
+$(objpfx)tst-tls17.out: $(objpfx)tst-tlsmod17b.so
yann@1310
   134
+$(patsubst %,$(objpfx)tst-tlsmod17a%.os,$(tlsmod17a-suffixes)): $(objpfx)tst-tlsmod17a%.os : tst-tlsmod17a.c
yann@1310
   135
+	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ -DN=$* -DNOT_IN_libc=1 $<
yann@1310
   136
+$(patsubst %,$(objpfx)tst-tlsmod17a%.so,$(tlsmod17a-suffixes)): $(objpfx)tst-tlsmod17a%.so: $(objpfx)ld.so
yann@1310
   137
+$(objpfx)tst-tlsmod17b.so: $(patsubst %,$(objpfx)tst-tlsmod17a%.so,$(tlsmod17a-suffixes))
yann@1310
   138
+
yann@1310
   139
+$(objpfx)tst-tls18: $(libdl)
yann@1310
   140
+$(objpfx)tst-tls18.out: $(patsubst %,$(objpfx)tst-tlsmod18a%.so,$(tlsmod18a-suffixes))
yann@1310
   141
+$(patsubst %,$(objpfx)tst-tlsmod18a%.os,$(tlsmod18a-suffixes)): $(objpfx)tst-tlsmod18a%.os : tst-tlsmod18a.c
yann@1310
   142
+	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ -DN=$* -DNOT_IN_libc=1 $<
yann@1310
   143
+$(patsubst %,$(objpfx)tst-tlsmod18a%.so,$(tlsmod18a-suffixes)): $(objpfx)tst-tlsmod18a%.so: $(objpfx)ld.so
yann@1310
   144
+
yann@1310
   145
 CFLAGS-tst-align.c = $(stack-align-test-flags)
yann@1310
   146
 CFLAGS-tst-align2.c = $(stack-align-test-flags)
yann@1310
   147
 CFLAGS-tst-alignmod.c = $(stack-align-test-flags)
yann@1310
   148
@@ -804,7 +818,7 @@
yann@1310
   149
 	cmp $@ tst-array5-static.exp > /dev/null
yann@1310
   150
 
yann@1310
   151
 ifeq (yesyes,$(have-fpie)$(build-shared))
yann@1310
   152
-CFLAGS-tst-pie1.c += -fpie
yann@1310
   153
+CFLAGS-tst-pie1.c += $(pie-ccflag)
yann@1310
   154
 
yann@1310
   155
 $(objpfx)tst-pie1.out: $(objpfx)tst-pie1
yann@1310
   156
 	$(elf-objpfx)$(rtld-installed-name) \
yann@1310
   157
@@ -845,10 +859,14 @@
yann@1310
   158
 $(objpfx)tst-dlmodcount.out: $(test-modules)
yann@1310
   159
 
yann@1310
   160
 check-data := $(firstword $(wildcard \
yann@1310
   161
-	        $(patsubst %,../scripts/data/localplt-%.data,\
yann@1310
   162
-			   $(addsuffix -$(config-os),\
yann@1310
   163
-			   	       $(config-machine) $(base-machine))\
yann@1310
   164
-			   generic)))
yann@1310
   165
+	        $(foreach D,$(add-ons) scripts,\
yann@1310
   166
+	        	  $(patsubst %,$(..)$D/data/localplt-%.data,\
yann@1310
   167
+			   	     $(abi-name) \
yann@1310
   168
+			   	     $(addsuffix -$(config-os),\
yann@1310
   169
+				     		 $(config-machine) \
yann@1310
   170
+						 $(base-machine)) \
yann@1310
   171
+			   generic))))
yann@1310
   172
+
yann@1310
   173
 tests: $(objpfx)check-localplt.out
yann@1310
   174
 
yann@1310
   175
 ifeq ($(have-thread-library),yes)
yann@1310
   176
@@ -857,9 +875,11 @@
yann@1310
   177
 
yann@1310
   178
 $(objpfx)check-localplt.out: $(objpfx)check-localplt \
yann@1310
   179
 			     $(common-objpfx)libc.so \
yann@1310
   180
- 		    	     $(common-objpfx)math/libm.so $(thread-dso) \
yann@1310
   181
- 		    	     $(common-objpfx)rt/librt.so \
yann@1310
   182
- 		    	     $(common-objpfx)dlfcn/libdl.so \
yann@1310
   183
+		    	     $(common-objpfx)math/libm.so $(thread-dso) \
yann@1310
   184
+		    	     $(common-objpfx)rt/librt.so \
yann@1310
   185
+		    	     $(common-objpfx)dlfcn/libdl.so \
yann@1310
   186
+			     $(common-objpfx)resolv/libresolv.so \
yann@1310
   187
+			     $(common-objpfx)crypt/libcrypt.so \
yann@1310
   188
 			     $(check-data)
yann@1310
   189
 	$(dir $<)$(notdir $<) $(filter-out $< $(check-data),$^) | \
yann@1310
   190
 	  LC_ALL=C sort | \