Commit Graph

28223 Commits

Author SHA1 Message Date
Tom Tromey
58438ac187 * tracepoint.c (scope_info): Update.
* symtab.c (decode_line_spec): Update.
	* python/python.c (gdbpy_decode_line): Update.
	* linespec.h (decode_line_1): Update.
	* linespec.c (decode_line_1): Remove 'not_found_ptr' argument.
	(decode_compound, find_method, symtab_from_filename)
	(decode_variable): Likewise.
	* cli/cli-cmds.c (edit_command): Update.
	(list_command): Update.
	* breakpoint.c (parse_breakpoint_sals): Remove 'not_found_ptr'
	argument.
	(create_breakpoint): Update.
	(until_break_command): Update.
	(addr_string_to_sals): Update.
	(decode_line_spec_1): Update.
2011-04-04 17:41:07 +00:00
Tom Tromey
b78a6381e0 * breakpoint.c (struct captured_parse_breakpoint_args): Remove.
(do_captured_parse_breakpoint): Remove.
	(create_breakpoint): `e' is now volatile.  Remove `parse_args'.
	Use TRY_CATCH directly.
2011-04-04 15:22:51 +00:00
Tom Tromey
00174a8637 * symtab.h (free_symtab): Remove.
(forget_cached_source_info_for_objfile): Declare.
	* symmisc.c (free_symtab): Remove.
	* source.c (forget_cached_source_info_for_objfile): New function.
	(forget_cached_source_info): Use it.
	* objfiles.c (free_objfile): Simplify check before calling
	clear_current_source_symtab_and_line.  Call
	forget_cached_source_info_for_objfile.
2011-04-04 15:19:59 +00:00
Tom Tromey
30cc903e7c * mdebugread.c (psymtab_to_symtab_1): Copy linetable to obstack.
(new_symtab): Don't set `free_code' on symtab.
	(new_linetable): Properly handle size==0.
	* symtab.h (struct symtab) <free_code, free_func>: Remove.
	* symmisc.c (free_symtab): Don't free the linetable.  Don't call
	free_func.
	* jv-lang.c (struct jv_per_objfile_data): New.
	(jv_per_objfile_free): Free the data.
	(get_dynamics_objfile): Allocate a jv_per_objfile_data.
	(get_java_class_symtab): Set the `dict' field on the
	jv_per_objfile_data.
	(free_class_block): Remove.
	* buildsym.c (end_symtab): Don't set `free_code' or `free_func' on
	the symtab.
2011-04-04 15:11:19 +00:00
Tom Tromey
0c2e60193c gdb
* symfile.c (reread_symbols): Update.
	* objfiles.h (struct objfile) <cp_namespace_symtab>: Remove
	field.
	* objfiles.c (allocate_objfile): Update.
	* cp-support.h (cp_check_possible_namespace_symbols): Don't
	declare.
	* cp-namespace.c (lookup_symbol_file): Don't call
	lookup_possible_namespace_symbol.
	(initialize_namespace_symtab, get_possible_namespace_block)
	(free_namespace_block, cp_check_possible_namespace_symbols)
	(check_possible_namespace_symbols_loop)
	(check_one_possible_namespace_symbol)
	(lookup_possible_namespace_symbol): Remove.
	(maintenance_cplus_namespace): Replace with notice.
	(_initialize_cp_namespace): Deprecate `maint cplus namespace'.
gdb/testsuite
	* gdb.cp/maint.exp (test_help): Update.
	(test_namespace): Likewise.
2011-04-04 14:37:17 +00:00
Tom Tromey
554d387d4c * xcoffread.c (read_xcoff_symtab): Make `debugfmt' const.
* symtab.h (struct symtab) <producer, debugformat>: Now const.
	* symmisc.c (free_symtab): Don't free debugformat.
	* buildsym.h (struct subfile) <producer, debugformat>: Now const.
	(record_debugformat, record_producer): Document.
	* buildsym.c (end_symtab): Don't save debugformat and producer
	names on obstack.
	(end_symtab): Don't free debugformat and producer fields.
	(record_debugformat): Don't call xstrdup.
	(record_producer): Likewise.
