Use -defsym=_begin=0 instead of linker script munging.

This commit is contained in:
Roland McGrath 2011-06-11 02:04:14 -07:00
parent feea4948bc
commit 4e34ac6a1e
2 changed files with 7 additions and 10 deletions

View File

@ -1,3 +1,8 @@
2011-07-02 Roland McGrath <roland@hack.frob.com>
* elf/Makefile ($(objpfx)ld.so): Use -defsym=_begin=0 instead of
linker script munging.
2011-07-02 Ulrich Drepper <drepper@gmail.com>
* crypt/sha512.h (struct sha512_ctx): Add union to access total also

View File

@ -406,19 +406,11 @@ generated += librtld.map librtld.mk rtld-libc.a librtld.os.map
z-now-yes = -Wl,-z,now
$(objpfx)ld.so: $(objpfx)librtld.os $(ld-map)
@rm -f $@.lds
$(LINK.o) -nostdlib -nostartfiles -shared $(z-now-$(bind-now)) \
$(LDFLAGS-rtld) -Wl,-z,defs -Wl,--verbose 2>&1 | \
LC_ALL=C \
sed -e '/^=========/,/^=========/!d;/^=========/d' \
-e 's/\. = .* + SIZEOF_HEADERS;/& _begin = . - SIZEOF_HEADERS;/' \
> $@.lds
test -s $@.lds
$(LINK.o) -nostdlib -nostartfiles -shared -o $@ \
$(LDFLAGS-rtld) -Wl,-z,defs $(z-now-$(bind-now)) \
$(filter-out $(map-file),$^) $(load-map-file) \
-Wl,-soname=$(rtld-installed-name) -T $@.lds
rm -f $@.lds
-Wl,-soname=$(rtld-installed-name) \
-Wl,-defsym=_begin=0
readelf -s $@ \
| $(AWK) '($$7 ~ /^UND(|EF)$$/ && $$1 != "0:" && $$4 != "REGISTER") { print; p=1 } END { exit p != 0 }'