Add HOSTING_SCRT0 for PIE test
ld/ * Makefile.am (HOSTING_SCRT0): New. * configure.host (HOSTING_SCRT0): New. Used for PIE. * configure.in (HOSTING_SCRT0): New AC_SUBST. * Makefile.in: Regenerated. * configure: Likewise. ld/testsuite/ * config/default.exp (get_target_emul): Also set HOSTING_SCRT0. * lib/ld-lib.exp (default_ld_link): Use HOSTING_SCRT0 for -pie.
This commit is contained in:
parent
44fc9657c5
commit
6738cadcc7
9 changed files with 39 additions and 5 deletions
11
ld/ChangeLog
11
ld/ChangeLog
|
@ -1,3 +1,14 @@
|
|||
2013-01-19 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* Makefile.am (HOSTING_SCRT0): New.
|
||||
|
||||
* configure.host (HOSTING_SCRT0): New. Used for PIE.
|
||||
|
||||
* configure.in (HOSTING_SCRT0): New AC_SUBST.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
* configure: Likewise.
|
||||
|
||||
2013-01-18 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* NEWS: Mention change in behavior with --enable-new-dtags.
|
||||
|
|
|
@ -86,6 +86,7 @@ POD2MAN = pod2man --center="GNU Development Tools" \
|
|||
|
||||
#stuff for self hosting (can be overridden in config file).
|
||||
HOSTING_CRT0 = @HOSTING_CRT0@
|
||||
HOSTING_SCRT0 = @HOSTING_SCRT0@
|
||||
HOSTING_LIBS = @HOSTING_LIBS@
|
||||
HOSTING_EMU = -m $(EMUL)
|
||||
|
||||
|
|
|
@ -230,6 +230,7 @@ HDEFINES = @HDEFINES@
|
|||
#stuff for self hosting (can be overridden in config file).
|
||||
HOSTING_CRT0 = @HOSTING_CRT0@
|
||||
HOSTING_LIBS = @HOSTING_LIBS@
|
||||
HOSTING_SCRT0 = @HOSTING_SCRT0@
|
||||
INCINTL = @INCINTL@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
|
|
6
ld/configure
vendored
6
ld/configure
vendored
|
@ -614,6 +614,7 @@ ENABLE_PLUGINS_FALSE
|
|||
ENABLE_PLUGINS_TRUE
|
||||
NATIVE_LIB_DIRS
|
||||
HOSTING_LIBS
|
||||
HOSTING_SCRT0
|
||||
HOSTING_CRT0
|
||||
HDEFINES
|
||||
do_compare
|
||||
|
@ -12185,7 +12186,7 @@ else
|
|||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 12188 "configure"
|
||||
#line 12189 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
|
@ -12291,7 +12292,7 @@ else
|
|||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 12294 "configure"
|
||||
#line 12295 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
|
@ -16200,6 +16201,7 @@ do_compare="$gcc_cv_prog_cmp_skip"
|
|||
|
||||
|
||||
|
||||
|
||||
for ac_header in string.h strings.h stdlib.h unistd.h elf-hints.h limits.h locale.h sys/param.h
|
||||
do :
|
||||
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
||||
|
|
|
@ -56,6 +56,7 @@ case "${host}" in
|
|||
|
||||
*-*-linux*)
|
||||
HOSTING_CRT0='-dynamic-linker `${CC} --help --verbose 2>&1 | egrep "ld[^ ]*\.so" | sed -e "s,.*-dynamic-linker[ ][ ]*\(.*/ld[^ ]*\.so..\).*,\1,"` `${CC} --print-file-name=crt1.o` `${CC} --print-file-name=crti.o` `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else ${CC} --print-file-name=crtbegin.o; fi`'
|
||||
HOSTING_SCRT0='-dynamic-linker `${CC} --help --verbose 2>&1 | egrep "ld[^ ]*\.so" | sed -e "s,.*-dynamic-linker[ ][ ]*\(.*/ld[^ ]*\.so..\).*,\1,"` `${CC} --print-file-name=Scrt1.o` `${CC} --print-file-name=crti.o` `if [ -f ../gcc/crtbeginS.o ]; then echo ../gcc/crtbeginS.o; else ${CC} --print-file-name=crtbeginS.o; fi`'
|
||||
HOSTING_LIBS='-L`dirname \`${CC} --print-file-name=libc.so\`` '"$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` `${CC} --print-file-name=crtn.o`'
|
||||
;;
|
||||
|
||||
|
@ -242,3 +243,9 @@ alpha*-*-*)
|
|||
;;
|
||||
|
||||
esac
|
||||
|
||||
# Provide default HOSTING_SCRT0. Each host should define a proper one
|
||||
# if needed.
|
||||
if test -z "$HOSTING_SCRT0"; then
|
||||
HOSTING_SCRT0="$HOSTING_CRT0"
|
||||
fi
|
||||
|
|
|
@ -185,6 +185,7 @@ ACX_PROG_CMP_IGNORE_INITIAL
|
|||
|
||||
AC_SUBST(HDEFINES)
|
||||
AC_SUBST(HOSTING_CRT0)
|
||||
AC_SUBST(HOSTING_SCRT0)
|
||||
AC_SUBST(HOSTING_LIBS)
|
||||
AC_SUBST(NATIVE_LIB_DIRS)
|
||||
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
2013-01-19 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* config/default.exp (get_target_emul): Also set HOSTING_SCRT0.
|
||||
|
||||
* lib/ld-lib.exp (default_ld_link): Use HOSTING_SCRT0 for -pie.
|
||||
|
||||
2013-01-18 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* ld-size/size-10.rd: Updated.
|
||||
|
|
|
@ -139,11 +139,11 @@ proc get_target_emul {} {
|
|||
}
|
||||
|
||||
if [isnative] {
|
||||
foreach x {HOSTING_CRT0 HOSTING_LIBS} {
|
||||
foreach x {HOSTING_CRT0 HOSTING_SCRT0 HOSTING_LIBS} {
|
||||
get_link_files $x
|
||||
}
|
||||
} else {
|
||||
foreach x {HOSTING_CRT0 HOSTING_LIBS} { set $x "" }
|
||||
foreach x {HOSTING_CRT0 HOSTING_SCRT0 HOSTING_LIBS} { set $x "" }
|
||||
}
|
||||
if ![info exists HOSTING_EMU] { set HOSTING_EMU "-m [get_target_emul]" }
|
||||
|
||||
|
|
|
@ -179,13 +179,18 @@ proc big_or_little_endian {} {
|
|||
proc default_ld_link { ld target objects } {
|
||||
global HOSTING_EMU
|
||||
global HOSTING_CRT0
|
||||
global HOSTING_SCRT0
|
||||
global HOSTING_LIBS
|
||||
global LIBS
|
||||
global host_triplet
|
||||
global link_output
|
||||
global exec_output
|
||||
|
||||
set objs "$HOSTING_CRT0 $objects"
|
||||
if { [ string match "* -pie *" $objects ] } {
|
||||
set objs "$HOSTING_SCRT0 $objects"
|
||||
} else {
|
||||
set objs "$HOSTING_CRT0 $objects"
|
||||
}
|
||||
set libs "$LIBS $HOSTING_LIBS"
|
||||
|
||||
if [is_endian_output_format $objects] then {
|
||||
|
|
Loading…
Reference in a new issue