[openbeos] Re: gcc 3.x ABI

  • From: Fred K Ollinger <follinge@xxxxxxxxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Fri, 20 Sep 2002 15:56:31 -0400 (EDT)

> That's not possible - it's not only the dependency on libstdc++, it's
> the whole ABI issue; exceptions (thankfully not used in the BeOS API -
> for that matter), RTTI, vtable, name mangling, etc.
> If we compile our version of libbe.so with gcc 3.2, we can't run any of
> the old programs anymore - which is what we aim for. Of course, we
> could take our sources and build the whole OS with gcc 3.2, but then we
> have lost binary compatibility.

Right so the distrubuted code should be w/ old gcc. This is totally
understood by all. However, there are some minor api changes in gcc 3.2 as
well. Code I compliled w/ 2.95 (non-beos) didn't work w/ gcc-3.2
perfectly. This is bad code on my part.

I feel that code should _compile_ under both 2.95 and gcc-3.2 and be
released w/ old gcc, of course. If you target gcc-3.2 your code should
automatically work under old gcc as newer gcc is less tolerant of sloppy
code.

> That's the way we wanted to do it later - but we can switch at any
> time, it's not that we must change before R1 ships. We only have to

Switching will be more difficult if code isn't tested on gcc-3.2.

> I really think 2.95.3 is sufficient, we might also want to have a look
> at what patches are around for that gcc, too (i.e. at cygnus).
> We may want to compile the kernel with gcc 3.2 later, but there is no
> reason to hurry.

Again, I agree, all release should be w/ old compiler. It should be
correct enough to compile on gcc-3.2 flawlessly (not that you'd do that
yet).

Fred Ollinger


Other related posts: