Commit Graph

1143 Commits

Author SHA1 Message Date
Richard Henderson
204692d7e6 * elf64-alpha.c (elf64_alpha_section_flags): New.
(elf64_alpha_fake_sections): Map SEC_SMALL_DATA to SHF_ALPHA_GPREL.
2001-09-11 18:26:27 +00:00
Richard Henderson
f94952df27 * elf64-alpha.c (elf64_alpha_relocate_section): Do not
apply HINT relocations against dynamic symbols.
2001-09-11 18:21:11 +00:00
H.J. Lu
146f1a875a 2001-09-11 H.J. Lu <hjl@gnu.org>
* inker.c (link_action): Change COMMON_ROW\defw from CREF to
	COM.
2001-09-11 18:10:20 +00:00
Richard Henderson
96e2734bcd * elf64-alpha.c: Delete all unused ERIC_neverdef and rth_notdef code. 2001-09-09 20:50:00 +00:00
Richard Henderson
1cd6895c55 * elf64-alpha.c (elf64_alpha_relax_with_lituse): Nop out gpdisp
following a call to a near function.
2001-09-09 20:42:11 +00:00
Richard Henderson
f16fbd61d9 * elf64-alpha.c (elf64_alpha_relocate_section): Soft fail
relocation errors.  Fail gp-relative relocations against
        dynamic symbols.
2001-09-09 06:58:06 +00:00
Alan Modra
56882138c5 * elf32-i386.c (elf_i386_relocate_section): Check !DEF_REGULAR
as well as DEF_DYNAMIC in test for avoided copy relocs.
	(allocate_plt_and_got_and_discard_relocs): Likewise.
	* elf32-i386.c (elf_i386_relocate_section): Likewise.
	(allocate_plt_and_got_and_discard_relocs): Likewise.
2001-09-08 05:47:01 +00:00
Thiemo Seufer
cb56d3d327 * elf32-mips.c (mips_elf_calculate_relocation): Fix overflow handling
of R_MIPS_PC16.

	* config/tc-mips.c (append_insn): Handle BFD_RELOC_16_PCREL.
	(macro_build): Use BFD_RELOC_16_PCREL_S2 only for embedded
	PIC, BFD_RELOC_16_PCREL for the rest.
	(mips_ip): Likewise.
        (md_pcrel_from): return the right offset for the differently shifted
        pcrel relocs.
	(md_apply_fix): Handle BFD_RELOC_16_PCREL.

	* gas/mips/beq.d: Check branches to external labels.
	* gas/mips/beq.s: Likewise.
	* gas/mips/bge.d: Likewise.
	* gas/mips/bge.s: Likewise.
	* gas/mips/bgeu.d: Likewise.
	* gas/mips/bgeu.s: Likewise.
	* gas/mips/blt.d: Likewise.
	* gas/mips/blt.s: Likewise.
	* gas/mips/bltu.d: Likewise.
	* gas/mips/bltu.s: Likewise.
	* gas/mips/elempic.d: Switch from R_MIPS_GNU_REL16_S2 to R_MIPS_PC16.
	* gas/mips/empic.d: Likewise.
	* gas/mips/empic.s: Likewise.
	* gas/mips/telempic.d: Likewise.
	* gas/mips/tempic.d: Likewise.
2001-09-07 05:00:37 +00:00
Thiemo Seufer
77bfe34f56 * elf64-mips.c (mips_elf64_howto_table_rel): Fix relocation HOWTO
definitions.
	(mips_elf64_howto_table_rel): Likewise.
2001-09-06 21:30:15 +00:00
Tom Rix
1fdf02497c Fix import symbols for AIX. 2001-09-06 15:20:01 +00:00
Richard Henderson
dfe57ca0af * elf64-alpha.c (SKIP_HOWTO): New.
(elf64_alpha_howto_table): Use it to remove dead ECOFF relocs.
        Fix sizes of 16-bit mem format relocs.
        (elf64_alpha_reloc_map): Update to match.
        (elf64_alpha_relax_with_lituse): Use GPREL16 as appropriate.
        (elf64_alpha_relax_without_lituse): Likewise.
        (elf64_alpha_check_relocs): Handle GPREL16.
        (elf64_alpha_relocate_section): Likewise.
        * reloc.c (BFD_RELOC_ALPHA_USER_*): Remove.
        (BFD_RELOC_ALPHA_GPREL_HI16, BFD_RELOC_ALPHA_GPREL_LO16): New.
        * bfd-in2.h, libbfd.h: Rebuild.
