PR binutils/5072
* i386-dis.c: Update comments on '{', '}' and '|' to support
only AT&T and Intel modes.
(X86_64_4...X86_64_27): New.
(dis386): Updated. Use X86_64_4...X86_64_21.
(dis386_twobyte): Updated.
(float_mem): Likewise.
(x86_64_table): Add X86_64_4...X86_64_27.
(opc_ext_table): Updated. Use X86_64_22 and X86_64_27.
(putop): Updated handling of '{', '}' and '|' to support only
AT&T and Intel modes.
Vladimir Prus [Thu, 27 Sep 2007 12:25:20 +0000 (12:25 +0000)]
* gdb.mi/var-cmd.c (do_children_tests): Initialize
the 'struct_declarations' variable to zeros.
* gdb.mi/mi2-var-child.exp: Step over said
initialization.
gas/
* config/m68k-parse.h (m68k_register): Use MBO instead of MBB.
(last_movec_reg): Change to MBO.
* config/tc-m68k.c (fido_ctrl): Use MBO instead of MBB.
(m68k_ip): Use MBO instead of MBO.
(init_table): Use MBO instead of MBO. Add an entry for mbo.
Nick Clifton [Wed, 26 Sep 2007 16:07:18 +0000 (16:07 +0000)]
* mt-asm.c (parse_imm16): Reword error message in order to allow it to be translated properly.
* ia64-gen.c (print_dependency_table): Likewise.
* mips-dis.c (print_insn_args): Likewise.
Pierre Muller [Wed, 26 Sep 2007 15:37:16 +0000 (15:37 +0000)]
2007-09-26 Pierre Muller <muller@ics.u-strasbg.fr>
* p-typeprint.c: Fix 11 ARI reported problems.
(pascal_print_type): Fix 4 operator at end of line.
(pascal_type_print_method_args) : Replace 2 DEPRECATED_STREQN macros
using strncmp function.
(pascal_type_print_base): Fix 2 operator at end of line.
(pascal_type_print_base) : Replace 3 DEPRECATED_STREQN macros
using strncmp function.
Jan Beulich [Wed, 26 Sep 2007 13:42:14 +0000 (13:42 +0000)]
gas/testsuite/
2007-09-26 Jan Beulich <jbeulich@novell.com>
* gas/i386/x86-64-addr32.d: Adjust expectations.
opcodes/
2007-09-26 Jan Beulich <jbeulich@novell.com>
* i386-dis.c (OP_E_extended): Distinguish rip- and eip-
relative addressing. Update used_prefixes based on whether any
base or index register was printed.
Alan Modra [Wed, 26 Sep 2007 12:29:41 +0000 (12:29 +0000)]
* elflink.c (set_symbol_value): Add isymbuf and locsymcount
params. Change symidx to a size_t. Don't access past end
of symbol buffer.
(resolve_symbol): Add isymbuf param and use instead of
finfo->internal_syms.
(eval_symbol, evaluate_complex_relocation_symbols): Likewise.
(elf_link_input_bfd): Don't read symbols specially for
evaluate_complex_relocation_symbols.
Jan Beulich [Wed, 26 Sep 2007 06:54:00 +0000 (06:54 +0000)]
gas/
2007-09-26 Jan Beulich <jbeulich@novell.com>
* as.c (itbl_parse): Remove #define.
(struct itbl_file_list): Move down and ...
(itbl_files): .. conditionalize upon HAVE_ITBL_CPU.
(show_usage): Conditionalize printing of --itbl option upon
HAVE_ITBL_CPU.
(parse_args): Conditionalize handling of -t/--itbl options upon
HAVE_ITBL_CPU. Remove OPTION_INSTTBL and replace its use with
't'.
Pierre Muller [Tue, 25 Sep 2007 16:23:55 +0000 (16:23 +0000)]
2007-09-25 Pierre Muller <muller@ics.u-strasbg.fr>
* p-exp.y: Fix 12 ARI reported problems.
(name_not_typename): Fix 2 operator at end of line issues.
(yylex): Fix 3 operator at end of line issues.
Replace 7 DEPRECATED_STREQ macros using strcmp function.
Alan Modra [Tue, 25 Sep 2007 07:58:21 +0000 (07:58 +0000)]
* elf32-spu.c (struct spu_link_hash_table): Add "stubs".
(spu_elf_link_hash_table_create): Init new field.
(spu_elf_size_stubs): Store sorted stub syms in new htab field
rather than local var.
(spu_elf_build_stubs): Iterate over htab stubs rather than
hash traversal.
(struct stubarr): Delete.
(allocate_spuear_stubs, populate_stubs, write_one_stub): Adjust.
Jim Blandy [Mon, 24 Sep 2007 21:48:29 +0000 (21:48 +0000)]
* symfile.h (struct symfile_segment_data): Doc fixes.
* symfile.c (symfile_map_offsets_to_segments): Doc fixes.
Assert that we were passed some loaded segment addresses,
and that sections' segment numbers are valid.
Simplify offset calculation.
* remote.c (get_offsets): Clarify selection of relocate-by-segment
strategy, and set num_segments correctly. Delete redundant
assignments to do_sections.
Alan Modra [Mon, 24 Sep 2007 00:30:03 +0000 (00:30 +0000)]
* elf32-spu.c (is_indirect_branch): New function.
(find_function_stack_adjust): End scan on hitting indirect branch.
(sum_stack): Cast %v arg to correct type.
Vladimir Prus [Sun, 23 Sep 2007 07:56:22 +0000 (07:56 +0000)]
* breakpoint.h (enum enable_state): Remove the
bp_shlib_disabled enumerator.
(struct bp_location): New members shlib_disabled,
global_next, enabled and function_name.
Rename pending to condition_not_parsed.
* breakpoint.c (ALL_BP_LOCATIONS): Iterate over global_next.
(ALL_BP_LOCATIONS_SAFE): Likewise.
(breakpoint_enabled): Don't check for pending.
(condition_command): Free and update all locations of
a breakpoint.
(insert_bp_location): Adjust.
(software_breakpoint_inserted_here_p): Don't care
if breakpoint is enabled, as soon as it's inserted.
(print_it_typical): Print bpstat's location, not
bpstat's breakpoint's location.
(bpstat_stop_status): Iterate over all locations, not
all breakpoints.
(print_breakpoint_location): New.
(print_one_breakpoint): Renamed to
(print_one_breakpoint_location): ...this. Take
parameters to describe which location is being
printed. Modify code to properly print header
for several locations and individual locations.
(print_one_breakpoint): Print all locations.
(breakpoint_has_pc): New.
(describe_other_breakpoints): Use the above.
(check_duplicates): Renamed to...
(check_duplicates_for): .. this.
(check_duplicates): Use check_duplicates_for.
(allocate_bp_location): Adjust.
(set_raw_breakpoint_without_location): New,
extracted from set_raw_breakpoint.
(set_breakpoint_location_function): New.
(set_raw_breakpoint): Use
set_raw_breakpoint_without_location.
(make_breakpoint_permanent): Mark all locations
as inserted.
(disable_breakpoints_in_shlibs): Iterate over
locations.
(disable_breakpoints_in_unloaded_shlib): Likewise.
(re_enable_breakpoints_in_shlibs): Likewise.
(mention): Say "pending" when breakpoint has
zero locations. If breakpoint has more than one
location, say so.
(add_location_to_breakpoint): New.
(create_breakpoint): Accept symtabs_and_lines, not
symtab_and_line. Pass extra sals to
add_location_to_breakpoint.
(create_breakpoints): Pass symtabs_and_lines to
create_breakpoints.
(break_command_1): Make pending breakpoints
have zero locations.
(do_captured_breakpoint): Remove wrong allocation.
(clear_command): Iterate over all locations.
(unlink_locations_from_global_list): Renamed
from unlink_location_from_global_list. Remove
all locations.
(delete_breakpoint): Remove all locations.
Iterate over all locations when deciding which
other location to re-enable.
(all_locations_are_pending): New.
(update_breakpoint_locations): Renamed from
update_breakpoint_location. Try to match old
and new locations using names of containing
functions.
(breakpoint_re_set_one): Adjust.
(find_location_by_number): New.
(disable_command): Allow disabling individual location.
(enable_command): Allow enabling individual location.
* breakpoint.c: Adjust all uses of breakpoint's
enable state to for bp_shlib_disabled change.
Vladimir Prus [Sat, 22 Sep 2007 19:10:05 +0000 (19:10 +0000)]
* breakpoint.c (create_breakpoint): Split from
create_breakpoints, implementing most of its logic.
Take just a single sal, single address string and
single condition. Do not take parsed condition at
all.
(create_breakpoints): Just call create_breakpoint
for each sal.
(find_condition_and_thread): New.
(break_command_1): Use find_condition_and_thread.
Do not keep parsed conditions.
(do_captured_breakpoint): Don't convert
condition string to struct expression.
Vladimir Prus [Sat, 22 Sep 2007 17:49:41 +0000 (17:49 +0000)]
Associate bp_stat with bp_location, not breakpoint.
* breakpoint.h (breakpoint_at): Change type
to bp_location*.
* breakpoint.c (bpstat_alloc): Take bp_location,
not breakpoint.
(bpstat_find_breakpoint): Look at bpstat's location's
owner, not at bpstat->breakpoint_at.
(bpstat_find_step_resume_breakpoint): Likewise.
(bpstat_num): Likewise.
(print_it_typical): Likewise.
(print_bp_stop_message): Likewise.
(watchpoint_check): Likewise.
(bpstat_what): Likewise.
(bpstat_get_triggered_catchpoints): Likewise.
(breakpoint_auto_delete): Likewise.
(delete_breakpoint): Likewise.
(bpstat_stop_status): Pass location, not breakpoint,
to bpstat_alloc. Look at bpstat's location's
owner, not at bpstat->breakpoint_at.
Jim Blandy [Sat, 22 Sep 2007 01:09:19 +0000 (01:09 +0000)]
* macrotab.h (new_macro_table): Document that removing information
from an obstack/bcache-managed macro table leaks memory.
* macrotab.c (macro_free, macro_bcache_free): Instead of asserting
that data is never freed in obstack/bcache-managed macro tables,
just leak the storage.
(macro_undef): If we're undefining a macro at exactly the same
source location that we defined it, simply remove the definition
altogether.
Joel Brobecker [Fri, 21 Sep 2007 18:01:26 +0000 (18:01 +0000)]
* symfile.h (struct sym_fns): Add new field sym_read_linetable.
* coffread.c, dbxread.c, elfread.c, mipsread.c somread.c:
Adjust the struct sym_fns object accordingly by setting
the new field to NULL.
* xcoffread.c (aix_process_linenos): Make static.
(xcoff_sym_fns): Set new field to aix_process_linenos.
* buildsym.c (end_symtab): Replace call to PROCESS_LINENUMBER_HOOK
by call to new the new sym_fns sym_read_linetable function.
* config/powerpc/aix.mt (DEPRECATED_TM_FILE): Delete.
* config/rs6000/tm-rs6000.h: Delete.
Nick Clifton [Fri, 21 Sep 2007 16:16:18 +0000 (16:16 +0000)]
* Makefile.am (BFD32_LIBS): Add arange-set.lo.
(BFD32_LIBS_CFILES): Add arange-set.c.
(SOURCE_HFILES): Add arange-set.h
(dwarf2.lo): Add dependency upon arange-set.h.
(arange-set.lo): New target.
* Makefile.in: Regenerate.
* arange-set.c: New file.
* arange-set.h: New file.
* dwarf2.c: Include arange-set.h.
(struct dwarf2_debug) Add new fields comp_unit_count and comp_unit_arange_set.
(struct comp_unit) Replace field arange with a new field arange_set.
(dwarf2_arange_set_allocate, dwarf2_arange_set_deallocate,
(dwarf2_combine_arange_value, dwarf2_arange_set_new,
(dwarf2_arange_set_with_value_new, dwarf2_comp_unit_arange_add): New
functions to utilize arange set in dwarf2.c.
(arange_add): Formatting change for a line longer than 80 characters.
(decode_line_info): Replace call target arange_add with
(dwarf2_comp_unit_arange_add.
(read_rangelist_insert_arange_list,
(read_rangelist_comp_unit_arange_add): New functions used as callbacks
for read_rangelist.
(read_rangelist): Change interface to accept a callback and data to
allow caller to select the action peformed on a new range list read.
(scan_unit_for_symbols): Use new interface of read_rangelist.
(parse_comp_unit): Create an arange set for each new comp unit. Use new
interface of read_rangelist. Replace call to arange_add with that to
dwarf2_comp_unit_arange_add.
(comp_unit_contains_address): Replace sequential search with a call to
arange_set_lookup_address, which can handles large set efficiently.
(stash_copy_local_aranges, stash_maybe_enable_arange_set,
(stash_find_nearest_line_fast): New functions maintaining and using a
valued global arange set for all compilation units to speed up
bfd_dwarf2_find_nearest_line.
(find_line): Use global arange set. Replace sequential search over all
compilation units with a call to stash_find_nearest_line_fast. Add
book keeping to count number of compilation units. Replace empty
arange list test with a call to arange_set_empty_p.
Nick Clifton [Fri, 21 Sep 2007 07:58:03 +0000 (07:58 +0000)]
* syms.c (_bfd_stab_section_find_nearest_line): Look at the
specific SOM sections for stabs if the regular ones are not found.
* som.h (struct somdata): Add a line_info field, to be used by som_find_nearest_line.
* som.c (som_find_nearest_line): Implement using the bfd stabs function above.