Subject: Re: bug#5655: incorrect paths for crt1.o, crtn.o, etc.

From: Glenn Morris <[email-masked]>
Date: Tue, 27 Apr 2010 13:33:04 -0400

Sven Joachim wrote:

> Well, "./configure --build=i486-pc-linux-gnu" works, I can live with
> that for now.

I'm not sure if that isn't the right solution. It seems this is an old
autoconf issue, but I can't see that there is a standard solution. Eg

http://lists.gnu.org/archive/html/autoconf/2005-05/msg00004.html

The following patch might make things behave like they used to, could
you try it out? You will need to run autoconf.

*** configure.in	2010-04-27 08:09:01 +0000
--- configure.in	2010-04-27 17:22:23 +0000
***************
*** 761,766 ****
--- 761,776 ----
  if test "x$RANLIB" = x; then
    AC_PROG_RANLIB
  fi
+ 
+ ## Although we're running on an amd64 kernel, we're actually compiling for
+ ## the x86 architecture.  The user should probably have provided an
+ ## explicit --build to `configure', but if everything else than the kernel
+ ## is running in i386 mode, we can help them out.
+ if test "$machine" = "amdx86-64"; then
+   AC_CHECK_DECL([i386])
+   test "$ac_cv_have_decl_i386" = "yes" && machine=intel386
+ fi
+ 
  AC_PATH_PROG(INSTALL_INFO, install-info)
  AC_PATH_PROG(INSTALL_INFO, install-info,, /usr/sbin)
  AC_PATH_PROG(INSTALL_INFO, install-info,:, /sbin)

*** src/m/amdx86-64.h	2010-04-27 03:14:14 +0000
--- src/m/amdx86-64.h	2010-04-27 17:27:11 +0000
***************
*** 17,31 ****
  You should have received a copy of the GNU General Public License
  along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
  
- #ifdef i386
- /* Although we're running on an amd64 kernel, we're actually compiling for
-    the x86 architecture.  The user should probably have provided an
-    explicit --build to `configure', but if everything else than the kernel
-    is running in i386 mode, then the bug is really ours: we should have
-    guessed better.  */
- #include "m/intel386.h"
- #else
- 
  /* The following line tells the configuration script what sort of
     operating system this machine is likely to run.
     USUAL-OPSYS="linux"  */
--- 17,22 ----
***************
*** 90,96 ****
  #define LIB_STANDARD -lgcc -lc -lgcc $(CRT_DIR)/crtn.o
  
  #endif /* SOLARIS2 */
- #endif /* !i386 */
  
  /* arch-tag: 8a5e001d-e12e-4692-a3a6-0b15ba271c6e
     (do not change this comment) */
--- 81,86 ----