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.)
On Jul 11, 2000, "H . J . Lu" <hjl@valinux.com> wrote:
>> AFAIK, the main problem is with changing exception-handling
>> interfaces. Does glibc actually use these functions? Couldn't we
> glibc wants to use it in the future.
Ok
>> Another option: couldn't libgcc's object files just be folded into
>> libc.so, without creating the hassle of yet another system library?
> That is what we do today and it doesn't work very well. If you don't
> know why, ......
But, IIUC, the problem is that the symbols that must not be duplicated
are static, so dynamic loaders can't merge them together. I *think*
if we made them global dynamic loaders arrange for all references to
them to point to the same symbol, and the problem would be solved.
Another possibility is that the EH-region data structures generated by
the compiler may change. In this case, the functions that manage
registering and de-registering of EH regions might not understand the
data they're given. The only way I see to solve this problem is to
rename the functions every time the data structures change, and
implement backward-compatibility replacement functions that convert
the data from the old format to the new one, then call the new
functions.
> As far as I know, only systems, where the shared C library uses
> gcc's frame based exception, has this problem. Could you please
> name the other systems?
I doubt that's the case. Any system that uses shared libraries should
be subject to the same problems, in case different modules are
compiled with incompatible versions of GCC. But this probably occurs
more often on GNU/Linux precisely because libc isn't always compiled
by the compiler someone who installed their own version of GCC uses.
--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist *Please* write to mailing lists, not to me