This is the mail archive of the mailing list for the binutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix --eh-frame-hdr with DW_EH_PE_absptr in shared libs

On Mon, Feb 18, 2002 at 04:09:47PM +0100, Jakub Jelinek wrote:
> Hi!
> The following patch enables DW_EH_PE_absptr -> DW_EH_PE_pcrel optimization
> for shared libs (no runtime relocs needed) for targets where gcc doesn't do
> this already in assembly for various reasons.
> In addition to this, if this optimization is not possible and FDE encoding
> is still DW_EH_PE_absptr, doesn't create the binary search table in
> .eh_frame_hdr. I thought about making this work anyway, but the code would
> need to have at least some understanding of ELF target relocs which doesn't
> look like 2.12 material.
> The main change is that _bfd_elf_section_offset has 2 special return values
> instead of 1 (previously just -1 (skip), now -1 (skip) and -2 (skip dynamic
> reloc, install relocation)). If _bfd_elf_section_offset returns -2, target
> relocate_section should avoid dynamic relocation at this offset, but should
> call _bfd_final_link_relocate or whatever it uses to install the relocation,
> so that _bfd_elf_write_section_eh_frame reads the relocated value.
> I've changed all targets but elf{32,64}-mips.c, can any of the MIPS folks
> look at this?

Could you please add a comment to elf*-mips.c about this need, so that
later generations won't be bewildered?  It's not urgent since H.J. made
GCC not use this feature on MIPS, if I understand correctly.

With that caveat, I guess this is OK for branch too.

Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]