diff --git a/configure b/configure index 4d39f0528c2..189198bcc3f 100755 --- a/configure +++ b/configure @@ -8550,35 +8550,6 @@ 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_n "(cached) " >&6 -else - ac_wine_try_cflags_saved=$CFLAGS -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___section_start__interp_0x7bf00400=yes -else - 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___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 { $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 : @@ -8602,9 +8573,40 @@ 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 : - : + case $host_os in + freebsd* | kfreebsd*-gnu) LDEXECFLAGS="$LDEXECFLAGS -Wl,-Ttext-segment=0x60000000" ;; + *) LDEXECFLAGS="$LDEXECFLAGS -Wl,-Ttext-segment=0x7bf00000" ;; + esac else - # Extract the first word of "prelink", so it can be a program name with args. + { $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,--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___section_start__interp_0x7bf00400=yes +else + 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___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 ddb28fae4c6..a659b80dfe8 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.])