aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac33
-rw-r--r--etc/PROBLEMS12
2 files changed, 45 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index bfd9d5d177c..3a610909026 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1336,6 +1336,37 @@ else
1336 ac_link="$ac_link $NON_GCC_LINK_TEST_OPTIONS" 1336 ac_link="$ac_link $NON_GCC_LINK_TEST_OPTIONS"
1337fi 1337fi
1338 1338
1339dnl On some platforms using GNU ld, linking temacs needs -znocombreloc.
1340dnl Although this has something to do with dumping, the details are unknown.
1341dnl If the flag is used but not needed,
1342dnl Emacs should still work (albeit a bit more slowly),
1343dnl so use the flag everywhere that it is supported.
1344dnl When testing whether the flag works, treat GCC specially
1345dnl since it just gives a non-fatal 'unrecognized option'
1346dnl if not built to support GNU ld.
1347if test "$GCC" = yes; then
1348 LDFLAGS_NOCOMBRELOC="-Wl,-znocombreloc"
1349else
1350 LDFLAGS_NOCOMBRELOC="-znocombreloc"
1351fi
1352
1353AC_CACHE_CHECK([for -znocombreloc], [emacs_cv_znocombreloc],
1354 [if test "$CANNOT_DUMP" = "yes"; then
1355 emacs_cv_znocombreloc='not needed'
1356 else
1357 save_LDFLAGS=$LDFLAGS
1358 LDFLAGS="$LDFLAGS $LDFLAGS_NOCOMBRELOC"
1359 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
1360 [emacs_cv_znocombreloc=yes], [emacs_cv_znocombreloc=no])
1361 LDFLAGS=$save_LDFLAGS
1362 fi])
1363
1364case $emacs_cv_znocombreloc in
1365 no*)
1366 LDFLAGS_NOCOMBRELOC= ;;
1367esac
1368
1369
1339AC_CACHE_CHECK([whether addresses are sanitized], 1370AC_CACHE_CHECK([whether addresses are sanitized],
1340 [emacs_cv_sanitize_address], 1371 [emacs_cv_sanitize_address],
1341 [AC_COMPILE_IFELSE( 1372 [AC_COMPILE_IFELSE(
@@ -5346,6 +5377,8 @@ if test x$ac_enable_profiling != x ; then
5346 esac 5377 esac
5347fi 5378fi
5348 5379
5380LD_SWITCH_SYSTEM_TEMACS="$LDFLAGS_NOCOMBRELOC $LD_SWITCH_SYSTEM_TEMACS"
5381
5349AC_SUBST(LD_SWITCH_SYSTEM_TEMACS) 5382AC_SUBST(LD_SWITCH_SYSTEM_TEMACS)
5350 5383
5351## Common for all window systems 5384## Common for all window systems
diff --git a/etc/PROBLEMS b/etc/PROBLEMS
index eba3420fcb8..6805e8733d5 100644
--- a/etc/PROBLEMS
+++ b/etc/PROBLEMS
@@ -192,6 +192,18 @@ Upgrading to a newer version of Exceed has been reported to prevent
192these crashes. You should consider switching to a free X server, such 192these crashes. You should consider switching to a free X server, such
193as Xming or Cygwin/X. 193as Xming or Cygwin/X.
194 194
195** Emacs crashes with SIGSEGV in XtInitializeWidgetClass.
196
197It crashes on X, but runs fine when called with option "-nw".
198
199This has been observed when Emacs is linked with GNU ld but without passing
200the -z nocombreloc flag. Emacs normally knows to pass the -z nocombreloc
201flag when needed, so if you come across a situation where the flag is
202necessary but missing, please report it via M-x report-emacs-bug.
203
204On platforms such as Solaris, you can also work around this problem by
205configuring your compiler to use the native linker instead of GNU ld.
206
195** When Emacs is compiled with Gtk+, closing a display kills Emacs. 207** When Emacs is compiled with Gtk+, closing a display kills Emacs.
196 208
197There is a long-standing bug in GTK that prevents it from recovering 209There is a long-standing bug in GTK that prevents it from recovering