Commit Graph

69032 Commits

Author SHA1 Message Date
Jan Kratochvil
07be84bf8f gdb/
STT_GNU_IFUNC reader implementation.
	* elfread.c: Include gdbtypes.h, value.h and infcall.h.
	(SYMBOL_GOT_PLT_SUFFIX, elf_rel_plt_read)
	(elf_objfile_gnu_ifunc_cache_data, struct elf_gnu_ifunc_cache)
	(elf_gnu_ifunc_cache_hash, elf_gnu_ifunc_cache_eq)
	(elf_gnu_ifunc_record_cache, elf_gnu_ifunc_resolve_by_cache)
	(elf_gnu_ifunc_resolve_by_got, elf_gnu_ifunc_resolve_name)
	(elf_gnu_ifunc_resolve_addr): New.
	(elf_symfile_read): Call elf_rel_plt_read.
	(elf_gnu_ifunc_fns): New.
	(_initialize_elfread): Initialize elf_objfile_gnu_ifunc_cache_data.
	Install elf_gnu_ifunc_fns.
	* infcall.c (find_function_return_type): New function.
	(find_function_addr): Resolve TYPE_GNU_IFUNC functions, if possible.
	* minsyms.c (stub_gnu_ifunc_resolve_addr)
	(stub_gnu_ifunc_resolve_name): New functions.
	(stub_gnu_ifunc_fns, gnu_ifunc_fns_p): New variables.
	* symtab.h (struct gnu_ifunc_fns, gnu_ifunc_resolve_addr)
	(gnu_ifunc_resolve_name, gnu_ifunc_fns_p): New.
2011-03-28 20:26:24 +00:00
Jan Kratochvil
300f8e104f gdb/
Code cleanup for later STT_GNU_IFUNC support.
	* infcall.c (find_function_addr): Remove variable code, use explicit
	dereferences for it.  Move VALUE_TYPE initialization later.
2011-03-28 20:24:05 +00:00
Jan Kratochvil
11c8145561 gdb/
GDB find_pc_partial_function support for STT_GNU_IFUNC.
	* blockframe.c (cache_pc_function_is_gnu_ifunc): New variable.
	(clear_pc_function_cache): Clear it.
	(find_pc_partial_function): Rename to ...
	(find_pc_partial_function_gnu_ifunc): ... this function.  New
	parameter is_gnu_ifunc_p, describe it.  Set *IS_GNU_IFUNC_P.
	(find_pc_partial_function): New wrapper for this function.
	* symtab.h (find_pc_partial_function_gnu_ifunc): New declaration.
2011-03-28 20:22:52 +00:00
Jan Kratochvil
0875794a96 gdb/
GDB internal type support for STT_GNU_IFUNC.
	* elfread.c (record_minimal_symbol): Support mst_text_gnu_ifunc.
	(elf_symtab_read): Set mst_text_gnu_ifunc for
	BSF_GNU_INDIRECT_FUNCTION.
	* eval.c (evaluate_subexp_standard): Support TYPE_GNU_IFUNC.
	* gdbtypes.c (init_type): Support TYPE_FLAG_GNU_IFUNC,
	builtin_func_func, nodebug_text_gnu_ifunc_symbol and
	nodebug_got_plt_symbol.
	* gdbtypes.h (enum type_flag_value): New entry TYPE_FLAG_GNU_IFUNC.
	(TYPE_GNU_IFUNC): New.
	(struct main_type): New field flag_gnu_ifunc.
	(struct builtin_type): New field builtin_func_func.
	(struct objfile_type): New fields nodebug_text_gnu_ifunc_symbol and
	nodebug_got_plt_symbol.
	* minsyms.c (lookup_minimal_symbol_text): Support mst_text_gnu_ifunc.
	(in_gnu_ifunc_stub): New.
	(prim_record_minimal_symbol, find_solib_trampoline_target): Support
	mst_text_gnu_ifunc.
	* parse.c (write_exp_msymbol): New variable ifunc_msym.  Detect and
	support mst_text_gnu_ifunc.  Support mst_slot_got_plt.
	* solib-svr4.c (svr4_in_dynsym_resolve_code): Return true also for
	in_gnu_ifunc_stub.
	* symmisc.c (dump_msymbols): Support mst_text_gnu_ifunc.
	* symtab.c (search_symbols): Likewise.
	* symtab.h (enum minimal_symbol_type): New fields mst_text_gnu_ifunc
	and mst_slot_got_plt.
	(in_gnu_ifunc_stub): New declaration.