2001-09-05 03:00:14 +00:00
Jeff Law
5907e6285e * elf32-h8300.c (elf32_h8_relax_section): New function.
(elf32_h8_relax_delete_bytes): Likewise.
        (elf32_h8_symbol_address_p): Likewise.
        (elf32_h8_get_relocated_section_contents): Likewise.
        (bfd_elf32_bfd_relax_section): Define.
        (bfd_elf32_bfd_get_relocated_section_contents): Likewise.
2001-09-04 21:06:01 +00:00
Jeff Law
a00c9dbc18 * elf32-h8300.c (special): New function.
(h8_elf_howto_table): Use it for SPECIAL_FUNCTION field in
        all relocations.
        (elf32_h8_final_link_relocate): Treat R_H8_DIR24A8 like 32bit
        relocations.  Fix problems with the true 24bit reloc R_H8_DIR24R8.
        Fix minor problems with 8bit and 16bit PC relative relocations.
2001-09-04 17:29:36 +00:00
Andreas Jaeger
524f76c97e * vms-tir.c: Add missing prototypes.
* vms-hdr.c: Likewise.
	* vms-gsd.c: Likewise.
	* vms-misc.c: Likewise.
2001-09-01 10:29:27 +00:00
H.J. Lu
6140b3b903 2001-08-31 H.J. Lu <hjl@gnu.org>
* elf32-mips.c (_bfd_mips_elf_check_relocs): Report filename
	with bad relocation.
2001-08-31 21:41:10 +00:00
Eric Christopher
a1cd6a8fe3 2001-08-31 Eric Christopher <echristo@redhat.com>
Jason Eckhardt  <jle@redhat.com>

	* bfd/archures.c: Add mipsisa32 and mipsisa64. Remove mips32,
	mips32_4k and mips64.
	* bfd/aoutx.h: Remove bfd_mach_mips32, bfd_mach_mips32_4k,
	bfd_mach_mips64.  Add bfd_mach_mipsisa32, bfd_mach_mipsisa64.
	* bfd/cpu-mips.c: Ditto.
	* bfd/elf32-mips.c (_bfd_mips_elf_final_write_processing): Ditto.
	* bfd/bfd-in2.h: Regenerate.
2001-08-31 21:24:28 +00:00
Jakub Jelinek
28cfee261d * elf64-alpha.c (elf64_alpha_relocate_section): Duplicate memory
value into R_ALPHA_RELATIVE's addend.
	(elf64_alpha_finish_dynamic_symbol): Likewise.
2001-08-31 19:20:12 +00:00
Nick Clifton
08bf74c587 amend entry to mention only if not USE_REL 2001-08-31 16:24:39 +00:00
Nick Clifton
5fb1c3f282 Do not rightshift recomputed addend during relocatable link if not USE_REL. 2001-08-31 16:23:25 +00:00
Nick Clifton
374b596dd6 Fix off-by-one error whilst sweeping vtable relocs 2001-08-31 16:16:14 +00:00
H.J. Lu
2bab97856d 2001-08-30 H.J. Lu <hjl@gnu.org>
* elf32-mips.c (mips_elf_calculate_relocation): Revert the last
	2 changes.
	(_bfd_mips_elf_adjust_dynamic_symbol): Allocate dynamic
	relocations for weak definitions.
2001-08-30 21:26:26 +00:00
H.J. Lu
ee8a3a3be4 2001-08-30 H.J. Lu <hjl@gnu.org>
* Makefile.am (BFD32_BACKENDS): Add elf32-h8300.lo.
	(BFD32_BACKENDS_CFILES): Add elf32-h8300.c.
	* Makefile.in: Rebuild.
