diff options
| -rw-r--r-- | configure.ac | 33 | ||||
| -rw-r--r-- | etc/PROBLEMS | 12 |
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" |
| 1337 | fi | 1337 | fi |
| 1338 | 1338 | ||
| 1339 | dnl On some platforms using GNU ld, linking temacs needs -znocombreloc. | ||
| 1340 | dnl Although this has something to do with dumping, the details are unknown. | ||
| 1341 | dnl If the flag is used but not needed, | ||
| 1342 | dnl Emacs should still work (albeit a bit more slowly), | ||
| 1343 | dnl so use the flag everywhere that it is supported. | ||
| 1344 | dnl When testing whether the flag works, treat GCC specially | ||
| 1345 | dnl since it just gives a non-fatal 'unrecognized option' | ||
| 1346 | dnl if not built to support GNU ld. | ||
| 1347 | if test "$GCC" = yes; then | ||
| 1348 | LDFLAGS_NOCOMBRELOC="-Wl,-znocombreloc" | ||
| 1349 | else | ||
| 1350 | LDFLAGS_NOCOMBRELOC="-znocombreloc" | ||
| 1351 | fi | ||
| 1352 | |||
| 1353 | AC_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 | |||
| 1364 | case $emacs_cv_znocombreloc in | ||
| 1365 | no*) | ||
| 1366 | LDFLAGS_NOCOMBRELOC= ;; | ||
| 1367 | esac | ||
| 1368 | |||
| 1369 | |||
| 1339 | AC_CACHE_CHECK([whether addresses are sanitized], | 1370 | AC_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 |
| 5347 | fi | 5378 | fi |
| 5348 | 5379 | ||
| 5380 | LD_SWITCH_SYSTEM_TEMACS="$LDFLAGS_NOCOMBRELOC $LD_SWITCH_SYSTEM_TEMACS" | ||
| 5381 | |||
| 5349 | AC_SUBST(LD_SWITCH_SYSTEM_TEMACS) | 5382 | AC_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 | |||
| 192 | these crashes. You should consider switching to a free X server, such | 192 | these crashes. You should consider switching to a free X server, such |
| 193 | as Xming or Cygwin/X. | 193 | as Xming or Cygwin/X. |
| 194 | 194 | ||
| 195 | ** Emacs crashes with SIGSEGV in XtInitializeWidgetClass. | ||
| 196 | |||
| 197 | It crashes on X, but runs fine when called with option "-nw". | ||
| 198 | |||
| 199 | This has been observed when Emacs is linked with GNU ld but without passing | ||
| 200 | the -z nocombreloc flag. Emacs normally knows to pass the -z nocombreloc | ||
| 201 | flag when needed, so if you come across a situation where the flag is | ||
| 202 | necessary but missing, please report it via M-x report-emacs-bug. | ||
| 203 | |||
| 204 | On platforms such as Solaris, you can also work around this problem by | ||
| 205 | configuring 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 | ||
| 197 | There is a long-standing bug in GTK that prevents it from recovering | 209 | There is a long-standing bug in GTK that prevents it from recovering |