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.
Mark Kettenis [Fri, 16 Apr 2004 16:49:55 +0000 (16:49 +0000)]
From Brian Ford <ford@vss.fsi.com>:
* i386-tdep.c (i386_coff_init_abi): New function.
* i386-tdep.h (i386_coff_init_abi): New prototype.
* i386-cygwin-tdep.c (i386_cygwin_init_abi): Call it. Use correct
register number translation functions for DWARF and DWARF 2.
* dwarf2read.c: Include "hashtab.h".
(struct dwarf2_cu): Add partial_dies, comp_unit_obstack,
has_namespace_info.
(struct partial_die_info): Add comments. Use bitfields to reduce
memory footprint. Add scope, scope_set, has_specification,
spec_offset, die_parent, die_child, and die_sibling.
(peek_die_abbrev): Add prototype.
(partial_read_comp_unit_head): New function, broken out from
dwarf2_build_psymtabs_hard.
(dwarf2_build_psymtabs_hard): Remove unused variable abbrev_ptr.
Use partial_read_comp_unit_head. Initialize the CU and
comp_unit_obstack. Update calls to read_partial_die and
scan_partial_symbols. Use free_stack_comp_unit and
load_partial_dies.
(scan_partial_symbols): Change PDI to a pointer. Use the child and
sibling pointers to walk partial DIEs. Call fixup_partial_die.
Update calls to helper functions. Remove NAMESPACE argument.
Update comments.
(partial_die_parent_scope, partial_die_full_name): New functions.
(add_partial_symbol): Remove namespace argument. Update call to
pdi_needs_namespace. Use partial_die_full_name. Handle
DW_TAG_namespace. Check has_namespace_info flag.
(pdi_needs_namespace): Remove NAMESPACE argument. Just check the
tag. Handle namespaces.
(add_partial_namespace, add_partial_enumeration): Simplify.
(guess_structure_name): New function, derived from
add_partial_structure.
(add_partial_structure): Remove.
(determine_class_name): Update comment.
(dwarf2_read_abbrevs): Set has_namespace_info flag.
(is_type_tag_for_partial, load_partial_dies): New functions.
(read_partial_die): Pass abbrev and abbrev_len as arguments.
Record specifications instead of following them immediately.
(find_partial_die_in_comp_unit, find_partial_die)
(fixup_partial_die, free_stack_comp_unit)
(hashtab_obstack_allocate, dummy_obstack_deallocate)
(partial_die_hash, partial_die_eq): New functions.
* Makefile.in (hashtab_h): Define.
(dwarf2read.o): Update dependencies.
(observer_inc, observer_h): Move to the correct section.
Roland McGrath [Thu, 15 Apr 2004 21:39:27 +0000 (21:39 +0000)]
2004-04-08 Roland McGrath <roland@redhat.com>
* symfile.c (symbol_file_add_with_addrs_or_offsets): Take ABFD as
argument instead of NAME.
(symbol_file_add, reread_separate_symbols): Call symfile_bfd_open
in call to symbol_file_add_with_addrs_or_offsets.
(build_addr_info): New function, helper for ...
(symbol_file_add_from_memory): New function.
(add_symbol_file_from_memory_command): New function using that.
(_initialize_symfile): Register it for add-symbol-file-from-memory.
(pre_add_symbol_hook): Add const to argument type.
* symfile.h (symbol_file_add_from_memory): Declare it.
Mark Kettenis [Thu, 15 Apr 2004 15:03:30 +0000 (15:03 +0000)]
* vax-tdep.c: Include "regset.h".
(vax_supply_gregset): New function.
(vax_gregset): New variable.
(vax_regset_from_core_section): New function.
(vax_gdbarch_init): Set regset_from_core_section.
* Makefile.in (vax-tdep.o): Update dependencies.
Mark Kettenis [Wed, 14 Apr 2004 19:19:12 +0000 (19:19 +0000)]
* NEWS (New native configurations): Mention NetBSD/vax.
* configure.host: Add vax-*-netbsdelf* and vax-*-netbsd*.
* config/vax/nbsdelf.mh: New file.
* config/vax/nbsdaout.mh: New file.
* config/vax/nm-nbsd.h: New file.
* config/vax/nm-nbsdaout.h: New file.
Mark Kettenis [Wed, 14 Apr 2004 18:02:44 +0000 (18:02 +0000)]
* vaxnbsd-tdep.c: New file.
* Makefile.in (vaxnbsd-tdep.o): New dependency.
* configure.tgt: Add vax-*-netbsd* and vax-*-openbsd*.
* config/vax/nbsd.mt: New file.
* config/vax/tm-nbsd.h: New file.
Mark Kettenis [Wed, 14 Apr 2004 17:48:38 +0000 (17:48 +0000)]
* vax-tdep.h (vax_regnum): Add VAX_R0_REGNUM and VAX_R1_REGNUM.
* vax-tdep.c (vax_store_arguments): Remove struct_return and
struct_addr arguments. Don't push return value address.
(vax_push_dummy_call): Don't pass STRUCT_RETURN and STRUCT_ADDR as
arguments to vax_store_arguments. Store return value address in
R1.
(vax_store_struct_return, vax_extract_return_value)
(vax_store_return_value): Remove functions.
(vax_return_value): New function.
(vax_gdbarch_init): Set return value. Don't set
deprecated_store_struct_return, deprecated_extract_struct_return
and deprecated_store_return_value.