From c2b20948fbe1dbb4be76c477e66cf120797417ff Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Fri, 15 Jun 2018 14:37:39 -0700 Subject: [PATCH] Remove old combreloc hack It has not been needed for many years and gets in the way of portable dumping, address sanitization, etc. See: https://lists.gnu.org/r/emacs-devel/2016-12/msg00147.html * configure.ac (LDFLAGS_NOCOMBRELOC, emacs_cv_znocombreloc): Remove. All uses removed. * etc/PROBLEMS: Remove discussion of combreloc problems. --- configure.ac | 35 ----------------------------------- etc/PROBLEMS | 12 ------------ 2 files changed, 47 deletions(-) diff --git a/configure.ac b/configure.ac index eddeb5073c9..4fcb846c608 100644 --- a/configure.ac +++ b/configure.ac @@ -1333,39 +1333,6 @@ else ac_link="$ac_link $NON_GCC_LINK_TEST_OPTIONS" fi -dnl We need -znocombreloc if we're using a relatively recent GNU ld. -dnl If we can link with the flag, it shouldn't do any harm anyhow. -dnl Treat GCC specially since it just gives a non-fatal 'unrecognized option' -dnl if not built to support GNU ld. - -dnl For a long time, -znocombreloc was added to LDFLAGS rather than -dnl LD_SWITCH_SYSTEM_TEMACS. That is: -dnl * inappropriate, as LDFLAGS is a user option but this is essential. -dnl Eg "make LDFLAGS=... all" could run into problems, -dnl https://bugs.debian.org/684788 -dnl * unnecessary, since temacs is the only thing that actually needs it. -dnl Indeed this is where it was originally, prior to: -dnl https://lists.gnu.org/r/emacs-pretest-bug/2004-03/msg00170.html -if test x$GCC = xyes; then - LDFLAGS_NOCOMBRELOC="-Wl,-znocombreloc" -else - LDFLAGS_NOCOMBRELOC="-znocombreloc" -fi - -AC_CACHE_CHECK([for -znocombreloc], [emacs_cv_znocombreloc], -[late_LDFLAGS="$LDFLAGS" -LDFLAGS="$LDFLAGS $LDFLAGS_NOCOMBRELOC" - -AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], - [emacs_cv_znocombreloc=yes], [emacs_cv_znocombreloc=no]) - -LDFLAGS="$late_LDFLAGS"]) - -if test x$emacs_cv_znocombreloc = xno; then - LDFLAGS_NOCOMBRELOC= -fi - - AC_CACHE_CHECK([whether addresses are sanitized], [emacs_cv_sanitize_address], [AC_COMPILE_IFELSE( @@ -5341,8 +5308,6 @@ if test x$ac_enable_profiling != x ; then esac fi -LD_SWITCH_SYSTEM_TEMACS="$LDFLAGS_NOCOMBRELOC $LD_SWITCH_SYSTEM_TEMACS" - AC_SUBST(LD_SWITCH_SYSTEM_TEMACS) ## Common for all window systems diff --git a/etc/PROBLEMS b/etc/PROBLEMS index 5a8618f71e8..fe59b52c759 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS @@ -192,18 +192,6 @@ Upgrading to a newer version of Exceed has been reported to prevent these crashes. You should consider switching to a free X server, such as Xming or Cygwin/X. -** Emacs crashes with SIGSEGV in XtInitializeWidgetClass. - -It crashes on X, but runs fine when called with option "-nw". - -This has been observed when Emacs is linked with GNU ld but without passing -the -z nocombreloc flag. Emacs normally knows to pass the -z nocombreloc -flag when needed, so if you come across a situation where the flag is -necessary but missing, please report it via M-x report-emacs-bug. - -On platforms such as Solaris, you can also work around this problem by -configuring your compiler to use the native linker instead of GNU ld. - ** When Emacs is compiled with Gtk+, closing a display kills Emacs. There is a long-standing bug in GTK that prevents it from recovering -- 2.39.2