This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: [PATCH] R_390_RELATIVE bug fix for s390*.
- From: "Martin Schwidefsky" <schwidefsky at de dot ibm dot com>
- To: Alan Modra <amodra at bigpond dot net dot au>
- Cc: binutils at sources dot redhat dot com
- Date: Mon, 17 Nov 2003 12:54:36 +0100
- Subject: Re: [PATCH] R_390_RELATIVE bug fix for s390*.
Hi Alan,
> You probably developed this patch before my 2003-11-05 change to
> _bfd_elf_rela_local_sym. The above lines will replace the correct
> value of sec returned by _bfd_eld_rela_local_sym with an incorrect
> value in the case of SEC_MERGE sections.
>
> > + if (sec != NULL && bfd_is_abs_section (sec))
>
> sec != NULL test isn't needed.
Yes, I did make this change based on binutils-2.14.90.0.6 which is a bit
older than 11/05.
> [snip]
> > + {
> > + asection *osec;
> > +
> > + osec = sec->output_section;
> > + sindx = elf_section_data (osec)->dynindx;
> > + BFD_ASSERT (sindx > 0);
> > + }
> > + outrel.r_info = ELF32_R_INFO (sindx, r_type);
> > + outrel.r_addend = relocation + rel->r_addend;
>
> Are you sure you want to copy the IMO buggy ppc32 and sparc treatment of
> dynamic relocs against local syms? You'll need some changes to your
> ld.so if you really want this. See
> http://sources.redhat.com/ml/binutils/2003-11/msg00069.html
Oh well, it seemed to be a nice idea to rewrite the relocations against
local symbols to relocations against to section start. I'll change the
code to emit the original relocation in this case.
blue skies,
Martin
Linux/390 Design & Development, IBM Deutschland Entwicklung GmbH
Schönaicherstr. 220, D-71032 Böblingen, Telefon: 49 - (0)7031 - 16-2247
E-Mail: schwidefsky@de.ibm.com