This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: My proposal for the libgcc runtime ABI (ia64 gcc/glibc is broken.)
- To: "Martin v. Loewis" <martin at loewis dot home dot cs dot tu-berlin dot de>
- Subject: Re: My proposal for the libgcc runtime ABI (ia64 gcc/glibc is broken.)
- From: Linus Torvalds <torvalds at transmeta dot com>
- Date: Wed, 12 Jul 2000 13:30:47 -0700 (PDT)
- cc: geoffk at cygnus dot com, gcc at gcc dot gnu dot org
On Wed, 12 Jul 2000, Martin v. Loewis wrote:
>
> > Wouldn't it be better to _not_ consider this to be part of libgcc, and
> > instead have a well-defined EH record format and just tell people to use
> > it in their system libraries.
>
> There is a well-defined format. The problem is that you need a
> process-wide list of such structures, to find the entry points into
> the structures when an exception is thrown in one library and caught
> in another.
But what has this got to do with gcc?
Nothing. It's a systems issue. Gcc just needs to honor the format, the
same way gcc needs to generate a lot of other "helper" information (which
is, of course, mainly for debugging, but things like global namescape
information is a similar thing where gcc emits certain records to tell the
assembler which symbols are global etc).
If the format is well-defined, then you should consider this to be a
loader and systems thing, not a gcc thing. Why are the routines in libgcc
at all? Why aren't they in the loaders, or the libraries?
I think it was Kenner who said that libgcc should only contain code that
is actually called by gcc-generated code. That's a good definition of what
libgcc used to be. Why not go back to that, and leave the whole EH thing
into the hands of the glibc and other people working on libraries and
systems issues.
(And yes, I know there are non-glibc systems out there. Obviously. But
those systems still need to be aware of EH stuff if exceptions are to be
used at all. So the same arguments apply there - glibc is _not_ special,
and should not be considered special).
Linus