Kevin Buettner [Wed, 21 Mar 2012 21:59:19 +0000 (21:59 +0000)]
* symtab.c (skip_prologue_sal): Change test to check for "main()"
in addition to "main".
Hans-Peter Nilsson [Wed, 21 Mar 2012 19:15:02 +0000 (19:15 +0000)]
PR ld/13813
* ld-mips-elf/comm-data.exp (mips_comm_data_test): For N32 and N64
tests, also specify assembler option -march=mips3.
Cary Coutant [Wed, 21 Mar 2012 19:02:22 +0000 (19:02 +0000)]
2012-03-21 Cary Coutant <ccoutant@google.com>
* Makefile.am: Add gdb-index.cc, gdb-index.h.
* Makefile.in: Regenerate.
* dwarf_reader.cc (Sized_elf_reloc_mapper::do_initialize): New function.
(Sized_elf_reloc_mapper::symbol_section): New function.
(Sized_elf_reloc_mapper::do_get_reloc_target): New function.
(make_elf_reloc_mapper): New function.
(Dwarf_abbrev_table::clear_abbrev_codes): New function.
(Dwarf_abbrev_table::do_read_abbrevs): New function.
(Dwarf_abbrev_table::do_get_abbrev): New function.
(Dwarf_ranges_table::read_ranges_table): New function.
(Dwarf_ranges_table::read_range_list): New function.
(Dwarf_pubnames_table::read_section): New function.
(Dwarf_pubnames_table::read_header): New function.
(Dwarf_pubnames_table::next_name): New function.
(Dwarf_die::Dwarf_die): New function.
(Dwarf_die::read_attributes): New function.
(Dwarf_die::skip_attributes): New function.
(Dwarf_die::set_name): New function.
(Dwarf_die::set_linkage_name): New function.
(Dwarf_die::attribute): New function.
(Dwarf_die::string_attribute): New function.
(Dwarf_die::int_attribute): New function.
(Dwarf_die::uint_attribute): New function.
(Dwarf_die::ref_attribute): New function.
(Dwarf_die::child_offset): New function.
(Dwarf_die::sibling_offset): New function.
(Dwarf_info_reader::check_buffer): New function.
(Dwarf_info_reader::parse): New function.
(Dwarf_info_reader::do_parse): New function.
(Dwarf_info_reader::do_read_string_table): New function.
(Dwarf_info_reader::lookup_reloc): New function.
(Dwarf_info_reader::get_string): New function.
(Dwarf_info_reader::visit_compilation_unit): New function.
(Dwarf_info_reader::visit_type_unit): New function.
(Sized_dwarf_line_info::Sized_dwarf_line_info): Use
Sized_elf_reloc_mapper.
(Sized_dwarf_line_info::symbol_section): Remove function.
(Sized_dwarf_line_info::read_relocs): Use Sized_elf_reloc_mapper.
(Sized_dwarf_line_info::read_line_mappings): Remove object
parameter, adjust callers.
(Sized_dwarf_line_info::format_file_lineno): Fix type of cast.
* dwarf_reader.h: Include <sys/types.h>.
(class Track_relocs): Remove forward declaration.
(class Elf_reloc_mapper): New class.
(class Sized_elf_reloc_mapper): New class.
(class Dwarf_abbrev_table): New class.
(class Dwarf_range_list): New class.
(class Dwarf_ranges_table): New class.
(class Dwarf_pubnames_table): New class.
(class Dwarf_die): New class.
(class Dwarf_info_reader): New class.
(Sized_dwarf_line_info::read_line_mappings): Remove object parameter.
(Sized_dwarf_line_info::symbol_section): Remove member function.
* dynobj.h (Sized_dynobj::do_section_contents): Refactor code from
base class.
* gdb-index.cc: New source file.
* gdb-index.h: New source file.
* incremental.cc (Sized_relobj_incr::do_layout): Track .debug_info
and .debug_types sections, call Layout::add_to_gdb_index.
(Sized_relobj_incr::do_section_name): Implement.
(Sized_relobj_incr::do_section_contents): Adjust parameter list and
return type; Implement.
(Sized_incr_dynobj::do_section_contents): Adjust parameter list and
return type.
* incremental.h (Sized_relobj_incr::do_section_contents): Adjust
parameter list and return type.
(Sized_incr_dynobj::do_section_contents): Likewise.
* layout.cc: Include gdb-index.h.
(Layout::Layout): Initialize gdb_index_data_.
(Layout::init_fixed_output_section): Check for .gdb_index section.
(Layout::add_to_gdb_index): New function. Instantiate.
* layout.h: Add forward declaration for class Gdb_index.
(Layout::add_to_gdb_index): New member function.
(Layout::gdb_index_data_): New data member.
* main.cc: Include gdb-index.h.
(main): Print statistics for gdb index.
* object.cc (Object::section_contents): Move code into
do_section_contents.
(need_decompressed_section): Check for sections needed when building
gdb index.
(build_compressed_section_map): Likewise.
(Sized_relobj_file::do_read_symbols): Need local symbols when building
gdb index.
(Sized_relobj_file::do_layout): Track .debug_info and .debug_types
sections; call Layout::add_to_gdb_index.
(Sized_relobj_file::do_decompressed_section_contents): Call
do_section_contents directly.
* object.h (Object::do_section_contents): Adjust parameter list and
return type.
(Object::do_decompressed_section_contents): Call do_section_contents
directly.
(Sized_relobj_file::do_section_contents): Adjust parameter list and
return type.
* options.h (class General_options): Add --gdb-index option.
* plugin.cc (Sized_pluginobj::do_section_contents): Adjust parameter
list and return type.
* plugin.h (Sized_pluginobj::do_section_contents): Likewise.
* reloc.h (Track_relocs::checkpoint): New function.
(Track_relocs::reset): New function.
* testsuite/Makefile.am (gdb_index_test_1.sh, gdb_index_test_2.sh):
New test cases.
* testsuite/Makefile.in: Regenerate.
* testsuite/gdb_index_test.cc: New test source file.
* testsuite/gdb_index_test_1.sh: New test source file.
* testsuite/gdb_index_test_2.sh: New test source file.
Joel Brobecker [Wed, 21 Mar 2012 15:16:24 +0000 (15:16 +0000)]
SEGV during AX eval of OP_DOUBLE (unsupported)
To reproduce the problem, simply try the following with any program:
(gdb) maintenance agent-eval 1.0
Critical error handler: process [...] terminated due to access violation
(this is on Windows; on GNU/Linux, the libc copes better)
The problem is quite simple: gen_expr is given an expression that
contains an unrecognized operator (OP_DOUBLE in this case). When that
happens, it tries to report an error with a string image of the operator
in the error message. Conversion of the opcode into a string is done
using op_string which, despite its name, probably is not what the author
was looking for. This function returns NULL for a lot of the opcodes,
thus triggering the crash.
There is a function that corresponds to what we are looking for:
expprint.c:op_name. It was static, though, so I made it non-static,
and used it from ax-gdb.c:gen_expr.
gdb/ChangeLog:
* expression.h (op_name): Add declaration.
* expprint.c (op_name): Remove declaration. Make non-static.
* ax-gdb.c (gen_expr): Use op_name instead of op_string.
Joseph Myers [Wed, 21 Mar 2012 14:55:45 +0000 (14:55 +0000)]
2012-03-21 Eliot Dresselhaus <eliot@sonic.net>
* elf32-tic6x.c (elf32_tic6x_merge_private_bfd_data): Return TRUE
for non-C6X objects.
Thomas Schwinge [Wed, 21 Mar 2012 13:43:55 +0000 (13:43 +0000)]
struct siginfo vs. siginfo_t
gdb/
* amd64-linux-nat.c (amd64_linux_siginfo_fixup): Use siginfo_t instead
of struct siginfo.
* arm-linux-nat.c (arm_linux_stopped_data_address): Likewise.
* ia64-linux-nat.c (ia64_linux_stopped_data_address): Likewise.
* linux-nat.c (linux_nat_siginfo_fixup, siginfo_fixup)
(linux_xfer_siginfo, linux_nat_set_siginfo_fixup)
(linux_nat_get_siginfo): Likewise.
* linux-nat.h (struct lwp_info, linux_nat_set_siginfo_fixup)
(linux_nat_get_siginfo): Likewise.
* linux-tdep.c (linux_get_siginfo_type): Likewise.
* ppc-linux-nat.c (ppc_linux_stopped_data_address): Likewise.
* procfs.c (gdb_siginfo_t): Likewise.
gdbserver/
* linux-arm-low.c (arm_stopped_by_watchpoint): Use siginfo_t instead of
struct siginfo.
* linux-low.c (siginfo_fixup, linux_xfer_siginfo): Likewise.
* linux-x86-low.c (x86_siginfo_fixup): Likewise.
* linux-low.h: Include <signal.h>.
(struct siginfo): Remove forward declaration.
(struct linux_target_ops) <siginfo_fixup>: Use siginfo_t instead of
struct siginfo.
Gary Benson [Wed, 21 Mar 2012 10:18:50 +0000 (10:18 +0000)]
ChangeLog fix
Thomas Schwinge [Wed, 21 Mar 2012 08:58:40 +0000 (08:58 +0000)]
gas/
[SH] Support the .uaquad and .8byte directives also for non-sh64
configurations.
* config/tc-sh.c (sh_cons_fix_new, md_apply_fix) [!HAVE_SH64]: Handle
BFD_RELOC_64.
* doc/c-sh64.texi (SH64 Machine Directives): Move .uaquad
description...
* doc/c-sh.texi (SH Machine Directives): ... here.
Mike Frysinger [Wed, 21 Mar 2012 04:53:29 +0000 (04:53 +0000)]
gdb: update gitignore
Mike Frysinger [Wed, 21 Mar 2012 04:51:36 +0000 (04:51 +0000)]
gdbserver: update gitignore
Mike Frysinger [Wed, 21 Mar 2012 04:50:01 +0000 (04:50 +0000)]
sim: cris: update testsuite output after strsignal change
Mike Frysinger [Wed, 21 Mar 2012 04:46:59 +0000 (04:46 +0000)]
sim/testsuite/: split up arch-specific changelogs
gdbadmin [Wed, 21 Mar 2012 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Tue, 20 Mar 2012 23:00:05 +0000 (23:00 +0000)]
daily update
Kai Tietz [Tue, 20 Mar 2012 19:24:32 +0000 (19:24 +0000)]
PR ld/12742
* configure.in (AC_CHECK_HEADERS): Test for windows.h and dlfcn.h.
* plugin.c: Guard include of dlfcn.h if HAVE_DLFCN_H is defined.
Add windows.h header include if HAVE_WINDOWS_H is defined.
(dlerror): New static function if windows variant is used instead
of dlfcn.h.
(dlclose): Likewise.
(dlopen): Likewise.
(dlsym): Likewise.
* configure: Regenerated.
* config.in: Regenerated.
H.J. Lu [Tue, 20 Mar 2012 18:16:38 +0000 (18:16 +0000)]
Handle relocation against protected function for -Bsymbolic
bfd/
2012-03-20 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13880
* elf32-i386.c (elf_i386_relocate_section): Don't issue an error
for R_386_GOTOFF relocation against protected function if
SYMBOLIC_BIND is true.
* elf64-x86-64.c (elf_x86_64_relocate_section): Don't issue an
error for R_X86_64_GOTOFF64 relocation against protected function
when building executable or SYMBOLIC_BIND is true.
ld/testsuite/
2012-03-20 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13880
* ld-i386/i386.exp: Run protected4 and protected5.
* ld-x86-64/x86-64.exp: Likewise.
* ld-i386/protected4.d: New.
* ld-i386/protected4.s: Likewise.
* ld-i386/protected5.d: Likewise.
* ld-i386/protected5.s: Likewise.
* ld-x86-64/protected4.d: Likewise.
* ld-x86-64/protected4.s: Likewise.
* ld-x86-64/protected5.d: Likewise.
* ld-x86-64/protected5.s: Likewise.
Pedro Alves [Tue, 20 Mar 2012 18:14:16 +0000 (18:14 +0000)]
2012-03-20 Pedro Alves <palves@redhat.com>
* remote.c (remote_start_remote): Clear `rs->starting_up' on early
returns.
Nick Clifton [Tue, 20 Mar 2012 11:55:07 +0000 (11:55 +0000)]
* config/tc-arm.c (do_vmrs): Accept priviledged mode VFP system
registers.
(do_vmsr): Likewise.
(arm_opcode_insns): Do not default to using the FPSCR register in
the VMRS and VMSR registers.
* gas/arm/vfp1xD.s: Add tests of the VMSR ad VMRS instructions in
priviledged modes.
* gas/arm/vfp1xD.d: Update expected output.
Yao Qi [Tue, 20 Mar 2012 07:08:55 +0000 (07:08 +0000)]
gdb/
* amd64-tdep.c (amd64_displaced_step_copy_insn): Complete missing "}" in
comment.
gdbadmin [Tue, 20 Mar 2012 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Doug Kwan [Mon, 19 Mar 2012 23:54:07 +0000 (23:54 +0000)]
2012-03-19 Doug Kwan <dougkwan@google.com>
* arm.cc (Target_arm::do_define_standard_symbols): New method.
(Target_arm::do_finalize_sections): Remove code which defines
__exidx_start and __exidx_end. Make symbol table parameter
anonymous as it is not used.
* gold.cc (queue_middle_tasks): Call target hook to define any
target-specific symbols.
* target.h (Target::define_standard_symbols): New method.
(Target::do_define_standard_symbols): Same.
* testsuite/Makefile.am (arm_exidx_test): Dump relocations also.
* testsuite/Makefile.in: Regenerate.
* testsuite/arm_exidx.s: Generate data relocations for __exidx_start
and __exidx_end.
* testsuite/arm_exidx_test.sh: Check that no unused dynamic
relocations are generated for __exidx_start and __exidx_end.
Alan Modra [Mon, 19 Mar 2012 23:00:05 +0000 (23:00 +0000)]
daily update
Jan Kratochvil [Mon, 19 Mar 2012 19:59:19 +0000 (19:59 +0000)]
gdb/
Code cleanupp: Use cu_offset and sect_offset compile time type checking.
* dwarf2expr.c (add_piece, dwarf_get_base_type, execute_stack_op)
(ctx_no_dwarf_call, ctx_no_get_base_type): Use cu_offset and
sect_offset.
* dwarf2expr.h (cu_offset, sect_offset): New types.
(struct dwarf_expr_context_funcs) <dwarf_call>
(struct dwarf_expr_context_funcs) <get_base_type>: Use cu_offset and
sect_offset.
(struct dwarf_expr_context) <len>: Improve the comment.
(struct dwarf_expr_piece, ctx_no_dwarf_call, ctx_no_get_base_type): Use
cu_offset and sect_offset.
* dwarf2loc.c (per_cu_dwarf_call, dwarf_expr_dwarf_call)
(dwarf_expr_get_base_type, needs_frame_dwarf_call)
(dwarf2_compile_expr_to_ax, disassemble_dwarf_expression): Likewise.
* dwarf2loc.h: Include dwarf2expr.h.
(dwarf2_fetch_die_location_block, dwarf2_get_die_type): Use cu_offset
and sect_offset.
* dwarf2read.c (struct dwarf2_per_objfile) <debug_types_type_hash>:
Improve the comment.
(struct comp_unit_head, struct dwarf2_cu, struct dwarf2_per_cu_data)
(struct signatured_type, struct line_header, struct partial_die_info)
(struct die_info, find_partial_die, dwarf2_get_ref_die_offset)
(lookup_signatured_type_at_offset, dwarf2_find_containing_comp_unit)
(get_die_type_at_offset, create_cus_from_index)
(create_signatured_type_table_from_index, dw2_get_file_names)
(offset_in_cu_p, read_comp_unit_head, error_check_comp_unit_head)
(read_and_check_comp_unit_head, read_and_check_type_unit_head)
(create_debug_types_hash_table, process_psymtab_comp_unit)
(load_partial_comp_unit, create_all_comp_units)
(partial_die_parent_scope, partial_die_full_name, skip_one_die)
(load_full_comp_unit, dwarf2_physname, read_import_statement)
(inherit_abstract_dies, read_func_scope, read_call_site_scope)
(dwarf2_add_member_fn, process_enumeration_scope, read_module_type)
(read_typedef, die_hash, die_eq, read_full_die, dwarf2_read_abbrevs)
(load_partial_dies, read_partial_die, find_partial_die_in_comp_unit)
(find_partial_die, read_attribute_value, lookup_die_type)
(dump_die_shallow, store_in_ref_table): Use cu_offset and sect_offset.
(is_ref_attr): New function comment.
(dwarf2_get_ref_die_offset): New function comment, new variable retval.
Use cu_offset and sect_offset.
(follow_die_offset, follow_die_ref, dwarf2_fetch_die_location_block)
(dwarf2_get_die_type, follow_die_sig, lookup_signatured_type_at_offset)
(load_full_type_unit, read_signatured_type, per_cu_header_read_in)
(dwarf2_find_containing_comp_unit, struct dwarf2_offset_and_type)
(offset_and_type_hash, offset_and_type_eq, set_die_type)
(get_die_type_at_offset, partial_die_hash, partial_die_eq)
(write_one_signatured_type, write_psymtabs_to_index): Use cu_offset and
sect_offset.
Jan Kratochvil [Mon, 19 Mar 2012 18:38:56 +0000 (18:38 +0000)]
gdb/testsuite/
* gdb.base/auxv.c (func2): setrlimit to infinity to enable core dumps.
* gdb.base/auxv.exp: Try to compile it with -DUSE_RLIMIT first.
(generate native core dump): Make the test unsupported if core cannot
be generated.
Jan Kratochvil [Mon, 19 Mar 2012 18:23:52 +0000 (18:23 +0000)]
gdb/
Code cleanup.
* python/py-auto-load.c (source_section_scripts): New variable back_to.
Turn fclose and xfree calls into make_cleanup_fclose and make_cleanup
with xfree.
(auto_load_objfile_script): Turn fclose into make_cleanup_fclose.
Jan Kratochvil [Mon, 19 Mar 2012 18:19:26 +0000 (18:19 +0000)]
gdb/
* NEWS: Describe new options --init-command=FILE, -ix and
--init-eval-command=COMMAND, -iex.
* main.c (struct cmdarg): New enum items CMDARG_INIT_FILE and
CMDARG_INIT_COMMAND.
(captured_main): New enum items OPT_IX and OPT_IEX. Add
"init-command", "init-eval-command", "ix" and "iex" to the variable
long_options. Handle OPT_IX and OPT_IEX. Process them from CMDARG_VEC.
New comment for CMDARG_FILE and CMDARG_COMMAND processing.
(print_gdb_help): Describe --init-command=FILE, -ix and
--init-eval-command=COMMAND, -iex.
gdb/doc/
* gdb.texinfo (File Options): Describe --init-command=FILE, -ix and
--init-eval-command=COMMAND, -iex.
(Startup): Describe -iex and -ix. Simplify the example
for "set auto-load-scripts off".
gdb/testsuite/
* gdb.gdb/selftest.exp (do_steps_and_nexts): New entry
for cmdarg_vec = NULL. Remove entries for cmdsize = 1, cmdarg = and
ncmd = 0. New entry for VEC_cleanup cmdarg_s.
Jan Kratochvil [Mon, 19 Mar 2012 18:16:18 +0000 (18:16 +0000)]
gdb/
Code cleanup.
* main.c (struct cmdarg): Move it here from main. Add more comments.
(cmdarg_s, VEC (cmdarg_s)): New.
(main): Move struct cmdarg from here. New variables cmdarg_vec and
cmdarg_p. Remove variables cmdsize and ncmd and their initialization.
Install cleanup for cmdarg_vec. Update filling for options 'x' and
'X'. Replace cmdarg processing by cmdarg_vec processing. Remove xfree
of CMDARG.
Tom Tromey [Mon, 19 Mar 2012 18:13:43 +0000 (18:13 +0000)]
* gnu-v3-abi.c (gnuv3_print_vtable): Initialize 'result_vec'.
Andreas Schwab [Mon, 19 Mar 2012 15:07:59 +0000 (15:07 +0000)]
* ld-m68k/m68k.exp ("TLS indirect symbol use"): Pass
--copy-dt-needed-entries.
Pedro Alves [Mon, 19 Mar 2012 14:33:35 +0000 (14:33 +0000)]
2012-03-19 Pedro Alves <palves@redhat.com>
Jan Kratochvil <jan.kratochvil@redhat.com>
* server.c (cont_thread, general_thread): Add describing comments.
(start_inferior): Clear `cont_thread'.
(handle_v_cont): Don't set `cont_thread' if resuming all threads
of a process.
Jan Kratochvil [Mon, 19 Mar 2012 09:34:13 +0000 (09:34 +0000)]
gdb/testsuite/
* gdb.base/cond-eval-mode.exp: Fix the anticipated warning string.
Mike Frysinger [Mon, 19 Mar 2012 05:39:45 +0000 (05:39 +0000)]
sim: bfin: add exhaustive parallel-insn tests
Mike Frysinger [Mon, 19 Mar 2012 05:34:30 +0000 (05:34 +0000)]
sim: bfin: unify se_all*opcodes tests
The current se_all*opcodes tests are very similar in how they work.
In preparation for adding more tests along these lines, unify the
common bits into a framework that others can include and build off
of easily.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 19 Mar 2012 05:25:50 +0000 (05:25 +0000)]
sim: bfin: add tests for new shift behavior
Mike Frysinger [Mon, 19 Mar 2012 05:17:50 +0000 (05:17 +0000)]
sim: bfin: add tests for new shift behavior
Mike Frysinger [Mon, 19 Mar 2012 05:06:23 +0000 (05:06 +0000)]
sim: bfin: fix corner case Logical shift issues
From: Robin Getz <robin.getz@analog.com>
Overflow with shift operations happens independently of saturation, but
we have the logic merged. Extend the lshift function so that callers
can tell it when to handle each independently, and then do so when it's
needed.
Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 19 Mar 2012 04:54:48 +0000 (04:54 +0000)]
sim: use character classes rather than ranges
A-Z ranges don't work in all locales, so use character classes instead.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 19 Mar 2012 03:58:36 +0000 (03:58 +0000)]
sim: nrun: decode signal when crashing
This isn't entirely correct in that it assumes the signal numbering of
the target and host match, but seeing as we already make that assumption
in a few places, this patch doesn't make the situation any worse.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 19 Mar 2012 03:51:09 +0000 (03:51 +0000)]
sim: tests: ignore generated tests
Mike Frysinger [Mon, 19 Mar 2012 03:09:20 +0000 (03:09 +0000)]
sim: bfin: ebiu_amc: push down hardcoded base addresses
To make it easier to support ebiu banks at other addresses, move the base to
a runtime parameter rather than structure. Future work will make this more
dynamic, but I'm waiting for more details first.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 19 Mar 2012 02:49:18 +0000 (02:49 +0000)]
sim: bfin: import optimizations from 32bit test into 16bit test
The 32bit allopcodes test had quite a bit of optimization added to it
so that it ran in a reasonable amount of time out of uncached memory.
Port those changes over to the 16bit test so the two share common code.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 19 Mar 2012 01:16:25 +0000 (01:16 +0000)]
sim: bfin: use ARRAY_SIZE
Rather than hardcode the constant, use ARRAY_SIZE to get it. Should be no
functional changes here.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Doug Evans [Mon, 19 Mar 2012 00:27:39 +0000 (00:27 +0000)]
Fix spellings of filenames.
gdbadmin [Mon, 19 Mar 2012 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 18 Mar 2012 23:00:05 +0000 (23:00 +0000)]
daily update
Doug Evans [Sun, 18 Mar 2012 04:17:16 +0000 (04:17 +0000)]
* dg-extract-results.sh: Handle KFAILs.
gdbadmin [Sun, 18 Mar 2012 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 17 Mar 2012 23:00:05 +0000 (23:00 +0000)]
daily update
Doug Kwan [Sat, 17 Mar 2012 01:33:19 +0000 (01:33 +0000)]
2012-03-16 Doug Kwan <dougkwan@google.com>
* testsuite/Makefile.am: Disable test initpri3b.
* testsuite/Makefile.in: Regenerate.
gdbadmin [Sat, 17 Mar 2012 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Roland McGrath [Fri, 16 Mar 2012 23:19:47 +0000 (23:19 +0000)]
bfd/
2012-03-16 Roland McGrath <mcgrathr@google.com>
* config.bfd: Handle x86_64-*-nacl*.
* elf64-x86-64.c (bfd_elf64_x86_64_nacl_vec): New backend vector stanza.
(bfd_elf32_x86_64_nacl_vec): Likewise.
* targets.c: Support them.
* configure.in: Likewise.
* configure: Regenerated.
gas/
2012-03-16 Roland McGrath <mcgrathr@google.com>
* config/tc-i386.h [TE_NACL] (ELF_TARGET_FORMAT32, ELF_TARGET_FORMAT64):
Define for this case.
* configure.tgt (i386-*-nacl*): If ${cpu} is x86_64*, default to x32.
Alan Modra [Fri, 16 Mar 2012 23:00:05 +0000 (23:00 +0000)]
daily update
Jan Kratochvil [Fri, 16 Mar 2012 18:26:02 +0000 (18:26 +0000)]
gdb/
PR symtab/13777
* dwarf2read.c (process_full_comp_unit): Set LOCATIONS_VALID only for
GCC >=4.5.
gdb/testsuite/
PR symtab/13777
* gdb.dwarf2/dw2-skip-prologue.S (DW_AT_producer): Set it to 4.5.0.
Tom Tromey [Fri, 16 Mar 2012 18:22:24 +0000 (18:22 +0000)]
2012-03-16 Chris January <chris.january@allinea.com>
* tui-tui.win.c (tui_resize_all): Use erase and clearok instead
of clear.
Tom Tromey [Fri, 16 Mar 2012 18:20:34 +0000 (18:20 +0000)]
2012-03-16 Chris January <chris.january@allinea.com>
* source.c (add_path): Use memmove instead of strcpy because the
strings overlap.
Joel Brobecker [Fri, 16 Mar 2012 17:55:45 +0000 (17:55 +0000)]
[Ada] Crash when trying to set value of packed array element
Consider the following declaration:
type Small is new Integer range 0 .. 2 ** 4 - 1;
type Simple_Array is array (1 .. 4) of Small;
pragma Pack (Simple_Array);
SA : Simple_Array := (1, 2, 3, 4);
Trying to change the value of one of the elements in the packed array
causes the debugger to crash:
(gdb) set sa(3) := 9
[1] 4880 segmentation fault gdb -q foo
The circumstances leading to the crash are as follow:
. ada_evaluate_subexp creates a value corresponding to "sa(3)".
. ada_evaluate_subexp then tries to assign 9 to this value, and
for this calls value_assign (via ada_value_assign).
. Because the array is packed, the destination value is 3 bits long,
and as a result, value_assign uses the parent to determine that
element byte address and offset:
| if (value_bitsize (toval))
| {
| struct value *parent = value_parent (toval);
|
| changed_addr = value_address (parent) + value_offset (toval);
The destination value (corresponding to "sa(3)") was incorrectly created
by ada-lang.c:ada_value_primitive_packed_val, because the "parent" was
left as NULL. So, when we try to dereference it to get the parent address,
GDB crashed.
The first part of the fix therefore consists in setting that field.
This required the addition of a new "setter" in value.[hc]. It fixes
the crash, but is still not sufficient for the assignment to actually
work.
The second part of the problem came from the fact that value_assign
seems to expect the "child"'s address to be equal to the parent's address,
with the difference being the offset. Unfortunately, this requirement was
not followed by ada_value_primitive_packed_val, so the second part of
the fix consisted in fixing that.
Still, this was not sufficient, because it caused a regression when
trying to perform an aggregate assignment of a packed array of packed
record. The key element here is the nesting of packed entities.
Looking at the way ada_value_primitive_packed_val creates the value
of each sub-component, one can see that the value's offset is set
to the offset compared to the start of the parent. This was meant to
match what value_primitive_field does as well.
So, with our array of records, if the record offset was 2, and if
the field we're interested in that record is at offset 1, the record
value's offset would be set to 2, and the field value's offset would
be set to 1. But the address for both values would be left to the
array's address. This is where things start breaking down, because
the value_address function for our field value would return the
address of the array + 1, instead of + 3.
This is what causes the final issue, here, because ada-lang.c's
value_assign_to_component needs to compute the offset of the
subcomponent compared to the top-level aggregate's start address
(the array in our case). And it does so by subtracting the array's
address from the sub-component's address. When you have two levels
of packed components, and the mid-level component is at an offset of
the top-level component, things didn't work, because the component's
address was miscomputed (the parent's offset is missing).
The fix consists is fixing value_address to match the work done by
value_primitive_field (where we ignore the parent's offset).
gdb/ChangeLog:
* value.h (set_value_parent): Add declaration.
* value.c (set_value_parent): New function.
(value_address): If VALUE->PARENT is not NULL, then use it as
the base address instead of VALUE->LOCATION.address.
* ada-lang.c (ada_value_primitive_packed_val): Keep V's address
the same as OBJ's address. Adjust V's offset accordingly.
Set V's parent.
gdb/testsuite/ChangeLog:
* gdb.ada/set_pckd_arr_elt: New testcase.
Gary Benson [Fri, 16 Mar 2012 16:47:34 +0000 (16:47 +0000)]
gdb:
PR breakpoints/10738
* dwarf2read.c (use_deprecated_index_sections): New global.
(struct partial_die_info): New member may_be_inlined.
(read_partial_die): Set may_be_inlined where appropriate.
(add_partial_subprogram): Add partial symbols for partial
DIEs that may be inlined.
(new_symbol_full): Add inlined subroutines to the current
scope.
(write_psymtabs_to_index): Bump version number.
(dwarf2_read_index): Read only version 6 indices unless
use_deprecated_index_sections is set.
* linespec.c (symbol_and_data_callback): New structure.
(iterate_inline_only): New function.
(iterate_over_all_matching_symtabs): New argument
"include_inline". If nonzero, also call the callback for
symbols representing inlined subroutines.
(lookup_prefix_sym): Pass extra argument to the above.
(find_function_symbols): Likewise.
(add_matching_symbols_to_info): Likewise.
* NEWS: Mention that GDB can now set breakpoints on inlined
functions.
gdb/doc:
PR breakpoints/10738
* gdb.texinfo (Inline Functions): Remove the now-unnecessary @item
stating that GDB cannot set breakpoints on inlined functions.
(Mode Options): Document --use-deprecated-index-sections.
(Index Section Format): Document new index section version format.
gdb/testsuite:
PR breakpoints/10738
* gdb.opt/inline-break.exp: New file.
* gdb.opt/inline-break.c: Likewise.
* gdb.dwarf2/inline-break.exp: Likewise.
* gdb.dwarf2/inline-break.S: Likewise.
* gdb.base/annota1.exp: Cope with old .gdb_index warnings.
* gdb.base/async-shell.exp: Likewise.
* lib/mi-support.exp (library_loaded_re): Likewise.
Matthew Gretton-Dann [Fri, 16 Mar 2012 15:15:14 +0000 (15:15 +0000)]
* bfd/elf32-arm.c (elf32_arm_attributes_accept_div): New function.
(elf32_arm_attributes_forbid_div): Likewise.
(elf32_arm_merge_eabi_attributes): Correct handling of
Tag_DIV_use.
Matthew Gretton-Dann [Fri, 16 Mar 2012 14:02:33 +0000 (14:02 +0000)]
* gas/config/tc-arm.c (aeabi_set_public_attributes): Correct
handling of Tag_DIV_use.
* gas/testsuite/gas/testsuite/gas/arm/any-idiv.d: New testcase.
* gas/testsuite/gas/testsuite/gas/arm/any-idiv.s: Likewise.
* gas/testsuite/gas/arm/attr-any-armv4t.d: Update expected output.
* gas/testsuite/gas/arm/attr-any-thumbv6.d: Likewise.
* gas/testsuite/gas/arm/attr-cpu-directive.d: Likewise.
* gas/testsuite/gas/arm/attr-default.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv1.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv2.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv2a.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv2s.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv3.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv3m.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv4.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv4t.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv4txm.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv4xm.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv5.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv5t.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv5te.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv5tej.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv5texp.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv5txm.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6-m+os.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6-m.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6j.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6k+sec.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6k.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6kt2.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6s-m.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6t2.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6z.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6zk.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6zkt2.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6zt2.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv7-a+mp.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv7-a+sec.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv7-a.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv7.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv7a.d: Likewise.
* gas/testsuite/gas/arm/attr-march-iwmmxt.d: Likewise.
* gas/testsuite/gas/arm/attr-march-iwmmxt2.d: Likewise.
* gas/testsuite/gas/arm/attr-march-xscale.d: Likewise.
* gas/testsuite/gas/arm/attr-mcpu.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-arm1020e.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-arm1020t.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-arm1136jf-s.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-arm1136jfs.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-arm7500fe.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-fpa.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-fpa10.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-fpa11.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-fpe.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-fpe2.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-fpe3.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-maverick.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-neon-fp16.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-neon.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-softfpa.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-softvfp+vfp.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-softvfp.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfp.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfp10-r0.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfp10.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfp3.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfp9.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpv2.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpv3-d16.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpv3.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpv4-d16.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpv4.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpxd.d: Likewise.
* gas/testsuite/gas/arm/attr-order.d: Likewise.
* gas/testsuite/gas/arm/attr-override-cpu-directive.d: Likewise.
* gas/testsuite/gas/arm/attr-override-mcpu.d: Likewise.
* gas/testsuite/gas/arm/eabi_attr_1.d: Likewise.
* gas/testsuite/gas/arm/mov-highregs-any.d: Likewise.
* gas/testsuite/gas/arm/mov-lowregs-any.d: Likewise.
* gas/testsuite/gas/arm/pr12198-1.d: Likewise.
* gas/testsuite/gas/arm/pr12198-2.d: Likewise.
* ld/testsuite/ld-arm/arm-elf.exp: Add new testcases.
* ld/testsuite/ld-arm/attr-merge-2.attr: Update ouput.
* ld/testsuite/ld-arm/attr-merge-2a.s: Remove Tag_DIV_use test.
* ld/testsuite/ld-arm/attr-merge-2b.s: Likewise.
* ld/testsuite/ld-arm/attr-merge-3.attr: Updated expected output.
* ld/testsuite/ld-arm/attr-merge-4.attr: Likewise.
* ld/testsuite/ld-arm/attr-merge-5.attr: Likewise.
* ld/testsuite/ld-arm/attr-merge-6.attr: Likewise.
* ld/testsuite/ld-arm/attr-merge-7.attr: Likewise.
* ld/testsuite/ld-arm/attr-merge-arch-1.attr: Likewise.
* ld/testsuite/ld-arm/attr-merge-arch-2.attr: Likewise.
* ld/testsuite/ld-arm/attr-merge-unknown-2.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-unknown-2r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-unknown-3.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-1.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-1r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-2.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-2r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-3.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-3r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-4.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-4r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-5.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-5r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-6.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-6r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-00-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-00.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-02-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-02.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-04-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-04.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-20-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-20.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-22-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-22.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-24-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-40-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-40.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-42-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-44-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-44.d: Likewise.
* ld/testsuite/ld-arm/attr-merge.attr: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-0.s: New testcase.
* ld/testsuite/ld-arm/attr-merge-div-00.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-01-m3.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-01.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-02.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-1.s: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-10-m3.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-10.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-11.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-12.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-120.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-2.s: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-20.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-21.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-22.d: Likewise.
Alan Modra [Fri, 16 Mar 2012 12:14:32 +0000 (12:14 +0000)]
* ppc-dis.c (PPC_OPC_SEGS, PPC_OP_TO_SEG): Delete.
(powerpc_opcd_indices): Bump array size.
(disassemble_init_powerpc): Set powerpc_opcd_indices entries
corresponding to unused opcodes to following entry.
(lookup_powerpc): New function, extracted and optimised from..
(print_insn_powerpc): ..here.
Pierre Muller [Fri, 16 Mar 2012 11:10:04 +0000 (11:10 +0000)]
* p-typeprint.c (pascal_type_print_method_args):
Fix display of parameter of methods.
Pierre Muller [Fri, 16 Mar 2012 10:54:39 +0000 (10:54 +0000)]
* amd64-windows-nat.c (_initialize_amd64_windows_nat):
Add missing prototype.
Jan Kratochvil [Fri, 16 Mar 2012 08:18:09 +0000 (08:18 +0000)]
gdb/
Fix false compilation warning.
* gnu-v3-abi.c (print_one_vtable): Initialize ADDR.
Alan Modra [Fri, 16 Mar 2012 00:20:58 +0000 (00:20 +0000)]
* ld-gc/pr13683.d: Accept powerpc64 function descriptor syms.
gdbadmin [Fri, 16 Mar 2012 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Thu, 15 Mar 2012 23:00:05 +0000 (23:00 +0000)]
daily update
Jonathan Larmour [Thu, 15 Mar 2012 18:53:43 +0000 (18:53 +0000)]
* arm-tdep.c: Include "remote.h" and "features/arm-with-m-fpa-layout.c".
(arm_register_g_packet_guesses): New function.
(arm_gdbarch_init): Don't force a target description with
registers when the executable is detected as M-profile. Instead
set gdbarch->tdep->is_m. Register `g' packet guesses.
(_initialize_arm_tdep): Initialize the new target description.
* features/arm-with-m-fpa-layout.xml: New description.
* features/arm-with-m-fpa-layout.c: New, generated.
Joel Brobecker [Thu, 15 Mar 2012 18:33:45 +0000 (18:33 +0000)]
Problem after hitting breakpoint on Windows (with GDBserver)
When debugging on Windows with GDBserver, the debugger starts
failing after hitting a breakpoint. For instance:
(gdb) b foo
Breakpoint 1 at 0x40177e: file foo.adb, line 5.
(gdb) cont
Continuing.
Breakpoint 1, foo () at foo.adb:5
5 Put_Line ("Hello World."); -- STOP
(gdb) n
Program received signal SIGSEGV, Segmentation fault.
0x00401782 in foo () at foo.adb:5
5 Put_Line ("Hello World."); -- STOP
There are two issues:
1. While trying to re-insert a breakpoint that is still inserted
in memory, insert_bp_location wipes out the breakpoint location's
shadow_contents. As a consequence, we cannot restore the proper
instruction when removing the breakpoint anymore. That's why
the inferior's behavior changes when trying to resume after
the breakpoint was hit.
2. mem-break.c:default_memory_insert_breakpoint passes a breakpoint
location's shadow_contents as the buffer for a memory read.
This reveals a limitation of the various memory-read target
functions. This patch documents this limitation and adjust
the two calls that seem to hit that limitation.
gdb/ChangeLog:
* breakpoint.c (breakpoint_xfer_memory): Add assertion.
Update function description.
(insert_bp_location): Do not wipe bl->target_info out.
* mem-break.c: #include "gdb_string.h".
(default_memory_insert_breakpoint): Do not call target_read_memory
with a pointer to the breakpoint's shadow_contents buffer. Use
a local buffer instead.
* m32r-tdep.c (m32r_memory_insert_breakpoint): Ditto.
Doug Kwan [Thu, 15 Mar 2012 18:24:06 +0000 (18:24 +0000)]
2012-03-15 Doug Kwan <dougkwan@google.com>
* arm.cc (Target_arm::got_section): Make .got section read-only
if -z now is given.
Roland McGrath [Thu, 15 Mar 2012 18:20:22 +0000 (18:20 +0000)]
* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Use
elf_x86_64_backend_data parameters for plt_eh_frame.
Change-Id: I4e1a7c2787ed1276765e269f50fc8ba89bab41d5
Roland McGrath [Thu, 15 Mar 2012 16:37:25 +0000 (16:37 +0000)]
* elf64-x86-64.c (struct elf_x86_64_backend_data): New type.
(get_elf_x86_64_backend_data, GET_PLT_ENTRY_SIZE): New macros.
(elf_x86_64_arch_bed): New variable.
(elf_backend_arch_data): New macro.
(elf_x86_64_adjust_dynamic_symbol): Use GET_PLT_ENTRY_SIZE.
(elf_x86_64_allocate_dynrelocs): Likewise.
(elf_x86_64_relocate_section): Likewise.
(elf_x86_64_plt_sym_val): Likewise.
(elf_x86_64_finish_dynamic_symbol): Use elf_x86_64_backend_data
parameters for PLT details.
(elf_x86_64_finish_dynamic_sections): Likewise.
Ian Lance Taylor [Thu, 15 Mar 2012 16:32:22 +0000 (16:32 +0000)]
PR gold/13850
* layout.cc (Layout::make_output_section): Correctly mark
SHT_INIT_ARRAY, et. al., as relro.
Tom Tromey [Thu, 15 Mar 2012 16:32:16 +0000 (16:32 +0000)]
* NEWS: Mention "info vtbl", not "info vtable".
* cp-support.c (info_vtbl_command): Fix comment.
(_initialize_cp_support): Fix text.
Tom Tromey [Thu, 15 Mar 2012 15:49:42 +0000 (15:49 +0000)]
* cp-valprint.c (cp_print_value_fields): Use
print_function_pointer_address for vtable slot.
gdb/testsuite
* gdb.cp/virtfunc2.exp: Update expected output.
* gdb.cp/pr9631.exp: Update expected output.
* gdb.cp/member-ptr.exp: Update expected output.
* gdb.cp/inherit.exp (test_print_mvi_classes): Update expected
output.
* gdb.cp/casts.exp: Update expected output.
Tom Tromey [Thu, 15 Mar 2012 15:43:18 +0000 (15:43 +0000)]
* gnu-v3-abi.c (struct value_and_voffset): New.
(hash_value_and_voffset, eq_value_and_voffset)
(compare_value_and_voffset, compute_vtable_size)
(print_one_vtable, gnuv3_print_vtable): New functions.
(init_gnuv3_ops): Initialize 'print_vtable' field.
* cp-support.c (info_vtbl_command): New function.
(_initialize_cp_support): Add "info vtbl".
* cp-abi.h (cplus_print_vtable): Declare.
(struct cp_abi_ops) <print_vtable>: New field.
* cp-abi.c (cplus_print_vtable): New function.
* NEWS: Update.
gdb/testsuite
* gdb.cp/virtfunc.exp (make_one_vtable_result): New proc.
(test_info_vtbl): Likewise.
(do_tests): Call test_info_vtbl.
* gdb.cp/virtfunc.cc (va): New global.
gdb/doc
* gdb.texinfo (Debugging C Plus Plus): Document "info vtbl".
Rainer Orth [Thu, 15 Mar 2012 14:13:32 +0000 (14:13 +0000)]
* configure.ac (enable_libgomp): Remove *-*-irix6*.
(unsupported_languages): Remove mips-sgi-irix6.*.
(noconfigdirs): Don't add ${libgcj} for mips*-*-irix6*.
(with_stabs): Remove.
* configure: Regenerate.
Rainer Orth [Thu, 15 Mar 2012 14:11:38 +0000 (14:11 +0000)]
* configure.ac (enable_libgomp): Remove *-*-osf*.
(with_stabs): Remove alpha*-*-osf*.
* configure: Regenerate.
Tom Tromey [Thu, 15 Mar 2012 14:06:20 +0000 (14:06 +0000)]
* d-lang.c (d_language_defn) <la_iterate_over_symbols>: Set to
iterate_over_symbols.
Alan Modra [Thu, 15 Mar 2012 12:58:48 +0000 (12:58 +0000)]
include/
* dis-asm.h (disassemble_init_powerpc): Declare.
opcodes/
* disassemble.c (disassemble_init_for_target): Handle ppc init.
* ppc-dis.c (private): New var.
(powerpc_init_dialect): Don't return calloc failure, instead use
private.
(PPC_OPCD_SEGS, PPC_OP_TO_SEG): Define.
(powerpc_opcd_indices): New array.
(disassemble_init_powerpc): New function.
(print_insn_big_powerpc): Don't init dialect here.
(print_insn_little_powerpc): Likewise.
(print_insn_powerpc): Start search using powerpc_opcd_indices.
Yao Qi [Thu, 15 Mar 2012 12:57:13 +0000 (12:57 +0000)]
gdb/gdbserver/
* tracepoint.c (install_tracepoint): Move duplicated tracepoint
handling to ...
(cmd_qtdp): ... here.
Thomas Schwinge [Thu, 15 Mar 2012 11:19:13 +0000 (11:19 +0000)]
gas/
* doc/as.texinfo (Bundle directives): Fix typo.
Yao Qi [Thu, 15 Mar 2012 10:42:38 +0000 (10:42 +0000)]
gdb/gdbserver/
* tracepoint.c (struct tracepoint_action_ops): New.
(struct tracepoint_action) [!IN_PROCESS_AGENT] <ops>: New field.
(m_tracepoint_action_download): New.
(r_tracepoint_action_download): New.
(x_tracepoint_action_download): New.
(l_tracepoint_action_download): New.
(add_tracepoint_action): Install `action->ops' according type.
(download_tracepoint_1): Move code `download' function pointer
of various tracepoint_action_ops.
Thomas Schwinge [Thu, 15 Mar 2012 09:08:10 +0000 (09:08 +0000)]
gdb/testsuite/
* gdb.dwarf2/dw2-ada-
ffffffff.S: Use .4byte instead of .long for
describing DWARF data structures.
* gdb.dwarf2/dw2-bad-parameter-type.S: Likewise.
* gdb.dwarf2/dw2-double-set-die-type.S: Likewise.
* gdb.dwarf2/dw2-empty-pc-range.S: Likewise.
* gdb.dwarf2/dw2-entry-value.S: Likewise.
* gdb.dwarf2/dw2-modula2-self-type.S: Likewise.
* gdb.dwarf2/dw2-param-error.S: Likewise.
* gdb.dwarf2/dw2-skip-prologue.S: Likewise.
* gdb.dwarf2/dw2-stack-boundary.S: Likewise.
* gdb.dwarf2/dw4-sig-type-unused.S: Likewise.
* gdb.dwarf2/implptr-optimized-out.S: Likewise.
* gdb.dwarf2/member-ptr-forwardref.S: Likewise.
* gdb.dwarf2/pr11465.S: Likewise.
Doug Evans [Thu, 15 Mar 2012 02:34:49 +0000 (02:34 +0000)]
* dwarf2read.c (dwarf_stack_op_name): Add DW_OP_GNU_encoded_addr,
DW_OP_GNU_parameter_ref.
Alan Modra [Thu, 15 Mar 2012 01:57:57 +0000 (01:57 +0000)]
* config/default.exp: Update copyright date.
* ld-elf/shared.exp: Pass --no-as-needed to various tests linking
shared libs.
* ld-elfvers/vers.exp: Likewise.
Alan Modra [Thu, 15 Mar 2012 01:36:29 +0000 (01:36 +0000)]
* gas/i386/bundle-lock.d: Ignore trailing nops.
* gas/i386/bundle.d: Likewise.
* gas/i386/x86-64-bundle.d: Likewise.
gdbadmin [Thu, 15 Mar 2012 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Doug Kwan [Wed, 14 Mar 2012 23:07:07 +0000 (23:07 +0000)]
2012-03-14 Doug Kwan <dougkwan@google.com>
* gold/arm.cc (Target_arm::Scan::global): Generate R_ARM_GLOB_DAT
dynamic relocations for protected symbols in shared objects.
Alan Modra [Wed, 14 Mar 2012 23:00:05 +0000 (23:00 +0000)]
daily update
Roland McGrath [Wed, 14 Mar 2012 19:32:11 +0000 (19:32 +0000)]
* elf32-i386.c (elf_i386_nacl_pic_plt0_entry): Initialize up
to the full size, padding out with nop instructions.
Kai Tietz [Wed, 14 Mar 2012 19:00:03 +0000 (19:00 +0000)]
2012-03-14 Kai Tietz <ktietz@redhat.com>
Pascal Obry <pascal@obry.net>
* pe-dll.c (found_sym): New static variable.
(undef_count): Likewise.
(key_value): New structure.
(undef_sort_cmp): Compare routine for qsort/bsearch.
(pe_find_cdecl_alias_match): Add new argument.
(pe_undef_alias_cdecl_match): Removed.
(pe_undef_count): New helper routine.
(pe_create_undef_table): Likewise.
(pe_process_import_defs): Use pe_create_undef_table and
new pe_undef_alias_cdecl_match function.
H.J. Lu [Wed, 14 Mar 2012 17:51:16 +0000 (17:51 +0000)]
Replace @defn with @dfn
2012-03-14 Ryan Mansfield <rmansfield@qnx.com>
* doc/as.texinfo (Bundle directives): Replace @defn with @dfn.
H.J. Lu [Wed, 14 Mar 2012 15:56:13 +0000 (15:56 +0000)]
Add a testcase for PR ld/13839
2012-03-14 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13839
* ld-elf/pr13839.d: New.
* ld-elf/pr13839.s: Likewise.
* ld-elf/pr13839.t: Likewise.
Jan Kratochvil [Wed, 14 Mar 2012 07:58:06 +0000 (07:58 +0000)]
gdb/
Fix double prompt of 'interpreter-exec mi'.
* mi/mi-interp.c (mi_execute_command_input_handler): New prototype.
(mi_interpreter_resume): use it.
(mi_execute_command_input_handler): New function.
* mi/mi-main.c (mi_execute_command): Move prompt printing to
mi_execute_command_input_handler.
gdb/testsuite/
* gdb.mi/mi2-prompt.exp: New file.
Alan Modra [Wed, 14 Mar 2012 05:24:02 +0000 (05:24 +0000)]
PR ld/13839
* ldexp.c (fold_name): Ignore undefined symbols when assigning to
dot in mark phase.
(exp_fold_tree_1): Evaluate assignment to dot expressions even when
discarding result, for side effects. Fix typo in error message.
Mike Frysinger [Wed, 14 Mar 2012 05:04:18 +0000 (05:04 +0000)]
sim: ppc: fix compilation on AIX 7.1 due to st_pad name collisions
AIX 7.1 defines st_pad[123] to st_[amc]tim.tv_pad, respectively,
breaking declaration of st_pad[123] members in struct solaris_stat.
Undefine them as this is no less terrible than other solutions (like
renaming the fields and losing the binding to Solaris' names).
From: Michael Haubenwallner <haubi@s01en24.gentoo.org>
Joel Brobecker [Wed, 14 Mar 2012 01:47:45 +0000 (01:47 +0000)]
Mark latest entry in ChangeLog as "tiny change".
Joel Brobecker [Wed, 14 Mar 2012 01:46:59 +0000 (01:46 +0000)]
Fix -Wmissing-prototypes build warnings on Darwin.
gdb/
2012-03-13 Josh Matthews <josh@joshmatthews.net>
* darwin-nat-info.c (_initialize_darwin_info_commands): Add
prototype.
(darwin_debug_port_info): Make static.
* darwin-nat.c (_initialize_darwin_inferior): Add prototype.
* machoread.c (_initialize_machoread): Add prototype.
* i386-darwin-nat.c (i386_darwin_dr_set, i386_darwin_dr_get)
(i386_darwin_set_control, i386_darwin_get_control)
i386_darwin_dr_set_addr, i386_darwin_get_addr)
i386_darwin_get_status, i386_darwin_get_control):
Comment out with HW_WATCHPOINT_NOT_YET_ENABLED macro.
Joel Brobecker [Wed, 14 Mar 2012 01:39:12 +0000 (01:39 +0000)]
Testcase for: "ax-gdb: Do not treat enums and bools as integers".
gdb/testsuite/ChangeLog:
* gdb.base/enum_cond.c, gdb.base/enum_cond.exp: New testcase.
Joel Brobecker [Wed, 14 Mar 2012 01:38:58 +0000 (01:38 +0000)]
ax-gdb: Do not treat enums and bools as integers.
This patch fixes a problem when using gdb + gdbserver, and trying
to break on a function when one of the (enum) parameters is equal
to a certain value, and the size of that enum is 1 byte.
(gdb) break mixed.adb:15 if light = green
Breakpoint 2 at 0x402d5a: file mixed.adb, line 15.
(gdb) cont
Continuing.
[Inferior 1 (process 9742) exited normally]
The debugger should have stopped once when our function was call
with light set to green.
Here is what happens: Because we're using a recent GDBserver,
GDB hands off the evaluation of the condition to GDBserver, by
providing it in the Z0 packet. This is what GDB sends:
$Z0,402d5a,1;X13,
26000622100223ff1c16100219162022011327#cf
I decoded the condition as follow:
260006 reg 6 -> push
2210 const8 0x10 -> push
02 add (stack now has 1 element equal to reg6 + 16)
23ff1c const16 0xff1c
1610 ext 16 (sign extend 16 bits)
02 add (stack now has 1 element equal to reg6 + 16 - 228)
19 ref32: Pop as addr, push 32bit value at addr.
1620 ext 32 (sign extend 32 bits)
2201 const8 0x01
13 equal
27 end
The beginning of the agent expression can be explained by the address
of symbol "light":
(gdb) info addr light
Symbol "light" is a variable at frame base reg $rbp offset 16+-228.
However, the mistake is the "ext 32" operation (extend 32 bits),
because our variable is *not* 32bits, only 8:
(gdb) print light'size
$5 = 8
But the reason why GDB decides to use a 32bit extension is because
it overrides the symbol's type with a plain integer type in
ax-gdb.c:gen_usual_unary...
/* If the value is an enum or a bool, call it an integer. */
case TYPE_CODE_ENUM:
case TYPE_CODE_BOOL:
value->type = builtin_type (exp->gdbarch)->builtin_int;
break;
... before calling require_rvalue. And of course, that causes the
generator to generate a sizeof(int) extension of the result.
One way to fix this would be to use an integer type of the correct
size, but I do not understand why this is necessary. The two routines
that use that information to generate the opcode down the line are
gen_fetch (for a memory value), or gen_extend (for a register value).
And they both have handling of enums and bools.
So the fix we elected to implement was simply to remove that code.
gdb/ChangeLog:
* ax-gdb.c (gen_usual_unary): Remove special handling of
enum and bool types.