Bob Wilson [Fri, 30 Dec 2005 23:34:00 +0000 (23:34 +0000)]
include:
* xtensa-config.h (XCHAL_HAVE_WIDE_BRANCHES): New.
gas:
* config/tc-xtensa.c (op_placement_info_struct): Delete single,
single_size, widest, and widest_size fields. Add narrowest_slot.
(xg_emit_insn_to_buf): Remove fmt parameter and compute it here.
Use xg_get_single_slot to find the slot.
(finish_vinsn): Use emit_single_op instead of bundle_single_op.
(bundle_single_op): Rename this to....
(bundle_tinsn): ...this function, which builds a vliw_insn but does
not call finish_vinsn.
(emit_single_op): Use bundle_tinsn instead of bundle_single_op.
(relax_frag_immed): Get num_slots from cur_vinsn.
(convert_frag_narrow): Update call to xg_emit_insn_to_buf.
(convert_frag_immed): Likewise. Also, get num_slots from cur_vinsn.
(init_op_placement_info_table): Set narrowest_slot field. Remove
code for deleted fields.
(xg_get_single_size): Return narrowest_size field, not single_size.
(xg_get_single_format): Return narrowest field, not single.
(xg_get_single_slot): New.
(tinsn_to_insnbuf): Rewrite to use tinsn_to_slotbuf.
* config/xtensa-relax.c (widen_spec_list): Add wide branch relaxations.
(transition_applies): Check wide branch option availability.
Nick Clifton [Thu, 29 Dec 2005 10:29:23 +0000 (10:29 +0000)]
(_bfd_link_section_stabs): Use bfd_hash_table_init rather than
bfd_hash_table_init_n(...,251) so that the size of the hash table can be
controlled by the user.
Mark Kettenis [Tue, 27 Dec 2005 22:14:42 +0000 (22:14 +0000)]
* sparc64obsd-tdep.c: Include "gdbcore.h", "regcache.h" amd
"bsd-uthread.h".
(SPARC64OBSD_UTHREAD_FP_OFFSET, SPARC64OBSD_UTHREAD_PC_OFFSET):
New defines.
(sparc64obsd_supply_uthread, sparc64obsd_collect_uthread): New
functions.
(sparc64obsd_init_abi): Set supply_uthread and collect_uthread.
* Makefile.in (sparc64obsd-tdep.o): Update dependencies.
Alan Modra [Tue, 27 Dec 2005 03:54:33 +0000 (03:54 +0000)]
* elf32-ppc.c (add_stub_sym): Pass info rather than htab.
Use different names for pic vs non-pic, '.' instead of '_'.
(allocate_dynrelocs): Adjust add_stub_sym call.
Mark Kettenis [Mon, 26 Dec 2005 19:15:11 +0000 (19:15 +0000)]
* obsd-tdep.c: New file.
* obsd-tdep.h: New file.
* Makefile.in (obsd_tdep_h): New variable.
(ALLDEPFILES): Add obsd-tdep.c.
(obsd-tdep.o): New target.
Nick Clifton [Fri, 23 Dec 2005 12:29:36 +0000 (12:29 +0000)]
PR 1150
* elf-bfd.h (struct elf_backend_data): New field 'elf_backend_ignore_undef_symbol'.
* elfxx-target.h (elf_backend_ignore_undef_symbol): Define to NULL if not
already defined.
(elfNN_bed): Initialise the elf_backend_ignore_undef_symbol field.
* elfxx-mips.c (_bfd_mips_elf_ignore_undef_symbol): New function.
* elfxx-mips.h (elf_backend_ignore_undef_symbol): Define and prototype.
* elflink.c (elf_link_output_extsym): Check elf_backend_ignore_undef_symbol
before reporting an undefined symbol in a shared library.
Joel Brobecker [Fri, 23 Dec 2005 10:19:40 +0000 (10:19 +0000)]
* corefile.c (generic_core_file_matches_executable_p): New function.
* libbfd-in.h (generic_core_file_matches_executable_p): Add
declaration.
* libbfd.h: Regenerate.
* hpux-core.c: ANSIfy function declarations and prototypes.
(thread_section_p): Manually expand bfd_section_name macro
to make it clear that parameter ABFD is not used.
(hpux_core_core_file_matches_executable_p): Delete, replaced
by macro pointing to generic_core_file_matches_executable_p.
* symbols.h (snapshot_symbol): First parameter is now pointer
to pointer to symbolS.
* symbols.c (snapshot_symbol): Likewise. Store resulting symbol
there. Use symbol_equated_p.
* expr.c (resolve_expression): Change first argument to
snapshot_symbol. Track possibly changed add_symbol consistently
across function. Resolve more special cases with known result.
Also update final_val when replacing add_symbol.
* gas/all/cond.s: Also check .if works on equates to undefined
when the expression value can be known without knowing the
value of the symbol.
* gas/all/cond.l: Adjust.
* gas/i386/equ.s: Also check .if works on (equates to)
registers when the expression value can be known without
knowing the value of the register.
* gas/i386/equ.e: Adjust.
Bob Wilson [Tue, 20 Dec 2005 19:37:26 +0000 (19:37 +0000)]
* config/tc-xtensa.c (xtensa_mark_narrow_branches): Set
is_aligning_branch flag.
(find_address_of_next_align_frag): Limit by xtensa_fetch_width.
(future_alignment_required): Except for frags with is_aligning_branch
flag set, call frag_wane for frags that do not need to be reexamined
for aligning.
(relax_frag_immed): Replace orig_vinsn with cur_vinsn to fix a leak.
(convert_frag_immed): Likewise.
(convert_frag_narrow): Check is_aligning_branch flag.
* config/tc-xtensa.h (xtensa_frag_type): Add is_aligning_branch flag.
Bob Wilson [Tue, 20 Dec 2005 18:13:32 +0000 (18:13 +0000)]
* config/tc-xtensa.c (xg_find_narrowest_format): Optimize 1 slot case.
(xg_init_vinsn): Remove redundant initialization.
(xg_clear_vinsn): Zero all the slots with a single memset.
* config/xtensa-istack.h (vliw_insn): Move insnbuf field after slots.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, ADAFLAGS_FOR_TARGET):
Do not pass.
* Makefile.tpl (BOOT_ADAFLAGS): Do not define.
* Makefile.in: Regenerate.
* configure.in: Do not include mt-ppc-aix target fragment.
* configure: Regenerate.
Bob Wilson [Tue, 20 Dec 2005 01:30:11 +0000 (01:30 +0000)]
* elf32-xtensa.c (action_list_count, xlate_map_entry, xlate_map,
xlate_offset_with_removed_text, build_xlate_map, free_xlate_map): New.
(check_section_ebb_pcrels_fit): Build new xlate_map, use it and free it
when finished.