2001-08-30 16:02:40 +00:00
H.J. Lu
8eb59a907a 2001-08-30 H.J. Lu <hjl@gnu.org>
* elf32-mips.c (mips_elf_calculate_relocation): Don't create
	dynamic relocation for undefined weak symbols when creating
	executables. Check h->root.root.type, instead of h->root.type.
2001-08-30 15:24:18 +00:00
Tom Rix
8df8c6197a Fix for xty_ld symbols 2001-08-30 12:48:35 +00:00
Jeff Law
f235248854 * elf32-h8300.c (h8_elf_howto_table): Add new PC relative
relocations.
	(h8_reloc_map): Similarly.
	(elf32_h8_final_link_relocate): Remove incorrect overflow tests.
	Add support for PC relative relocations.
2001-08-30 02:15:58 +00:00
Jeff Law
5e47149d10 * elf32-h8300.c: Put all prototypes together.
(elf32_h8_info_to_howto): Parameter elf_reloc is used.
        (elf32_h8_final_link_relocate): New function for linker.
        (elf32_h8_relocate_section): Similarly.
        (elf_backend_relocate_section): Define.
2001-08-30 00:08:12 +00:00
Phil Blundell
d43ded80a7 2001-08-29 Joel Sherrill <joel@OARcorp.com>
* configure.tgt (i[3456]86-*-rtems*, m68*-*-rtems*): Change
	default from coff to elf.
2001-08-29 18:47:28 +00:00
Jeff Law
eea78af13d Fix brown-paper-bag thinko in last change. 2001-08-29 18:45:18 +00:00
Jeff Law
f18a3b8579 Fix typos in ChangeLog dates. 2001-08-29 17:24:40 +00:00
Jeff Law
0a83638b54 * cpu-h8300.c (h8300_scan, compatible): Prototype.
(h8300_scan): Handle architecture:machine encodings typically
        found in linker scripts.
        * elf.c (prep_headers): Do not try to do H8 machine recognition
        here.
        * elf32-h8300.c:  Add some missing prototypes.
        (elf32_h8_mach, elf32_h8_final_write_processing): New functions.
        (elf32_h8_object_p): Similarly.
2001-08-29 17:23:16 +00:00
Alan Modra
102ab33260 * targmatch.sed: Delete case statements.
* config.bfd <powerpc-*-aix* entry>: Select 64 bit xcoff for
	aix4.3 and above.
2001-08-29 03:39:47 +00:00
Joern Rennecke
e01b0e6981 * Makefile.am (elf32-h8300.lo): New target.
* config.bfd (h8300*-*-elf): New case.
	* configure.in (bfd_elf32_h8300_vec): New case.
	* elf.c (prep_headers): Add case for bfd_arch_h8300.
	* reloc.c (BFD_RELOC_H8_DIR16A8): New relocation.
	(BFD_RELOC_H8_DIR16R8, BFD_RELOC_H8_DIR24A8): Likewise.
	(BFD_RELOC_H8_DIR24R8, BFD_RELOC_H8_DIR32A16): Likewise.
	* targets.c (bfd_target bfd_elf32_h8300_vec): New extern declaration.
	* elf32-h8300.c: New file.
	* Makefile.in, bfd-in2.h, libbfd.h, configure: Regenerated.
2001-08-29 01:33:52 +00:00
Nick Clifton
42ef282fe7 Add missing prototypes 2001-08-28 09:35:16 +00:00
Daniel Jacobowitz
2e67030cdb * elf32-i386.c: Add missing prototypes.
* elf32-ppc.c: Likewise.
        * elf32-sh-lin.c: Likewise.
        * elfarm-nabi.c: Likewise.
