Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
code handling DW_EH_PE_pcrel into..
(get_encoded_value): ..here.
|
|
* 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.
|
|
* infcall.c (struct inferior_thread_state) <siginfo_gdbarch>: Fix up
the comment.
(save_inferior_thread_state): Reset tp->stop_signal.
|
|
|
|
* infcall.c (caller_state_cleanup): Remove variable caller_state_cleanup.
|
|
|
|
|
|
PR breakpoints/12217
* breakpoint.c (is_marker_spec): Check for NULL.
|
|
|
|
(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.
|
|
jump-reloc-veneers* tests with --section-start .text=0x8000.
|
|
* 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.
|
|
|
|
sections.
|
|
* compress-debug.c: Include config.h first.
|
|
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.
|
|
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.
|
|
|
|
|
|
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
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.
|
|
* infrun.c (struct inferior_status, save_inferior_status)
(restore_inferior_status): Group and reorder the fields, comment their
groups.
|
|
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.
|
|
* gdb.asm/powerpc.inc: Use 'sys_exit' on gdbasm_exit0 macro.
|
|
* 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.
|
|
|
|
* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct
DW_EH_PE_datarel handling. Truncate .eh_frame_hdr address to
ptr_size.
|
|
|
|
(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.
|
|
* mips.h: Fix previous commit.
|
|
* 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.
|
|
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.
|
|
(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.
|
|
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.
|
|
* 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.
|
|
* 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.
|
|
`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.
|
|
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.
|
|
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>
|
|
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>
|
|
gdb/ChangeLog:
* ada-lang.c (ada_template_to_fixed_record_type_1): Delete bit_incr.
|
|
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.
|
|
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.
|
|
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.
|