Tom Tromey [Mon, 29 Nov 2010 21:18:16 +0000 (21:18 +0000)]
gdb
* opencl-lang.c (lval_func_check_synthetic_pointer): New
function.
* value.h (struct lval_funcs) <indirect, check_synthetic_pointer>:
New fields.
(value_bits_synthetic_pointer): Declare.
* value.c (value_bits_synthetic_pointer): New function.
* valprint.c (valprint_check_validity): Handle synthetic
pointers.
* valops.c (value_ind): Use new 'indirect' lval_funcs method.
* valarith.c (value_ptradd): Use set_value_component_location.
* p-valprint.c (pascal_object_print_value_fields): Handle
synthetic pointers.
* jv-valprint.c (java_print_value_fields): Handle synthetic
pointers.
* dwarf2read.c (dwarf_stack_op_name): Add
DW_OP_GNU_implicit_pointer.
(dwarf2_fetch_die_location_block): Add get_frame_pc, baton
arguments. Handle location lists.
(fill_in_loclist_baton): New function.
(dwarf2_symbol_mark_computed): Use it.
* dwarf2loc.h (dwarf2_find_location_expression): Declare.
(dwarf2_fetch_die_location_block): Add get_frame_pc, baton
arguments.
* dwarf2loc.c (dwarf2_find_location_expression): Rename from
find_location_expression. No longer static. Update all callers.
(dwarf_expr_frame_pc): New function.
(per_cu_dwarf_call): Add get_frame_pc, baton arguments. Update
all callers.
(struct piece_closure) <per_cu>: New field.
(allocate_piece_closure): Add per_cu argument.
(read_pieced_value): Handle DWARF_VALUE_IMPLICIT_POINTER.
(check_pieced_value_bits): Remove validity argument, add check_for
argument. Handle DWARF_VALUE_IMPLICIT_POINTER.
(check_pieced_value_validity, check_pieced_value_invalid):
Update.
(check_pieced_synthetic_pointer): New function.
(get_frame_address_in_block_wrapper): New function.
(indirect_pieced_value): New function.
(pieced_value_funcs): Update.
(invalid_synthetic_pointer): New function.
(dwarf2_evaluate_loc_desc_full): Rename from
dwarf2_evaluate_loc_desc. Add byte_offset argument.
(dwarf2_evaluate_loc_desc): Rewrite.
(dwarf2_loc_desc_needs_frame): Set new field on context.
(get_ax_pc): New function.
(disassemble_dwarf_expression): Handle
DW_OP_GNU_implicit_pointer.
* dwarf2expr.h (enum dwarf_value_location)
<DWARF_VALUE_IMPLICIT_POINTER>: New constant.
(struct dwarf_expr_context) <get_frame_pc>: New field.
(struct dwarf_expr_piece) <v.ptr>: New field.
* dwarf2expr.c (add_piece): Handle DWARF_VALUE_IMPLICIT_POINTER.
(execute_stack_op): Handle DW_OP_GNU_implicit_pointer.
* dwarf2-frame.c (no_get_frame_pc): New function.
(execute_stack_op): Set new field on context.
* cp-valprint.c (cp_print_value_fields): Handle synthetic
pointers.
gdb/testsuite
* gdb.dwarf2/implptr.exp: New file.
* gdb.dwarf2/implptr.c: New file.
* gdb.dwarf2/implptr.S: New file.
DJ Delorie [Mon, 29 Nov 2010 16:34:15 +0000 (16:34 +0000)]
merge from gcc
Phil Muldoon [Mon, 29 Nov 2010 13:49:05 +0000 (13:49 +0000)]
2010-11-29 Phil Muldoon <pmuldoon@redhat.com>
PR python/12199
* python/py-breakpoint.c (bppy_delete_breakpoint): New function.
2010-11-29 Phil Muldoon <pmuldoon@redhat.com>
PR python/12199
* gdb.python/py-breakpoint.exp: Test the delete method.
2010-11-29 Phil Muldoon <pmuldoon@redhat.com>
PR python/12199
* gdb.texinfo (Breakpoints In Python): Document "delete" method.
Andreas Schwab [Mon, 29 Nov 2010 11:01:42 +0000 (11:01 +0000)]
* configure.ac: Move comment to remove extra space in last argument
of GCC_TARGET_TOOL.
gdbadmin [Mon, 29 Nov 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 28 Nov 2010 23:00:06 +0000 (23:00 +0000)]
daily update
Jan Kratochvil [Sun, 28 Nov 2010 04:33:47 +0000 (04:33 +0000)]
gdb/
Fix step_resume_breakpoint unsaved during an infcall.
* gdbthread.h (struct thread_control_state): Move here field
step_resume_breakpoint ...
(struct thread_info): ... from here.
* infrun.c (save_infcall_control_state): Reset
control.step_resume_breakpoint to NULL.
(restore_infcall_control_state, discard_infcall_control_state): Delete
control.step_resume_breakpoint.
* arm-linux-tdep.c, infrun.c, thread.c: Update all the references to
the moved field.
gdb/testsuite/
Fix step_resume_breakpoint unsaved during an infcall.
* gdb.base/step-resume-infcall.exp: New file.
* gdb.base/step-resume-infcall.c: New file.
Jan Kratochvil [Sun, 28 Nov 2010 04:31:25 +0000 (04:31 +0000)]
gdb/
Rename and move inferior_thread_state and inferior_status.
* gdbthread.h (struct thread_control_state): New struct, move fields
step_range_start, step_range_end, step_frame_id, step_stack_frame_id,
trap_expected, proceed_to_finish, in_infcall, step_over_calls,
stop_step and stop_bpstat here from struct thread_info.
(struct thread_suspend_state): New struct, move field stop_signal here
from struct thread_info.
(struct thread_info): Move the fields above from this struct.
* inferior.h: Move the inferior_thread_state and inferior_status
declarations comment to their definitions at infrun.c.
(struct inferior_control_state): New struct, move field stop_soon from
struct inferior here.
(struct inferior_suspend_state): New empty struct.
(struct inferior): New fields control and suspend. Move out field
stop_soon.
* infrun.c (struct inferior_thread_state): Rename to ...
(infcall_suspend_state): ... here. Replace field stop_signal by
fields thread_suspend and inferior_suspend.
(save_inferior_thread_state): Rename to ...
(save_infcall_suspend_state): ... here. New variable inf. Update the
code for new fields.
(restore_inferior_thread_state): Rename to ...
(restore_infcall_suspend_state): ... here. New variable inf. Update
the code for new fields.
(do_restore_inferior_thread_state_cleanup): Rename to ...
(do_restore_infcall_suspend_state_cleanup): ... here.
(make_cleanup_restore_inferior_thread_state): Rename to ...
(make_cleanup_restore_infcall_suspend_state): ... here.
(discard_inferior_thread_state): Rename to ...
(discard_infcall_suspend_state): ... here.
(get_inferior_thread_state_regcache): Rename to ...
(get_infcall_suspend_state_regcache): ... here.
(struct inferior_status): Rename to ...
(struct infcall_control_state): ... here. Replace fields
step_range_start, step_range_end, step_frame_id, step_stack_frame_id,
trap_expected, proceed_to_finish, in_infcall, step_over_calls,
stop_step, stop_bpstat and stop_soon by fields thread_control and
inferior_control.
(save_inferior_status): Rename to ...
(save_infcall_control_state): ... here. Update the code for new
fields.
(restore_inferior_status): Rename to ...
(restore_infcall_control_state): ... here. Update the code for new
fields.
(do_restore_inferior_status_cleanup): Rename to ...
(do_restore_infcall_control_state_cleanup): ... here.
(make_cleanup_restore_inferior_status): Rename to ...
(make_cleanup_restore_infcall_control_state): ... here.
(discard_inferior_status): Rename to ...
(discard_infcall_control_state): ... here.
* alpha-tdep.c, breakpoint.c, dummy-frame.c, dummy-frame.h,
exceptions.c, fbsd-nat.c, gdbthread.h, infcall.c, infcmd.c,
inferior.c, inferior.h, infrun.c, linux-nat.c, mi/mi-interp.c,
mips-tdep.c, procfs.c, solib-irix.c, solib-osf.c, solib-spu.c,
solib-sunos.c, solib-svr4.c, thread.c, windows-nat.c: Update all the
references to the moved fields and renamed functions.
gdbadmin [Sun, 28 Nov 2010 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 27 Nov 2010 23:00:05 +0000 (23:00 +0000)]
daily update
Eric Botcazou [Sat, 27 Nov 2010 15:55:17 +0000 (15:55 +0000)]
* bootstrap-lto.mk (BOOT_ADAFLAGS): Delete.
gdbadmin [Sat, 27 Nov 2010 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Fri, 26 Nov 2010 23:00:05 +0000 (23:00 +0000)]
daily update
Alan Modra [Fri, 26 Nov 2010 05:35:01 +0000 (05:35 +0000)]
* dwarf.c (decode_location_expression, display_debug_frames): Move
code handling DW_EH_PE_pcrel into..
(get_encoded_value): ..here.
Alexandre Oliva [Fri, 26 Nov 2010 04:56:39 +0000 (04:56 +0000)]
PR other/46020
* configure.ac (CXX_FOR_TARGET): Add -funconfigured-libstdc++-v3.
* Makefile.def (CXX_FOR_TARGET): Removed from flags_to_pass.
* Makefile.tpl (CXX_FOR_TARGET_FLAG_TO_PASS): New.
(BASE_FLAGS_TO_PASS): Use it.
* configure: Rebuilt.
* Makefile.in: Rebuilt.
Jan Kratochvil [Fri, 26 Nov 2010 03:39:10 +0000 (03:39 +0000)]
gdb/
* infcall.c (struct inferior_thread_state) <siginfo_gdbarch>: Fix up
the comment.
(save_inferior_thread_state): Reset tp->stop_signal.
Jan Kratochvil [Fri, 26 Nov 2010 00:33:56 +0000 (00:33 +0000)]
Fix ChangeLog entry.
Jan Kratochvil [Fri, 26 Nov 2010 00:30:31 +0000 (00:30 +0000)]
gdb/
* infcall.c (caller_state_cleanup): Remove variable caller_state_cleanup.
Alan Modra [Fri, 26 Nov 2010 00:00:55 +0000 (00:00 +0000)]
update japanese translation
gdbadmin [Fri, 26 Nov 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Marc Khouzam [Thu, 25 Nov 2010 23:17:30 +0000 (23:17 +0000)]
2010-11-25 Marc Khouzam <marc.khouzam@ericsson.com>
PR breakpoints/12217
* breakpoint.c (is_marker_spec): Check for NULL.
Alan Modra [Thu, 25 Nov 2010 23:00:05 +0000 (23:00 +0000)]
daily update
Pedro Alves [Thu, 25 Nov 2010 13:10:07 +0000 (13:10 +0000)]
* breakpoint.h: No longer include python.h or python-internal.h.
(struct breakpoint_object): Forward declare.
* defs.h (PyObject) [!HAVE_PYTHON]: Don't define.
* varobj.c (PyObject) [!HAVE_PYTHON]: Define.
* python/py-breakpoint.c (build_bp_list): Cast py_bp_object to
PyObject pointer.
(gdbpy_breakpoint_created): Remove casts around py_bp_object
accesses.
Matthew Gretton-Dann [Thu, 25 Nov 2010 09:34:43 +0000 (09:34 +0000)]
* ld/testsuite/ld-arm/arm-elf.exp (armeabitests): Replace --defsym argument in
jump-reloc-veneers* tests with --section-start .text=0x8000.
Andreas Krebbel [Thu, 25 Nov 2010 09:33:54 +0000 (09:33 +0000)]
2010-11-25 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/tc-s390.c (current_cpu): Initialize with latest CPU.
(init_default_arch): Default to z/Architecture mode if CPU provides it.
Remove the check setting the CPU default.
2010-11-25 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* opcode/s390.h (enum s390_opcode_cpu_val): Add S390_OPCODE_MAXCPU.
Alan Modra [Thu, 25 Nov 2010 06:08:52 +0000 (06:08 +0000)]
Update translations
Alan Modra [Thu, 25 Nov 2010 03:03:02 +0000 (03:03 +0000)]
* scripttempl/elf.sc: Group .text.exit, text.startup and .text.hot
sections.
Alan Modra [Thu, 25 Nov 2010 01:15:14 +0000 (01:15 +0000)]
PR gas/12264
* compress-debug.c: Include config.h first.
Joel Brobecker [Thu, 25 Nov 2010 01:06:30 +0000 (01:06 +0000)]
Add rs6000-core.c/.o to the list of optional backend files...
This makes sure that rs6000-core.c gets recompiled whenever any of its
dependencies get changed.
bfd/ChangeLog:
* Makefile.am (OPTIONAL_BACKENDS): Add rs6000-core.lo.
(OPTIONAL_BACKENDS_CFILES): Add rs6000-core.c.
* Makefile.in: Regenerate.
Joel Brobecker [Thu, 25 Nov 2010 00:23:39 +0000 (00:23 +0000)]
Build failure on ppc-aix (bfd_elf_get_obj_attr_int is undefined)
bfd_uses_spe_extensions should only be used when BFD has been built
with ELF support. The typical way of checking that in GDB is to use
the HAVE_ELF macro.
gdb/ChangeLog:
* rs6000-tdep.c (bfd_uses_spe_extensions): Use bfd_elf_get_obj_attr_int
only if HAVE_ELF is defined.
gdbadmin [Thu, 25 Nov 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Wed, 24 Nov 2010 23:00:04 +0000 (23:00 +0000)]
daily update
Mike Frysinger [Wed, 24 Nov 2010 22:20:02 +0000 (22:20 +0000)]
gas: bfin: convert to new doc style
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Jan Kratochvil [Wed, 24 Nov 2010 19:08:30 +0000 (19:08 +0000)]
gdb/
Code cleanup.
* infrun.c (struct inferior_status) <stepping_over_breakpoint>
(save_inferior_status) <stepping_over_breakpoint>
(restore_inferior_status) <stepping_over_breakpoint>: Rename to
trap_expected.
(struct inferior_status) <step_resume_break_address>: Remove.
Jan Kratochvil [Wed, 24 Nov 2010 19:05:46 +0000 (19:05 +0000)]
gdb/
* infrun.c (struct inferior_status, save_inferior_status)
(restore_inferior_status): Group and reorder the fields, comment their
groups.
Jan Kratochvil [Wed, 24 Nov 2010 19:01:51 +0000 (19:01 +0000)]
gdb/
Code cleanup.
* dictionary.c
(struct dict_vector) <iter_match_first, iter_match_next>
(iter_match_first_hashed, iter_match_next_hashed)
(iter_match_first_linear, iter_match_next_linear)
(dict_iter_match_first, dict_iter_match_next, iter_match_first_hashed)
(iter_match_next_hashed, iter_match_first_linear)
(iter_match_next_linear): Use symbol_compare_ftype.
* dictionary.h: Include symfile.h.
(dict_iter_match_first, dict_iter_match_next): Use
symbol_compare_ftype.
* dwarf2read.c (dw2_map_matching_symbols): Likewise.
* psymtab.c (match_partial_symbol, match_partial_symbol, map_block)
(map_matching_symbols_psymtab): Likewise.
* symfile.h (symbol_compare_ftype): New typedef.
(struct quick_symbol_functions) <map_matching_symbols): Use
symbol_compare_ftype.
Thiago Jung Bauermann [Wed, 24 Nov 2010 18:06:18 +0000 (18:06 +0000)]
2010-11-24 Edjunior Machado <emachado@br.ibm.com>
* gdb.asm/powerpc.inc: Use 'sys_exit' on gdbasm_exit0 macro.
Thiago Jung Bauermann [Wed, 24 Nov 2010 17:57:34 +0000 (17:57 +0000)]
2010-11-24 Edjunior Machado <emachado@br.ibm.com>
* gdb.asm/asm-source.exp: Add new target "powerpc64"; expect leading `.'
on ppc64's symbols; "finish" and "return" commands must accept to
show the caller line again as well as the line after.
* gdb.asm/powerpc64.inc: New file.
gdbadmin [Wed, 24 Nov 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Tue, 23 Nov 2010 23:30:04 +0000 (23:30 +0000)]
PR ld/12253
* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct
DW_EH_PE_datarel handling. Truncate .eh_frame_hdr address to
ptr_size.
Alan Modra [Tue, 23 Nov 2010 23:00:04 +0000 (23:00 +0000)]
daily update
Doug Evans [Tue, 23 Nov 2010 22:25:37 +0000 (22:25 +0000)]
* lib/gdb.exp (gdb_test_sequence): New function.
(gdb_expect_list): Add verbose -log call for each pattern.
* gdb.base/signals.exp (test_handle_all_print): Call it.
Reduce timeout increment from 6 minutes to 1 minute.
* gdb.server/ext-run.exp: Call it.
Richard Sandiford [Tue, 23 Nov 2010 20:24:32 +0000 (20:24 +0000)]
include/opcode/
* mips.h: Fix previous commit.
Sterling Augustine [Tue, 23 Nov 2010 19:19:38 +0000 (19:19 +0000)]
2010-11-23 Sterling Augustine <sterling@tensilica.com>
* doc/as.texinfo: Refer to and include c-xtensa.texi for Xtensa
options. Move Xtensa options to proper alphabetical location.
* doc/c-xtensa.texi: Add markup for use in manpage generation.
H.J. Lu [Tue, 23 Nov 2010 18:10:14 +0000 (18:10 +0000)]
Properly check default linker.
2010-11-23 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/12258
* configure.ac: Correct comments for --enable-gold/--enable-ld.
Properly check default linker.
* configure: Regnerated.
Nick Clifton [Tue, 23 Nov 2010 17:04:13 +0000 (17:04 +0000)]
* mips.h (INSN_CHIP_MASK): Update according to INSN_LOONGSON_3A.
(INSN_LOONGSON_3A): Clear bit 31.
* elfxx-mips.c (mips_set_isa_flags): Move bfd_mach_loongson_3a
after bfd_mach_mips_sb1.
* config/tc-mips.c (mips_cpu_info_table): Move loongson3a after sb1.
H.J. Lu [Tue, 23 Nov 2010 15:27:36 +0000 (15:27 +0000)]
Refer to and include c-i386.texi for i386 options.
2010-11-23 H.J. Lu <hongjiu.lu@intel.com>
* doc/as.texinfo: Refer to and include c-i386.texi for i386
options.
* doc/c-i386.texi: Add markup for use in manpage generation.
Tom Tromey [Tue, 23 Nov 2010 14:39:16 +0000 (14:39 +0000)]
gdb
* configure: Rebuild.
* configure.ac (READLINE_TEXI_INCFLAG): New subst.
gdb/doc
* gdb.texinfo (Top): Check SYSTEM_READLINE.
(Editing): Likewise.
(Command History): Likewise.
(TUI Keys): Likewise.
(Bug Reporting): Conditionally include rluser.texi and
inc-history.texinfo.
* Makefile.in (READLINE_TEXI_INCFLAG): New variable.
(GDB_DOC_SOURCE_INCLUDES): Add comment.
(GDBvn.texi): Set SYSTEM_READLINE when appropriate.
(gdb.dvi): Use READLINE_TEXI_INCFLAG.
(gdb.pdf): Likewise.
(gdb.info): Likewise.
(gdb/index.html): Likewise.
Tom Tromey [Tue, 23 Nov 2010 14:37:26 +0000 (14:37 +0000)]
gdb
* Makefile.in (SUBDIRS): Add doc.
* configure: Rebuild.
* configure.ac: Don't configure in doc. Create doc/Makefile.
gdb/doc
* Makefile.in (Makefile): Run ../config.status.
(distclean): Update.
* configure: Remove.
* configure.ac: Remove.
Nick Clifton [Tue, 23 Nov 2010 13:39:57 +0000 (13:39 +0000)]
* configure.ac: For --enable-gold, handle value `default' instead of
`both*'. New configure option --{en,dis}able-ld.
ld, gold/
* configure.ac: For --enable-gold, handle value `default' instead of
`both*'. Always install ld as ld.gold, install as ld if gold is
the default.
Phil Muldoon [Tue, 23 Nov 2010 13:33:23 +0000 (13:33 +0000)]
2010-11-23 Phil Muldoon <pmuldoon@redhat.com>
PR python/12212
* python/py-inferior.c (find_thread_object): Check if PIDGET
returns 0.
2010-11-23 Phil Muldoon <pmuldoon@redhat.com>
PR python/12212
* gdb.python/python.exp: Check that selected_thread raises an
error when no inferior is loaded.
Mike Frysinger [Tue, 23 Nov 2010 02:48:54 +0000 (02:48 +0000)]
sim: profile: fix building with --disable-sim-profile
When the sim is configured with profile support disabled, the build fails:
./../common/sim-profile.c: In function 'profile_option_handler':
./../common/sim-profile.c:337:6: warning: implicit declaration of function 'PROFILE_PC_FREQ'
./../common/sim-profile.c:337:6: error: lvalue required as left operand of assignment
./../common/sim-profile.c:351:6: warning: implicit declaration of function 'PROFILE_PC_NR_BUCKETS'
./../common/sim-profile.c:351:6: error: lvalue required as left operand of assignment
./../common/sim-profile.c:381:6: warning: implicit declaration of function 'PROFILE_PC_SHIFT'
./../common/sim-profile.c:381:6: error: lvalue required as left operand of assignment
./../common/sim-profile.c:405:8: warning: implicit declaration of function 'PROFILE_PC_START'
./../common/sim-profile.c:405:8: error: lvalue required as left operand of assignment
./../common/sim-profile.c:406:8: warning: implicit declaration of function 'PROFILE_PC_END'
./../common/sim-profile.c:406:8: error: lvalue required as left operand of assignment
./../common/sim-profile.c: In function 'profile_uninstall':
./../common/sim-profile.c:1299:7: warning: implicit declaration of function 'PROFILE_INSN_COUNT'
./../common/sim-profile.c:1299:37: warning: comparison between pointer and integer
./../common/sim-profile.c:1300:2: warning: passing argument 1 of 'zfree' makes pointer from integer without a cast
../common/sim-utils.h:30:6: note: expected 'void *' but argument is of type 'int'
make[2]: *** [sim-profile.o] Error 1
So add some stubs similar to how some of the other subsystems are
stubbed out so things build correctly.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Tue, 23 Nov 2010 02:45:29 +0000 (02:45 +0000)]
sim: cast away hw/device differences
When building with device and hw support, the sim-core code generates a
lot of build time warnings such as:
./../common/sim-core.c: In function 'sim_core_map_attach':
./../common/sim-core.c:198:7: warning: passing argument 1 of 'device_error' from incompatible pointer type
../common/sim-core.h:347:6: note: expected 'struct device *' but argument is of type 'struct hw *'
./../common/sim-core.c:235:7: warning: passing argument 1 of 'device_error' from incompatible pointer type
../common/sim-core.h:347:6: note: expected 'struct device *' but argument is of type 'struct hw *'
In reality, these two structures get cast back and forth in the core
code already and so are "compatible". So tweak the three functions
that generate all of these warnings to include the casts automatically.
I know this isn't exactly clean, but the current device/hw ifdef
approach is full of landmines itself and I'm not entirely sure how
to unscrew it.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Joel Brobecker [Tue, 23 Nov 2010 01:12:05 +0000 (01:12 +0000)]
Delete redundant variable in ada_template_to_fixed_record_type_1.
gdb/ChangeLog:
* ada-lang.c (ada_template_to_fixed_record_type_1): Delete bit_incr.
Joel Brobecker [Tue, 23 Nov 2010 01:10:54 +0000 (01:10 +0000)]
[Ada] array pointers encoded as typedef to fat pointer
A recent change in check_typedef caused the following regression,
considering:
type String_Access is access String;
S1 : String_Access := null;
Trying to print S1, we get:
(gdb) print s1
$1 = (string) (null)
The type name is wrong. We were expecting:
(gdb) print s1
$1 = (string_bug.string_access) (null)
The extensive comment in this patch explains how pointers to arrays
are encoded when the array is a "fat pointer". What happened is
that the change in check_typedef broke a type-equality test that
we were performing. The test really was on the fringe, but it
turns out that, for what we're doing, we're really only interested
in the main-type portion of the type.
The patch adjust the check accordingly.
gdb/ChangeLog:
* ada-lang.c (ada_to_fixed_type): Expand function documentation.
Return the original type if the main type portions match rather
than when the type themselves match.
Joel Brobecker [Tue, 23 Nov 2010 01:07:22 +0000 (01:07 +0000)]
GDB SEGV while trying to print uninitialize variant record
We have a variant record whose value is defined as follow:
type Discriminant_Record (Num1, Num2,
Num3, Num4 : Natural) is record
Field1 : My_Record_Array (1 .. Num2);
Field2 : My_Record_Array (Num1 .. 10);
Field3 : My_Record_Array (Num1 .. Num2);
Field4 : My_Record_Array (Num3 .. Num2);
Field5 : My_Record_Array (Num4 .. Num2);
end record;
Dire : Discriminant_Record (1, 7, 3, 0);
However, we're trying to print "Dire" before it is elaborated.
This is common if one breaks on a function and then starts doing
"info locals" for instance.
What happens is that GDB reads bogus values for fields Num1 to
Num4, and deduces a bogus (ginormouos) size for component
"Field1". The length is so large that it then later causes
an overflow in the overall record length computation. Things
go downhill from there, because length(field1) > length(record).
So, when after we've fetched the value of the record based on
the computed size, we crash trying to access unallocated memory
when accessing field1...
The first fix we can do is to check the size of the field
against the maximum object size. If it exceeds that size,
then we know the record will also exceed that size...
gdb/ChangeLog:
* ada-lang.c (ada_template_to_fixed_record_type_1):
For dynamic fields, check the field size against the maximum
object size.
Joel Brobecker [Tue, 23 Nov 2010 01:06:08 +0000 (01:06 +0000)]
support for mips-irix on-stack trampolines
On mips-irix, the debugger has trouble stepping over the following
line of code:
S: Shape'Class := R; <<<<---- STOP here
Here is what happens:
(gdb) n
warning: GDB can't find the start of the function at 0x7fff2bd8.
GDB is unable to find the start of the function at 0x7fff2bd8
and thus can't determine the size of that function's stack frame.
This means that GDB may be unable to access that stack frame, or
the frames below it.
This problem is most likely caused by an invalid program counter or
stack pointer.
However, if you think GDB should simply search farther back
from 0x7fff2bd8 for code which looks like the beginning of a
function, you can increase the range of the search using the `set
heuristic-fence-post' command.
0x7fff2bd8 in ?? ()
The program does in fact jump to this code location, which is a trampoline
located on the stack (there is an implicit call to a routine internally
generated by the Ada expander). As it is on the stack, GDB is naturally
unable to find the bounds of the current function, or any debugging
information, and is thus unable to continue.
This patch adds support for this sort of trampoline.
gdb/ChangeLog:
* mips-irix-tdep.c (mips_irix_n32_stack_tramp_frame_init): New
function.
(mips_irix_n32_stack_tramp_frame): New static global.
(mips_irix_init_abi): Add mips_irix_n32_stack_tramp_frame to
list of unwinder.
Joel Brobecker [Tue, 23 Nov 2010 01:04:54 +0000 (01:04 +0000)]
[Ada/tasks] Optimize ATCB lookups
Type symbols that are used to decode the Ada task control block may be
duplicated in any unit that uses a tasking feature; an Ada lookup of
these symbols would collect all the duplicated instances and could
provoke the load of a huge amount of debug symbols in the process.
However, when decoding the task information, we are only interested in
one instance; and we have the full name of the symbol anyway. So use
a C lookup instead of an Ada lookup.
2010-11-05 Jerome Guitton <guitton@adacore.com>
* ada-tasks.c (get_tcb_types_info): Use C lookups to get
ATCB symbols.
Joel Brobecker [Tue, 23 Nov 2010 01:03:54 +0000 (01:03 +0000)]
infinite recursion with ada_check_typedef
When trying to resolve an incomplete type, if there is no complete
version of that type available, GDB can go in an infinite loop.
This is because ada_check_typedef makes a recursive call to itself,
in an attempt to make sure that the returned type is never a typedef.
However, when no complete type is found, the current logic causes us
to keep going indefinitely through the same path...
This patch fixes the problem by performing the recursive call to
ada_check_typedef only when a TYPE_CODE_TYPDEF layer needs to be
stripped.
gdb/ChangeLog:
* ada-lang.c (ada_check_typedef): Call ada_check_typedef only
if type1 is a typedef.
Joel Brobecker [Tue, 23 Nov 2010 01:01:22 +0000 (01:01 +0000)]
Add `_finalizer' to the list of known GNAT auxilary routines.
This is a new routine that is being generated by the expander in
the context of controlled types. This patch adds it to the list of such
routines so that the debugger does not show it when selecting the first
"user" frame (when switching tasks for instance).
gdb/ChangeLog:
* ada-lang.h (ADA_KNOWN_AUXILIARY_FUNCTION_NAME_PATTERNS): Add
"_finalizer" to the list.
Joel Brobecker [Tue, 23 Nov 2010 00:59:58 +0000 (00:59 +0000)]
Remove commented-out code in symfile.c
This patch removes some code that has been `#if 0'-ed since at least
1999 or 2000...
gdb/ChangeLog:
* symfile.c: Remove all "#if 0"/"#endif" blocks.
Joel Brobecker [Tue, 23 Nov 2010 00:58:55 +0000 (00:58 +0000)]
symfile.c: Add missing second space after period.
gdb/ChangeLog:
* symfile.c: Add missing second space after period in various comments.
Joel Brobecker [Tue, 23 Nov 2010 00:58:04 +0000 (00:58 +0000)]
Minor comment reformatting in ada-typeprint.c
gdb/ChangeLog:
* ada-typeprint.c (print_array_type): Fix formatting in comment.
(print_selected_record_field_types): Fix formatting in function
documentation.
Joel Brobecker [Tue, 23 Nov 2010 00:56:52 +0000 (00:56 +0000)]
copy/paste typo when registering the `show ravenscar' prefix command
gdb/ChangeLog:
* ravenscar-thread.c (_initialize_ravenscar): Fix copy/paste typo
in name of "show ravenscar" prefix command name.
Joel Brobecker [Tue, 23 Nov 2010 00:55:50 +0000 (00:55 +0000)]
Add missing \n in `show ravenscar task-switching' output
A new-line was missing at the end of the output of the `show ravenscar
task-switching' command. For instance:
(gdb) show ravenscar task-switching
Support for Ravenscar task/thread switching is enabled(gdb)
This patch fixes it.
gdb/ChangeLog:
* ravenscar-thread.c (show_ravenscar_task_switching_command):
Add missing '\n' in output.
Joel Brobecker [Tue, 23 Nov 2010 00:55:08 +0000 (00:55 +0000)]
[Ada/ravenscar] New name for active-thread symbol
The GNAT Ravenscar implementation has recently been enhanced to allow
programs using that runtime to run on multi-cpu systems. One of the
changes that were made is that the name of the symbol we use to
determine which task is the currently-running task has changed.
This patch enhances the debugger to use the new name, and fallback on
the old name if not found (this is for compatibility with older versions
of the compiler/runtime).
gdb/ChangeLog:
* ravenscar-thread.c (running_thread_name): Change value.
(read_thread_id): Remove advance declaration.
(get_running_thread_msymbol): New function.
(has_ravenscar_runtime): Use get_running_thread_msymbol to
compute msym_running_thread.
(get_running_thread_id): Renames read_thread_id. Slight modifications
to not take any argument anymore, using get_running_thread_msymbol
to determine which symbol to use instead.
(ravenscar_running_thread): Use get_running_thread_id instead of
read_thread_id.
Joel Brobecker [Tue, 23 Nov 2010 00:34:42 +0000 (00:34 +0000)]
Move ChangeLog entry to the correct ChangeLog file.
Joel Brobecker [Tue, 23 Nov 2010 00:29:45 +0000 (00:29 +0000)]
ravenscar/sparc: cannot fetch registers from non-active thread
gdb/ChangeLog:
* ravenscar-sparc-thread.c (supply_register_at_address):
Fix passing of buf in call to regcache_raw_supply.
gdbadmin [Tue, 23 Nov 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Mon, 22 Nov 2010 23:00:05 +0000 (23:00 +0000)]
daily update
Joseph Myers [Mon, 22 Nov 2010 22:11:52 +0000 (22:11 +0000)]
* doc/as.texinfo: Refer to or include c-alpha.texi for Alpha
options. Refer to or include c-tic6x.texi for C6X options instead
of duplicating documentation here.
* doc/c-alpha.texi, doc/c-tic6x.texi: Add markup for use in
manpage generation.
Jan Kratochvil [Mon, 22 Nov 2010 20:35:02 +0000 (20:35 +0000)]
gdb/
* dwarf2read.c (dwarf2_read_index): Ignore higher .gdb_index versions.
Tom Tromey [Mon, 22 Nov 2010 20:30:58 +0000 (20:30 +0000)]
* Makefile.in (.PRECIOUS): Reference ada-lex.c.
gdbadmin [Mon, 22 Nov 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 21 Nov 2010 23:00:05 +0000 (23:00 +0000)]
daily update
H.J. Lu [Sun, 21 Nov 2010 21:27:15 +0000 (21:27 +0000)]
Add and use elfcomm.c/elfcomm.h.
2010-11-21 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/12235
* elfcomm.c: New.
* elfcomm.h: Likewise.
* Makefile.am (HFILES): Add elfcomm.h.
(CFILES): Add elfcomm.c.
(ELFLIBS): New.
(readelf_SOURCES): Add $(ELFLIBS).
(elfedit_SOURCES): Likewise.
(objdump_SOURCES): Likewise.
* Makefile.in: Regenerated.
* dwarf.c: Include "elfcomm.h".
(byte_get): Removed.
(byte_get_little_endian): Likewise.
(byte_get_big_endian): Likewise.
(byte_get_signed): Likewise.
(error): Likewise.
(warn): Likewise.
* dwarf.h (dwarf_vma): Defined with HOST_WIDEST_INT.
(dwarf_size_type): Likewise.
(byte_get): Removed.
(byte_get_signed): Likewise.
(byte_get_little_endian): Likewise.
(byte_get_big_endian): Likewise.
(error): Likewise.
(warn): Likewise.
* elfedit.c: Include "elfcomm.h". Don't include "aout/ar.h".
Call error () instead of non_fatal ().
(streq): Removed.
(strneq): Likewise.
(const_strneq): Likewise.
(non_fatal): Likewise.
(BYTE_GET): Likewise.
(BYTE_PUT): Likewise.
(byte_get): Likewise.
(byte_put): Likewise.
(byte_get_little_endian): Likewise.
(byte_get_big_endian): Likewise.
(byte_put_little_endian): Likewise.
(byte_put_big_endian): Likewise.
(adjust_relative_path): Likewise.
(archive_info): Likewise.
(setup_archive): Likewise.
(release_archive): Likewise.
(setup_nested_archive): Likewise.
(get_archive_member_name): Likewise.
(get_archive_member_name_at): Likewise.
(make_qualified_name): Likewise.
* objdump.c: Include "elfcomm.h".
* readelf.c: Include "elfcomm.h". Don't include "aout/ar.h".
(BYTE_GET): Removed.
(BYTE_GET_SIGNED): Removed.
(streq): Likewise.
(strneq): Likewise.
(const_strneq): Likewise.
(byte_put): Likewise.
(byte_put_little_endian): Likewise.
(byte_put_big_endian): Likewise.
(adjust_relative_path): Likewise.
(archive_info): Likewise.
(setup_archive): Likewise.
(release_archive): Likewise.
(setup_nested_archive): Likewise.
(get_archive_member_name): Likewise.
(get_archive_member_name_at): Likewise.
(make_qualified_name): Likewise.
H.J. Lu [Sun, 21 Nov 2010 20:36:25 +0000 (20:36 +0000)]
Re-indent plugin code.
2010-11-21 H.J. Lu <hongjiu.lu@intel.com>
* ldfile.c: Re-indent plugin code.
* ldlang.c: Likewise.
* ldmain.c: Likewise.
* plugin.c: Likewise.
DJ Delorie [Sun, 21 Nov 2010 04:01:17 +0000 (04:01 +0000)]
merge from gcc
Ian Lance Taylor [Sun, 21 Nov 2010 01:56:30 +0000 (01:56 +0000)]
* configure.ac: Only disable a language library if no language needs
it. Don't let --disable-libgcj uncondtionally disable libffi.
* configure: Rebuild.
Also moved ChangeLog entry to correct file.
gdbadmin [Sun, 21 Nov 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 20 Nov 2010 23:00:08 +0000 (23:00 +0000)]
daily update
Paolo Bonzini [Sat, 20 Nov 2010 20:31:10 +0000 (20:31 +0000)]
sync toplevel with gcc
Ralf Wildenhues [Sat, 20 Nov 2010 19:37:58 +0000 (19:37 +0000)]
PR other/46202: implement install-strip.
/:
PR other/46202
* configure.ac: Fix just-built in-tree STRIP name to be
binutils/strip-new.
* configure: Regenerate.
* Makefile.def (install-strip-gcc, install-strip-binutils)
(install-strip-opcodes, install-strip-ld, install-strip-itcl)
(install-strip-sid): Mirror dependencies on non-strip variants
of these targets on the respective -strip prerequisites.
* Makefile.tpl (install-strip, install-strip-host)
(install-strip-target): New targets.
(install-strip-[+module+], install-strip-target-[+module+]):
New targets.
* Makefile.in: Regenerate.
etc/:
* Makefile.in (install-strip): New target.
libiberty/:
PR other/46202
* Makefile.in (install-strip): New phony target.
(install): Also mark as phony.
H.J. Lu [Sat, 20 Nov 2010 17:34:16 +0000 (17:34 +0000)]
Set alignment of common plugin symbol to 1 for For ELF targets.
2010-11-20 H.J. Lu <hongjiu.lu@intel.com>
PR ld/12246
* plugin.c (asymbol_from_plugin_symbol): Set alignment of
common symbol to 1 for For ELF targets.
H.J. Lu [Sat, 20 Nov 2010 17:32:07 +0000 (17:32 +0000)]
Properly report loading plugin error.
2010-11-20 H.J. Lu <hongjiu.lu@intel.com>
PR ld/12247
* lexsup.c (parse_args): Properly report loading plugin error.
Richard Sandiford [Sat, 20 Nov 2010 15:36:34 +0000 (15:36 +0000)]
binutils/testsuite/
* lib/binutils-common.exp (regexp_diff): New procedure.
* lib/utils-lib.exp (regexp_diff): Delete.
gas/testsuite/
* lib/gas-defs.exp (regexp_diff): Delete.
(run_dump_test): Remove final "" argument in call to regexp_diff.
(run_list_test): Likewise.
(run_list_test_stdin): Likewise.
* gas/all/gas.exp (test_cond): Likewise.
* gas/elf/elf.exp (run_elf_list_test): Likewise.
* gas/m68k/all.exp: Likewise.
* gas/mep/complex-relocs.exp (regexp_test): Likewise.
* gas/mt/relocs.exp (regexp_test): Likewise.
* gas/symver/symver.exp (run_error_test): Likewise.
ld/testsuite/
* lib/ld-lib.exp (regexp_diff, simple_diff): Delete.
Richard Sandiford [Sat, 20 Nov 2010 15:36:10 +0000 (15:36 +0000)]
binutils/testsuite/
* lib/binutils-common.exp: New file.
* lib/utils-lib.exp (load_common_lib): New function. Load
binutils-common.exp.
(is_elf_format): Delete.
gas/testsuite/
* lib/gas-defs.exp (load_common_lib): New function. Load
binutils-common.exp.
(is_elf_format, is_aout_format, is_pecoff_format): Delete.
ld/testsuite/
* lib/ld-lib.exp (load_common_lib): New function. Load
binutils-common.exp.
(is_elf_format, is_elf64, is_aout_format, is_pecoff_format): Delete.
Jan Kratochvil [Sat, 20 Nov 2010 01:53:04 +0000 (01:53 +0000)]
gdb/testsuite/
* gdb.dwarf2/dw2-stack-boundary.exp: New file.
* gdb.dwarf2/dw2-stack-boundary.S: New file.
Jan Kratochvil [Sat, 20 Nov 2010 01:49:17 +0000 (01:49 +0000)]
gdb/testsuite/
* gdb.dwarf2/dw2-ada-
ffffffff.S: New file.
* gdb.dwarf2/dw2-ada-
ffffffff.exp: New file.
gdbadmin [Sat, 20 Nov 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Keith Seitz [Fri, 19 Nov 2010 23:36:32 +0000 (23:36 +0000)]
* data-directory/Makefile.in (SYSCALLS_INSTALL_DIR):
Remove extraneous '/' after $(DESTDIR).
(PYTHON_INSTALL_DIR): Likewise.
Alan Modra [Fri, 19 Nov 2010 23:00:05 +0000 (23:00 +0000)]
daily update
Jan Kratochvil [Fri, 19 Nov 2010 22:30:47 +0000 (22:30 +0000)]
gdb/
Fix stale memory references.
* elfread.c (elf_symfile_read): Replace xmalloc by bfd_alloc, drop
xfree, new comment.
Ian Lance Taylor [Fri, 19 Nov 2010 22:06:27 +0000 (22:06 +0000)]
Merge from gcc top-level.
./:
* configure.ac: Add target-libgo to target_libraries. Set
and substitute GOC_FOR_BUILD and GOC_FOR_TARGET.
* Makefile.tpl (BUILD_EXPORTS): Add GOC and GOCFLAGS.
(HOST_EXPORTS): Add GOC.
(BASE_TARGET_EXPORTS): Add GOC.
(GOC_FOR_BUILD, GOCFLAGS, GOC_FOR_TARGET): New variables.
(GOCFLAGS_FOR_TARGET): New variable.
(EXTRA_HOST_FLAGS): Add GOC.
(EXTRA_TARGET_FLAGS): Add GOC and GOCFLAGS.
* Makefile.def (target_modules): Add libgo.
(flags_to_pass): Add GOC_FOR_TARGET and GOCFLAGS_FOR_TARGET.
(dependencies): Add dependency from configure-target-libgo to
configure-target-libffi and all-target-libstdc++-v3. Add
dependencies from all-target-libgo to all-target-libffi.
(languages): Add go.
* configure: Rebuild.
* Makefile.in: Rebuild.
* config-ml.in: Add Go support: treat GOC and GOCFLAGS like other
compiler/flag environment variables.
* configure.ac: Check for lang_requires_boot_languages in
config-lang.in files.
* configure: Rebuild.
PR fortran/32049
* Makefile.def: Add libquadmath; build it with language=fortran.
* configure.ac: Add libquadmath.
* Makefile.tpl: Handle multiple libs in check-[+language+].
* Makefile.in: Regenerate.
* configure: Regenerate.
* configure.ac: Fix spelling in option names.
* configure: Regenerated.
PR bootstrap/39622
* configure.ac (FLAGS_FOR_TARGET): Add include-fixed path.
* configure: Regenerated.
* config/cloog.m4: Add -enable-cloog-backend=(isl|ppl|ppl-legacy) to
define the cloog backend to use. Furthermore, only pass the ppllibs to
the configure checks, if necessary.
* configure: Regenerate.
* config/cloog.m4: Use CLooG predefined macro to check for CLooG PPL.
* configure: regenerate
* config/cloog.m4: Fix typo. verison -> version.
* configure: Regenerate.
* config/cloog.m4: Pass ppl libraries to the CLooG version check.
* configure: Regenerate.
* configure.ac: Support official CLooG.org versions.
* configure: Regenerate.
* config/cloog.m4: New.
* configure.ac (*-*-darwin*): Use mh-darwin for all Darwin variants.
* configure: Regenerate.
config/:
* cloog.m4 (CLOOG_INIT_FLAGS): Fix spelling in option names.
* bootstrap-lto: Use -flto.
* mh-darwin: Renamed from mh-ppc-darwin.
Tom Tromey [Fri, 19 Nov 2010 18:10:51 +0000 (18:10 +0000)]
2010-11-19 Jan Kratochvil <jan.kratochvil@redhat.com>
Tom Tromey <tromey@redhat.com>
* Makefile.in (.y.c): Directly create $@ from YLWRAP.
(.PHONY): Remove for .y outputs.
Tom Tromey [Fri, 19 Nov 2010 16:35:13 +0000 (16:35 +0000)]
2010-11-19 Will Drewry <wad@google.com>
Tavis Ormandy <taviso@google.com>
Jan Kratochvil <jan.kratochvil@redhat.com>
* dwarf2read.c (decode_locdesc): Enforce location description stack
boundaries.
Dave Korn [Fri, 19 Nov 2010 03:31:06 +0000 (03:31 +0000)]
* plugin.c (is_visible_from_outside): New function.
(get_symbols): Use it.
Alan Modra [Fri, 19 Nov 2010 02:32:00 +0000 (02:32 +0000)]
PR 2606
* configure.in: Disable emulations for PE targets.
* configure: Regenerate.
gdbadmin [Fri, 19 Nov 2010 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Doug Kwan [Thu, 18 Nov 2010 23:25:08 +0000 (23:25 +0000)]
2010-11-18 Doug Kwan <dougkwan@google.com>
* expression.cc (BINARY_EXPRESSION): Initialize left_alignment
and right_alignment to be zero. Store result alignment only if it is
greater than existing alignment.