This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: .eh_frame section
- To: rth at cygnus dot com
- Subject: Re: .eh_frame section
- From: Ian Lance Taylor <ian at cygnus dot com>
- Date: Thu, 9 Oct 1997 11:13:18 -0400
- CC: meissner at cygnus dot com, jason at cygnus dot com, rth at cygnus dot com, egcs at cygnus dot com, haible at ilog dot fr
Date: Wed, 8 Oct 1997 16:49:24 -0700
From: Richard Henderson <rth@cygnus.com>
On Wed, Oct 08, 1997 at 06:38:03PM -0400, meissner@cygnus.com wrote:
> | Most architectures have a word sized pc-relative relocation, but few
> | (none?) provide a pseudo-op to use it. So there we are.
>
> On the other hand, doing:
>
> .long .-label
>
> (or .word, .etc.) will often times generate the approprate relocation.
When "label" is external, no assembler I've found can handle it.
I tried gas (alpha, i386), Irix 6, Solaris 2.5, DU 4.0b.
Not too surprising, since that's a reverse PC relative reloc. You
could only get a proper PC relative reloc by doing
.long label-.
However, many assemblers don't support that either.
Incidentally, if the DWARF spec requires that the value be an offset
from the start of the section, and we're generating an absolute
address, then we're already violating the spec. I don't know much
about DWARF, but it sounds like they didn't consider the case of
loading the information into memory with the program.
Ian