2001-08-27 18:04:37 +00:00
Daniel Jacobowitz
c5fccbec35 * elf32-i386.c (elf_i386_grok_prstatus): New function.
(elf_i386_grok_psinfo): New function.
        (elf_backend_grok_prstatus): Define.
        (elf_backend_grok_psinfo): Likewise.
        * elf32-ppc.c (ppc_elf_grok_prstatus): New function.
        (ppc_elf_grok_psinfo): New function.
        (elf_backend_grok_prstatus): Define.
        (elf_backend_grok_psinfo): Likewise.
        * elf32-sh-lin.c (elf32_shlin_grok_prstatus): New function.
        (elf32_shlin_grok_psinfo): New function.
        (elf_backend_grok_prstatus): Define.
        (elf_backend_grok_psinfo): Likewise.
        * elfarm-nabi.c (elf32_arm_nabi_grok_prstatus): New function.
        (elf32_arm_nabi_grok_psinfo): New function.
        (elf_backend_grok_prstatus): Define.
        (elf_backend_grok_psinfo): Likewise.
2001-08-27 17:36:32 +00:00
H.J. Lu
14d5043ad0 2001-08-27 H.J. Lu <hjl@gnu.org>
* elf32-mips.c (mips_elf_create_dynamic_relocation): Add more
	sanity check.
	(mips_elf_calculate_relocation): Create dynamic relocation for
	symbols with weak definition or the ELF_LINK_HASH_DEF_REGULAR
	bit is not set.