2011-04-04 14:29:27 +00:00
Tom Tromey
d4d4db8a72 * source.c (find_source_lines): Remove LSEEK_NOT_LINEAR code.
(source_line_charpos, source_charpos_line): Remove.
2011-04-04 14:18:11 +00:00
Tom Tromey
8903c50da7 * symtab.h (domain_enum): Split in two...
(enum search_domain): New.
	(search_symbols): Update.
	* symtab.c (print_symbol_info, symtab_symbol_info): Remove
	redundant declarations.
	(search_symbols): Change 'kind' argument to search_domain.
	Update.
	(print_symbol_info): Likewise.
	(symtab_symbol_info): Likewise.
	* symfile.h (struct quick_symbol_functions)
	<pre_expand_symtabs_matching>: Change type of 'kind' argument.
	<expand_symtabs_matching>: Likewise.
	* psymtab.c (pre_expand_symtabs_matching_psymtabs): Update.
	(expand_symtabs_matching_via_partial): Update.
	* dwarf2read.c (dw2_pre_expand_symtabs_matching): Update.
	(dw2_expand_symtabs_for_function): Update.
	* block.h: Moved anonymous enum...
	* defs.h (enum block_enum): ... here.  Now named.
2011-04-04 14:10:12 +00:00
gdbadmin
ddde48d4f4 *** empty log message *** 2011-04-04 00:00:03 +00:00
Joel Brobecker
d6e00af685 Update NEWS after gdb-7.3 branch creation.
gdb/ChangeLog:

        * NEWS: Create a new section for the next release branch.
        Rename the section of the current branch, now that it has
        been cut.
2011-04-03 16:55:15 +00:00
gdbadmin
d9351f5f22 Record GDB 7.3 branch creation. Bump version number to 7.3.50.20110403-cvs. 2011-04-03 16:31:21 +00:00
gdbadmin
68e97610ad *** empty log message *** 2011-04-03 00:00:32 +00:00
Joel Brobecker
4368ebebd8 Fix gdb.info build error (bad @menu entry)
gdb/doc/ChangeLog:

	* gdb.texinfo (GDB/MI Output Records): Fix menu entry for
	"GDB/MI Ada Exception Information" node.
2011-04-02 04:31:43 +00:00
gdbadmin
56198f2575 *** empty log message *** 2011-04-02 00:00:33 +00:00
Ulrich Weigand
2b9e5ea604 * arm-tdep.c (arm_gdbarch_init): Enfore correct register number
for "fpscr" in target description.
2011-04-01 19:38:15 +00:00
Jan Kratochvil
0cf03b497a gdb/
* dwarf2read.c (find_slot_in_mapped_hash): New variable back_to,
	initialize it.  Delay HASH initialization.  Strip the part after open
	parenthesis for languages with qualifiers.  Call do_cleanups.
2011-04-01 17:46:44 +00:00
Tom Tromey
5d901a7357 * utils.c (report_command_stats): Don't print `-' for negative
number.
2011-04-01 17:20:42 +00:00
Joel Brobecker
af57139d01 extend scope of testing in gdb.ada/arrayptr
We add testing of taking a slice of an array access.  And we also
introduce the same amount of testing, but with an access to a
constrained array.

gdb/testsuite/ChangeLog:

        * gdb.ada/arrayptr/foo.adb: Add access to constrained array.
        * gdb.ada/arrayptr.exp: Add new tests.
2011-04-01 17:03:52 +00:00
Joel Brobecker
b0dd768854 [Ada] fix printing slice of array defined as typedef
A change we are making in the compiler to help preserve useful
types when using -feliminate-unused-debug-types exposed a small
hole in our value-printing code.

One example of the problem happens when trying to print a slice
of an array pointer.  If the variable is defined as a pointer to
the typedef of an array, then we fail to print the slice, like so:

    (gdb) p arr_ptr(1..2)
    cannot take slice of non-array

gdb/ChangeLog:

        * ada-lang.c (ada_is_simple_array_type, ada_value_slice_from_ptr)
        (ada_value_slice, empty_array, to_fixed_array_type): Deal with
        typedefs.
2011-04-01 17:03:24 +00:00
Joel Brobecker
956a9fb9fb improve Ada exception catchpoint MI notification
This rewrites the code generating the Ada exception catchpoint hit
notification for both the GDB/MI case as well as the non-MI case,
by using the relevant ui_out_* functions to generate the output.
the MI notifications for Ada exception catchpoints now include
the stop reason, and the breakpoint "disp", much like other breakpoint
events do.  It also introduces a new field "exception-name" for
exception catchpoints (excluding "failed assertion catchpoints,
where we just want to know that it was a failed assertion).

