Commit Graph

56 Commits

Author SHA1 Message Date
Nick Clifton
5fb1c3f282 Do not rightshift recomputed addend during relocatable link if not USE_REL. 2001-08-31 16:23:25 +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
Nick Clifton
917583ad77 Add missing prototypes 2001-08-25 09:49:44 +00:00
Nick Clifton
62efb34674 Include offset of reloc from start of section when computing value for
R_ARM_REL32 reloc.
2001-08-03 11:14:42 +00:00
Phil Blundell
7a25cd3e1a 2001-06-09 Philip Blundell <philb@gnu.org>
* elf32-arm.h (elf32_arm_plt0_entry): Correct error in last
	change.
	(elf32_arm_plt_entry): Likewise.
2001-06-09 20:19:29 +00:00
Nick Clifton
f7a74f8c82 Support big endian PLT entries. 2001-05-28 10:50:31 +00:00
Nick Clifton
cac1532771 Set EF_ARM_HASENTRY if the start address is set. 2001-05-04 08:32:21 +00:00
Nick Clifton
d165939296 Fix warning message 2001-03-16 17:34:31 +00:00
Phil Blundell
d982ba7301 2001-03-11 Philip Blundell <philb@gnu.org>
* elf32-arm.h (elf32_arm_finish_dynamic_symbol): Don't make PLT
	entries that could serve as a definition for a weak symbol.
2001-03-11 13:10:51 +00:00
Nick Clifton
7898dedac0 Update copyright notices 2001-03-08 21:04:02 +00:00
Nick Clifton
df425bc0dd Conditionalize prevbious pathc on ! defined OLD_ARM_ABI. 2001-03-07 23:52:58 +00:00
Nick Clifton
4f3c3dbb37 Fix BLX(1) for Thumb 2001-03-06 22:33:47 +00:00
Phil Blundell
fd2ec33034 2001-02-28 Philip Blundell <pb@futuretv.com>
* elf32-arm.h: Update mentions of renamed EF_xx constants.
 	(elf32_arm_print_private_bfd_data): Handle ARM EABI version 2.
2001-02-28 10:13:20 +00:00
Nick Clifton
857ec808bb Pass dwarf2_find_line_info as last parameter to invocation of
_bfd_dwarf2_find_nearest_line.
2000-12-09 20:12:57 +00:00
Nick Clifton
51db370890 Generalize DWARF2 and COFF support. 2000-12-08 22:50:07 +00:00
Kazu Hirata
a7c108501a 2000-12-03 Kazu Hirata <kazu@hxi.com>
* elf32-arm.h: Fix formatting.
	* elf32-avr.c: Likewise.
	* elf32-cris.c: Likewise.
	* elf32-d10v.c: Likewise.
	* elf32-d30v.c: Likewise.
	* elf-hppa.h: Likewise.
	* elf-m10200.c: Likewise.
	* elf-m10300.c: Likewise.
2000-12-03 20:44:04 +00:00
Phil Blundell
cf919dfdd7 2000-11-05 Philip Blundell <philb@gnu.org>
* elf32-arm.h (elf32_arm_merge_private_bfd_data): Always permit
	BFDs containing no sections to be merged, regardless of their flags.

2000-11-04  Philip Blundell  <philb@gnu.org>

	* elf32-arm.h (elf32_arm_relocate_section): Suppress error message
	if a relocation for an undefined symbol also results in an
	overflow.
2000-11-06 19:38:10 +00:00
Phil Blundell
ee43f35ef7 2000-10-31 Philip Blundell <philb@gnu.org>
* elf32-arm.h (elf32_arm_merge_private_bfd_data): Only handle
	EF_SOFT_FLOAT if it is defined.
2000-11-01 07:20:04 +00:00
Phil Blundell
1006ba1936 2000-10-27 Philip Blundell <philb@gnu.org>
* elf32-arm.h (elf32_arm_copy_private_bfd_data): Don't refuse
	attempts to mix PIC code with non-PIC, just mark the output as
	being position dependent.
	(elf32_arm_merge_private_bfd_data): Likewise.  Print an error
	message for EF_SOFT_FLOAT mismatches.  Display diagnostics for
	all mismatches, not just the first one.
2000-10-27 22:24:52 +00:00
Alan Modra
9a5aca8c9c (arm_add_to_rel): Fix R_ARM_THM_PC22 relocations. 2000-09-29 13:51:49 +00:00
Nick Clifton
fe077fa645 Do not initialise flags in output bfd if the input bfd is the default
architecture with the default flags.
2000-09-09 00:40:08 +00:00
Phil Blundell
05924f3654 2000-09-03 Philip Blundell <philb@gnu.org>
* elf32-arm.h (elf32_arm_relocate_section): Don't try to relocate
	references to undefined symbols in debugging sections.
2000-09-03 16:32:02 +00:00
Nick Clifton
9b485d32de Fix formatting 2000-08-10 19:41:07 +00:00
Nick Clifton
dcb5e6e634 If the destination of a BLX instruction is aligned on a half word boundary,
set the H bit.
2000-08-04 00:07:42 +00:00
H.J. Lu
d6cf28795d 2000-07-19 H.J. Lu <hjl@gnu.org>
* elf32-arm.h (elf32_arm_size_dynamic_sections): Also set
	DF_TEXTREL if DT_TEXTREL is set.
	* elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
	* elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
	* elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
	* elf32-mips.c (_bfd_mips_elf_size_dynamic_sections): Likewise.
	* elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
	* elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
	* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
	* elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
	* elf64-ia64.c (elf64_ia64_size_dynamic_sections): Likewise.
	* elf64-sparc.c (sparc64_elf_size_dynamic_sections): Likewise.

	* bfd/elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also
	set DF_SYMBOLIC for symbolic link. Also set DT_RUNPATH if
	DT_RPATH is set.
	Set the DT_FLAGS and DT_FLAGS_1 entries if necessary.