2001-08-27 15:40:38 +00:00
H.J. Lu
9e80ff3a40 2001-08-27 H.J. Lu <hjl@gnu.org>
* elf32-mips.c (_bfd_mips_elf_hide_symbol): Add prototype.
	(_bfd_mips_elf_copy_indirect_symbol): Likewise.
	(_bfd_elf32_mips_grok_prstatus): Likewise.
	(_bfd_elf32_mips_grok_psinfo): Likewise.
	(_bfd_mips_elf_hide_symbol): Make it static and cast to
	`struct mips_elf_link_hash_entry *'.
	(_bfd_mips_elf_copy_indirect_symbol): Make it static.
2001-08-27 14:47:33 +00:00
Nick Clifton
e4b172749c Add missing prototypes 2001-08-27 10:35:20 +00:00
Alan Modra
5bd4f1692e * config.bfd: Add powerpc64 target. Add powerpc64 vectors to
targ64_selvecs for 32 bit powerpc targets.
	* Makefile.am (BFD64_BACKENDS): Add elf64-ppc.lo.
	(BFD64_BACKENDS_CFILES): Add elf64-ppc.c.
	Run "make dep-am".
	* Makefile.in: Regenerate.
	* configure.in: Add elf64_powerpc vecs.
	* configure: Regenerate.
	* cpu-powerpc.c: Default to bfd_mach_ppc_620 entry for 64 bit.
	* elf.c (prep_headers): EM_PPC64 for 64 bit ppc elf target.
	* targets.c: Add bfd_elf64_powerpc_vec and bfd_elf64_powerpcle_vec.
	* elf64-ppc.c: New file.
	* reloc.c: Add powerpc64 relocs.
	* libbfd.h: Regenerate.
	* bfd-in2.h: Regenerate.
2001-08-27 10:22:03 +00:00
Andreas Schwab
aa91b392b3 * elf32-m68k.c (elf32_m68k_check_relocs): Set DF_TEXTREL if the
reloc is against read-only section.
	(elf32_m68k_size_dynamic_sections): Use DF_TEXTREL flag instead of
	looking up section names for DT_TEXTREL.
	(elf32_m68k_reloc_type_class): New function.
	(elf_backend_reloc_type_class): Define.
2001-08-27 09:16:10 +00:00
Andreas Jaeger
29c2fb7c2b * elf64-s390.c (elf_s390_check_relocs): Set DF_TEXTREL if the
reloc is against read-only section.
	(elf_s390_size_dynamic_sections): Use DF_TEXTREL flag instead of
	looking up section names for DT_TEXTREL.
	(elf_s390_reloc_type_class): New.
	(elf_backend_reloc_type_class): Define.

	* elf32-s390.c (elf_s390_check_relocs): Set DF_TEXTREL if the
	reloc is against read-only section.
	(elf_s390_size_dynamic_sections): Use DF_TEXTREL flag instead of
	looking up section names for DT_TEXTREL.
	(elf_s390_reloc_type_class): New.
	(elf_backend_reloc_type_class): Define.

	* elf32-ppc.c (ppc_elf_check_relocs): Set DF_TEXTREL if the reloc
	is against read-only section.
	(ppc_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of
	looking up section names for DT_TEXTREL.
	(ppc_elf_reloc_type_class): New.
	(elf_backend_reloc_type_class): Define.
2001-08-27 08:59:08 +00:00
Andreas Jaeger
99e4ae17b9 * elf32-cris.c (cris_elf_check_relocs): Set DF_TEXTREL if the
reloc is against read-only section.
	(elf_cris_size_dynamic_sections): Use DF_TEXTREL flag instead of
	looking up section names for DT_TEXTREL.
	(elf_cris_reloc_type_class): New.
	(elf_backend_reloc_type_class): Define.

	* elf32-sh.c (sh_elf_check_relocs): Set DF_TEXTREL if the reloc is
	against read-only section.
	(elf_backend_reloc_type_class): Define.
	(sh_elf_reloc_type_class): New.
	(sh_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of
	looking up section names for DT_TEXTREL.

	* elf32-arm.h (elf32_arm_check_relocs): Set DF_TEXTREL if the
	reloc is against read-only section.
	(elf32_arm_size_dynamic_sections): Use DF_TEXTREL flag instead of
	looking up section names for DT_TEXTREL.
	(elf32_arm_reloc_type_class): New.
2001-08-26 18:03:19 +00:00
Andreas Jaeger
24a35864ab * oasys.c: Add missing prototypes.
* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Add unused
	attribute for parameter.
	* elf.c (_bfd_elf_reloc_type_class): Likewise.

	* versados.c (get_4): Make static.
	(get_10): Make static.
	Add missing prototypes.
	(process_esd): Fix call to versados_new_symbol.
2001-08-26 11:46:04 +00:00
Nick Clifton
917583ad77 Add missing prototypes 2001-08-25 09:49:44 +00:00
Thiemo Seufer
aee61b1396 * elf32-mips.c (elf_mips_abi_name): Return the right ABI string for
E_MIPS_ABI_O64 and E_MIPS_ABI_EABI64
2001-08-25 01:27:54 +00:00
H.J. Lu
b0f35f365d 2001-08-24 H.J. Lu <hjl@gnu.org>
* elf.c (_bfd_elf_merge_sections): Fail if not using an ELF
	hash structure.
2001-08-24 20:10:25 +00:00
Nick Clifton
8ea2e4bd70 Apply H.J.'s patch to revert change to elfxx-target.h
Apply my patch to allow SREC as output format.
2001-08-24 16:36:04 +00:00
Alexandre Oliva
8c98ec7dcc * bfd.c (bfd_alt_mach_code): New function.
* bfd-in2.h: Rebuilt.
2001-08-24 13:55:55 +00:00
Alexandre Oliva
17ea634937 * elf-m10300.c (mn10300_elf_relocate_section): Test the right
`type' field in the hash entry when deciding whether to follow a
link.
2001-08-24 13:14:46 +00:00
Jakub Jelinek
fcfbdf319e * elflink.h (elf_link_sort_cmp1): Sort RELATIVE relocs first, not
last.
	(elf_link_sort_relocs): Adjust accordingly.

	* elf64-alpha.c (struct alpha_elf_link_hash_entry): Add reltext flag.
	(elf64_alpha_check_relocs): Set it if section this reloc is against
	is read-only.  Set DF_TEXTREL if a RELATIVE reloc is needed against
	read-only section.
	(elf64_alpha_calc_dynrel_sizes): Set DF_TEXTREL flag if relocation
	is is against read-only section.
	(elf64_alpha_size_dynamic_sections): Use DF_TEXTREL flag, don't
	check section names.
	(elf64_alpha_reloc_type_class): New.
	(elf_backend_reloc_type_class): Define.
2001-08-24 11:17:30 +00:00