bug#68494: cross-compile code for LD setup does not use the right system macro
Mike Frysinger <[email protected]> Tue, 16 Jan 2024 01:32:12 +0000 (UTC)
| Newsgroups | gmane.comp.gnu.libtool.bugs |
|---|---|
| Message-ID | <[email protected]> |
On Tue, 21 Jun 2011 14:12:02 +0200, Eric PAIRE wrote: > While compiling on 64-bit Linux a package that will be executed on a 32-bit Linux ([--build=x86_64-unknown-linux-gnu] --host=i686-pc-linux-gnu), I am facing an issue with the value of the LD macro generated in libtool, as the libtool part of configure does not add the '-m elf_i386' option for LD to generate a 32-bit object/program. can you share an example project/configure/config.log showing the problem ? > Actually, the problem is that libtool.m4 checks for the build system type with $host, whereas it should be $build. I have understood that $build is the system on which the program is generated (64-bit in my case) and $host the system on which the program created (32-bit in my case) is meant to run. So the right macro should test build system, and not host. this is incorrect. $build controls where things are compiling. $host controls where the things will run. please see: https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.72/html_node/Specifying-Target-Triplets.html -mike