linux-mips
[Top] [All Lists]

Re: Setting up of GP in static, non-PIC version of glibc?

To: Ralf Baechle <ralf@oss.sgi.com>
Subject: Re: Setting up of GP in static, non-PIC version of glibc?
From: Johannes Stezenbach <js@convergence.de>
Date: Mon, 25 Feb 2002 19:31:41 +0100
Cc: Hartvig Ekner <hartvige@mips.com>, linux-mips@oss.sgi.com
In-reply-to: <20020225173433.B3680@dea.linux-mips.net>
Mail-followup-to: Johannes Stezenbach <js@convergence.de>, Ralf Baechle <ralf@oss.sgi.com>, Hartvig Ekner <hartvige@mips.com>, linux-mips@oss.sgi.com
References: <200202251516.QAA22570@copsun18.mips.com> <20020225173433.B3680@dea.linux-mips.net>
Sender: owner-linux-mips@oss.sgi.com
User-agent: Mutt/1.3.27i
On Mon, Feb 25, 2002 at 05:34:33PM +0100, Ralf Baechle wrote:
> On Mon, Feb 25, 2002 at 04:16:20PM +0100, Hartvig Ekner wrote:
> 
> >         .globl ENTRY_POINT
> >         .type ENTRY_POINT,@function
> > ENTRY_POINT:
> > #ifdef __PIC__
> >         SET_GP
> > #else
> >         la  $28, _gp
> > #endif
> > 
> > Makes things work (this code ends in crt1.o). Is this the right place to 
> > fix it?
> 
> Non-PIC code doesn't use $gp, so any reference to $gp is a bug.  Note
> that we don't support global data optimization for ELF either that is,
> -G 0 is the default.

I recently experimented with dietlibc and tried to create
static, non-PIC binaries, with some success.
Contradicting the docs (gcc info), -G 0 is not the default but
has to be passed explicitely (even when using the GNU assembler).

BTW: Who is "we"? Do you mean global data optimization is broken
in gcc/binutils or just that no one at SGI is using it?


Regards,
Johannes


<Prev in Thread] Current Thread [Next in Thread>