gdb/ChangeLog:

        * breakpoint.h (bpdisp_text): Add declaration.
        * breakpoint.c (bpdisp_text): Make non-static.
        * ada-lang.c: #include "mi/mi-common.h".
        (print_it_exception): Rewrite to improve GDB/MI output.

gdb/doc/ChangeLog:

        * gdb.texinfo (GDB/MI Ada Exception Information): Document
        the "exception-name" field in the *stopped async record.

gdb/testsuite/ChangeLog:

        * gdb.ada/mi_catch_ex: New testcase.
2011-04-01 16:59:58 +00:00
Pedro Alves
d0c4d64237 gdb/testsuite/
* gdb.cp/cpexprs.exp (Overloaded methods): No longer try the
	base::overload(void) method without specifying "const".
2011-04-01 16:26:37 +00:00
Pedro Alves
3352110bf1 * arm-tdep.h (struct address_space): Add forward declaration. 2011-04-01 15:22:52 +00:00
Ulrich Weigand
18819fa6ff gdb/
* arm-tdep.h (arm_insert_single_step_breakpoint): Add prototype.
	* arm-tdep.c (arm_override_mode): New global.
	(arm_pc_is_thumb): Respect arm_override_mode.  Remove single-step
	execution mode heuristics.
	(thumb_get_next_pc_raw): Remove INSERT_BKTP argument; always insert
	second single-step breakpoint if needed, using
	arm_insert_single_step_breakpoint.
	(arm_get_next_pc_raw): Remove INSERT_BKTP argument.  Only handle
	ARM execution mode, do not call thumb_get_next_pc_raw.
	(arm_get_next_pc): Encode execution mode in return value.  Call
	either arm_get_next_pc_raw or thumb_get_next_pc_raw.
	(arm_insert_single_step_breakpoint): New function.
	(arm_software_single_step): Call it.
	* arm-linux-tdep.c (arm_linux_sigreturn_return_addr): Add IS_THUMB
	argument to return execution mode of sigreturn target.
	(arm_linux_syscall_next_pc): Use it.
	(arm_linux_copy_svc): Update call.
	(arm_linux_software_single_step): Call
	arm_insert_single_step_breakpoint.

gdb/testsuite/
	* gdb.arch/thumb-singlestep.S: New file.
	* gdb.arch/thumb-singlestep.exp: Likewise.
2011-04-01 11:57:03 +00:00
gdbadmin
2079c7bcb4 *** empty log message *** 2011-04-01 00:00:32 +00:00
Jan Kratochvil
a6e293d1ae gdb/
* dwarf2read.c (dwarf2_read_index): Fix .gdb_index version number in
	the comment.
2011-03-31 21:01:13 +00:00
Tom Tromey
a4c8e80688 gdb
* varobj.c (update_dynamic_varobj_children): Properly handle
	errors from iterator.
gdb/testsuite
	* gdb.python/py-prettyprint.py (exception_flag): New global.
	(NoStringContainerPrinter._iterator.next): Check it.
	* gdb.python/py-prettyprint.c (main): New variable nstype2.
	* gdb.python/py-mi.exp: Set exception_flag and do more tests.
2011-03-31 19:59:26 +00:00
Jan Kratochvil
df5c6c5031 gdb/
* dwarf2read.c (dwarf2_name): Initialize DEMANGLED.  Avoid demangling
	struct linkage name twice.
2011-03-31 19:37:54 +00:00
Tom Tromey
1dae3efc56 * python/py-prettyprint.c (print_stack_unless_memory_error): Add
missing ">" to message.
2011-03-31 16:25:41 +00:00
Tom Tromey
f4f7ab0529 * varobj.c (instantiate_pretty_printer): Remove duplicate
'return'.
2011-03-31 16:20:46 +00:00
Ulrich Weigand
fcf250e2ba * i386-tdep.c (i386_frame_prev_register): Unwind SP from memory
if neither saved value nor register available (e.g. signal frame).
2011-03-31 16:16:57 +00:00
Thiago Jung Bauermann
ee6436e3c7 * macroexp.c (expand): Avoid uninitialized variable
compiler warning.
2011-03-31 15:40:44 +00:00
Thiago Jung Bauermann
423f41a5cb * breakpoint.c (break_range_command): Fix typo in comment. 2011-03-31 15:01:24 +00:00
Thiago Jung Bauermann
f13101077f 2011-03-31 Thiago Jung Bauermann <bauerman@br.ibm.com>
Sergio Durigan Junior  <sergiodj@linux.vnet.ibm.com>

	Implement support for PowerPC BookE ranged breakpoints.

