This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Special names tha ld needs to recognize for hppa64-hp-hpux11.X
- From: law at redhat dot com
- To: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- Cc: binutils at sources dot redhat dot com
- Date: Tue, 05 Mar 2002 11:00:02 -0700
- Subject: Re: Special names tha ld needs to recognize for hppa64-hp-hpux11.X
- Reply-to: law at redhat dot com
In message <200202262255.g1QMtqDj004537@hiauly1.hia.nrc.ca>, "John David Anglin
" writes:
> Here is a revised version of the patch to fix the '-static' linking
> problems found under hppa64-hp-hpux11.X. The issues fixed are:
>
> 1) Dynamic loader symbols need to be ignored.
> 2) Various problems with respect to .opd creation and the DLT entries
> for local symbols are fixed. The most serious issues were that sometim
> es
> we didn't create the DLT entry, and the addend was being used incorrect
> ly.
> 3) In reviewing the code, I noted that the selector usage for various
> relocations was not consistent with that specified in the HP
> "Processor-Specific ELF for PA-RISC, Version 1.43" document.
> This involved changing various relocations to L/R selectors
> from LR/RR selectors. I have updated the assembler LR/RR table to
> reflect this change. I believe that with this patch selector
> usage now pretty much conforms to that specified in the above document.
>
> I have done bootstraps and checks of gcc using these tools for
> hppa64-hp-hpux11.00 and hppa64-hp-hpux11.11. I have also been doing
> hppa-linux builds using tools with this patch for the past couple
> of weeks. Oh, I can now link programs with '-static'.
>
> Please install if OK.
>
> Dave
> --
> J. David Anglin dave.anglin@nrc.ca
> National Research Council of Canada (613) 990-0752 (FAX: 952-66
> 05)
>
> 2002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
>
> * bfd/elf-hppa.h (elf_hppa_is_dynamic_loader_symbol): New function.
> (elf_hppa_relocate_section): Ignore undefined dynamic loader symbols.
> (elf_hppa_final_link_relocate): Correct relocations for indirect
> references to local data through the DLT. Fix .opd creation for
> local symbols using R_PARISC_LTOFF_FPTR32 and R_PARISC_FPTR64
> relocations. Use e_lsel selector for R_PARISC_DLTIND21L,
> R_PARISC_LTOFF_FPTR21L and R_PARISC_LTOFF_TP21L as per
> "Processor-Specific ELF for PA_RISC, Version 1.43" document.
> Similarly, use e_rsel for DLT and LTOFF 'R' relocations.
> * bfd/elf32-hppa.c (final_link_relocate): Revise relocation selectors
> as per "Processor-Specific ELF for PA_RISC, Version 1.43" document.
> * gas/config/tc-hppa.c (md_apply_fix3): Add cast.
> (hppa_fix_adjustable): Adjust list of selectors using e_lrsel and
> e_rrsel.
Thanks. I went ahead and installed your patch.
jeff