Linux MIPS Architecture development
 help / color / mirror / Atom feed
From: Ralf Baechle <ralf@linux-mips.org>
To: Fuxin Zhang <fxzhang@ict.ac.cn>
Cc: MAKE FUN PRANK CALLS <linux-mips@linux-mips.org>
Subject: Re: about gas load_address
Date: Tue, 27 May 2003 11:53:24 +0200	[thread overview]
Message-ID: <20030527095324.GC23296@linux-mips.org> (raw)
In-Reply-To: <3ED33148.2040008@ict.ac.cn>

On Tue, May 27, 2003 at 05:35:04PM +0800, Fuxin Zhang wrote:
> Date:	Tue, 27 May 2003 17:35:04 +0800
> From:	Fuxin Zhang <fxzhang@ict.ac.cn>
> To:	MAKE FUN PRANK CALLS <linux-mips@linux-mips.org>
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Funny alias for this list :-)

> (sorry if it is somewhat out of topic,but i think most mips experts
> are here:)

Certainly more on topic than making prank calls ;-)

> else if (mips_pic == SVR4_PIC && ! mips_big_got)
> {
> expressionS ex;
> 
> /* If this is a reference to an external symbol, we want
> lw $reg,<sym>($gp) (BFD_RELOC_MIPS_GOT16)
> Otherwise we want
> lw $reg,<sym>($gp) (BFD_RELOC_MIPS_GOT16)
> nop
> QUESTION:
> Could somebody tell me why we generate a unconditional 'nop' here?
> addiu $reg,$reg,<sym> (BFD_RELOC_LO16)
> If there is a constant, it must be added in after.

The nop would only be needed for the R2000/R3000 family where a load
instruction may not immediately be followed by it's consumer instruction.
NewABI implies MIPS III or higher so the nop wouldn't be required for
such processors.  Gcc and gas have sort of a tradition of throwing many
more nops in than needed ...

> If we have NewABI, we want
> lw $reg,<sym+cst>($gp) (BFD_RELOC_MIPS_GOT_DISP)
> unless we're referencing a global symbol with a non-zero
> offset, in which case cst must be added separately. */

  Ralf

      reply	other threads:[~2003-05-27  9:53 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-05-27  9:35 about gas load_address Fuxin Zhang
2003-05-27  9:53 ` Ralf Baechle [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030527095324.GC23296@linux-mips.org \
    --to=ralf@linux-mips.org \
    --cc=fxzhang@ict.ac.cn \
    --cc=linux-mips@linux-mips.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox