PATCH: Fix debug relocation for ia64
H. J. Lu
hjl@lucon.org
Thu Jul 10 00:01:00 GMT 2003
On Thu, Jul 10, 2003 at 09:17:50AM +0930, Alan Modra wrote:
> On Wed, Jul 09, 2003 at 03:44:33PM -0700, H. J. Lu wrote:
> > It turned out that it was an ia64 bug. The problem is ia64 relocations
> > define src_mask and dst_mask to be 0. It is not a problem for normal
> > ia64 relocations since src_mask and dst_mask are not used. But
> > src_mask and dst_mask are used in bfd_perform_relocation to relocate
> > debug sections. I set them to -1LL. I think it should work with
> > relocations in debug sections for both LP64 and ILP32.
>
> Please see the comment in reloc.c describing src_mask. You want zero
> for src_mask.
>
I see. IA64 uses RELA. Here is the new one.
H.J.
-------------- next part --------------
2003-07-07 H.J. Lu <hongjiu.lu@intel.com>
* elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1LL.
--- bfd/elfxx-ia64.c.reloc 2003-07-09 08:12:27.000000000 -0700
+++ bfd/elfxx-ia64.c 2003-07-09 16:58:17.000000000 -0700
@@ -368,7 +368,7 @@ elfNN_ia64_reloc (abfd, reloc, sym, data
#define IA64_HOWTO(TYPE, NAME, SIZE, PCREL, IN) \
HOWTO (TYPE, 0, SIZE, 0, PCREL, 0, complain_overflow_signed, \
- elfNN_ia64_reloc, NAME, FALSE, 0, 0, IN)
+ elfNN_ia64_reloc, NAME, FALSE, 0, -1LL, IN)
/* This table has to be sorted according to increasing number of the
TYPE field. */
More information about the Binutils
mailing list