Joel Brobecker [Thu, 6 Dec 2012 04:57:09 +0000 (04:57 +0000)]
aix-thread: Fix getthrds declaration and call.
gdb/ChangeLog:
* aix-thread.c (getthrds): Fix type of 4th parameter.
(get_signaled_thread): Change type of variable ktid to tid_t.
Alan Modra [Thu, 6 Dec 2012 03:13:17 +0000 (03:13 +0000)]
* options.h (General_options): Add plt_align, plt_static_chain,
plt_thread_safe. Update stub_group_size help text.
* powerpc.cc (Target_powerpc::plt_thread_safe): New access function
for new plt_thread_safe_ var.
(use_plt_offset): Correct comments.
(Target_powerpc::do_relax): Look for thread creation symbols to
determine default plt_thread_safe value. Clear plt call stubs
as well as branch stubs each iteration.
(add_2_2_11, add_12_12_11, bnectr_p4, cmpldi_2_0, xor_11_11_11): New
insn constants.
(l, hi, ha, write_insn): Move earlier.
(Stub_table): Delete prev_size, add last_plt_size and last_branch_size.
(Stub_table::clear_stubs): Rename from clear_long_branch_stubs, clear
plt stubs too.
(Stub_table::update_size): Adjust.
(Stub_table::prev_size, set_prev_size): Delete.
(Stub_table::stub_align): Let --plt-align affect result.
(Stub_table::plt_call_size): Calculate sizes for various stubs.
(Stub_table::branch_stub_size): Use last_plt_size in address calc.
(Stub_table::add_plt_call_stub): Pass iterator to plt_call_size.
(Stub_table::do_write): Support more stub variants.
Hui Zhu [Thu, 6 Dec 2012 01:11:32 +0000 (01:11 +0000)]
* dwarf2loc.c (dwarf_expr_frame_base): Add check for the return value of get_frame_block.
H.J. Lu [Thu, 6 Dec 2012 00:25:19 +0000 (00:25 +0000)]
Extend --copy-dt-needed-entries to creating DSO
ld/
PR ld/14915
* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Also
check DT_NEEDED entries when creating shared object with
--copy-dt-needed-entries.
ld/testsuite/
PR ld/14915
* ld-elf/shared.exp (build_tests): Test --add-needed,
--copy-dt-needed-entries, --no-add-needed and
--no-copy-dt-needed-entries with -shared.
Add tests for --no-add-needed and --no-copy-dt-needed-entries
with -shared.
Alan Modra [Thu, 6 Dec 2012 00:10:41 +0000 (00:10 +0000)]
* ld-elf/comm-data4.d, ld-elf/comm-data4.s: New test.
* ld-elf/comm-data5.d, ld-elf/comm-data5.s: New test.
* ld-elf/comm-data.exp: Run them.
Alan Modra [Thu, 6 Dec 2012 00:09:13 +0000 (00:09 +0000)]
* elfxx-mips.c (allocate_dynrelocs): Correct test for symbol
defined in a regular file to include common symbols.
gdbadmin [Thu, 6 Dec 2012 00:00:34 +0000 (00:00 +0000)]
*** empty log message ***
Pierre Muller [Wed, 5 Dec 2012 23:23:22 +0000 (23:23 +0000)]
Avoid memory leaks on struct cmd_list_element.doc field.
* cli/cli-decode.c (add_alias_cmd): Make a copy of doc field
if flags contains DOC_ALLOCATED.
(add_setshow_cmd_full): Add DOC_ALLOCATED to set and show
flags.
(delete_cmd): Handle DOC_ALLOCATED flag.
* cli/cli-decode.h (DOC_ALLOCATED): New macro for use
in flags filed of struct cmd_list_element.
(struct cmd_list_element): Document new flag item.
Alan Modra [Wed, 5 Dec 2012 23:00:05 +0000 (23:00 +0000)]
daily update
Ulrich Weigand [Wed, 5 Dec 2012 17:07:56 +0000 (17:07 +0000)]
* gdb.base/gnu-debugdata.exp: Also include "D" symbols in
${binfile}.funcsyms list.
Tom Tromey [Wed, 5 Dec 2012 14:56:18 +0000 (14:56 +0000)]
PR gdb/14917:
* server.h (current_insn_ptr, emit_error): Declare 'extern'.
Alan Modra [Wed, 5 Dec 2012 05:48:19 +0000 (05:48 +0000)]
Add x86_64-*-rdos.
Alan Modra [Wed, 5 Dec 2012 04:58:51 +0000 (04:58 +0000)]
* elf64-ppc.c (build_plt_stub): Fix off by one error in branch
to glink.
gdbadmin [Wed, 5 Dec 2012 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Doug Evans [Tue, 4 Dec 2012 23:12:07 +0000 (23:12 +0000)]
* symmisc.c: Whitespace fixes.
Alan Modra [Tue, 4 Dec 2012 23:00:05 +0000 (23:00 +0000)]
daily update
H.J. Lu [Tue, 4 Dec 2012 17:44:43 +0000 (17:44 +0000)]
Add tests for --add-needed/--copy-dt-needed-entries
* ld-elf/shared.exp (build_tests): Build libneeded1b.so,
libneeded1a.so and libneeded1c.o.
(run_tests): Test --add-needed and --copy-dt-needed-entries.
Add tests for --no-add-needed and --no-copy-dt-needed-entries.
* ld-elf/needed1.out: New file.
* ld-elf/needed1a.c: Likewise.
* ld-elf/needed1b.c: Likewise.
* ld-elf/needed1c.c: Likewise.
Karthik Bhat [Tue, 4 Dec 2012 07:43:19 +0000 (07:43 +0000)]
Fix for incorrect breakpoint set in case of clang compiled binary
Yao Qi [Tue, 4 Dec 2012 03:55:51 +0000 (03:55 +0000)]
gdb/testsuite
2012-12-04 Yao Qi <yao@codesourcery.com>
PR gdb/13443
* gdb.trace/actions.exp: Make test messages unique.
Alan Modra [Tue, 4 Dec 2012 03:13:31 +0000 (03:13 +0000)]
* powerpc.cc (Powerpc_relobj::do_scan_relocs): Delete.
(Target_powerpc::do_define_standard_symbols): New function.
gdbadmin [Tue, 4 Dec 2012 00:00:04 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Mon, 3 Dec 2012 23:00:05 +0000 (23:00 +0000)]
daily update
Doug Evans [Mon, 3 Dec 2012 22:31:03 +0000 (22:31 +0000)]
* dwarf2read.c (struct dwarf2_per_objfile): Clarify comment.
(dw2_find_symbol_file): Delete unused local file_data.
Tom Tromey [Mon, 3 Dec 2012 19:59:14 +0000 (19:59 +0000)]
* ada-exp.y (write_object_renaming, write_var_or_type)
(write_ambiguous_var, write_var_from_sym): Make blocks const.
* ada-lang.c (replace_operator_with_call)
(find_old_style_renaming_symbol): Make blocks const.
* ada-lang.h (ada_find_renaming_symbol): Update.
(struct ada_symbol_info) <block>: Now const.
* breakpoint.c (watch_command_1): Update.
* breakpoint.h (struct watchpoint) <exp_valid_block,
cond_exp_valid_block>: Now const.
* c-exp.y (classify_inner_name, classify_name): Make block
argument const.
* expprint.c (print_subexp_standard) <OP_VAR_VALUE>: Make 'b'
const.
* expression.h (innermost_block, parse_exp_1): Update.
(union exp_element) <block>: Now const.
* gdbtypes.c (lookup_template_type, lookup_enum, lookup_union)
(lookup_struct): Make block argument const.
* gdbtypes.h (lookup_template_type): Update.
* go-exp.y (classify_name, classify_packaged_name)
(package_name_p): Make block argument const.
* objc-lang.c (lookup_struct_typedef): Make block argument const.
* objc-lang.h (lookup_struct_typedef): Update.
* parse.c (parse_exp_in_context, parse_exp_1)
(write_exp_elt_block): Make block arguments const.
(expression_context_block, innermost_block): Now const.
* parser-defs.h (write_exp_elt_block): Update.
(expression_context_block, innermost_block, block_found): Now
const.
* printcmd.c (struct display) <block>: Now const.
* symtab.h (lookup_struct, lookup_union, lookup_enum): Update.
* valops.c (address_of_variable): Make block argument const.
* value.h (value_of_variable): Update.
* varobj.c (struct varobj_root) <valid_block>: Now const.
Maciej W. Rozycki [Mon, 3 Dec 2012 16:37:51 +0000 (16:37 +0000)]
PR ld/10629
* elfxx-mips.c (mips_elf_link_hash_table): Update comment for
use_rld_obj_head.
(_bfd_mips_elf_create_dynamic_sections): Always create a
.rld_map section if no __rld_obj_head symbol has been seen.
Maciej W. Rozycki [Mon, 3 Dec 2012 16:33:13 +0000 (16:33 +0000)]
* elf32-mips.c (mips_elf32_object_p): Return right away when the
ABI is not compatible.
* elfn32-mips.c (mips_elf_n32_object_p): Likewise.
Maciej W. Rozycki [Mon, 3 Dec 2012 16:30:03 +0000 (16:30 +0000)]
* elf32-tilepro.c (tilepro_elf_mkobject): New function.
(bfd_elf32_mkobject): New macro.
Maciej W. Rozycki [Mon, 3 Dec 2012 16:26:30 +0000 (16:26 +0000)]
* ld-mips-elf/attr-gnu-4-45.d: Add missing "readelf" keyword.
Update dump according to current output.
Maciej W. Rozycki [Mon, 3 Dec 2012 16:17:48 +0000 (16:17 +0000)]
bfd/
* elf32-mips.c (bfd_elf32_mkobject): New macro.
* elf64-mips.c (bfd_elf64_mkobject): Likewise.
* elfn32-mips.c (bfd_elf32_mkobject): Likewise.
* elfxx-mips.h (_bfd_mips_elf_mkobject): New prototype.
* elfxx-mips.c (mips_elf_obj_tdata): New struct.
(mips_elf_tdata): New macro.
(_bfd_mips_elf_mkobject): New function.
(mips_elf_merge_obj_attributes): Report the originating input BFD
on attribute conflicts.
ld/testsuite/
* ld-mips-elf/attr-gnu-4-12.d: Update the warning message.
* ld-mips-elf/attr-gnu-4-13.d: Likewise.
* ld-mips-elf/attr-gnu-4-14.d: Likewise.
* ld-mips-elf/attr-gnu-4-15.d: Likewise.
* ld-mips-elf/attr-gnu-4-21.d: Likewise.
* ld-mips-elf/attr-gnu-4-23.d: Likewise.
* ld-mips-elf/attr-gnu-4-24.d: Likewise.
* ld-mips-elf/attr-gnu-4-25.d: Likewise.
* ld-mips-elf/attr-gnu-4-31.d: Likewise.
* ld-mips-elf/attr-gnu-4-32.d: Likewise.
* ld-mips-elf/attr-gnu-4-34.d: Likewise.
* ld-mips-elf/attr-gnu-4-35.d: Likewise.
* ld-mips-elf/attr-gnu-4-41.d: Likewise.
* ld-mips-elf/attr-gnu-4-42.d: Likewise.
* ld-mips-elf/attr-gnu-4-43.d: Likewise.
* ld-mips-elf/attr-gnu-4-45.d: Likewise.
* ld-mips-elf/attr-gnu-4-51.d: Likewise.
Maciej W. Rozycki [Mon, 3 Dec 2012 15:57:44 +0000 (15:57 +0000)]
bfd/
* elfxx-mips.c (mips_elf_merge_obj_attributes): Correct messages
for the -mdouble-float and -msingle-float cases throughout; make
all the messages report the output file consistently on the
left-hand side.
ld/testsuite/
* ld-mips-elf/attr-gnu-4-12.d: Adjust the warning expected
according to changes to BFD.
* ld-mips-elf/attr-gnu-4-14.d: Likewise.
* ld-mips-elf/attr-gnu-4-31.d: Likewise.
* ld-mips-elf/attr-gnu-4-32.d: Likewise.
* ld-mips-elf/attr-gnu-4-34.d: Likewise.
* ld-mips-elf/attr-gnu-4-41.d: Likewise.
H.J. Lu [Mon, 3 Dec 2012 14:34:06 +0000 (14:34 +0000)]
Improve plugin error handling
ld/
PR ld/14904
* ldmain.c (main): Don't check plugin_load_plugins return.
* lexsup.c (parse_args): Don't check plugin_opt_plugin return.
* plugin.c (dlerror): New. Defined if HAVE_DLFCN_H isn't
defined.
(plugin_opt_plugin): Change return type to void. Stop on
dlopen error and report error with dlerror ().
(plugin_load_plugins): Change return type to void. Stop on
dlsym error and report error with dlerror (). Don't use
set_plugin_error.
(plugin_call_cleanup): Issue an error for each plugin.
* plugin.h (plugin_opt_plugin): Change return type to void.
(plugin_load_plugins): Likewise.
ld/testsuite/
PR ld/14904
* ld-plugin/plugin-2.d: Update expected error message.
* ld-plugin/plugin-4.d: Likewise.
Alan Modra [Mon, 3 Dec 2012 06:38:01 +0000 (06:38 +0000)]
typo fix
Alan Modra [Mon, 3 Dec 2012 05:48:47 +0000 (05:48 +0000)]
* output.h: Formatting, whitespace.
Alan Modra [Mon, 3 Dec 2012 05:30:59 +0000 (05:30 +0000)]
* layout.h (Layout::get_executable_sections): Declare.
* layout.cc (Layout::get_executable_sections): New function.
* arm.cc (Target_arm::group_sections): Use it.
(Arm_output_section::group_sections): Delete now redundant test.
* output.cc (Output_reloc::Output_reloc): Add is_relative.
param to handle relative relocs.
* output.h (Output_reloc::Output_reloc <absolute reloc>): Likewise.
(Output_data_reloc::add_absolute): Adjust.
(Output_data_reloc::add_relative): New function.
(Output_data::reset_data_size): New function.
(Output_relaxed_input_section::set_relobj, set_shndx): New functions.
(Output_section::set_addralign): New function.
(Output_section::checkpoint_set_addralign): New function.
(Output_section::clear_section_offsets_need_adjustment): New function.
(Output_section::input_sections): Make public.
* powerpc.cc (class Output_data_brlt_powerpc): New.
(class Stub_table, class Stub_control): New.
(Powerpc_relobj::has14_, set_has_14bit_branch, has_14bit_branch,
stub_table_, set_stub_table, stub_table): New vectors and accessor
functions.
(Target_powerpc::do_may_relax, do_relax, push_branch,
new_stub_table, stub_tables, brlt_section, group_sections,
add_branch_lookup_table, find_branch_lookup_table,
write_branch_lookup_table, make_brlt_section): New functions.
(Target_powerpc::struct Sort_sections, class Branch_info): New.
(Target_powerpc::brlt_section_, stub_tables_, branch_lookup_table_,
branch_info_): New vars.
(Target_powerpc::make_plt_entry, make_local_ifunc_plt_entry): Don't
make call stubs here.
(Output_data_glink): Remove all call stub handling from this class.
(Target_powerpc::Scan::local, global): Save interesting branch
relocs and relocs for ifunc. Adjust calls to plt entry functions.
(Target_powerpc::do_finalize_sections): Only make reg save/restore
functions on final link.
(Target_powerpc::Relocate::relocate): Adjust lookup of call stubs.
Handle long branch destinations too.
(Target_powerpc::do_dynsym_value, do_plt_address_for_global,
do_plt_address_for_local): Adjust lookup of plt call stubs.
gdbadmin [Mon, 3 Dec 2012 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 2 Dec 2012 23:00:04 +0000 (23:00 +0000)]
daily update
gdbadmin [Sun, 2 Dec 2012 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 1 Dec 2012 23:00:05 +0000 (23:00 +0000)]
daily update
Yao Qi [Sat, 1 Dec 2012 02:16:28 +0000 (02:16 +0000)]
gdb/
2012-11-30 Yao Qi <yao@codesourcery.com>
* breakpoint.c (print_one_breakpoint_location): Indent code.
gdbadmin [Sat, 1 Dec 2012 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Fri, 30 Nov 2012 23:00:03 +0000 (23:00 +0000)]
daily update
Roland McGrath [Fri, 30 Nov 2012 21:14:02 +0000 (21:14 +0000)]
ld/testsuite/
* ld-elf/ehdr_start.s: Put reference in .rodata section, not .data.
Joern Rennecke [Fri, 30 Nov 2012 18:28:38 +0000 (18:28 +0000)]
* scripttempl/epiphany_4x4.sc, emulparams/elf32epiphany_4x4.sh: Add.
* emultempl/epiphanyelf_4x4.em: Likewise.
* configure.tgt: Add elf32epiphany_4x4 support.
* Makefile.am: Likewise.
* Makefile.in: Regenerate.
Joern Rennecke [Fri, 30 Nov 2012 17:54:58 +0000 (17:54 +0000)]
2012-11-30 Oleg Raikhman <oleg@adapteva.com>
Joern Rennecke <joern.rennecke@embecosm.com>
cpu:
* epiphany.cpu (keyword gr-names): Move sb/sl/ip after r9/r10/r12.
(load_insn): Add NO-DIS attribute to x, p, d, dpm, dl0, dl0.l.
(testset-insn): Add NO_DIS attribute to t.l.
(store-insn): Add NO-DIS attribute to x.l, p.l, d.l, dpm.l, dl0.l.
(move-insns): Add NO-DIS attribute to cmov.l.
(op-mmr-movts): Add NO-DIS attribute to movts.l.
(op-mmr-movfs): Add NO-DIS attribute to movfs.l.
(op-rrr): Add NO-DIS attribute to .l.
(shift-rrr): Add NO-DIS attribute to .l.
(op-shift-rri): Add NO-DIS attribute to i32.l.
(bitrl, movtl): Add NO-DIS attribute.
(op-iextrrr): Add NO-DIS attribute to .l
(op-two_operands-float, op-fabs-float): Add NO-DIS attribute to f32.l.
(op-fix2float-float, op-float2fix-float, op-fextop-float): Likewise.
opcodes:
* epiphany-desc.c, epiphany-desc.h, epiphany-opc.c: Regenerate.
Jan-Benedict Glaw [Fri, 30 Nov 2012 15:02:40 +0000 (15:02 +0000)]
Merge g++/xg++ changes from GCC
* configure.ac: Merge from GCC.
* Makefile.tpl: Dito.
* Makefile.in: Dito.
* configure: Dito.
Yao Qi [Fri, 30 Nov 2012 14:46:39 +0000 (14:46 +0000)]
gdb/
2012-11-30 Yao Qi <yao@codesourcery.com>
* breakpoint.c (print_one_breakpoint_location): Combine two
blocks handling 'hit count' together.
Yao Qi [Fri, 30 Nov 2012 14:35:50 +0000 (14:35 +0000)]
gdb/
2012-11-30 Yao Qi <yao@codesourcery.com>
* infrun.c (error_is_running, ensure_not_running): Move them
to ...
* infcmd.c (error_is_running, ensure_not_running): ... here.
Make them 'static'.
* inferior.h: Remove declarations of error_is_running and
ensure_not_running.
Yao Qi [Fri, 30 Nov 2012 07:42:57 +0000 (07:42 +0000)]
gdb/
2012-11-30 Yao Qi <yao@codesourcery.com>
* tic6x-linux-tdep.c (tic6x_register_sigcontext_offset): Don't
check REGNUM >= 0.
Yao Qi [Fri, 30 Nov 2012 07:24:48 +0000 (07:24 +0000)]
gdb/
2012-11-30 Yao Qi <yao@codesourcery.com>
* infrun.c: Make the declaration of 'init_infwait_state'
static.
(init_infwait_state): Make it 'static'.
Alan Modra [Fri, 30 Nov 2012 05:01:20 +0000 (05:01 +0000)]
* powerpc.c (Target_powerpc::Scan::global): Don't emit relative
relocs against protected symbols when building 32-bit shared libs.
Alan Modra [Fri, 30 Nov 2012 04:50:00 +0000 (04:50 +0000)]
* powerpc.cc (Target_powerpc::make_plt_section): Add symtab
param. Call got_section() to make .got. Update all callers
and their callers and so on.
Alan Modra [Fri, 30 Nov 2012 04:47:08 +0000 (04:47 +0000)]
* powerpc.cc (Powerpc_relobj::do_scan_relocs): Make STB_LOCAL
_GLOBAL_OFFSET_TABLE_ rather than STB_WEAK.
(Output_data_got_powerpc::make_header): Update _GLOBAL_OFFSET_TABLE_
value if it already exists.
gdbadmin [Fri, 30 Nov 2012 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Roland McGrath [Thu, 29 Nov 2012 23:42:03 +0000 (23:42 +0000)]
opcodes/
* s390-mkopc.c (file_header): Add const.
Alan Modra [Thu, 29 Nov 2012 23:00:03 +0000 (23:00 +0000)]
daily update
Michael Eager [Thu, 29 Nov 2012 21:09:01 +0000 (21:09 +0000)]
opcodes/Changelog:
* microblaze-opc.h: Rename INST_TYPE_RD_R1_SPECIAL to
INST_TYPE_R1_R2_SPECIAL
* microblaze-dis.c (print_insn_microblaze): Same.
gas/Changelog
* gas/config/tc-microblaze.c: Rename INST_TYPE_RD_R1_SPECIAL to
INST_TYPE_R1_R2_SPECIAL, don't set RD for wic.
Tom Tromey [Thu, 29 Nov 2012 20:53:24 +0000 (20:53 +0000)]
* gdb.base/gnu-debugdata.exp (run, pipeline): Don't use lassign.
Ulrich Weigand [Thu, 29 Nov 2012 19:11:48 +0000 (19:11 +0000)]
* python/python.c (finalize_python): Cast unused PyGILState_Ensure
return value to void to avoid compiler warning.
Roland McGrath [Thu, 29 Nov 2012 19:07:53 +0000 (19:07 +0000)]
bfd/
* elf-nacl.c (segment_eligible_for_headers): Disallow writable segments.
Ulrich Weigand [Thu, 29 Nov 2012 18:56:23 +0000 (18:56 +0000)]
ChangeLog:
* opencl-lang.c (opencl_print_type): New function.
(opencl_language_arch_info): Install it.
testsuite/ChangeLog:
* gdb.opencl/convs_casts.exp: Always expect standard vector type names.
* gdb.opencl/datatypes.exp: Likewise.
* gdb.opencl/operators.exp: Likewise.
* gdb.opencl/vec_comps.exp: Likewise.
Tom Tromey [Thu, 29 Nov 2012 17:49:20 +0000 (17:49 +0000)]
* gdb.texinfo (SVR4 Process Information): Document missing
"info proc" subcommands.
Tom Tromey [Thu, 29 Nov 2012 17:23:18 +0000 (17:23 +0000)]
* contrib/ari/gdb_ari.sh: Remove rules for xasprintf and
xvasprintf.
* common/common-utils.c (xasprintf, xvasprintf): Remove.
* common/common-utils.h (xasprintf, xvasprintf): Remove.
Jerome Guitton [Thu, 29 Nov 2012 16:30:45 +0000 (16:30 +0000)]
New testcase for interface type printing.
gdb/testsuite/ChangeLog:
* gdb.ada/iwide: New testcase.
Jerome Guitton [Thu, 29 Nov 2012 16:29:54 +0000 (16:29 +0000)]
Strip interface tags from visible fields
The following Ada type:
type Circle is new Shape and Drawable with record
Center : Point;
Radius : Natural;
end record;
...is displayed as follow in GDB:
(gdb) ptype circle
type = new classes.shape with record
V51s: ada.tags.interface_tag;
center: classes.point;
radius: natural;
end record
V51s is an internal field that is of no interest for the user. It should
not be displayed.
gdb/ChangeLog:
* ada-lang.c (ada_is_interface_tag): New function.
(ada_is_ignored_field): Add interface tags to the list
of ignored fields.
Jerome Guitton [Thu, 29 Nov 2012 16:28:10 +0000 (16:28 +0000)]
Full view of interface-wide types
For displaying the full view of a class-wide object, GDB relies on
the assumption that this view will have the same address as the
address of the object. In the case of simple inheritance, this
assumption is correct; the proper type is deduced by decoding
the tag of the object and converting the result to this full-view
type.
Consider for example an abstract class Shape, a child Circle
which implements an interface Drawable, and the corresponding
following objects:
My_Circle : Circle := ((1, 2), 3);
My_Shape : Shape'Class := Shape'Class (My_Circle);
My_Drawable : Drawable'Class := Drawable'Class (My_Circle);
To display My_Shape, the debugger first extracts the tag (an internal
field, usually the first one of the record):
(gdb) p my_shape'address
$2 = (system.address) 0x8063e28
(gdb) x/x my_shape'address
0x8063e28 <classes__my_shape>: 0x08059ec4
Then the type specific data and the expanded name of the tag is read
from there:
(gdb) p my_shape'tag
$3 = (access ada.tags.dispatch_table) 0x8059ec4 (classes.circle)
To get the full view, the debugger converts to the corresponding type:
(gdb) p {classes.circle}0x8063e28
$4 = (center => (x => 1, y => 2), radius => 3)
Now, in the case of multiple inheritance, the assumption does not hold
anymore. The address that we have usually points to some
place lower. The offset to the original address is saved in the field
Offset_To_Top of the metadata that are above the tag, at address
obj'tag - 8. In the case of my_shape, this offset is 0:
(gdb) x/x my_shape'tag - 8
0x8059ebc <classes__circleT+12>: 0x00000000
...but in the case of an interface-wide object, it is not null:
(gdb) x/x my_drawable'tag - 8
0x8063b28 <classes__classes__circle_classes__drawable1T56s+12>: 0x00000004
(gdb) p {classes.circle}(my_drawable'address - 4)
$7 = (center => (x => 1, y => 2), radius => 3)
The following change handles this relocation in the most common cases.
Remaining cases that are still to be investigated are signaled by
comments.
gdb/ChangeLog:
* ada-lang.h (ada_tag_value_at_base_address): New function
declaration.
* ada-lang.c (is_ada95_tag, ada_tag_value_at_base_address):
New functions.
(ada_to_fixed_type_1, ada_evaluate_subexp): Let ada_tag_base_address
relocate the class-wide value if need be.
(ada_value_struct_elt, ada_value_ind, ada_coerce_ref):
Let ada_tag_value_at_base_address relocate the class-wide access/ref
before dereferencing it.
* ada-valprint.c (ada_val_print_1): Relocate to base address
before displaying the content of an interface-wide ref.
gdb/testsuite/ChangeLog:
* gdb.ada/ptype_tagged_param.exp: Adjust expected output in
ptype test.
Jerome Guitton [Thu, 29 Nov 2012 16:27:13 +0000 (16:27 +0000)]
Update gdb.ada/variant_record_packed_array
gdb/testsuite/ChangeLog:
* gdb.ada/variant_record_packed_array.exp: Test expressions of the
form {VARIANT_TYPE}ADDRESS.
Jerome Guitton [Thu, 29 Nov 2012 16:26:12 +0000 (16:26 +0000)]
Handle other cases than EVAL_NORMAL in the default case
In the evaluation of an expression in Ada mode, the default case
unwraps the argument unconditionally. For an object of a variant
record type, this unwrapping builds a fixed type from the
specification of the variant type and the actual values of the
object's discriminants. It means that unwrapping needs the "proper"
value for the object, not just a zero value with the proper type.
When not in EVAL_NORMAL, we cannot assume that the evaluation returns
such a proper value; it may well return a zero value of the
appropriate type e.g in EVAL_AVOID_SIDE_EFFECTS. It is wrong to try to
unwrap in that case.
In particular, a problem shows up when using expression of the form
{VARIANT_TYPE}OBJ. GDB first evaluates this expression in
EVAL_AVOID_SIDE_EFFECTS to compute the type, the evaluation of OBJ
in most cases returns a zero value of its type, and as UNOP_MEMVAL
is mapped to the default case its evaluation ends up trying to
read memory around address 0.
gdb/ChangeLog:
* ada-lang.c (ada_evaluate_subexp): Unwrap only in EVAL_NORMAL.
Hans-Peter Nilsson [Thu, 29 Nov 2012 14:39:23 +0000 (14:39 +0000)]
Fix attribution for old patch:
2009-10-19 Edgar E. Iglesias <edgar@axis.com>
Hans-Peter Nilsson <hp@axis.com>
* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_DTPREL>:
Don't subtract the size of the TLS block for non-shared objects
from the relocation.
gdbadmin [Thu, 29 Nov 2012 13:12:22 +0000 (13:12 +0000)]
GDB 7.5.1 released.
Maciej W. Rozycki [Thu, 29 Nov 2012 11:03:13 +0000 (11:03 +0000)]
* Makefile.in: Regenerate.
Yao Qi [Thu, 29 Nov 2012 07:55:10 +0000 (07:55 +0000)]
gdb/
2012-11-29 Yao Qi <yao@codesourcery.com>
Tom Tromey <tromey@redhat.com>
* eval.c (evaluate_subexp_standard): Get the correct pointer
type for TYPE_CODE_MEMBERPTR.
Yao Qi [Thu, 29 Nov 2012 06:24:24 +0000 (06:24 +0000)]
gdb/doc/
2012-11-29 Yao Qi <yao@codesourcery.com>
PR gdb/1477.
* gdb.texinfo (Print Settings): Correct the default 'demangle-style'
to 'auto' instead of 'gnu'.
gdbadmin [Thu, 29 Nov 2012 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Wed, 28 Nov 2012 23:00:05 +0000 (23:00 +0000)]
daily update
Edjunior Barbosa Machado [Wed, 28 Nov 2012 20:07:19 +0000 (20:07 +0000)]
2012-11-28 Edjunior Machado <emachado@linux.vnet.ibm.com>
* rs6000-tdep.c (gdb_print_insn_powerpc): Remove info->mach checking,
since now it is being done by binutils' powerpc_init_dialect().
Tom Tromey [Wed, 28 Nov 2012 18:48:38 +0000 (18:48 +0000)]
PR gdb/14290:
* solib-darwin.c (gdb_bfd_mach_o_fat_extract): New function.
(darwin_solib_get_all_image_info_addr_at_init, darwin_bfd_open):
Use it.
* gdb_bfd.h (gdb_bfd_mark_parent): Declare.
* gdb_bfd.c (gdb_bfd_mark_parent): New function.
(gdb_bfd_openr_next_archived_file): Use it.
Julian Brown [Wed, 28 Nov 2012 16:53:01 +0000 (16:53 +0000)]
gas/
* config/tc-arm.c (md_apply_fix): Fix conversion of BL to BLX for
local targets in Thumb mode.
gas/testsuite/
* gas/arm/bl-local-2.s: New test.
* gas/arm/bl-local-2.d: New.
Markus Metzger [Wed, 28 Nov 2012 16:21:58 +0000 (16:21 +0000)]
2012-11-28 Markus Metzger <markus.t.metzger@intel.com>
gdb/
* configure.ac: Check for linux/perf_event.h.
* config.in: Regenerated.
* configure: Regenerated.
gdb/gdbserver/
* configure.ac: Check for linux/perf_event.h.
* config.in: Regenerated.
* configure: Regenerated.
Kai Tietz [Wed, 28 Nov 2012 15:53:37 +0000 (15:53 +0000)]
* resbin.c (bin_to_res_version): Correct offset
and length calculation of resource.
(get_version_header): Apply alignement of 4 to len.
Yao Qi [Wed, 28 Nov 2012 11:56:15 +0000 (11:56 +0000)]
gdb/
2012-11-28 Yao Qi <yao@codesourcery.com>
* breakpoint.c (_initialize_breakpoint): Call add_alias_cmd to
abbreviate 'delete tracepoints' to 'delete tr'.
* corefile.c (_initialize_core): Call add_alias_cmd to
abbreviate 'set gnutarget' to 'set g'.
* value.c (_initialize_values): Call add_alias_cmd to abbreviate
'show convenience' to 'show conv'.
Jan-Benedict Glaw [Wed, 28 Nov 2012 11:43:47 +0000 (11:43 +0000)]
Disable libsanitizer for non-C++ builds.
* configure.ac (noconfigdirs): Merge from GCC.
* configure: Regenerate.
gdbadmin [Wed, 28 Nov 2012 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Tue, 27 Nov 2012 23:00:05 +0000 (23:00 +0000)]
daily update
Roland McGrath [Tue, 27 Nov 2012 17:26:11 +0000 (17:26 +0000)]
binutils/testsuite/
* lib/binutils-common.exp (is_zlib_supported): New function.
* lib/utils-lib.exp (run_dump_test): If as options include
--compress-debug-sections and zlib is not available, report
the test as unsupported.
* binutils-all/compress.exp: Bail out if zlib is not available.
* binutils-all/objdump.exp (objdump compressed debug):
Mark unsupported if zlib is not available.
* binutils-all/readelf.exp (readelf_compressed_wa_test): Likewise.
gas/testsuite/
* lib/gas-defs.exp (run_dump_test): If as options include
--compress-debug-sections and zlib is not available, report
the test as unsupported.
ld/testsuite/
* ld-elf/compress.exp: Bail out if zlib is not supported.
* lib/ld-lib.exp (run_dump_test): If as options include
--compress-debug-sections and zlib is not available, report
the test as unsupported.
Roland McGrath [Tue, 27 Nov 2012 17:20:29 +0000 (17:20 +0000)]
ld/testsuite/
* ld-elf/flags1.d: Add *-*-nacl* to xfail list.
* ld-elf/orphan-region.d: Likewise.
Nick Clifton [Tue, 27 Nov 2012 17:04:30 +0000 (17:04 +0000)]
PR ld/14776
* ld.texinfo: Fix spelling mistakes.
Joel Brobecker [Tue, 27 Nov 2012 14:09:13 +0000 (14:09 +0000)]
Fix sparc-solaris build failure (sparc-sol2-nat.c)
Hello,
The recent patch for %fsr handling had a couple of tiny mistakes
that cause the build to fail on sparc-solaris. Fixed thusly.
gdb/ChangeLog:
* sparc-sol2-nat.c (supply_gregset): Fix first parameter in
call to sparc_supply_fpregset.
(fill_fpregset): Fix first parameter in call to
sparc_collect_fpregset.
Tested on sparc-solaris by rebuilding GDB. Will check it in.
Thanks,
--
Joel
Yao Qi [Tue, 27 Nov 2012 08:11:59 +0000 (08:11 +0000)]
gdb/
2012-11-27 Daniel Jacobowitz <dan@codesourcery.com>
Kazu Hirata <kazu@codesourcery.com>
Yao Qi <yao@codesourcery.com>
* objfiles.c (init_entry_point_info): Call
gdbarch_convert_from_func_ptr_addr and
gdbarch_addr_bits_remove here ...
(entry_point_address_query): ... instead of here.
* solib-svr4.c (exec_entry_point): Call
gdbarch_addr_bits_remove.
* symfile.c (generic_load): Call gdbarch_addr_bits_remove on
the entry address.
Yao Qi [Tue, 27 Nov 2012 07:59:12 +0000 (07:59 +0000)]
gdb/
2012-11-27 Daniel Jacobowitz <dan@codesourcery.com>
Yao Qi <yao@codesourcery.com>
* eval.c (evaluate_subexp_standard): Add handling of
TYPE_CODE_MEMBERPTR when calling functions. Correct the
result of ptype for calling a TYPE_CODE_METHODPTR.
gdb/testsuite/
2012-11-27 Daniel Jacobowitz <dan@codesourcery.com>
* gdb.cp/member-ptr.cc (class Diamond): Add func_ptr.
(func): New function.
(main): Initialize diamond.func_ptr and add diamond_pfunc_ptr.
* gdb.cp/member-ptr.exp: Add new tests for ptype and for
pointers to members with pointer-to-function type.
Yao Qi [Tue, 27 Nov 2012 07:41:43 +0000 (07:41 +0000)]
gdb/
2012-11-27 Yao Qi <yao@codesourcery.com>
* symtab.c (symtab_symbol_info): Fix a -Wformat-extra-args
warning.
Add i18n markup.
gdbadmin [Tue, 27 Nov 2012 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Roland McGrath [Mon, 26 Nov 2012 23:26:35 +0000 (23:26 +0000)]
ld/
* emultempl/aarch64elf.em (gld${EMULATION_NAME}_before_parse):
Copy last elf32.em here too.
* emultempl/armelf.em (gld${EMULATION_NAME}_before_parse): Likewise.
* emultempl/mmixelf.em (gld${EMULATION_NAME}_before_parse): Likewise.
* emultempl/scoreelf.em (gld${EMULATION_NAME}_before_parse): Likewise.
Alan Modra [Mon, 26 Nov 2012 23:00:10 +0000 (23:00 +0000)]
daily update
Tom Tromey [Mon, 26 Nov 2012 22:31:29 +0000 (22:31 +0000)]
2012-11-26 Alexander Larsson <alexl@redhat.com>
Jan Kratochvil <jan.kratochvil@redhat.com>
Tom Tromey <tromey@redhat.com>
* NEWS: Mention mini debuginfo feature.
* minidebug.c: New file.
* configure.ac: Check for lzma.
* configure, config.in: Rebuild.
* Makefile.in (LIBLZMA): New variable.
(CLIBS): Include LIBLZMA.
(SFILES): Mention minidebug.c.
(COMMON_OBS): Mention minidebug.o.
* symfile.c (read_symbols): New function.
(syms_from_objfile, reread_symbols): Call it.
* symfile.h (find_separate_debug_file_in_section): Declare.
doc
* gdb.texinfo (MiniDebugInfo): New node.
(GDB Files): Update.
testsuite
* gdb.base/gnu-debugdata.exp: New file.
* gdb.base/gnu-debugdata.c: New file.
* lib/gdb.exp (gdb_file_cmd): Handle LZMA warning.
(gdb_unload): Return 0 on success.
Tom Tromey [Mon, 26 Nov 2012 19:23:56 +0000 (19:23 +0000)]
2012-11-26 Alexander Larsson <alexl@redhat.com>
Jan Kratochvil <jan.kratochvil@redhat.com>
Tom Tromey <tromey@redhat.com>
* NEWS: Mention mini debuginfo feature.
* minidebug.c: New file.
* configure.ac: Check for lzma.
* configure, config.in: Rebuild.
* Makefile.in (LIBLZMA): New variable.
(CLIBS): Include LIBLZMA.
(SFILES): Mention minidebug.c.
(COMMON_OBS): Mention minidebug.o.
* symfile.c (read_symbols): New function.
(syms_from_objfile, reread_symbols): Call it.
* symfile.h (find_separate_debug_file_in_section): Declare.
doc
* gdb.texinfo (MiniDebugInfo): New node.
(GDB Files): Update.
testsuite
* gdb.base/gnu-debugdata.exp: New file.
* gdb.base/gnu-debugdata.c: New file.
* lib/gdb.exp (gdb_file_cmd): Handle LZMA warning.
(gdb_unload): Return 0 on success.
Jan Kratochvil [Mon, 26 Nov 2012 18:13:24 +0000 (18:13 +0000)]
gdb/testsuite/
* gdb.base/enumval.exp (print e, print f, print K): XFAIL on GCC <= 4.6.
Roland McGrath [Mon, 26 Nov 2012 17:49:11 +0000 (17:49 +0000)]
bfd/
* elf-nacl.c (nacl_modify_segment_map): Don't crash when INFO is null.
Joel Brobecker [Mon, 26 Nov 2012 17:41:44 +0000 (17:41 +0000)]
Do not crash when calling GDB with empty executable name.
% gdb -q ''
... or ...
% gdb -q
(gdb) file ''
... both cause GDB to crash with an invalid free. This is because
exec_file_attach is attempting to free a string that has not been
allocated. The string is only allocated if openp is successful.
But in the case of this obviously invalid filename, openp fails,
and leaves scratch_pathname uninitialized, thus causing the xfree
to fail.
The fix is to enable the associated cleanup after we have verified
that openp was successful.
gdb/ChangeLog (By Keith Seitz <keiths@redhat.com>):
* exec.c (exec_file_attach): Move cleanup after verifying that
memory has in fact been allocated.
gdb/testsuite/ChangeLog:
* gdb.base/empty_exe.exp: New testcase.
Tom Tromey [Mon, 26 Nov 2012 15:54:29 +0000 (15:54 +0000)]
* ada-lang.c (user_select_syms): Use SYMBOL_SYMTAB.
* dwarf2read.c (dw2_find_symbol_file, fixup_go_packaging): Use
SYMBOL_SYMTAB.
* skip.c (skip_info): Use SYMBOL_SYMTAB.
Pedro Alves [Mon, 26 Nov 2012 14:19:33 +0000 (14:19 +0000)]
gdb/
2012-11-26 Maxime Villard <rustyBSD@gmx.fr>
Pedro Alves <palves@redhat.com>
* common/linux-osdata.c (linux_xfer_osdata_fds): Decrease buffer
size parameter passed to readlink by one byte.
* fbsd-nat.c (fbsd_pid_to_exec_file): Ditto.
* linux-nat.c (linux_child_pid_to_exec_file): Ditto.
* nbsd-nat.c (nbsd_pid_to_exec_file): Ditto.
* inf-child.c (inf_child_fileio_readlink): Decrease local buffer's
size by one byte.
gdb/gdbserver/
2012-11-26 Maxime Villard <rustyBSD@gmx.fr>
* hostio.c (handle_readlink): Decrease buffer size
parameter passed to readlink by one byte.