2011-03-28 20:21:04 +00:00
Jan Kratochvil
d0fb5eaead gdb/
Support a ring of related breakpoints.
	* breakpoint.c (watchpoint_del_at_next_stop): New, move here code from
	other functions, add gdb_assert.
	(update_watchpoint, watchpoint_check): Add gdb_assert.  Use
	watchpoint_del_at_next_stop.
	(bpstat_check_watchpoint): Use watchpoint_del_at_next_stop.
	(bpstat_stop_status): Handle ring in related_breakpoint.
	(set_raw_breakpoint_without_location): Initialize ring in
	related_breakpoint.
	(delete_breakpoint): Handle ring in related_breakpoint, use
	watchpoint_del_at_next_stop.
	(map_breakpoint_numbers): Handle ring in related_breakpoint.

gdb/testsuite/
	Support a ring of related breakpoints.
	* gdb.base/watchpoint-delete.c: New file.
	* gdb.base/watchpoint-delete.exp: New file.
2011-03-28 20:19:02 +00:00
Jan Kratochvil
20106cfbdb gdb/testsuite/
* gdb.ada/arrayparam.exp (print first after function call): Use
	explicit package name.  Add a comment
	(print lasta after function call): Rename ...
	(print last after function call): ... it and use explicit package
	name.
	(print length after function call): Use explicit package name.
	* gdb.ada/str_ref_cmp.exp (operator = works for strings): New test.
	* gdb.ada/sym_print_name.exp: Change `i' to `integervar'.
	(multiple matches for symbol i): Rename ...
	(multiple matches for symbol integervar): ... it.
	* gdb.ada/sym_print_name/foo.adb (Foo): Change `I' to `IntegerVar'.
	* gdb.ada/sym_print_name/pck.ads (Pck): Likewise.
