Re: configure does not honor CC when testing for -mcmodel=large
Colin Watson wrote: > On Fri, Sep 25, 2009 at 03:35:57PM -0700, Seth Goldberg wrote: > >> Ok, setting TARGET_CC to gcc-4.3.2 works around this. My assumption was >> that CC was the right environment variable (technically, it is, since I'm >> not "cross-compiling". >> > > Any reason not to use --host as well as --target then, so that Autoconf > knows you want to force a specific host platform? If you do that and the > values provided for host and target are the same, GRUB's configure > script won't assume cross-compilation GRUB is one of rare projects having all 3 platform variables: build: where gcc is executed host: where grub-install/grub-emu/... is executed target: the system which needs the bootloader. Because sometimes target!=host we need 2 compilers in general case. Additionally booting environment is different from OS so I would say that grub2 is always cross-compiled. ___ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel
Re: configure does not honor CC when testing for -mcmodel=large
On Fri, Sep 25, 2009 at 03:35:57PM -0700, Seth Goldberg wrote: > Ok, setting TARGET_CC to gcc-4.3.2 works around this. My assumption was > that CC was the right environment variable (technically, it is, since I'm > not "cross-compiling". Any reason not to use --host as well as --target then, so that Autoconf knows you want to force a specific host platform? If you do that and the values provided for host and target are the same, GRUB's configure script won't assume cross-compilation. > This going back to the core problem of all autoconf detecting Solaris > as i386-pc-solaris and not x86_64-pc-solaris. That should be fixed in config.{guess,sub}, certainly. -- Colin Watson [cjwat...@ubuntu.com] ___ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel
Re: configure does not honor CC when testing for -mcmodel=large
Ok, setting TARGET_CC to gcc-4.3.2 works around this. My assumption was that CC was the right environment variable (technically, it is, since I'm not "cross-compiling". This going back to the core problem of all autoconf detecting Solaris as i386-pc-solaris and not x86_64-pc-solaris. --S Quoting Seth Goldberg, who wrote the following on Fri, 25 Sep 2009: Hi, Setting $CC to another gcc (not in the path) fails when attempting to configure for 64-bit EFI if the installed gcc cannot handle -mcmodel=large. configure.in should be changed to honor $CC. I'm horrible at m4 / autoconf, so I'm not sure what needs to be changed (otherwise, I'd provide a patch :)). From config.log after running ( setenv CC gcc-4.3.2; ./configure --with-platform=efi --target=x86_64): configure:6612: result: no configure:6617: WARNING: -mcmodel=large not supported. You won't be able to use the memory over 4GiB. Upgrade your gcc configure:6624: checking whether option -mno-red-zone works configure:6652: gcc -c -Os -m64 -DMCMODEL_SMALL=1 -m64 -mno-red-zone conftest.c >&5 conftest.c:1: sorry, unimplemented: 64-bit mode not compiled in --S ___ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel ___ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel
Re: configure does not honor CC when testing for -mcmodel=large
On Fri, Sep 25, 2009 at 03:29:47PM -0700, Seth Goldberg wrote: > Setting $CC to another gcc (not in the path) fails when attempting to > configure for 64-bit EFI if the installed gcc cannot handle > -mcmodel=large. configure.in should be changed to honor $CC. I'm > horrible at m4 / autoconf, so I'm not sure what needs to be changed > (otherwise, I'd provide a patch :)). > > From config.log after running ( setenv CC gcc-4.3.2; ./configure > --with-platform=efi --target=x86_64): > > configure:6612: result: no > configure:6617: WARNING: -mcmodel=large not supported. You won't be able to > use the memory over 4GiB. Upgrade your gcc > configure:6624: checking whether option -mno-red-zone works > configure:6652: gcc -c -Os -m64 -DMCMODEL_SMALL=1 -m64 -mno-red-zone > conftest.c >&5 > conftest.c:1: sorry, unimplemented: 64-bit mode not compiled in Don't you need to set TARGET_CC for that? If the host and target are different, then CC is only used for the host compiler. -- Colin Watson [cjwat...@ubuntu.com] ___ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel
configure does not honor CC when testing for -mcmodel=large
Hi, Setting $CC to another gcc (not in the path) fails when attempting to configure for 64-bit EFI if the installed gcc cannot handle -mcmodel=large. configure.in should be changed to honor $CC. I'm horrible at m4 / autoconf, so I'm not sure what needs to be changed (otherwise, I'd provide a patch :)). From config.log after running ( setenv CC gcc-4.3.2; ./configure --with-platform=efi --target=x86_64): configure:6612: result: no configure:6617: WARNING: -mcmodel=large not supported. You won't be able to use the memory over 4GiB. Upgrade your gcc configure:6624: checking whether option -mno-red-zone works configure:6652: gcc -c -Os -m64 -DMCMODEL_SMALL=1 -m64 -mno-red-zone conftest.c >&5 conftest.c:1: sorry, unimplemented: 64-bit mode not compiled in --S ___ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel