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