2011-03-28 20:07:12 +00:00
Tom Tromey
9cded63fc1 PR symtab/12441:
* dwarf2read.c (prepare_one_comp_unit): Don't call set_cu_language
	with `language_minimal'.
2011-03-28 19:53:14 +00:00
Tom Tromey
8786b2bd8f * gdb.texinfo (Set Tracepoints): Fix typo. 2011-03-28 18:05:39 +00:00
Pierre Muller
fbe3e2c8df * coffdump.c (coff_dump): Correct spelling error.
(show_usage): Replace SYSROFF by COFF.
2011-03-28 15:24:02 +00:00
Joseph Myers
6a608608d1 * configure.ac (i[[3456789]]86-*-msdosdjgpp*): Don't disable
libffi on host.
	(x86_64-*-mingw*, i[[3456789]]86-*-mingw32*): Don't disable newlib
	on host.
	(c54x*-*-* | tic54x-*-*): Don't disable newlib on host.
	* configure: Regenerate.
2011-03-28 13:14:27 +00:00
Pierre Muller
1a9911c3b8 * coffdump.c (dump_coff_scope): Use double typecast for pointer P
to allow compilation for all targets.
2011-03-28 11:58:18 +00:00
Nick Clifton
5b806d2793 Add support for DragonFlyBSD target. 2011-03-28 11:18:27 +00:00
Joseph Myers
f31d24a0a1 * configure.in: Check for windows.h, not Windows.h.
* configure: Regenerate.
	* plugin.c: Include windows.h, not Windows.h.
2011-03-28 10:27:07 +00:00
gdbadmin
f8eb4131ae *** empty log message *** 2011-03-28 00:00:02 +00:00
Alan Modra
d164a2b780 daily update 2011-03-27 23:00:06 +00:00
Ian Lance Taylor
61ab3e4018 * archive.cc (Archive::interpret_header): Return -1 if something
goes wrong.  Change callers accordingly.
2011-03-27 17:00:56 +00:00
Mike Frysinger
36aef94270 sim: bfin: handle saturation with RND12 sub insns
The current handling of the subtraction insn with the RND12 modifier
works when saturation isn't involved.  So add handling for this edge
case to match the hardware.

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-03-27 04:03:05 +00:00
gdbadmin
f65d3d6b99 *** empty log message *** 2011-03-27 00:00:03 +00:00
Alan Modra
cffd7ca4e4 daily update 2011-03-26 23:00:05 +00:00
Mike Frysinger
fcd1ee07d3 sim: bfin: add missing VS set with add/sub insns
The 16bit add/sub insns missed setting the VS bit in ASTAT whenever the
V bit was also set.

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-03-26 06:02:41 +00:00
gdbadmin
81723326fe *** empty log message *** 2011-03-26 00:00:32 +00:00
Alan Modra
f4cb4830b7 daily update 2011-03-25 23:00:05 +00:00
Cary Coutant
30e1f9e6ab * testsuite/Makefile.am (final_layout.stdout): Use -n option with nm.
* testsuite/Makefile.in: Regenerate.
2011-03-25 22:58:49 +00:00
Ulrich Weigand
467d42c48d * arm-tdep.c (arm_elf_make_msymbol_special): Use ARM_SYM_BRANCH_TYPE
instead of checking for STT_ARM_TFUNC symbol type.
2011-03-25 21:05:23 +00:00
Eric B. Weddington
d0289b45c2 Regenerate Makefile.in. 2011-03-25 18:04:48 +00:00
Nick Clifton
57f3d89e8a oops - fix typo 2011-03-25 18:02:25 +00:00
Nick Clifton
767221a942 * dwarf.c (decode_location_expression): Use dwarf_vmatoa
function to display DW_OP_addr OP.
	(process_debug_info): Use dwarf_vma type for local variables
	length and type_offset.
2011-03-25 18:01:58 +00:00
Nick Clifton
49e7b35019 * dwarf.c (process_debug_info): Use offset_size to determine
the bit-size of the computation unit's offset.
2011-03-25 17:54:57 +00:00
Nick Clifton
c48d800e15 * bucomm.c (make_tempname): Stop memory leak.
ICVS: ----------------------------------------------------------------------
2011-03-25 17:51:10 +00:00
Nick Clifton
4b41844bd9 * objdump.c (dump_reloc_set): Free malloced memory. 2011-03-25 17:49:32 +00:00
Nick Clifton
1fcab1afa6 * stabs.c (parse_stab_enum_type): Fix memory leaks.
(parse_stab_struct_type): Ditto.
	(parse_stab_struct_fields): Ditto.
	(parse_stab_one_struct_field): Ditto.
	(parse_stab_members): Ditto.
	(stab_demangle_qualified): Ditto.
2011-03-25 17:46:07 +00:00
Nick Clifton
09192bc76c * prdbg.c (pr_function_type): Close memory leaks.
(pr_method_type): Likewise.
	(tg_class_static_member): Likewise.
	(tg_class_method_variant): Likewise.
	(tg_class_static_method_variant): Likewise.
2011-03-25 17:24:28 +00:00
Nick Clifton
cd37dafcf4 * ieee.c (ieee_add_bb11): Plug memory leak.
(ieee_function_type): Likewise.
	(ieee_class_baseclass): Likewise.
2011-03-25 17:22:15 +00:00
Nick Clifton
8e4850a9e3 * ar.c (write_archive): Plug memory leak. 2011-03-25 17:18:54 +00:00
Nick Clifton
a1bc0327a3 * ar.c (delete_members): Plug memory leak. 2011-03-25 17:17:03 +00:00
Nick Clifton
6a6969108e * ar.c (move_members): Plug memory leak. 2011-03-25 17:14:02 +00:00
Tom Tromey
628534583b * linespec.c (symbol_found): Restore line-based result for
non-LOC_LABEL symbols.
2011-03-25 17:13:12 +00:00
Nick Clifton
68187828c0 * strings.c (print_strings): Plug memory leak. 2011-03-25 17:09:08 +00:00
Nick Clifton
b42adabf1e * coffcode.h (coff_set_alignment_hook): Check return of bfd_seek. 2011-03-25 17:06:53 +00:00
DJ Delorie
d0f0b69d10 merge from gcc 2011-03-25 16:38:27 +00:00
Tom Tromey
bb0c92378b 2011-03-24 Mark Wielaard <mjw@redhat.com>
* dwarf2.h (dwarf_form): Remove deprecated DW_FORM_sig8 define.
2011-03-25 15:45:38 +00:00
Tristan Gingold
a283ff9345 2011-03-25 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (_bfd_vms_find_nearest_dst_line): Allow the use
	of find_nearest_line on object files.
2011-03-25 15:39:03 +00:00
Tristan Gingold
cf6b876738 2011-03-25 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (evax_section_flags): Make $CODE$ section read-only.
	Minor reordering.
	(alpha_vms_create_eisd_for_section): Make code sections read-only.
2011-03-25 15:31:27 +00:00
Nick Clifton
467c65bce2 Replace bfd_vma type and analog types by dwarf_vma and analogs.
Use dwarf specific print functions to display these type values.
	* dwarf.h (dwarf_signed_vma): New type;
	(DWARF2_External_LineInfo): Replace bfd_vma by dwarf_vma.
	(DWARF2_External_PubNames): Likewise.
	(DWARF2_External_CompUnit): Likewise.
	(DWARF2_External_ARange): Likewise.
	(read_leb128): Change return type to dwarf_vma.
	* dwarf.c (print_dwarf_vma): Use __MINGW32__ conditional and
	check byte_size values.
	(dwarf_vmatoa): Change parameter type to dwarf_vma.
	(dwarf_svmatoa): New static function.
	(read_leb128): Change return type to dwarf_vma.
	(read_sleb128): New static function.
	(struct State_Machine_Registers): Change address field type to
	dwarf_vma.
	(process_extended_line_op): Adapt to type changes.
	(fetch_indirect_string): Likewise.
	(idisplay_block): Likewise.
	(decode_location_expression): Likewise.
	(read_and_display_attr_value): Likewise.
	(process_debug_info): Likewise.
	(display_debug_lines_raw): Likewise.
	(display_debug_lines_decoded): Likewise.
	(SLEB macro): Use new read_sleb128 function.
2011-03-25 15:15:52 +00:00
Joseph Myers
0377a422af * configure.ac (native_only): Remove.
(i[[3456789]]86-*-msdosdjgpp*): Don't disable expect dejagnu
	send-pr uudecode guile gnuserv on host.
	(x86_64-*-mingw*): Don't disable expect dejagnu autoconf automake
	send-pr rcs guile perl texinfo libtool on host.
	(i[[3456789]]86-*-mingw32*): Don't disable expect dejagnu autoconf
	automake send-pr rcs guile perl texinfo libtool on host.
	(*-*-cygwin*, *-*-netbsd*): Remove host cases.
	(*-*-kaos*): Don't disable target-examples target-gperf on target.
	(alpha*-dec-osf*): Don't disable fileutils on target.
	(sh*-*-pe|mips*-*-pe|*arm-wince-pe): Don't disable target-examples
	texinfo send-pr expect dejagnu on target.
	(arm-*-elf* | arm*-*-eabi*, arm*-*-linux-gnueabi): Don't disable
	target-qthreads on target.
	(hppa*-hp-hpux11*, hppa*-*-*): Don't disable shellutils on target.
	(ia64*-*-elf*, ia64*-*-*vms*): Don't disable mmalloc on target.
	(i[[3456789]]86-w64-mingw*, i[[3456789]]86-*-mingw*,
	x86_64-*-mingw*): Don't disable expect on target.
	(*-*-cygwin*): Don't disable target-gperf on target.
	(powerpc*-*-winnt* | powerpc*-*-pe*): Don't disable make expect
	gnuserv on target.
	(powerpcle-*-solaris*): Don't disable make expect gnuserv on
	target.
	* configure: Regenerate.
2011-03-25 13:08:19 +00:00
Andrew Burgess
e7ab5e634b Move environment modifications into gdb_init so it's done just once per
test, and clear the GREP_OPTIONS environment variable. See,
  http://sourceware.org/ml/gdb-patches/2011-03/msg00886.html
2011-03-25 13:08:11 +00:00
Joseph Myers
2354b38bbb * configure.ac (target_tools): Remove target-groff.
(native_only): Remove target-groff.
	(hppa*64*-*-*): Don't disable byacc.
	(i[[3456789]]86-*-mingw32*): Remove commented-out noconfigdirs
	setting.
	(*-*-kaos*): Don't skip target-librx and target-groff.
	(*-*-netware*): Don't skip target-libmudflap.
	(*-*-tpf*): Don't skip target-libmudflap.
	(sh*-*-pe|mips*-*-pe|*arm-wince-pe): Don't condition configured
	directories on the host.
	(ia64*-*-*vms*): Don't skip tix.
	(sh-*-* | sh64-*-*): Don't condition skipped directories on the
	host.
	* configure: Regenerate.
2011-03-25 11:36:41 +00:00
Kai Tietz
a7417d468b 2011-03-25 Kai Tietz <ktietz@redhat.com>
* tui/tui-source.c (tui_set_source_content): Use filename_cmp
        instead of strcmp for comparison.
        (tui_source_is_displayed): Likewise.
        * tui/tui-winsource.c (tui_update_breakpoint_info): Likewise.
2011-03-25 09:57:37 +00:00
Mike Frysinger
a31d4fd99d sim: bfin: add hw tracing to gpio/sic port events
Makes it a lot easier to find out what's going on with interrupt lines
if the ports have tracing output.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-03-25 00:13:57 +00:00
Mike Frysinger
b72cc8e145 sim: bfin: fix GPIO logic bugs when processing events
We need the DIR bit cleared, not set, in order for the pin to be treated
as an input.

When looking up the data value, we need to shift the "level" value over by
"my_port" rather than "bit" as the latter has already been shifted over.
We also should normalize the "level" coming in from the outside worlds to
the set of {0,1} since those are the only values that matter to GPIOs.

We need the BOTH bit set, not cleared, in order for the pin to trigger
on both edges.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-03-25 00:13:23 +00:00