OSDN Git Service
Alexandre Oliva [Tue, 28 Jan 2003 01:46:13 +0000 (01:46 +0000)]
* Makefile.in (install_to_tooldir): Instead of $(MULTISUBDIR), use
/`$$CC -print-multi-os-directory`.
Alexandre Oliva [Tue, 28 Jan 2003 00:19:13 +0000 (00:19 +0000)]
Remove duplicate date line
Alexandre Oliva [Tue, 28 Jan 2003 00:18:45 +0000 (00:18 +0000)]
* elfxx-mips.c (mips_elf_create_dynamic_relocation): Handle
_bfd_elf_section_offset returning -2 the same way as -1.
Alexandre Oliva [Tue, 28 Jan 2003 00:01:53 +0000 (00:01 +0000)]
* ld-mips-elf/multi-got-1.d: New.
* ld-mips-elf/multi-got-1-1.s: New.
* ld-mips-elf/multi-got-1-2.s: New.
* ld-mips-elf/mips-elf.exp (elf): mips*-*-irix* is elf.
Run multi-got-1.
Alexandre Oliva [Tue, 28 Jan 2003 00:01:27 +0000 (00:01 +0000)]
* elfxx-mips.c (mips_elf_multi_got): New function.
(struct mips_got_entry): Make symndx and gotidx signed. Moved
addend into union along with address and link hash entry.
(struct mips_got_info): Added bfd2got and next.
(struct mips_elf_hash_sort_data): Added max_unref_got_dynindx.
(mips_elf_got_section, mips_elf_create_got_section): Use
SEC_EXCLUDE bit to tell whether we really need the got
section. Take boolean arguments to disregard an excluded
section, or to create it as excluded. Adjust all callers.
Use mips_elf_got_section all over.
(mips_elf_local_got_index, mips_elf_got_page,
mips_elf_got16_entry): Take input bfd as argument, and pass it
on to mips_elf_create_local_got_entry.
(mips_elf_global_got_index, mips_elf_create_local_got_entry):
Take input bfd as argument, and manage entries in the
appropriate GOT.
(mips_elf_got_offset_from_index): Take input bfd as argument,
and use it to adjust the GP offset of the bfd.
(mips_elf_sort_hash_table, mips_elf_sort_hash_table_f): Move
unreferenced GOT entries of global symbols to the end.
(mips_elf_record_global_got_symbol): Take input bfd as
argument. Add entries to the master GOT hash table.
(struct mips_elf_bfd2got_hash): New.
(struct mips_elf_got_per_bfd_arg): New.
(struct mips_elf_set_global_got_offset_arg): New.
(mips_elf_hash_bfd_vma, mips_elf_multi_got_entry_hash,
mips_elf_multi_got_entry_eq, mips_elf_bfd2got_entry_hash,
mips_elf_bfd2got_entry_eq, mips_elf_make_got_per_bfd,
mips_elf_merge_gots, mips_elf_set_global_got_offset,
mips_elf_resolve_final_got_entry,
mips_elf_resolve_final_got_entries, mips_elf_adjust_gp,
mips_elf_got_for_ibfd): New functions.
(ELF_MIPS_GP_OFFSET): Don't depend on SGI_COMPAT.
(MIPS_ELF_GOT_MAX_SIZE): New macro.
(STUB_LW): Generate 64-bit stub regardless of SGI_COMPAT.
(mips_elf_got_entry_hash): Take new fields into account. Use
mips_elf_hash_bfd_vma.
(mips_elf_got_entry_eq): Take new fields into account.
(mips_elf_create_got_section): Initialize new fields.
(mips_elf_calculate_relocation): Pass input_bfd to functions
that now take it. Adjust gp for the input_bfd.
(mips_elf_allocate_dynamic_relocation,
mips_elf_create_dynamic_relocation,
_bfd_mips_elf_create_dynamic_sections): Use...
(mips_elf_rel_dyn_section): New function. Borrow code from...
(_bfd_mips_elf_check_relocs): Pass input_bfd to functions that
now take it. Create the got section if needed, even if
excluded, before recording a global got symbol. Move some
code to...
(mips_elf_record_local_got_symbol): New fn.
(_bfd_mips_elf_size_dynamic_sections): Disable combreloc.
Compute multi-got global entries offsets. Move GOT code to...
(_bfd_mips_elf_always_size_sections): Call mips_elf_multi_got
if the GOT is too big.
(_bfd_mips_elf_finish_dynamic_symbol): Set got entry of
undefweak symbol to zero. Generate dynamic relocations for
non-primary GOT entries for global symbols.
(_bfd_mips_elf_finish_dynamic_sections): Handle multi-got
case. Generate dynamic relocations for local got entries.
Sort dynamic relocations on N64 too, using...
(sort_dynamic_relocs_64): New fns.
(_bfd_mips_elf_hide_symbol): Adjust multi-got counters.
(_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_XGOT.
Alexandre Oliva [Tue, 28 Jan 2003 00:01:08 +0000 (00:01 +0000)]
* mips.h (EF_MIPS_XGOT): Define.
Alexandre Oliva [Mon, 27 Jan 2003 23:40:39 +0000 (23:40 +0000)]
* bfd.c (struct _bfd): Added id field.
* opncls.c (_bfd_id_counter): New static variable.
(_bfd_new_bfd): Use it.
* bfd-in2.h: Rebuilt.
Alexandre Oliva [Mon, 27 Jan 2003 23:01:55 +0000 (23:01 +0000)]
* gas/mips/n32-consec.d: New.
* gas/mips/n32-consec.s: New.
* gas/mips/mips.exp (run_list_test_arches): Run it on irix6 and
mips64*-linux* systems.
Alan Modra [Mon, 27 Jan 2003 23:00:05 +0000 (23:00 +0000)]
daily update
Alexandre Oliva [Mon, 27 Jan 2003 22:45:58 +0000 (22:45 +0000)]
* configure.in (em): Set to irix on all Irix systems.
* configure: Rebuilt.
* config/te-irix.h: New file.
* config/tc-mips.c (mips_dwarf2_format): Use TE_IRIX to decide
whether to use Irix-specific 64-bit format.
Alexandre Oliva [Mon, 27 Jan 2003 19:47:23 +0000 (19:47 +0000)]
* configure.in: Revert 24Jan change.
* configure: Regenerate.
Martin Schwidefsky [Mon, 27 Jan 2003 08:44:21 +0000 (08:44 +0000)]
* Avoid designated initializers.
Daniel Jacobowitz [Sun, 26 Jan 2003 07:33:29 +0000 (07:33 +0000)]
include/
* hashtab.h (htab_alloc_with_arg, htab_free_with_arg): Add new types.
(struct htab): Add alloc_arg, alloc_with_arg_f, free_with_arg_f.
(htab_create_alloc_ex): New prototype.
(htab_set_functions_ex): New prototype.
libiberty/
* hashtab.c (htab_create_alloc_ex): New function.
(hatab_set_functions_ex): New function.
(htab_delete, htab_expand): Support alternate allocation functions.
Alan Modra [Sat, 25 Jan 2003 08:20:38 +0000 (08:20 +0000)]
* elf32-sparc.c (bfd_elf32_new_section_hook): Define.
DJ Delorie [Sat, 25 Jan 2003 00:23:30 +0000 (00:23 +0000)]
merge from gcc
Jakub Jelinek [Fri, 24 Jan 2003 23:44:45 +0000 (23:44 +0000)]
bfd/
* elf32-sparc.c (_bfd_sparc_elf_howto_table): Add TLS relocs.
(elf32_sparc_rev32_howto): New variable.
(sparc_reloc_map): Add TLS relocs.
(elf32_sparc_reloc_type_lookup, elf32_sparc_info_to_howto):
Handle REV32.
(sparc_elf_hix22_reloc, sparc_elf_lox10_reloc, elf32_sparc_mkobject):
New functions.
(struct elf32_sparc_dyn_relocs, struct elf32_sparc_link_hash_entry,
struct elf32_sparc_link_hash_table):
New structures.
(elf32_sparc_tdata, elf32_sparc_local_got_tls_type,
elf32_sparc_hash_table): Define.
(link_hash_newfunc, elf32_sparc_link_hash_table_create,
create_got_section, elf32_sparc_create_dynamic_sections,
elf32_sparc_copy_indirect_symbol, elf32_sparc_tls_transition): New
functions.
(elf32_sparc_check_relocs): Handle TLS relocs. Add dynamic reloc
reference counting.
(elf32_sparc_gc_sweep_hook): Likewise.
(elf32_sparc_adjust_dynamic_symbol): Likewise.
(elf32_sparc_size_dynamic_sections): Likewise.
(elf32_sparc_relocate_section): Likewise.
(allocate_dynrelocs, readonly_dynrelocs, dtpoff_base, tpoff):
New functions.
(elf32_sparc_object_p): Allocate backend private object data.
(bfd_elf32_bfd_link_hash_table_create,
elf_backend_copy_indirect_symbol, bfd_elf32_mkobject,
elf_backend_can_refcount): Define.
(elf_backend_create_dynamic_sections): Define to
elf32_sparc_create_dynamic_sections.
* reloc.c: Add SPARC TLS relocs.
* bfd-in2.h, libbfd.h: Rebuilt.
* elf64-sparc.c (sparc64_elf_howto_table): Add TLS relocs.
(sparc_reloc_map): Likewise.
gas/
* config/tc-sparc.c (sparc_ip): Handle TLS % operators.
(tc_gen_reloc): Handle TLS relocs.
(sparc_cons, cons_fix_new_sparc): Handle %r_tls_dtpoff.
* config/tc-sparc.h (tc_fix_adjustable): Don't adjust TLS
relocs.
* config/obj-elf.c (obj_elf_section_word): Handle tls.
(obj_elf_type): Handle tls_object.
include/
* elf/sparc.h: Add TLS relocs. Move R_SPARC_REV32 to 252.
ld/testsuite/
* ld-sparc/sparc.exp: New.
* ld-sparc/tlsg32.s: New test.
* ld-sparc/tlsg32.sd: Likewise.
* ld-sparc/tlsg64.s: Likewise.
* ld-sparc/tlsg64.sd: Likewise.
* ld-sparc/tlslib.s: Likewise.
* ld-sparc/tlsnopic.s: Likewise.
* ld-sparc/tlspic.s: Likewise.
* ld-sparc/tlssunbin32.dd: Likewise.
* ld-sparc/tlssunbin32.rd: Likewise.
* ld-sparc/tlssunbin32.s: Likewise.
* ld-sparc/tlssunbin32.sd: Likewise.
* ld-sparc/tlssunbin32.td: Likewise.
* ld-sparc/tlssunbin64.dd: Likewise.
* ld-sparc/tlssunbin64.rd: Likewise.
* ld-sparc/tlssunbin64.s: Likewise.
* ld-sparc/tlssunbin64.sd: Likewise.
* ld-sparc/tlssunbin64.td: Likewise.
* ld-sparc/tlssunbinpic32.s: Likewise.
* ld-sparc/tlssunbinpic64.s: Likewise.
* ld-sparc/tlssunnopic32.dd: Likewise.
* ld-sparc/tlssunnopic32.rd: Likewise.
* ld-sparc/tlssunnopic32.s: Likewise.
* ld-sparc/tlssunnopic32.sd: Likewise.
* ld-sparc/tlssunnopic64.dd: Likewise.
* ld-sparc/tlssunnopic64.rd: Likewise.
* ld-sparc/tlssunnopic64.s: Likewise.
* ld-sparc/tlssunnopic64.sd: Likewise.
* ld-sparc/tlssunpic32.dd: Likewise.
* ld-sparc/tlssunpic32.rd: Likewise.
* ld-sparc/tlssunpic32.s: Likewise.
* ld-sparc/tlssunpic32.sd: Likewise.
* ld-sparc/tlssunpic32.td: Likewise.
* ld-sparc/tlssunpic64.dd: Likewise.
* ld-sparc/tlssunpic64.rd: Likewise.
* ld-sparc/tlssunpic64.s: Likewise.
* ld-sparc/tlssunpic64.sd: Likewise.
* ld-sparc/tlssunpic64.td: Likewise.
Alan Modra [Fri, 24 Jan 2003 23:00:06 +0000 (23:00 +0000)]
daily update
DJ Delorie [Fri, 24 Jan 2003 21:31:35 +0000 (21:31 +0000)]
merge from gcc
Martin Schwidefsky [Fri, 24 Jan 2003 17:20:25 +0000 (17:20 +0000)]
* ld-s390/s390.exp: New file.
* ld-s390/tlsbin_64.dd: New file.
* ld-s390/tlsbin_64.rd: New file.
* ld-s390/tlsbin_64.s: New file.
* ld-s390/tlsbin_64.sd: New file.
* ld-s390/tlsbin_64.td: New file.
* ld-s390/tlsbin.dd: New file.
* ld-s390/tlsbinpic_64.s: New file.
* ld-s390/tlsbinpic.s: New file.
* ld-s390/tlsbin.rd: New file.
* ld-s390/tlsbin.s: New file.
* ld-s390/tlsbin.sd: New file.
* ld-s390/tlsbin.td: New file.
* ld-s390/tlslib_64.s: New file.
* ld-s390/tlslib.s: New file.
* ld-s390/tlspic1_64.s: New file.
* ld-s390/tlspic1.s: New file.
* ld-s390/tlspic2_64.s: New file.
* ld-s390/tlspic2.s: New file.
* ld-s390/tlspic_64.dd: New file.
* ld-s390/tlspic_64.rd: New file.
* ld-s390/tlspic_64.sd: New file.
* ld-s390/tlspic_64.td: New file.
* ld-s390/tlspic.dd: New file.
* ld-s390/tlspic.rd: New file.
* ld-s390/tlspic.sd: New file.
* ld-s390/tlspic.td: New file.
Martin Schwidefsky [Fri, 24 Jan 2003 17:15:29 +0000 (17:15 +0000)]
* s390.h: Add s390 TLS relocations.
Martin Schwidefsky [Fri, 24 Jan 2003 17:14:25 +0000 (17:14 +0000)]
* config/tc-s390.c (s390_tls_suffix): New function.
(elf_suffix_type): Add suffix enums for TLS relocations.
(s390_elf_suffix): Add suffix strings for TLS relocations.
(s390_elf_cons): Map new lenght/elf suffix combinations for TLS to
bfd relocations.
(md_gather_operands): Map new instruction operand/elf suffix
combinations for TLS to bfd relocations.
(tc_s390_fix_adjustable): Add new TLS relocations.
(tc_s390_force_relocation): Likewise.
(md_apply_fix3): Likewise.
Martin Schwidefsky [Fri, 24 Jan 2003 17:12:42 +0000 (17:12 +0000)]
* bfd-in2.h: Regenerate.
* elf32-s390.c (elf_s390_mkobject, elf_s390_tls_transition,
s390_tls_reloc, dtpoff_base, tpoff, invalid_tls_insn): New functions.
(elf_howto_table): Add TLS relocs.
(elf_s390_reloc_type_lookup): Likewise.
(elf_s390_link_hash_entry): Add tls_type.
(elf_s390_hash_entry, elf_s390_obj_tdata, elf_s390_local_got_tls_type):
New macros.
(elf_s390_link_hash_table): Add tls_ldm_got.
(link_hash_newfunc): Initialize tls_type.
(elf_s390_link_hash_table_create): Initialize refcount of tls_ldm_got.
(elf_s390_copy_indirect_symbol): Copy tls_type information.
(elf_s390_check_relocs): Support TLS relocs.
(elf_s390_gc_sweep_hook): Likewise.
(allocate_dynrelocs): Likewise.
(elf_s390_size_dynamic_sections): Likewise.
(elf_s390_relocate_section): Likewise.
(elf_s390_finish_dynamic_symbol): Likewise.
(bfd_elf32_mkobject): Define for TLS.
* elf64-s390.c: Same changes as for elf32-s390.c.
* libbfd.h: Regenerate.
* reloc.c: Add s390 TLS relocations.
Nick Clifton [Fri, 24 Jan 2003 16:50:24 +0000 (16:50 +0000)]
Fix name of --enable-install-libbfd switch.
Alan Modra [Fri, 24 Jan 2003 01:12:30 +0000 (01:12 +0000)]
Update copyright date
Nathanael Nerode [Fri, 24 Jan 2003 00:39:51 +0000 (00:39 +0000)]
No, really this time.
Alan Modra [Thu, 23 Jan 2003 23:17:57 +0000 (23:17 +0000)]
* config/tc-hppa.h (DIFF_EXPR_OK): Define.
(MD_APPLY_SYM_VALUE): Move.
Alan Modra [Thu, 23 Jan 2003 23:00:06 +0000 (23:00 +0000)]
daily update
Alan Modra [Thu, 23 Jan 2003 22:37:21 +0000 (22:37 +0000)]
* ld-alpha/tlsbin.sd: Cope with truncated address in data dumps.
* ld-alpha/tlsbin.td: Likewise.
* ld-alpha/tlsbinr.sd: Likewise.
Nathanael Nerode [Thu, 23 Jan 2003 22:33:55 +0000 (22:33 +0000)]
2003-01-23 Nathanael Nerode <neroden@gcc.gnu.org>
* configure.in: Revert previous change.
* configure: Regenerate.
Nathanael Nerode [Thu, 23 Jan 2003 19:55:19 +0000 (19:55 +0000)]
2003-01-23 Nathanael Nerode <neroden@gcc.gnu.org>
* configure.in: Make rda native-only.
* configure: Regenerate.
Nick Clifton [Thu, 23 Jan 2003 18:50:57 +0000 (18:50 +0000)]
Add SH2E support
Martin Schwidefsky [Thu, 23 Jan 2003 17:34:38 +0000 (17:34 +0000)]
* gas/s390/reloc.s: Add test for PLT reloc against locally defined
but global function.
* gas/s390/reloc.d: Likewise.
* gas/s390/reloc64.s: Likewise.
* gas/s390/reloc64.d: Likewise.
Alan Modra [Thu, 23 Jan 2003 12:51:05 +0000 (12:51 +0000)]
* symbols.c (S_FORCE_RELOC): Add "strict" param.
* symbols.h (S_FORCE_RELOC): Likewise.
* config/obj-aout.h (S_FORCE_RELOC): Likewise.
* config/obj-bout.h (S_FORCE_RELOC): Likewise.
* config/obj-coff.h (S_FORCE_RELOC): Likewise.
* config/obj-ieee.h (S_FORCE_RELOC): Likewise.
* config/obj-vms.h (S_FORCE_RELOC): Likewise.
* write.c (generic_force_reloc): New function.
(TC_FORCE_RELOCATION): Use it here instead of S_FORCE_RELOC.
(TC_FORCE_RELOCATION_SUB_SAME): Test TC_FORCE_RELOCATION too.
(adjust_reloc_syms): Adjust S_FORCE_RELOC call.
* as.h (generic_force_reloc): Declare.
* doc/internals.texi (S_FORCE_RELOC): Update.
(TC_FORCE_RELOCATION_SUB_SAME): Update.
* config/tc-alpha.c (alpha_force_relocation): Adjust to use
generic_force_reloc.
(alpha_fix_adjustable): Likewise.
* config/tc-arm.c (arm_force_relocation): Likewise.
* config/tc-cris.c (md_cris_force_relocation): Likewise.
* config/tc-frv.c (frv_force_relocation): Likewise.
* config/tc-i386.c (md_apply_fix3): Likewise.
* config/tc-ia64.c (ia64_force_relocation): Likewise.
* config/tc-ip2k.c (ip2k_force_relocation): Likewise.
* config/tc-m32r.c (m32r_force_relocation): Likewise.
* config/tc-m68hc11.c (tc_m68hc11_force_relocation): Likewise.
* config/tc-mcore.c (mcore_force_relocation): Likewise.
* config/tc-mips.c (mips_force_relocation): Likewise.
* config/tc-mmix.c (mmix_force_relocation): Likewise.
* config/tc-ppc.c (ppc_force_relocation): Likewise.
* config/tc-s390.c (tc_s390_force_relocation): Likewise.
* config/tc-sh.c (sh_force_relocation): Likewise.
(md_pcrel_from_section): Likewise.
* config/tc-sparc.c (tc_gen_reloc): Likewise.
* config/tc-v850.c (v850_force_relocation): Likewise.
* config/tc-xstormy16.c (xstormy16_force_relocation): Likewise.
* config/tc-i386.h (TC_FORCE_RELOCATION): Likewise.
* config/tc-mcore.h (TC_FORCE_RELOCATION): Likewise.
* config/tc-sparc.h (tc_fix_adjustable): Likewise.
* config/tc-d10v.c (d10v_force_relocation): Delete.
* config/tc-d10v.h (TC_FORCE_RELOCATION): Don't define.
* config/tc-dlx.c (md_dlx_force_relocation): Delete.
* config/tc-dlx.h (TC_FORCE_RELOCATION): Don't define.
* config/tc-fr30.c (fr30_force_relocation): Delete.
* config/tc-fr30.h (TC_FORCE_RELOCATION): Don't define.
* config/tc-mn10300.c (mn10300_force_relocation): Delete.
* config/tc-mn10300.h (TC_FORCE_RELOCATION): Don't define.
(TC_FORCE_RELOCATION_SUB_SAME): Test TC_FORCE_RELOCATION too.
* config/tc-i960.h (TC_FORCE_RELOCATION_SUB_SAME): Likewise.
* config/tc-hppa.c (hppa_force_relocation): Adjust S_FORCE_RELOC call.
* config/tc-mips.c (RELAX_BRANCH_TOOFAR): Warning fix.
* config/tc-mips.h (TC_FORCE_RELOCATION_SUB_SAME): Don't define.
* config/tc-openrisc.c (openrisc_force_relocation): Delete.
* config/tc-openrisc.h (TC_FORCE_RELOCATION): Don't define.
* config/tc-sparc.c (elf32_sparc_force_relocation): Delete.
* config/tc-sparc.h (TC_FORCE_RELOCATION): Don't define for ELF.
* config/tc-i386.c (i386_force_relocation): Delete.
* config/tc-i386.h (TC_FORCE_RELOCATION): Don't define for
BFD_ASSEMBLER.
(EXTERN_FORCE_RELOC): Fix TE_PE and STRICT_PE_FORMAT nesting.
* config/tc-m68k.h (TC_FORCE_RELOCATION): Don't define.
* config/tc-pj.h (TC_FORCE_RELOCATION): Don't define.
* config/tc-sh.h (TC_FORCE_RELOCATION_SUB_ABS): Don't call
S_FORCE_RELOC.
(TC_FORCE_RELOCATION_SUB_SAME): Test TC_FORCE_RELOCATION too.
* config/tc-sh64.h (TC_FORCE_RELOCATION_SUB_SAME): Likewise.
Alan Modra [Thu, 23 Jan 2003 11:51:35 +0000 (11:51 +0000)]
include/elf/ChangeLog
* sh.h: Split out various bits to bfd/elf32-sh64.h.
include/opcode/ChangeLog
* m68hc11.h (cpu6812s): Define.
bfd/ChangeLog
* elf-bfd.h (struct bfd_elf_section_data): Remove tdata. Change
dynindx to an int. Rearrange for better packing.
* elf.c (_bfd_elf_new_section_hook): Don't alloc if already done.
* elf32-mips.c (bfd_elf32_new_section_hook): Define.
* elf32-sh64.h: New. Split out from include/elf/sh.h.
(struct _sh64_elf_section_data): New struct.
(sh64_elf_section_data): Don't dereference sh64_info (was tdata).
* elf32-sh64-com.c: Include elf32-sh64.h.
* elf32-sh64.c: Likewise.
(sh64_elf_new_section_hook): New function.
(bfd_elf32_new_section_hook): Define.
(sh64_elf_fake_sections): Adjust for sh64_elf_section_data change.
(sh64_bfd_elf_copy_private_section_data): Likewise.
(sh64_elf_final_write_processing): Likewise.
* elf32-sparc.c (struct elf32_sparc_section_data): New.
(elf32_sparc_new_section_hook): New function.
(SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
(sec_do_relax): Define.
(elf32_sparc_relax_section): Adjust to use sec_do_relax.
(elf32_sparc_relocate_section): Likewise.
* elf64-mips.c (bfd_elf64_new_section_hook): Define.
* elf64-mmix.c (struct _mmix_elf_section_data): New.
(mmix_elf_section_data): Define. Use throughout file.
(mmix_elf_new_section_hook): New function.
(bfd_elf64_new_section_hook): Define.
* elf64-ppc.c (struct _ppc64_elf_section_data): New.
(ppc64_elf_section_data): Define. Use throughout.
(ppc64_elf_new_section_hook): New function.
(bfd_elf64_new_section_hook): Define.
* elf64-sparc.c (struct sparc64_elf_section_data): New.
(sparc64_elf_new_section_hook): New function.
(SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
(sec_do_relax): Define.
(sparc64_elf_relax_section): Adjust to use sec_do_relax.
(sparc64_elf_relocate_section): Likewise.
(bfd_elf64_new_section_hook): Define.
* elfn32-mips.c (bfd_elf32_new_section_hook): Define.
* elfxx-mips.c (struct _mips_elf_section_data): New.
(mips_elf_section_data): Define. Use throughout.
(_bfd_mips_elf_new_section_hook): New function.
(mips_elf_create_got_section): Don't alloc used_by_bfd.
* elfxx-mips.h (_bfd_mips_elf_new_section_hook): Declare.
* elfxx-target.h (bfd_elfNN_new_section_hook): Add #ifndef.
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
opcodes/ChangeLog
* sh64-dis.c: Include elf32-sh64.h.
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
gas/ChangeLog
* config/tc-sh64.c (shmedia_frob_section_type): Adjust for changed
sh64_elf_section_data.
* config/tc-sh64.h: Include elf32-sh64.h.
* config/tc-m68hc11.c: Don't include stdio.h.
(md_show_usage): Fix missing continuation.
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
ld/ChangeLog
* emultempl/sh64elf.em: Include elf32-sh64.h.
(sh64_elf_${EMULATION_NAME}_before_allocation): Adjust for changed
sh64_elf_section_data.
(sh64_elf_${EMULATION_NAME}_after_allocation): Likewise.
Nick Clifton [Thu, 23 Jan 2003 09:30:44 +0000 (09:30 +0000)]
Remove an extra "i" in --dll-search-prefix.
Move a cross-80th-column-margin "an" to the next line.
Alan Modra [Wed, 22 Jan 2003 23:00:06 +0000 (23:00 +0000)]
daily update
Nick Clifton [Wed, 22 Jan 2003 10:10:25 +0000 (10:10 +0000)]
Include fopen-bin.h not fopen-same.h for mingw32 hosts.
Richard Henderson [Wed, 22 Jan 2003 00:47:58 +0000 (00:47 +0000)]
* elf64-alpha.c (ALPHA_ELF_LINK_HASH_PLT_LOC): New.
(struct alpha_elf_link_hash_entry): Add plt_old_section, plt_old_value.
(elf64_alpha_adjust_dynamic_symbol): Set them.
(elf64_alpha_size_plt_section_1): Reset them when plt entry removed.
(elf64_alpha_relax_tls_get_addr): Handle LDM relocs. Frob the
symbol index when relaxing LDM to TPREL.
(elf64_alpha_relax_section): Likewise. Allow relaxation of GD
relocs, even if the target isn't locally defined.
(elf64_alpha_check_relocs): Frob LDM reloc symndx to zero.
(elf64_alpha_relocate_section): Likewise. Force TP-relative
relocs vs symndx 0 to the tp base.
Richard Henderson [Wed, 22 Jan 2003 00:41:59 +0000 (00:41 +0000)]
New TLS tests for Alpha.
Alan Modra [Tue, 21 Jan 2003 23:00:06 +0000 (23:00 +0000)]
daily update
Nick Clifton [Tue, 21 Jan 2003 17:11:56 +0000 (17:11 +0000)]
fix typo in previous entry
Nick Clifton [Tue, 21 Jan 2003 17:09:47 +0000 (17:09 +0000)]
Fix generation of tic3xcoff_onchip.c
Nick Clifton [Tue, 21 Jan 2003 16:08:31 +0000 (16:08 +0000)]
Add support for i386-*-aros triple.
Nick Clifton [Tue, 21 Jan 2003 15:54:09 +0000 (15:54 +0000)]
All NetBSD ELF targets should pass these tests.
Nick Clifton [Tue, 21 Jan 2003 15:41:10 +0000 (15:41 +0000)]
(display_debug_loc): Skip address base changes.
Andreas Schwab [Tue, 21 Jan 2003 12:55:11 +0000 (12:55 +0000)]
* elf32-ppc.c (struct ppc_elf_dyn_relocs): Define.
(struct ppc_elf_link_hash_entry): Define.
(ppc_elf_hash_entry): New function.
(struct ppc_elf_link_hash_table): Define.
(ppc_elf_hash_table): New function.
(ppc_elf_link_hash_newfunc): New function.
(ppc_elf_link_hash_table_create): New function.
(ppc_elf_copy_indirect_symbol): New function.
(allocate_dynrelocs): New function.
(readonly_dynrelocs): New function.
(ppc_elf_size_dynamic_sections): Allocate space for dynamic
relocs and determine DT_TEXTREL.
(ppc_elf_check_relocs): Don't do that here, just count the
dynamic relocs.
(ppc_elf_gc_sweep_hook): Discard any dynamic relocs against the
removed section.
(bfd_elf32_bfd_link_hash_table_create): Define.
(elf_backend_copy_indirect_symbol): Define.
Richard Henderson [Tue, 21 Jan 2003 08:59:25 +0000 (08:59 +0000)]
* elf64-alpha.c (alpha_dynamic_entries_for_reloc): GOTTPREL and
TPREL also get a reloc if shared. Remove SREL support.
(elf64_alpha_emit_dynrel): New.
(elf64_alpha_relocate_section): Use it. Resolve dynamic TPREL
and GOTTPREL relocs to local symbols against the tp base.
(elf64_alpha_finish_dynamic_symbol): Use elf64_alpha_emit_dynrel.
* elf64-alpha.c (elf64_alpha_relax_got_load): Decrement got
use count before clobbering r_type.
(elf64_alpha_relax_tls_get_addr): Don't use pos[1] if insn
ordering would mean dataflow inspection is necessary.
Alan Modra [Mon, 20 Jan 2003 23:00:05 +0000 (23:00 +0000)]
daily update
Svein Seldal [Mon, 20 Jan 2003 22:34:39 +0000 (22:34 +0000)]
Updates for fixing tic4x arch tagging of its object files.
* bfd/coffcode.h (coff_set_flags): Added get/set arch hooks.
* include/coff/tic4x.h (TICOFF_TARGET_MACHINE_GET): Fixed define bug
* include/coff/ti.h (TICOFF_TARGET_MACHINE_GET): Added macros
* ld/Makefile.am: Added etic3xcoff.o and etic4xcoff_onchip.o
* ld/Makefile.in: Regenerate
* ld/configure.tgt: Added extra target emulations
* ld/emulparams/tic3xcoff.sh: Remove old settings
* ld/emulparams/tic4xcoff.sh: Ditto
* ld/emulparams/tic3xcoff-onchip.sh: Added new
* ld/scripttempl/tic4xcoff.sc: Revise and combine both c3x and c4x
* ld/scripttempl/tic3xcoff.sc: Remove
DJ Delorie [Mon, 20 Jan 2003 19:03:56 +0000 (19:03 +0000)]
merge from gcc
Nick Clifton [Mon, 20 Jan 2003 18:06:21 +0000 (18:06 +0000)]
Treat elfNN_bed like other macros defined in elfxx-target.h and #undef it
before #define'ing it.
Alan Modra [Mon, 20 Jan 2003 12:57:59 +0000 (12:57 +0000)]
* ld-srec/srec.exp (run_srec_test): Pass --traditional-format to ld.
Martin Schwidefsky [Mon, 20 Jan 2003 11:51:38 +0000 (11:51 +0000)]
* s390.h: Rename R_390_GOTOFF to R_390_GOTOFF32. Add new gotoff,
gotplt and pltoff relocations.
Martin Schwidefsky [Mon, 20 Jan 2003 11:50:38 +0000 (11:50 +0000)]
* gas/s390/reloc.d: Add tests for the new gotoff, gotplt and pltoff
relocations.
* gas/s390/reloc.s: Likewise.
* gas/s390/reloc64.d: Likewise.
* gas/s390/reloc64.s: Likewise.
Martin Schwidefsky [Mon, 20 Jan 2003 11:48:32 +0000 (11:48 +0000)]
* config/tc-s390.c (elf_suffix_type): Add suffix enums for gotoff,
gotplt and pltoff relocations.
(s390_elf_suffix): Add suffix strings for gotoff, gotplt and pltoff.
(s390_elf_cons): Map new lenght/elf suffix combinations for gotoff,
gotplt and pltoff to bfd relocations.
(md_gather_operands): Map new instruction operand/elf suffix
combinations to bfd relocations.
(tc_s390_fix_adjustable): Add new gotoff, gotplt and pltoff relocations
to the list of unadjustable relocations.
(tc_s390_force_relocation): Always emit relocations for gotoff, gotplt
and pltoff relocations.
(md_apply_fix3): Add the new relocations.
Martin Schwidefsky [Mon, 20 Jan 2003 11:46:33 +0000 (11:46 +0000)]
* bfd-in2.h: Regenerate.
* elf32-s390.c (elf_s390_adjust_gotplt): New prototype.
(elf_howto_table): Rename R_390_GOTOFF to R_390_GOTOFF32. Add
R_390_GOTOFF16, R_390_GOTOFF64, R_390_GOTPLT12, R_390_GOTPLT16,
R_390_GOTPLT32, R_390_GOTPLT64, R_390_GOTPLTENT, R_390_PLTOFF16,
R_390_PLTOFF32 and R_390_PLTOFF64.
(elf_s390_reloc_type_lookup): Likewise.
(struct elf_s390_link_hash_entry): Add gotplt_refcount to keep track
of GOTPLT references to a function.
(link_hash_newfunc): Initialize gotplt_refcount.
(elf_s390_check_relocs): Move allocation of local_got_refcounts array
and creation of the got section out of the main switch. Add support
for the gotoff, gotplt and pltoff relocations.
(elf_s390_gc_sweep_hook): Add reference counting for gotoff, gotplt
and pltoff.
(elf_s390_adjust_gotplt): New function.
(elf_s390_adjust_dynamic_symbol): Adjust gotplt refcount for removed
plt entries.
(allocate_dynrelocs): Add comment.
(elf_s390_relocate_section): Change r_type to unsigned. Add support
for gotoff, gotplt and pltoff relocations.
* elf64-s390.c: Same changes as for elf32-s390.c.
* libbfd.h: Regenerate.
* reloc.c: Add BFD_RELOC_390_GOTOFF64, BFD_RELOC_390_GOTPLT12,
BFD_RELOC_390_GOTPLT16, BFD_RELOC_390_GOTPLT32, BFD_RELOC_390_GOTPLT64,
BFD_RELOC_390_GOTPLTENT, BFD_RELOC_390_PLTOFF16, BFD_RELOC_390_PLTOFF32
and BFD_RELOC_390_PLTOFF64.
Martin Schwidefsky [Mon, 20 Jan 2003 10:22:26 +0000 (10:22 +0000)]
* config/tc-s390.c (md_apply_fix3): Emit error message for relocations
with a subsy symbol.
Nathanael Nerode [Sun, 19 Jan 2003 23:45:39 +0000 (23:45 +0000)]
* configure.in: Add missing \.
* configure: Rebuilt.
Alan Modra [Sat, 18 Jan 2003 23:00:04 +0000 (23:00 +0000)]
daily update
Richard Henderson [Fri, 17 Jan 2003 23:43:20 +0000 (23:43 +0000)]
* alpha-opc.c (alpha_opcodes): Add bugchk, rduniq, wruniq, gentrap
PAL entry points.
Jakub Jelinek [Fri, 17 Jan 2003 23:27:57 +0000 (23:27 +0000)]
* elfxx-ia64.c (elfNN_ia64_relocate_section): Handle
R_IA64_TPREL64[LM]SB against non-global symbol properly.
* ld-ia64/tlspic1.s: Add tests for IE in shared libraries.
* ld-ia64/tlspic.rd: Adjust.
* ld-ia64/tlspic.dd: Adjust.
* ld-ia64/tlspic.sd: Adjust.
Alan Modra [Fri, 17 Jan 2003 23:00:06 +0000 (23:00 +0000)]
daily update
Stephane Carrez [Fri, 17 Jan 2003 22:51:28 +0000 (22:51 +0000)]
* config/tc-m68hc11.c (tc_m68hc11_fix_adjustable): Prevent adjustment
of relocs for memory bank addressing.
Stephane Carrez [Fri, 17 Jan 2003 22:29:54 +0000 (22:29 +0000)]
* config/tc-m68hc11.c (md_show_usage): Update usage.
(md_parse_option): Recognize -m68hcs12.
(m68hc11_elf_final_processing): Set EF_M68HCS12_MACH flag to identify
HCS12.
* doc/as.texinfo (Overview): Document new option -m68hcs12.
Andreas Jaeger [Fri, 17 Jan 2003 10:36:49 +0000 (10:36 +0000)]
* emultempl/elf32.em (gld${EMULATION_NAME}_add_sysroot): Do not
skip ':'.
Jakub Jelinek [Fri, 17 Jan 2003 08:00:16 +0000 (08:00 +0000)]
* configure.in (baseargs): Avoid using \| in sed regular
expressions.
* configure: Rebuilt.
Alan Modra [Fri, 17 Jan 2003 01:34:01 +0000 (01:34 +0000)]
* readelf.c (get_osabi_name): Handle ELFOSABI_AROS, ELFOSABI_OPENVMS
and ELFOSABI_NSK.
Alan Modra [Fri, 17 Jan 2003 01:33:13 +0000 (01:33 +0000)]
missed changelog entry
Alan Modra [Fri, 17 Jan 2003 01:32:46 +0000 (01:32 +0000)]
* common.h: Formatting, typo fixes.
(DT_ENCODING): Correct value.
* common.h (ELFOSABI_AROS): Define.
(ELFOSABI_OPENVMS): Likewise.
(ELFOSABI_NSK): Likewise.
Alan Modra [Thu, 16 Jan 2003 23:00:04 +0000 (23:00 +0000)]
daily update
Jakub Jelinek [Thu, 16 Jan 2003 21:31:18 +0000 (21:31 +0000)]
* elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add
self_dtpmod_done and self_dtpmod_offset.
(allocate_global_data_got): Only use one got entry for all
dtpmod relocs against local symbols.
(allocate_dynrel_entries): Only need .rela.got entry for
dtpmod against global symbol.
(elfNN_ia64_size_dynamic_sections): Initialize self_dtpmod_offset.
Reserve space in .rela.got for the local dtpmod entry.
(set_got_entry): Initialize the common local dtpmod .got entry.
(elfNN_ia64_relocate_section): Handle R_IA_64_DTPREL64LSB
and R_IA_64_DTPREL64MSB.
* config/tc-ia64.c (ia64_cons_fix_new): Handle @dtprel() in data.
* ld-ia64/ia64.exp: New.
* ld-ia64/tlsbin.dd: New test.
* ld-ia64/tlsbinpic.s: New test.
* ld-ia64/tlsbin.rd: New test.
* ld-ia64/tlsbin.s: New test.
* ld-ia64/tlsbin.sd: New test.
* ld-ia64/tlsbin.td: New test.
* ld-ia64/tlsg.s: New test.
* ld-ia64/tlsg.sd: New test.
* ld-ia64/tlslib.s: New test.
* ld-ia64/tlspic1.s: New test.
* ld-ia64/tlspic2.s: New test.
* ld-ia64/tlspic.dd: New test.
* ld-ia64/tlspic.rd: New test.
* ld-ia64/tlspic.sd: New test.
* ld-ia64/tlspic.td: New test.
Jakub Jelinek [Thu, 16 Jan 2003 16:27:51 +0000 (16:27 +0000)]
* configure.in (baseargs): Remove all supported forms of
--cache-file, --srcdir, --host, --build and --target options
from argument lists.
* configure: Rebuilt.
Alan Modra [Thu, 16 Jan 2003 04:11:53 +0000 (04:11 +0000)]
* Makefile.in: Regenerate.
Alan Modra [Thu, 16 Jan 2003 04:11:36 +0000 (04:11 +0000)]
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
* po/POTFILES.in: Regenerate.
Alan Modra [Thu, 16 Jan 2003 04:10:23 +0000 (04:10 +0000)]
* readelf.c: Include elf/ppc64.h.
(dump_relocations <EM_PPC64>): Use elf_ppc64_reloc_type.
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
Alan Modra [Thu, 16 Jan 2003 04:09:37 +0000 (04:09 +0000)]
* elf64-ppc.c: Include elf/ppc64.h rather than elf/ppc.h.
(R_PPC_*): Rename all occurrences to R_PPC64_*.
(R_PPC64_ADDR30): Rename all occurrences to R_PPC64_REL30.
(enum elf_ppc_reloc_type): Ditto to enum elf_ppc64_reloc_type.
(ppc64_elf_gc_sweep_hook): Handle R_PPC64_REL30 along with other
relative relocs, not with absolute ones.
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
* po/SRC-POTFILES.in: Regenerate.
Alan Modra [Thu, 16 Jan 2003 04:08:47 +0000 (04:08 +0000)]
* ppc.h: Split out ppc64 definitions to..
* pcc64.h: ..here. New file.
(R_PPC64_REL30): Rename from R_PPC64_ADDR30.
Alan Modra [Wed, 15 Jan 2003 23:00:06 +0000 (23:00 +0000)]
daily update
Andreas Schwab [Wed, 15 Jan 2003 15:54:51 +0000 (15:54 +0000)]
* elf32-ppc.c (ppc_elf_check_relocs): Don't set DF_TEXTREL for a
relocation against a non-allocated readonly section.
Alexandre Oliva [Wed, 15 Jan 2003 11:24:47 +0000 (11:24 +0000)]
* configure.in (noconfigdirs): Don't skip gas on IRIX 6.
* configure: Rebuilt.
Alan Modra [Tue, 14 Jan 2003 23:00:03 +0000 (23:00 +0000)]
daily update
Nick Clifton [Tue, 14 Jan 2003 11:25:58 +0000 (11:25 +0000)]
(node WIN32): Some clarifications and formatting fixups.
Alan Modra [Mon, 13 Jan 2003 23:00:04 +0000 (23:00 +0000)]
daily update
Nick Clifton [Mon, 13 Jan 2003 16:37:47 +0000 (16:37 +0000)]
Change EM_MSP430 value to new, officially assigned number.
Alan Modra [Sun, 12 Jan 2003 23:00:04 +0000 (23:00 +0000)]
daily update
Alan Modra [Sat, 11 Jan 2003 23:00:03 +0000 (23:00 +0000)]
daily update
Alan Modra [Sat, 11 Jan 2003 06:24:12 +0000 (06:24 +0000)]
* read.c (get_absolute_expr): New, split out from..
(get_absolute_expression): ..here.
* read.h (get_absolute_expr): Declare.
* config/obj-elf.c (elf_common): Use offsetT for "temp" and "size".
Trim size to arch bits_per_address, and test for negative input
via get_absolute_expr.
Alan Modra [Fri, 10 Jan 2003 23:00:04 +0000 (23:00 +0000)]
daily update
Nathanael Nerode [Fri, 10 Jan 2003 21:43:31 +0000 (21:43 +0000)]
* configure.in: Substitute TOPLEVEL_CONFIGURE_ARGUMENTS.
* Makefile.tpl: Pass TOPLEVEL_CONFIGURE_ARGUMENTS to gcc.
* Makefile.in: Regenerate.
* configure: Regenerate.
DJ Delorie [Fri, 10 Jan 2003 03:27:26 +0000 (03:27 +0000)]
merge from gcc
Alan Modra [Thu, 9 Jan 2003 23:00:04 +0000 (23:00 +0000)]
daily update
Alan Modra [Thu, 9 Jan 2003 22:51:37 +0000 (22:51 +0000)]
* elf32-ppc.c (ppc_elf_relocate_section): Adjust addend for GOT16_HA.
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise. PLTGOT16_HA too.
Chris Demetriou [Thu, 9 Jan 2003 21:26:53 +0000 (21:26 +0000)]
2003-01-09 Chris Demetriou <cgd@broadcom.com>
* ldmain.c (get_emulation): Sort -mipsNN checks in the usual
order, and handle (ignore) -mips32r2.
DJ Delorie [Thu, 9 Jan 2003 20:50:25 +0000 (20:50 +0000)]
* Makefile.tpl (BASE_FLAGS_TO_PASS): Also pass DESTDIR.
(install-info, dir.info): Prepend $(DESTDIR) to $(infodir).
* Makefile.in: Regenerate.
Alexandre Oliva [Thu, 9 Jan 2003 20:45:29 +0000 (20:45 +0000)]
* configure.in: Remove Makefile in build, host and target modules
unless configure was run with --no-recursion.
* configure: Rebuilt.
Daniel Jacobowitz [Thu, 9 Jan 2003 16:40:14 +0000 (16:40 +0000)]
* ldmain.c (main): Make sure ld_sysroot is initialized.
DJ Delorie [Thu, 9 Jan 2003 14:39:43 +0000 (14:39 +0000)]
merge from gcc
Klee Dienes [Thu, 9 Jan 2003 08:35:28 +0000 (08:35 +0000)]
2002-01-08 Klee Dienes <kdienes@apple.com>
* Makefile.am (ALL_MACHINES): Use cpu-msp430.lo, not cpu-msp430.c.
(BFD32_BACKENDS): Use elf32-msp430.lo, not elf32-msp430.c.
* Makefile.in: Regenerate.
Klee Dienes [Thu, 9 Jan 2003 08:32:26 +0000 (08:32 +0000)]
2003-01-08 Klee Dienes <kdienes@apple.com>
* Makefile.am (ALL_MACHINES): Add msp430-dis.lo.
* Makefile.in: Regenerate.
Alan Modra [Wed, 8 Jan 2003 23:00:05 +0000 (23:00 +0000)]
daily update