From: "Saxena, Sunil" <sunil.saxena@intel.com>
To: linux-ia64@vger.kernel.org
Subject: RE: [Linux-ia64] ld failure
Date: Wed, 26 Apr 2000 20:58:15 +0000 [thread overview]
Message-ID: <marc-linux-ia64-105590678205055@msgid-missing> (raw)
In-Reply-To: <marc-linux-ia64-105590678205047@msgid-missing>
Hi Jim,
Here are the relocations that have been agreed in the ABI. You can talk to
Ulrich on details:
Name Value Instruction Format Expression
------------------------------------------------------------------
PCREL60B 0x48 br long (X3, X4) symbol + addend - IP
PCREL21BI 0x79 br (B1, B2, B3, B6) symbol + addend - IP
PCREL22 0x7A add imm22 (A5) symbol + addend - IP
PCREL64I 0x7B mov imm64 (I18/X2) symbol + addend - IP
The PCREL21BI relocation works just like PCREL21B, but it marks a call for
which gp has not been saved, thus requiring that the target reside within
the same load module as the call. We need it for cases where we choose to
bind a symbol locally, optimizing the call sequence, but where we don't want
to, or can't, mark the symbol "protected" or "hidden."
The PCREL22 and PCREL64I relocations are needed for pc-relative references
to constants and literals. PCREL64I is also needed (internally to the
linker) for long branch stubs.
Regarding the brl emulation, we should have a patch ready for Trillian work
next week.
Thanks
Sunil
-----Original Message-----
From: Jim Wilson [mailto:wilson@cygnus.com]
Sent: Wednesday, April 26, 2000 11:58 AM
To: Christoph Rohland
Cc: linux-ia64@linuxia64.org
Subject: Re: [Linux-ia64] ld failure
There is an optional patch available for the current stable toolchain that
fixes this. There are a few details to work out.
1) It uses the linker relaxation support, which isn't the default. So for
the moment the user needs to manually specify -Wl,-relax on the gcc
command
line.
2) It uses the brl instruction which the Itanium does not implement. The
kernel needs to emulate the instruction. I know that people are working
on
this kernel support, but I don't know if it is available yet. So you
will
be able to link the program, but you may not be able to run it.
3) The ABI does not define relocations for brl yet, so we invented our own.
These will have to change when standard relocations are specified, which
may result in a user visble ABI change.
These problems should hopefully all be resolved by the time of the next
toolchain release, which is tentatively scheduled for late June.
Looking at this, I see that some rearrangement of code in our startup files
might help delay the point at which a program becomes too big. I'll make a
note to myself to look into that.
next prev parent reply other threads:[~2000-04-26 20:58 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-04-26 14:09 [Linux-ia64] ld failure Christoph Rohland
2000-04-26 18:58 ` Jim Wilson
2000-04-26 20:58 ` Saxena, Sunil [this message]
2000-04-27 17:39 ` Christoph Rohland
2000-05-02 22:32 ` Jim Wilson
2000-05-03 7:33 ` Christoph Rohland
2000-05-09 16:52 ` Christoph Rohland
2000-05-09 17:36 ` Uros Prestor
2000-05-09 17:56 ` Christoph Rohland
2000-05-24 9:52 ` Christoph Rohland
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=marc-linux-ia64-105590678205055@msgid-missing \
--to=sunil.saxena@intel.com \
--cc=linux-ia64@vger.kernel.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