Chris Demetriou [Sat, 24 Apr 2004 06:12:25 +0000 (06:12 +0000)]
[ bfd/ChangeLog ]
2004-04-23 Chris Demetriou <cgd@broadcom.com>
* coff-mips.c (mips_relhi_reloc, mips_rello_reloc)
(mips_switch_reloc, mips_read_relocs, mips_relax_section)
(mips_relax_pcrel16, PCREL16_EXPANSION_ADJUSTMENT): Remove.
(mips_relocate_hi): Remove now-unused 'adjust' and 'pcrel' arguments,
and update comments to reflect current usage.
(mips_howto_table): Remove entries for MIPS_R_RELHI, MIPS_R_RELLO,
and MIPS_R_SWITCH, as well as several empty entries. Update comment
for MIPS_R_PCREL16.
(mips_ecoff_swap_reloc_in, mips_ecoff_swap_reloc_out)
(mips_adjust_reloc_out, mips_bfd_reloc_type_lookup): Remove support
for MIPS_R_SWITCH, MIPS_R_RELLO, and MIPS_R_RELHI relocations.
(mips_adjust_reloc_in): Likewise, adjust maximum accepted relocation
type number to be MIPS_R_PCREL16.
(mips_relocate_section): Remove support for link-time relaxation
of branches used by embedded-PIC. Remove support for MIPS_R_SWITCH,
MIPS_R_RELLO, and MIPS_R_RELHI relocations.
(_bfd_ecoff_bfd_relax_section): Redefine to bfd_generic_relax_section.
* ecoff.c (ecoff_indirect_link_order): Remove support for link-time
relaxation of branches used by embedded-PIC.
* ecofflink.c (bfd_ecoff_debug_accumulate): Likewise.
* libecoff.h (struct ecoff_section_tdata): Remove embedded-PIC
related members, update comment.
* pe-mips.c: Remove disabled (commented-out and #if 0'd)
code related to embedded-PIC.
* elfxx-mips.c (_bfd_mips_elf_read_ecoff_info): Remove
initialization of now-removed 'adjust' member of
'struct ecoff_debug_info'.
[ include/coff/ChangeLog ]
2004-04-23 Chris Demetriou <cgd@broadcom.com>
Phil Blundell [Fri, 23 Apr 2004 19:12:55 +0000 (19:12 +0000)]
2004-04-21 Philip Blundell <pb@nexus.co.uk>
* elf32-arm.h (elf32_arm_check_relocs): Don't output REL32
relocs for locally defined symbols during -shared final link.
(elf32_arm_final_link_relocate): Likewise.
Jakub Jelinek [Fri, 23 Apr 2004 08:51:10 +0000 (08:51 +0000)]
* elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Copy also
ELF_LINK_POINTER_EQUALITY_NEEDED.
(elf64_x86_64_check_relocs): Set ELF_LINK_POINTER_EQUALITY_NEEDED
if r_type is not R_X86_64_PC32.
(elf64_x86_64_finish_dynamic_symbol): If
ELF_LINK_POINTER_EQUALITY_NEEDED is not set, clear st_value of
SHN_UNDEF symbols.
* hppa-tdep.h (find_unwind_entry, hppa_get_field, hppa_extract_5_load)
(hppa_extract_5R_store, hppa_extract_5r_store, hppa_extract_17)
(hppa_extract_21, hppa_extract_14, hppa_low_sign_extend)
(hppa_sign_extend): Add prototype.
* hppa-tdep.c (get_field, extract_5_load, extract_5R_store)
(extract_5r_store, extract_17, extract_21, extract_14, low_sign_extend)
(sign_extend): Rename with hppa_ prefix and make non-static. Other
hppa targets will also use these functions.
(find_unwind_entry): Remove prototype (moved to hppa-tdep.h).
(hppa_in_solib_call_trampoline, hppa_in_solib_return_trampoline)
(hppa_skip_trampoline_code): Move to hppa-hpux-tdep.c
(hppa_gdbarch_init): Remove gdbarch setting of
skip_trampoline_code, in_solib_call_trampoline and
in_solib_return_trampoline.
* hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline)
(hppa64_hpux_in_solib_call_trampoline): New functions, split from
hppa_in_solib_call_trampoline.
(hppa_hpux_in_solib_return_trampoline, hppa_hpux_skip_trampoline_code):
Moved from hppa-tdep.c.
(hppa_hpux_init_abi): Set gdbarch for skip_trampoline_code,
in_solib_call_trampoline and in_solib_return_trampoline.
Andrew Cagney [Fri, 23 Apr 2004 01:02:32 +0000 (01:02 +0000)]
2004-04-22 Andrew Cagney <cagney@redhat.com>
* ppcnbsd-tdep.c: Update copyright. Include "tramp-frame.h" and
"trad-frame.h".
(ppcnbsd_sigtramp_cache_init, ppcnbsd_sigtramp): Implement a NetBSD
signal trampoline unwinder.
(ppcnbsd_init_abi): Register ppcnbsd_sigtramp.
* config/tc-mips.c (load_delay_nop): New function.
(load_address, macro): Use load_delay_nop() to build a nop
which can be omitted with gpr_interlocks.
* gas/mips/lb-xgot-ilocks.d: Remove nops in load delay slot.
* gas/mips/mips-abi32-pic.d: Likewise.
* gas/mips/mips-abi32-pic2.d: Likewise.
* gas/mips/mips-gp32-fp32-pic.d: Likewise.
* gas/mips/mips-gp32-fp64-pic.d: Likewise.
* gas/mips/mips-gp64-fp32-pic.d: Likewise.
* gas/mips/mips-gp64-fp64-pic.d: Likewise.
* gas/mips/relax-swap1-mips2.d: Likewise.
* gas/mips/lb-svr4pic-ilocks.d: New test.
* gas/mips/mips.exp: Run it.
Paul Brook [Thu, 22 Apr 2004 16:18:29 +0000 (16:18 +0000)]
* config/tc-arm.c (mav_parse_offset): Value must be multiple of 4.
testsuite
* maverick.c (off8s): Test full shifted operand range.
(MCC2): Define.
(MVDSPACC, MVACCDSP): Use it.
* maverick.d, maverick.s: Regenerate.
Nick Clifton [Thu, 22 Apr 2004 09:49:03 +0000 (09:49 +0000)]
Apply Bruno de Bus's patch to record the ARM mapping symbol state on a per-
section basis and to switch to the MAP_DATA state when emitting literal pools.
[ ld/ChangeLog ]
2004-04-21 Chris Demetriou <cgd@broadcom.com>
* ld.texinfo: Remove MIPS --embedded-relocs documentation.
* emulparams/elf32bmip.sh (EXTRA_EM_FILE): Remove definition.
* emulparams/mipsidt.sh (TEMPLATE_NAME): Use generic.em.
(EXTRA_EM_FILE): Use mipsecoff.em
* emulparams/mipsidtl.sh (TEMPLATE_NAME): Use generic.em.
(EXTRA_EM_FILE): Use mipsecoff.em
* emultempl/mipsecoff.em: Restructure to be included as an
extra emulation file.
(check_sections, gld${EMULATION_NAME}_after_open)
(gld${EMULATION_NAME}_after_allocation)
(gld${EMULATION_NAME}_get_script)
(ld_${EMULATION_NAME}_emulation): Remove
(gld${EMULATION_NAME}_before_parse): Rename to...
(mipsecoff_before_parse): This.
(LDEMUL_BEFORE_PARSE): Define.
* emultempl/mipself.em: Remove file.
* scripttempl/mips.sc (.rel.sdata): Do not include in output.
(__runtime_reloc_start, __runtime_reloc_stop): Stop providing
these symbols.
* Makefile.am: Remove dependencies on emultempl/mipself.em.
* Makefile.in: Regenerate.
[ ld/testsuite/ChangeLog ]
2004-04-21 Chris Demetriou <cgd@broadcom.com>
Bob Wilson [Wed, 21 Apr 2004 18:12:47 +0000 (18:12 +0000)]
* elf32-xtensa.c (is_same_value): Add final_static_link argument and
require relocations against a weak symbol to reference the same
symbol hash entry if not a final, static link.
(get_cached_value, add_value_map): Add final_static_link argument.
(remove_literals): Pass final_static_link argument as needed.
Eric Botcazou [Wed, 21 Apr 2004 07:15:05 +0000 (07:15 +0000)]
* scripttempl/elf.sc (.text): Add KEEP for .text.*personality*.
(.data): Add KEEP for .gnu.linkonce.d.*personality*.
(.gcc_except_table): Add KEEP for self and accept .gcc_except_table.*.
Eric Botcazou [Wed, 21 Apr 2004 07:14:15 +0000 (07:14 +0000)]
* elflink.c (elf_gc_mark_dynamic_ref_symbol): New function.
(bfd_elf_gc_sections): Fail if a shared object is being created.
Do not fail if dynamic sections have been created. Instead call
elf_gc_mark_dynamic_ref_symbol to mark sections that contain
dynamically referenced symbols. Do not mark the whole graph
rooted at .eh_frame, only the section proper.
Jakub Jelinek [Tue, 20 Apr 2004 10:23:51 +0000 (10:23 +0000)]
* sparc-opc.c (fmoviccx, fmovfccx, fmovccx): Define.
(fmovicc, fmovfcc, fmovcc): Remove fpsize argument, change opcode to
suffix. Use fmov*x macros, create all 3 fpsize variants in one
macro. Adjust all users.
* dwarf2read.c (dwarf2_tmp_obstack, dwarf2_free_tmp_obstack):
Delete.
(dwarf_alloc_block): Take a CU argument. Use the comp_unit_obstack.
(read_attribute_value): Update calls to dwarf_alloc_block.
(dwarf2_build_psymtabs_hard): Don't initialize or clean up
dwarf2_tmp_obstack.
(psymtab_to_symtab_1): Likewise. Clean up using
free_stack_comp_unit.
(add_to_cu_func_list): Use the comp_unit_obstack.
Mark Kettenis [Sun, 18 Apr 2004 18:38:04 +0000 (18:38 +0000)]
Based on a patch from Brian Ford <ford@vss.fsi.com>:
* i386-tdep.c: Correct register numbering scheme comments
throughout.
(i386_stab_reg_to_regnum): Rename to i386_dbx_reg_to_regnum.
(i386_dwarf_reg_to_regnum): Rename to i386_svr4_reg_to_regnum.
(i386_coff_init_abi, i386_elf_init_abi): Accomodate renames above.
(i386_gdb_arch_init): Likewise.
* Makefile.in (hppa-hpux-tdep.o): Add $(hppa_tdep_h).
* hppa-hpux-tdep.c (hppa-tdep.h): Include.
(hppa_hpux_som_init_abi): Set is_elf to 0.
(hppa_hpux_elf_init_abi): Set is_elf to 1.
* hppa-tdep.c (low_text_segment_address): Remove global.
(record_text_segment_lowaddr): Pass in low address as parameter. Use
section offset to calculate segment address.
(internalize_unwinds): Define low_text_segment_address as local and
pass to record_text_segment_lowaddr for ELF targets.
(hppa_gdbarch_init): Zero fill tdep structure.
(hppa_dump_tdep): Print tdep structure.
* hppa-tdep.h (gdbarch_tdep): Add is_elf member to tdep structure.
* hppa-tdep.c (hppa_pseudo_register_read): Define.
(hppa_gdbarch_init): Set pseudo_register_read.
* config/pa/tm-hppa.h (DEPRECATED_CLEAN_UP_REGISTER_VALUE): Remove.
* regcache.c (supply_register): Remove check for
DEPRECATED_CLEAN_UP_REGISTER_VALUE since we've removed the last user.
Alan Modra [Sat, 17 Apr 2004 11:18:47 +0000 (11:18 +0000)]
* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the first non-zero
filepos for the SizeOfHeaders field.
(_bfd_XXi_swap_scnhdr_out): Correct section flags lossage on reloc
overflow.
(_bfd_XXi_swap_sym_in): Remove redundant section flags assignment.