gdb/
	* NEWS: Mention support for ranged breakpoints on embedded PowerPC.
	* breakpoint.h (struct bp_target_info) <length>: New member
	variable.
	(struct breakpoint_ops) <breakpoint_hit>: Take struct bp_location
	instead of struct breakpoint as argument, and also add ASPACE
	and BP_ADDR arguments.  Update all callers.
	(struct breakpoint_ops) <print_one_detail>: New method.
	(struct breakpoint) <addr_string_range_end>: New member variable.
	* breakpoint.c (breakpoint_location_address_match): Add function
	prototype.
	(insert_bp_location): Set bl->target_info.length.
	(breakpoint_here_p): Call breakpoint_location_address_match.
	(moribund_breakpoint_here_p): Likewise.
	(regular_breakpoint_inserted_here_p): Likewise.
	(breakpoint_thread_match): Likewise.
	(bpstat_stop_status): Likewise.
	(bpstat_check_location): Move call to
	breakpoint_ops.breakpoint_hit to the top.
	(print_one_breakpoint_location): Call
	breakpoint_ops.print_one_detail if available.
	(breakpoint_address_match_range): New function.
	(breakpoint_location_address_match): Likewise.
	(breakpoint_locations_match): Compare the length field of the
	locations too.
	(hw_breakpoint_used_count): Count resources used by all locations
	in a breakpoint, and use breakpoint_ops.resources_needed if
	available.
	(breakpoint_hit_ranged_breakpoint): New function.
	(resources_needed_ranged_breakpoint): Likewise.
	(print_it_ranged_breakpoint): Likewise.
	(print_one_ranged_breakpoint): Likewise.
	(print_one_detail_ranged_breakpoint): Likewise.
	(print_mention_ranged_breakpoint): Likewise.
	(print_recreate_ranged_breakpoint): Likewise.
	(ranged_breakpoint_ops): New structure.
	(find_breakpoint_range_end): New function.
	(break_range_command): Likewise.
	(delete_breakpoint): Free addr_string_range_end.
	(update_breakpoint_locations): Add SALS_END argument.  Update
	all callers.  Calculate breakpoint length if a non-zero SALS_END
	is given.  Call breakpoint_locations_match instead of
	breakpoint_address_match.
	(reset_breakpoint): Find SaL of the end of the range if B is a
	ranged breakpoint.
	(_initialize_breakpoint): Register break-range command.
	* defs.h (print_core_address): Add function prototype.
	* ppc-linux-nat.c (ppc_linux_ranged_break_num_registers): New
	function.
	(ppc_linux_insert_hw_breakpoint): Support ranged breakpoints.
	(ppc_linux_remove_hw_breakpoint): Likewise.
	(_initialize_ppc_linux_nat): Initialize
	to_ranged_break_num_registers.
	* target.c (update_current_target): Add comment about
	to_ranged_break_num_registers.
	(target_ranged_break_num_registers): New function.
	* target.h (struct target_ops) <to_ranged_break_num_registers>:
	New method.
	(target_ranged_break_num_registers): Add function prototype.
	* ui-out.c (ui_out_field_core_addr): Move address-printing logic to ...
	* utils.c (print_core_address): ... here.

gdb/doc/
	* gdb.texinfo (PowerPC Embedded): Document ranged breakpoints.
2011-03-31 14:32:49 +00:00
Ulrich Weigand
02d20e4a10 * breakpoint.c (addr_string_to_sals): Avoid uninitialized
variable compiler warning.
2011-03-31 11:19:54 +00:00
gdbadmin
822e989dfe *** empty log message *** 2011-03-31 00:00:03 +00:00
Thiago Jung Bauermann
ef23e70580 * breakpoint.c (breakpoint_re_set_one): Factor out breakpoint-resetting
code from here ...
	(re_set_breakpoint): ... to here ...
	(addr_string_to_sals): ... and here.
2011-03-30 20:59:08 +00:00
Pierre Muller
311e6ab300 * Makefile.in (SFILES): Add missing C sources.
(HFILES_NO_SRCDIR): Remove gdbserver subdirectory headers.
	Add missing headers.
