Alexandre Julliard : makefiles: When supported, use -Ttext-segment also for the main loader.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Mar 28 09:12:37 CDT 2016
Module: wine
Branch: master
Commit: 36cf292048cdefb65939e6b6fe003b9cf4b79c58
URL: http://source.winehq.org/git/wine.git/?a=commit;h=36cf292048cdefb65939e6b6fe003b9cf4b79c58
Author: Alexandre Julliard <julliard at winehq.org>
Date: Mon Mar 28 16:24:37 2016 +0900
makefiles: When supported, use -Ttext-segment also for the main loader.
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
configure | 52 +++++++++++++++++++++++++++-------------------------
configure.ac | 17 ++++++++++-------
2 files changed, 37 insertions(+), 32 deletions(-)
diff --git a/configure b/configure
index 4d39f05..189198b 100755
--- a/configure
+++ b/configure
@@ -8550,61 +8550,63 @@ fi
case $host_cpu in
*i[3456789]86* | x86_64)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,--section-start,.interp=0x7bf00400" >&5
-$as_echo_n "checking whether the compiler supports -Wl,--section-start,.interp=0x7bf00400... " >&6; }
-if ${ac_cv_cflags__Wl___section_start__interp_0x7bf00400+:} false; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,-Ttext-segment=0x7bc00000" >&5
+$as_echo_n "checking whether the compiler supports -Wl,-Ttext-segment=0x7bc00000... " >&6; }
+if ${ac_cv_cflags__Wl__Ttext_segment_0x7bc00000+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_wine_try_cflags_saved=$CFLAGS
-CFLAGS="$CFLAGS -Wl,--section-start,.interp=0x7bf00400"
+CFLAGS="$CFLAGS -Wl,-Ttext-segment=0x7bc00000"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int main(int argc, char **argv) { return 0; }
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_cflags__Wl___section_start__interp_0x7bf00400=yes
+ ac_cv_cflags__Wl__Ttext_segment_0x7bc00000=yes
else
- ac_cv_cflags__Wl___section_start__interp_0x7bf00400=no
+ ac_cv_cflags__Wl__Ttext_segment_0x7bc00000=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CFLAGS=$ac_wine_try_cflags_saved
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__Wl___section_start__interp_0x7bf00400" >&5
-$as_echo "$ac_cv_cflags__Wl___section_start__interp_0x7bf00400" >&6; }
-if test "x$ac_cv_cflags__Wl___section_start__interp_0x7bf00400" = xyes; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__Wl__Ttext_segment_0x7bc00000" >&5
+$as_echo "$ac_cv_cflags__Wl__Ttext_segment_0x7bc00000" >&6; }
+if test "x$ac_cv_cflags__Wl__Ttext_segment_0x7bc00000" = xyes; then :
case $host_os in
- freebsd* | kfreebsd*-gnu) LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x60000400" ;;
- *) LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x7bf00400" ;;
+ freebsd* | kfreebsd*-gnu) LDEXECFLAGS="$LDEXECFLAGS -Wl,-Ttext-segment=0x60000000" ;;
+ *) LDEXECFLAGS="$LDEXECFLAGS -Wl,-Ttext-segment=0x7bf00000" ;;
esac
-
-fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,-Ttext-segment=0x7bc00000" >&5
-$as_echo_n "checking whether the compiler supports -Wl,-Ttext-segment=0x7bc00000... " >&6; }
-if ${ac_cv_cflags__Wl__Ttext_segment_0x7bc00000+:} false; then :
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,--section-start,.interp=0x7bf00400" >&5
+$as_echo_n "checking whether the compiler supports -Wl,--section-start,.interp=0x7bf00400... " >&6; }
+if ${ac_cv_cflags__Wl___section_start__interp_0x7bf00400+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_wine_try_cflags_saved=$CFLAGS
-CFLAGS="$CFLAGS -Wl,-Ttext-segment=0x7bc00000"
+CFLAGS="$CFLAGS -Wl,--section-start,.interp=0x7bf00400"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int main(int argc, char **argv) { return 0; }
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_cflags__Wl__Ttext_segment_0x7bc00000=yes
+ ac_cv_cflags__Wl___section_start__interp_0x7bf00400=yes
else
- ac_cv_cflags__Wl__Ttext_segment_0x7bc00000=no
+ ac_cv_cflags__Wl___section_start__interp_0x7bf00400=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CFLAGS=$ac_wine_try_cflags_saved
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__Wl__Ttext_segment_0x7bc00000" >&5
-$as_echo "$ac_cv_cflags__Wl__Ttext_segment_0x7bc00000" >&6; }
-if test "x$ac_cv_cflags__Wl__Ttext_segment_0x7bc00000" = xyes; then :
- :
-else
- # Extract the first word of "prelink", so it can be a program name with args.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__Wl___section_start__interp_0x7bf00400" >&5
+$as_echo "$ac_cv_cflags__Wl___section_start__interp_0x7bf00400" >&6; }
+if test "x$ac_cv_cflags__Wl___section_start__interp_0x7bf00400" = xyes; then :
+ case $host_os in
+ freebsd* | kfreebsd*-gnu) LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x60000400" ;;
+ *) LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x7bf00400" ;;
+ esac
+fi
+ # Extract the first word of "prelink", so it can be a program name with args.
set dummy prelink; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
diff --git a/configure.ac b/configure.ac
index ddb28fa..a659b80 100644
--- a/configure.ac
+++ b/configure.ac
@@ -895,14 +895,17 @@ case $host_os in
case $host_cpu in
*i[[3456789]]86* | x86_64)
- WINE_TRY_CFLAGS([-Wl,--section-start,.interp=0x7bf00400],
+ WINE_TRY_CFLAGS([-Wl,-Ttext-segment=0x7bc00000],
[case $host_os in
- freebsd* | kfreebsd*-gnu) LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x60000400" ;;
- *) LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x7bf00400" ;;
- esac
- ])
- WINE_TRY_CFLAGS([-Wl,-Ttext-segment=0x7bc00000],[:],
- [AC_PATH_PROG(PRELINK, prelink, false, [/sbin /usr/sbin $PATH])
+ freebsd* | kfreebsd*-gnu) LDEXECFLAGS="$LDEXECFLAGS -Wl,-Ttext-segment=0x60000000" ;;
+ *) LDEXECFLAGS="$LDEXECFLAGS -Wl,-Ttext-segment=0x7bf00000" ;;
+ esac],
+ [WINE_TRY_CFLAGS([-Wl,--section-start,.interp=0x7bf00400],
+ [case $host_os in
+ freebsd* | kfreebsd*-gnu) LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x60000400" ;;
+ *) LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x7bf00400" ;;
+ esac])
+ AC_PATH_PROG(PRELINK, prelink, false, [/sbin /usr/sbin $PATH])
if test "x$PRELINK" = xfalse
then
WINE_WARNING([prelink not found and linker does not support relocation, base address of core dlls won't be set correctly.])
More information about the wine-cvs
mailing list