Alan Modra
3f9b03b5da
Assorted code cleanup and fixes for hppa. Re-enable elf32-hppa as
...
it now compiles even if it doesn't work too well.
2000-05-02 00:12:52 +00:00
H.J. Lu
5cc7c785d2
2000-03-01 H.J. Lu <hjl@gnu.org>
...
* aoutx.h (aout_link_input_section_std): Pass "true" to
the undefined_symbol callback.
(aout_link_input_section_ext): Likewise.
* bout.c (get_value): Likewise.
* coff-a29k.c (coff_a29k_relocate_section): Likewise.
* coff-alpha.c (alpha_ecoff_get_relocated_section_conten):
Likewise.
(alpha_relocate_section): Likewise.
* coff-arm.c (coff_arm_relocate_section): Likewise.
* coff-i960.c (coff_i960_relocate_section): Likewise.
* coff-mcore.c (coff_mcore_relocate_section): Likewise.
* coff-mips.c (mips_relocate_section): Likewise.
* coff-ppc.c (coff_ppc_relocate_section): Likewise.
* coff-sh.c (sh_relocate_section): Likewise.
* coff-tic80.c (coff_tic80_relocate_section): Likewise.
* cofflink.c (_bfd_coff_generic_relocate_section): Likewise.
* elf-m10200.c (mn10200_elf_relocate_section): Likewise.
* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
* elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
* elf32-i370.c (i370_elf_relocate_section): Likewise.
* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
* elf32-sh.c (sh_elf_relocate_section): Likewise.
* elf32-v850.c (v850_elf_relocate_section): Likewise.
* elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
* elflink.h (elf_link_output_extsym): Likewise.
* pe-mips.c (coff_pe_mips_relocate_section): Likewise.
* reloc.c (bfd_generic_get_relocated_section_conten): Likewise.
* reloc16.c (_bfd_ppc_xcoff_relocate_section): Likewise.
* elf-hppa.h (elf_hppa_relocate_section): Pass "false" to the
undefined_symbol callback when building shared library with
-Bsymbolic and undefined symbols are allowed. Otherwise, pass
"true".
* elf32-arm.h (elf32_arm_relocate_section): Likewise.
* elf32-i386.c (elf_i386_relocate_section): Likewise.
* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
* elf32-mips.c (mips_elf_calculate_relocation): Likewise.
(elf32_mips_get_relocated_section_content): Likewise.
* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
2000-03-01 19:40:54 +00:00
Jeff Law
b2df14602e
* elf-hppa.h (elf_hppa_final_write_processing): Turn on TRAPNIL.
1999-09-16 21:01:08 +00:00
Jeff Law
1209c61294
* elf-hppa.h (elf_hppa_final_link): If unable to find __gp in the
...
symbol table, then just compute a suitable value (but do not
create a __gp symbol).
1999-09-16 20:39:10 +00:00
Jeff Law
dfec422f08
* elf-hppa.h (elf_hppa_relocate_section): Allow undefined
...
symbols when building shared libraries.
(elf_hppa_final_link_relocate): Correct handling of PCREL
relocations against undefined symbols.
1999-09-16 16:51:34 +00:00
Jeff Law
19ef546580
* elf-hppa.h (elf_hppa_final_link): Revamp __gp handling.
...
(elf_hppa_final_link_relocate): Consistently create an absolute
address, then subtract out the value of __gp.
1999-09-15 08:51:45 +00:00
Jeff Law
2ec0dd123c
* elf-hppa.h (elf_hppa_record_segment_addrs): New function.
...
(elf_hppa_final_link): Initialize text_segment_base and
data_segment_base.
(elf_hppa_final_link_relocate): Handle SEGREL relocations.
1999-09-14 03:44:43 +00:00
Jeff Law
b2e311df32
* elf-hppa.h (elf_hppa_final_link): Remove unused variables.
...
(elf_hppa_final_link_relocate): Likewise.
(elf_hppa_relocate_insn): Likewise.
(elf_hppa_relocate_section): Initialize HOWTO.
1999-09-14 02:03:58 +00:00
Jeff Law
228d307f1b
* elf-hppa.h (elf_hppa_final_link_relocate): Handle SECREL32.
...
Stub SEGREL32. Return an error for any relocation not handled.
1999-09-13 05:51:32 +00:00
Jeff Law
e48c661ee6
* elf-hppa.h (elf_hppa_final_link_relocate): Create .opd entries
...
for FPTR relocs involving local symbols.
1999-09-10 15:46:37 +00:00
Jeff Law
6a0b987115
* elf-hppa.h (elf_hppa_final_link_relocate): Get the right
...
value for the stub address in a call through a stub.
Install the value for a local symbol directly into the DLT
instead of generating a reloc. Correctly handle FPTR64 relocs.
1999-09-10 14:05:36 +00:00
Jeff Law
af7dc6449e
* elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): New function.
...
(elf_hppa_remark_useless_dynamic_symbols): Similarly.
(elf_hppa_final_link): Call them.
1999-09-10 06:38:05 +00:00
Jeff Law
b1d5590577
Update some comments.
1999-09-09 14:52:15 +00:00
Jeff Law
b726396160
* elf-hppa.h (elf_hppa_howto_table); There is no DIR64WR, DIR64DR
...
relocation, remove them. SECREL64->LTOFF16WF.
(elf_hppa_final_link_relocate): Handle LTOFF* relocations. Handle
DIR* relocations.
(elf_hppa_relocate_insn): Similarly.
1999-09-09 14:51:33 +00:00
Jeff Law
8267b1550c
* elf-hppa.h (elf_hppa_final_link_relocate): Handle PLTOFF* relocs.
...
(elf_hppa_relocate_insn): Similarly.
1999-09-09 14:20:18 +00:00
Jeff Law
6849fb4de7
* elf-hppa.h (elf_hppa_final_link_relocate): Handle DPREL* and
...
GPREL* relocations.
(elf_hppa_relocate_insn): Similarly.
1999-09-09 14:10:24 +00:00
Jeff Law
b233eaabc0
* elf-hppa.h (elf_hppa_link_final_relocate): Fix typos.
...
Handle LTOFF_TP* relocs.
(elf_hppa_relocate_insn): Similarly.
1999-09-09 13:55:46 +00:00
Jeff Law
571047ad0a
* elf-hppa.h (elf_hppa_final_link_relocate): Handle PCREL* relocs.
...
Consistently deal with addends. Handle DLTIND14F and DLTREL14F.
(elf_hppa_relocate_insn): Handle PCREL* relocs.
1999-09-09 13:32:38 +00:00
Jeff Law
e5bb3efcc5
* elf-hppa.h (elf_hppa_final_link_relocate): Handle LT_OFF_FPTR*,
...
DIR32, DIR64 and FPTR64 relocations.
(elf_hppa_relocate_insn): Similarly.
1999-09-09 13:01:11 +00:00
Jeff Law
be7582f38a
Wed Sep 8 17:56:11 1999 Jeffrey A Law (law@cygnus.com)
...
* elf-hppa.h (elf_hppa_final_link): Set the value of __gp to the
address of the .PARISC.global section.
(elf_hppa_relocate_section): Lookup and pass the PA64 hash
table entry elf_hppa_final_link_relocate. Do not give a warning
for a reloc against an external symbol if it has a PA64 hash
table entry.
(elf_hppa_final_link_relocate): Significantly rework. Handle
DLTIND relocations. Compute the final value of the relocation
before passing the value of elf_hppa_relocate_insn.
(elf_hppa_relocate_insn): Revamp to handle just bit tiwiddling
relocation support. Handle DLTIND relocation requests just like
DLTREL relocation requests. Simplify branch handling.
1999-09-08 Ulrich Drepper <drepper@cygnus.com>
* elf-hppa.h (elf_hppa_relocate_section): Catch problems with
non-allocated section as done in i386 version.
(elf_hppa_final_link_relocate): Uncomment R_PARISC_14F in switch
statement since this is no know relocation.
1999-09-09 12:01:24 +00:00
Jeff Law
084d930bff
* elf-hppa.h (elf_hppa_final_link_relocate): Handle DLTREL14F
...
relocs.
(elf_hppa_relocate_insn): Similarly.
1999-09-08 01:00:12 +00:00
Jeff Law
11c19a4e3c
* elf-hppa.h (elf_hppa_final_link_relocate): Handle DLTREL14WR and
...
DLTREL14WD relocs.
(elf_hppa_relocate_insn): Similarly.
1999-09-08 00:50:50 +00:00
Jeff Law
c8933571da
* elf-hppa.h (elf_hppa_final_link_relocate): Handle DLTREL14R and
...
DLTREL21L relocs. Pass the output bfd to elf_hppa_relocate_insn.
Pass the relocate type rather than the insn format to
elf_hppa_relocate_insn.
(elf_hppa_relocate_insn): Make switch dependent on relocation type
rather than the opcode. Handle DLTREL21L and DLTREL14R relocs.
1999-09-08 00:09:52 +00:00
Jeff Law
f273939b8e
Fix minor typos introduced while cleaning up the previous patch.
1999-09-01 20:06:15 +00:00
Jeff Law
2eb429af04
* elf-hppa.h (elf_hppa_add_symbol_hook): New function.
...
(elf_hppa_final_link, elf_hppa_relocate_section): Likewise.
(elf_hppa_final_link_relocate, elf_hppa_relocate_insn): Likewise.
1999-09-01 19:42:17 +00:00
Jeff Law
0d571602ca
* elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Allow both
...
R_PARISC_DIR32 and R_PARISC_DIR64 regardless of how the
tools were configured.
* elf32-hppa.h (_bfd_elf32_hppa_gen_reloc_type): Declare.
1999-08-30 21:30:36 +00:00
Jeff Law
1ca740621c
* elf-hppa.h (elf_hppa_fake_sections): Compute section indices
...
here instead of using elf_section_data...
1999-08-20 23:03:04 +00:00
Jeff Law
183df869b6
Fix typo.
1999-08-11 18:15:39 +00:00
Jeff Law
052e120f44
* elf-hppa.h (elf_hppa_fake_sections): New function.
...
* elf32-hppa.c (elf_backend_fake_sections): Define.
1999-08-11 09:30:20 +00:00
Jeff Law
3a9acac86a
* elf-hppa.h (elf_hppa_final_write_processing): Update for
...
recent changes to the arch_info structure.
1999-08-10 19:19:22 +00:00
Jeff Law
fc91f6585b
* elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle
...
R_HPPA_SEGBASE and R_HPPA_SEGREL32.
* cpu-hppa.c (bfd_hppa20w_arch): New entry in architecture info
list.
1999-08-10 18:51:53 +00:00
Jeff Law
432bdd91dd
* elf-hppa.h (_bfd_elf_hppa_gen_reloc_type, case 32): When in
...
64bit mode, generate a section relative relocation for a 32bit
wide relocation.
(elf_hppa_is_local_label_name): New function.
* elf32-hppa.c (elf_hppa_is_local_label_name): Deleted. To be
shared between 32bit and 64bit port.
1999-08-09 23:47:04 +00:00
Jeff Law
3686090072
* elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle 21bit e_ltpsel
...
and 14bit ertpsel. Handle 64bit psel.
1999-08-05 00:12:22 +00:00
Jeff Law
6e2bf930a0
è
...
* elf-hppa.h (_bfd_elf_hppa_gen_reloc_type, case R_HPPA): Handle
64bit format.
(_bfd_elf_hppa_gen_reloc_type, case R_GOTOFF): Use base reloc type
to derive final type instead of hardwiring a selection.
1999-07-15 02:06:03 +00:00
Ian Lance Taylor
5f771d47c7
* Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
...
as appropriate. Use EMPTY_HOWTO as appropriate. Fill in
structure initializations. Add casts.
* reloc.c (EMPTY_HOWTO): Define.
* bfd-in2.h: Rebuild.
* coff-h8300.c (h8300_reloc16_extra_cases): Remove useless
comparisons against 0.
* elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Change
previous_ibfd_e_flags to unsigned long.
* vms.h (struct vms_private_data_struct): Change section_count to
unsigned.
* vms-gsd.c (_bfd_vms_slurp_gsd): Change psect_idx to unsigned.
(_bfd_vms_write_gsd): Change symnum to unsigned.
* vms-hdr.c (_bfd_vms_write_hdr): Change symnum to unsigned.
* vms-tir.c (etir_sta): Change psect to unsigned.
(alloc_section): Change idx to unsigned.
(tir_sta, tir_ctl): Change psect to unsigned.
(_bfd_vms_write_tir): Change len and before to bfd_size_type.
* vms.c (priv_section_count): Change to unsigned.
1999-07-12 10:30:21 +00:00
Jeff Law
f31cedf7ae
è
...
* elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): T mode selectors
need to generate DLTIND relocations, not DLTREL relocations.
1999-07-06 09:27:18 +00:00
Jeff Law
341362b58e
X
...
* elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle R_PCREL_CALL
with 22bit format.
1999-07-01 13:02:50 +00:00
Jeff Law
caf3d37ccc
è
...
* elf-hppa.c (elf_hppa_howto_table): Use bfd_elf_generic_reloc as
relocation function.
* elf32-hppa.c (hppa_elf_reloc): Kill unused/unwanted function.
1999-06-29 01:28:25 +00:00
Jeff Law
95cbae0b17
*** empty log message ***
1999-06-24 20:01:43 +00:00
Jeff Law
9e103c9cd2
* elf-hppa.h: New file. Common stuff for elf32 and elf64 PA
...
support.
* elf32-hppa.c: Include elf-hppa.h.
(ARCH_SIZE): Define.
(elf_hppa_reloc_type_lookup): Delete. Found in the common code
now.
(elf32_hppa_info_to_howto): Similarly.
(elf_hppa_howto_table): Similarly.
(elf_hppa_reloc_type_lookup): Similarly.
(hppa_elf_gen_reloc_type): Similarly.
* elf32-hppa.h (ELF_HOWTO_TALBE, N_PARISC_RELOCS): Delete.
1999-06-22 12:20:30 +00:00