Fix ACX_LARGEFILE to use canonical host/target names
Jan Kratochvil
jan.kratochvil@redhat.com
Sun Nov 22 14:20:00 GMT 2009
On Fri, 20 Nov 2009 23:38:16 +0100, Joseph S. Myers wrote:
> The ACX_LARGEFILE macro checks the values of $host and $target, which
> may or may not be canonical names at this point depending on which
> other macros have been called first;
Missed that, thanks for catching it.
> it should require
> AC_CANONICAL_HOST and AC_CANONICAL_TARGET to ensure they are both
> canonical. This shows up as build failures for GDB configured
> --build=i686-pc-linux-gnu --host=i686-solaris2.10 --target=i686-solaris2.10.
and so the config/largefile.m4 pattern
sparc-*-solaris*|i[3-7]86-*-solaris*)
would not match `i686-solaris2.10'. Canonical form of `i686-solaris2.10'
after AC_CANONICAL_HOST or AC_CANONICAL_TARGET is `i686-pc-solaris2.10' which
would already match the config/largefile.m4 pattern.
On native OpenSolaris 2009.06 snv_111b X86 tried that
./configure --host=i386-solaris2.11 --target=i386-solaris2.11; make
will fail due to it with:
/usr/include/sys/old_procfs.h:57:2: #error "Cannot use procfs in the large file compilation environment"
(despite the OS is 64bit the default build targets are 32bit there; as on ppc).
While all the subdirectories calling ACX_LARGEFILE already contain
AC_CANONICAL_TARGET (equivalent form AC_CANONICAL_SYSTEM is not present there)
none of them explicitly calls AC_CANONICAL_HOST, bfd/ already contains it (by
../ltoptions.m4) but gdb/ does not - which causes the compilation error.
> with regeneration of the GDB and binutils configure scripts that use
> ACX_LARGEFILE?
I would like to get regenerated all the subdirectories calling ACX_LARGEFILE
(bfd/ binutils/ gas/ gprof/ ld/ gdb/) as the common config/largefile.m4 file
purpose was exactly to get all the subdirectories ABI compatible, as described
in the mails introducing ACX_LARGEFILE.
Thanks,
Jan
More information about the Binutils
mailing list