public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: 64-bit configure hell
@ 2004-11-25 16:32 Benjamin Kosnik
  2004-11-25 20:56 ` Stan Shebs
  0 siblings, 1 reply; 18+ messages in thread
From: Benjamin Kosnik @ 2004-11-25 16:32 UTC (permalink / raw)
  To: gcc, shebs

I think if you search through libstdc++ bugzilla you will find reports
of oddness with x86_64 systems and the 64 bit multilib. To me, if you
have to disable multilibs on 32/64 bit systems to get a working
toolchain, something is wrong.

I haven't paid much attention to these bug reports. Some people have
problems (HJ) and others do not (Jakub, Paolo, others). 

If you can provide a real problem description, and examples of the
libstdc++ build/configure hacks you use to work around it, it would be
helpful.

-benjamin

^ permalink raw reply	[flat|nested] 18+ messages in thread
* Re: 64-bit configure hell
@ 2004-11-26  7:16 Bill Northcott
  2004-11-27 23:57 ` Mike Stump
  0 siblings, 1 reply; 18+ messages in thread
From: Bill Northcott @ 2004-11-26  7:16 UTC (permalink / raw)
  To: gcc

> From: Stan Shebs <shebs@apple.com>
> It's hard for anybody outside Apple to reproduce on Darwin right now,
> because you need an up-to-the-minute Tiger with all the trimmings,
> but you could kludge up a similar situation by taking a standard x86
> Linux config and defining a multilib with a -m codegen option that
> produces code that can't possibly run on the CPU you're using to
> build things. The tools are fine with building shlibs and even
> executables for that -m option, but you can't run any of it until
> you've moved to the right kind of CPU. (You might have to add code
> to the little conftest programs to guarantee the exectime failure,
> depending on the -m option you use.)
>
I ran into this a couple of days back.  I pulled tag apple-gcc-4020 off 
the cvs and built it.

Because I wanted fortran, libffi and libobjc-gnu I futzed about with 
the build_gcc script that sets the options on the build.  Unwittingly, 
I changed a version number in the script and it tried to build a 64bit 
libgcc with -m64 option.  It fell over at the first hurdle because I 
did not have the ppc64 headers, which I presume are unavailable outside 
Apple.

I will post the good news in a separate message.

Bill Northcott

^ permalink raw reply	[flat|nested] 18+ messages in thread
* Re: 64-bit configure hell
@ 2004-11-25 19:14 Ulrich Weigand
  2004-11-25 20:45 ` Rainer Orth
  0 siblings, 1 reply; 18+ messages in thread
From: Ulrich Weigand @ 2004-11-25 19:14 UTC (permalink / raw)
  To: bkoz; +Cc: gcc, shebs





Benjamin Kosnik wrote:

>I think if you search through libstdc++ bugzilla you will find reports
>of oddness with x86_64 systems and the 64 bit multilib. To me, if you
>have to disable multilibs on 32/64 bit systems to get a working
>toolchain, something is wrong.

In my experience, the main problem is that in order to build 32-bit
libraries you need 32-bit development libraries (libc.a, crt*.o)
installed on the system, and many distributions don't install
those by default.  (Or vice versa on systems that use a mostly-32-bit
userland.)

I guess one way to fix this problem would be to only build those
multilibs where the required system dependencies are in fact installed;
this could be verified by attempting to build a 'hello world' using
the multilib flags.  If this already fails, there's no point in
attempting to build the library.

Something like that is actually attempted in config-ml.in, at least
for some platforms.  However this doesn't work, as those checks are
not applied for libgcc (and thus we fail already there).  I think I
pointed this out already some time in the past, and was told that
this is difficult to fix with the current make process ...


Mit freundlichen Gruessen / Best Regards

Ulrich Weigand

--
  Dr. Ulrich Weigand
  Linux for S/390 Design & Development
  IBM Deutschland Entwicklung GmbH, Schoenaicher Str. 220, 71032 Boeblingen
  Phone: +49-7031/16-3727   ---   Email: Ulrich.Weigand@de.ibm.com

^ permalink raw reply	[flat|nested] 18+ messages in thread
* 64-bit configure hell
@ 2004-11-24 23:24 Stan Shebs
  2004-11-24 23:39 ` David Edelsohn
                   ` (3 more replies)
  0 siblings, 4 replies; 18+ messages in thread
From: Stan Shebs @ 2004-11-24 23:24 UTC (permalink / raw)
  To: gcc

I have a messy configure problem with 64-bit Darwin, and would
like to get some ideas about how to solve. The situation is that
Darwin 8.x aka Tiger is capable of running 64-bit-address-space
programs on G5s, and to support that in GCC I've set up a multilib
for the -m64 option that enables it. This all works on G5 Tiger
now, at least on prime-number days of the month when the moon is
full :-) , and I hope to check in the last bits soon.

The problem is that Tiger also runs on G4s, which are not capable
of running 64-bit programs - all the machinery is there to build
complete and correct binaries, the kernel just refuses to execute
them. This causes problems for some configure scripts, in particular
those in libstdc++ and libobjc, which want to be able to run
executables. It's not entirely clear to me why that's important,
since the libraries already build and run perfectly fine for
cross-compilers.

Although it would be good for sales to require that people
building GCC on Darwin upgrade to G5s :-) that's kind of
unfriendly, while producing different results from configure
and make depending on one's CPU is also just asking for
trouble. What other options do I have?

Stan

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2004-11-28  8:06 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-11-25 16:32 64-bit configure hell Benjamin Kosnik
2004-11-25 20:56 ` Stan Shebs
2004-11-26  3:26   ` Peter O'Gorman
2004-11-26  4:20     ` Peter O'Gorman
  -- strict thread matches above, loose matches on Subject: below --
2004-11-26  7:16 Bill Northcott
2004-11-27 23:57 ` Mike Stump
2004-11-25 19:14 Ulrich Weigand
2004-11-25 20:45 ` Rainer Orth
2004-11-24 23:24 Stan Shebs
2004-11-24 23:39 ` David Edelsohn
2004-11-25  0:48   ` Kaveh R. Ghazi
2004-11-25  2:42     ` Joe Buck
2004-11-26 14:06   ` Alexandre Oliva
2004-11-25  3:59 ` Tom Tromey
2004-11-25  5:04   ` Stan Shebs
2004-11-25  9:44 ` Andrew Pinski
2004-11-28  7:58 ` Daniel Jacobowitz
2004-11-28 12:50   ` Eric Botcazou

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).