2000-07-20 03:21:59 +00:00
Alexandre Oliva
b1bcb49f9c * elf32-arm.h (elf32_arm_final_link_relocate): Print `(local)'
for local symbols whose names are unknown.
2000-06-24 20:10:24 +00:00
H.J. Lu
3a27a730c7 2000-05-23 H.J. Lu <hjl@gnu.org>
* elf32-i386.c (elf_i386_relocate_section): Don't allow the
	undefined symbol with the non-default visibility attributes.
	* elf-hppa.h (elf_hppa_relocate_section): Likewise.
	* elf32-arm.h (elf32_arm_relocate_section): Likewise.
	* elf32-i370.c (i370_elf_relocate_section): Likewise.
	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
	* elf32-mips.c (mips_elf_calculate_relocation): 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-ia64.c (elf64_ia64_relocate_section): Likewise.
	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
2000-05-23 14:05:50 +00:00
Nick Clifton
1fe494a572 Use bfd_generic_verify_endian_match() and fix it to only check when endianness
is known.
2000-05-22 18:44:02 +00:00
Nick Clifton
dfc5f959f3 Add support for R_ARM_XPC25 and R_ARM_THM_XPC22 relocs 2000-04-08 00:10:49 +00:00
Nick Clifton
ce855c42d5 Update copyright notice 2000-04-06 23:38:47 +00:00
Nick Clifton
fc830a8329 Only check EF_xxx flags if the EABI version number is unknown. 2000-04-06 23:32:19 +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
Nick Clifton
2f0ca46a49 Apply Thoams de Lellis's patch to fic disassembly of Thumb instructions when
bounded by non-function labels.
2000-01-27 20:05:32 +00:00
Nick Clifton
756fa1b9b7 Fix bug in interwork stubs from thumb to arm 2000-01-13 22:55:12 +00:00
Nick Clifton
811b4bf61d Add SEC_CODE and SEC_READONLY flags to glue sections. 1999-11-25 11:45:05 +00:00
Nick Clifton
57db232e4b Undeo previous delta. Set gc_mark instead. 1999-09-17 11:04:47 +00:00
Nick Clifton
d0f2103d07 Mark interworking sections as linker created to prevent garbage collection. 1999-09-16 15:32:40 +00:00
Nick Clifton
59f2c4e703 Apply Philip Blundell's patch to prevent range checks on weak symbols. 1999-09-13 09:59:02 +00:00
Nick Clifton
ddda4409ce fix bug in previous delta 1999-08-20 07:56:08 +00:00
Nick Clifton
98c1d4aab7 Fix partial REL relocs. 1999-08-19 10:12:28 +00:00
Nick Clifton
bcbdc74cb2 Fix interworking problems. 1999-08-12 08:37:15 +00:00
Nick Clifton
230801466a Check for overflow on R_ARM_PC24 relocs. 1999-08-11 10:56:35 +00:00
Catherine Moore
d512aa072e Correctly handle Vtentry relocs. 1999-07-30 15:09:54 +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
Ian Lance Taylor
e049a0de5a * Many files: Changes to avoid gcc warnings: Remove unused local
variables.  Add default case to enum switches.
	* coff-arm.c (bfd_arm_allocate_interworking_sections): Only
	compile if not COFF_IMAGE_WITH_PE.
	(record_arm_to_thumb_glue, record_thumb_to_arm_glue): Likewise.
	(bfd_arm_get_bfd_for_interworking): Likewise.
	(bfd_arm_process_before_allocation): Likewise.
	* epoc-pei-arm.c: Don't rename bfd_arm functions.
	* pei-arm.c: Likewise.
	* elf32-mips.c (mips_elf_link_hash_table_create): Don't declare.
	(MIPS_ELF_ADD_DYNAMIC_ENTRY): Correct last change.
	(mips_elf_got16_entry): Put parens around & in body of ==.
	(mips_elf_calculate_relocation): Correct test for empty string.
	* vms-gsd.c: Use _bfd_error_handler rather than fprintf to
	stderr.
	* vms-misc.c (_bfd_vms_length_hash_symbol): Correct sprintf
	format.
1999-07-12 07:35:20 +00:00
Mark Mitchell
5e38c3b856 * dwarf2.c (parse_comp_unit): Add ABBREV_LENGTH parameter.
(_bfd_dwarf2_find_nearest_line): Add ADDR_SIZE parameter.
	* elf.c (_bfd_elf_find_nearest_line): Pass it.
	* elf32-arm.h (elf32_arm_find_nearest_line): Likewise.
	* elf32-mips.c (ABI_64_P): New macro.
	(IRIX_COMPAT): We are IRIX6-compatible if ABI_64_P.
	(_bfd_mips_elf_find_nearest_line): Adjust call to
	_bfd_dwarf2_find_nearest_line.
	* libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype.
	* libbfd.h: Regenerated.
1999-07-02 21:03:56 +00:00
Nick Clifton
04f7c78d64 Define 'elf_backend_got_header_size' and 'elf_backend_plt_header_size'. 1999-06-30 02:30:04 +00:00
Nick Clifton
a72747a354 Patch from: Jim Pick <jim@jimpick.com>
Take note of 'no_undefined'.
1999-06-29 02:51:50 +00:00
Nick Clifton
dece465892 (ELF_MAXPAGESIZE): Default to 0x1000 not 1 1999-06-04 06:35:04 +00:00
Ulrich Drepper
f21f3fe0b8 Fix typo: change ELF_MAXPAGE_SIZE to ELF_MAXPAGESIZE. 1999-06-03 12:46:15 +00:00