2011-03-30 06:55:39 +00:00
gdbadmin
53a9226b8f *** empty log message *** 2011-03-30 00:00:03 +00:00
Mike Frysinger
acd1d99cfb gdb: start a gitignore
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-03-29 18:21:32 +00:00
Mike Frysinger
66ee273116 sim: cfi: new flash device simulation
This simulates a CFI flash.  Its pretty configurable via the device
tree.  For now, only basic read/write/erase operations are supported
for the Intel command set, but it's easy enough to extend support.
It's certainly enough to trick Das U-Boot into using it for probing,
reading, writing, and erasing.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-03-29 17:57:21 +00:00
Tom Tromey
53832f3147 gdb
* dwarf2read.c (fixup_partial_die): Handle linkage name on
	otherwise anonymous types.
	(dwarf2_name): Likewise.
	* valops.c (value_struct_elt_for_reference): Refine artificial
	type logic.  Call error if j==-1.
gdb/testsuite
	* gdb.cp/anon-struct.cc: New file.
	* gdb.cp/anon-struct.exp: New file.
2011-03-29 17:04:31 +00:00
Jan Kratochvil
09b587083c gdb/
Fix false GCC warning.
	* infcall.c (find_function_addr): Initialize funaddr.
2011-03-29 16:21:24 +00:00
Pierre Muller
6023c60698 Fix mingw compilation with --enable-targets=all.
* remote-mips.c (gdb_usleep.h): Include header.
	(mips_enter_debug): Use gdb_usleep instead of sleep.
2011-03-29 15:49:51 +00:00
gdbadmin
332bf1ed74 *** empty log message *** 2011-03-29 00:00:03 +00:00
Jan Kratochvil
e462023046 gdb/testsuite/
Test STT_GNU_IFUNC support.
	* gdb.base/gnu-ifunc-lib.c: New file.
	* gdb.base/gnu-ifunc.c: New file.
	* gdb.base/gnu-ifunc.exp: New file.
2011-03-28 20:31:54 +00:00
Jan Kratochvil
0e30163f12 gdb/
Support resolution of STT_GNU_IFUNC via breakpoints.
	* breakpoint.c (print_it_typical): Support bp_gnu_ifunc_resolver and
	bp_gnu_ifunc_resolver_return.
	(bpstat_what): Rename parameter to bs_head, new variable bs, adjust
	the loop.  Support bp_gnu_ifunc_resolver and
	bp_gnu_ifunc_resolver_return.  New comment after the loop.  New loop
	for bp_gnu_ifunc_resolver and bp_gnu_ifunc_resolver_return
	breakpoints.
	(bptype_string, print_one_breakpoint_location): Support
	bp_gnu_ifunc_resolver and bp_gnu_ifunc_resolver_return.
	(user_settable_breakpoint): Return true also for
	bp_gnu_ifunc_resolver.
	(allocate_bp_location): Support bp_gnu_ifunc_resolver and
	bp_gnu_ifunc_resolver_return.
	(set_breakpoint_location_function): New parameter explicit_loc,
	describe it.  Call find_pc_partial_function_gnu_ifunc with new
	variable IS_GNU_IFUNC and adjust the address for STT_GNU_IFUNC if
	EXPLICIT_LOC is not set.
	(set_raw_breakpoint): Set EXPLICIT_LOC for
	set_breakpoint_location_function.
	(clone_momentary_breakpoint): Use true for EXPLICIT_LOC of
	set_breakpoint_location_function.
	(mention): Support bp_gnu_ifunc_resolver and
	bp_gnu_ifunc_resolver_return.
	(add_location_to_breakpoint): Set EXPLICIT_LOC for
	set_breakpoint_location_function.
	(update_breakpoint_locations): Remove static.
	(breakpoint_re_set_one): Support bp_gnu_ifunc_resolver and
	bp_gnu_ifunc_resolver_return.
	* breakpoint.h (enum bptype): New fields bp_gnu_ifunc_resolver and
	bp_gnu_ifunc_resolver_return.
	(update_breakpoint_locations): New declaration.
	* elfread.c: Include gdbthread.h and regcache.h.
	(elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop): New
	functions.
	(elf_gnu_ifunc_fns): Install them.
	* minsyms.c (stub_gnu_ifunc_resolver_stop)
	(stub_gnu_ifunc_resolver_return_stop): New functions.
	(stub_gnu_ifunc_fns): Install them.
	* symtab.h (struct gnu_ifunc_fns): New fields gnu_ifunc_resolver_stop
	and gnu_ifunc_resolver_return_stop.
	(gnu_ifunc_resolver_stop, gnu_ifunc_resolver_return_stop): New.
2011-03-28 20:29:51 +00:00
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