This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Question about very old patch


On Sun, Sep 17, 2000 at 03:22:12PM +0200, Marc Espie wrote:
> Mon Dec  4 22:17:37 1995  Jason Merrill  <jason@yorick.cygnus.com>
> 
>         * gcc.c (LIBGCC_SPEC): Do link with libgcc when -shared.
>         * alpha.h (LIBGCC_SPEC): Remove.
>         * linux.h (LIBGCC_SPEC): Remove.
>         * svr4.h (LIBGCC_SPEC): Remove.
>         * i386/t-crtpic (TARGET_LIBGCC2_CFLAGS): Use -fPIC.
>         * t-pa (TARGET_LIBGCC2_CFLAGS): Use -fPIC.
>         * sparc/t-sunos41 (TARGET_LIBGCC2_CFLAGS): Use -fPIC.
>         * sparc/t-sol2 (TARGET_LIBGCC2_CFLAGS): Use -fPIC.
>         * configure (i386-linux): Use i386/t-crtpic.
> 
> 
> I know, this is positively ancient, but could you outline what prompted
> that decision, whether it still makes sense, etc ?
> 

It is not the perfect solution. But it is the best one we can come up
with. You can check out the recent libgcc ABI related threads in the
gcc mailing list archive. 

> I noticed it because OpenBSD is massively switching to using gcc -shared
> to build libraries (failure in lib Obj-C and various C++ libraries due
> to the need to collect constructors) and I got a large number of RRS
> text relocations from our linker.
> 

That is why I suggested xxxBSD to use ELF like Linux. We could have
worked together to solve all those problems. But it is too late now. If
you use ELF, you can just copy whatever Linux does. As I said, we don't
have the perfect solution. But the one we get is the best we can find
so far. I know someone will mention libgcc.so. But I don't think it is
such a good idea unless we are talking exception support for non C++
languages. If it is a case, I like to see a language/compiler natural
unwind library/ABI.


H.J.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]