------- Comment #3 from rob1weld at aol dot com 2009-01-07 01:32 ------- > Jakub Jelinek said: > http://gcc.gnu.org/install/specific.html#sparc-sun-solaris2 > documents that you need to configure with --disable-multilib in this case, > perhaps just this should be repeated also for i?86-sun-solaris2 or > moved into *-sun-solaris2 section.
URL: http://gcc.gnu.org/install/specific.html#sparc-sun-solaris2 When configuring on a Solaris 7 or later system that is running a kernel that supports only 32-bit binaries, one must configure with --disable-multilib, since we will not be able to build the 64-bit target libraries. On VirtualBox I can only boot 32-bit Guests on a 32-bit Host. On VMware I can boot 64-bit (and 32-bit) Guests on a 32-bit Host. On BareMetal I have a 64-bit processor and can boot 64-bit and 32-bit. I want to build multilibs because I _do_ have an OS that supports 64-bit binaries. The 64-bit mode is preferable, the 32-bit mode is an extra feature. When I am booted in 32-bit mode I (usually) can only run 32-bit binaries and when I am in 64-bit mode I can run both 64-bit and 32-bit binaries. Unless you want to build and start a VM you can't get 64-bit binaries to run when OpenSolaris is booted in 32-bit mode. In the distant future 64-bit OSes might not run 32-bit binaries but for now they can. Even OpenSolaris starts it's boot in 32-bit mode. I'm not sure that there are any binaries that _are_ actually built in that portion of the build but I am reasonably certain that all 64-bit OSes can run 32-bit binaries - so if you needed to build something it could be 32-bit. The configure script needs to use "isainfo -k" (Linux uses uname) to test which mode the user has started the Kernel in and if the "run test" fails it should either exit (as it now does) if the program "ought to have worked", BUT if the Kernel is in 32-bit mode the test should not fail because we can not run a 64-bit executable. Just because we can not run a 64-bit executable (either on the build host, or in that particular boot mode) does not mean we don't want to be able to build one. We want people with 32-bit OSes to be able to compile executables for other people with 64-bit OSes. We need multilibs to be built and to work. Rob -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38743