Age | Commit message (Collapse) | Author | Files | Lines |
|
A number of tests will exit early without saying why. This patch adds
"unsupported" at spots like this that I could readily find.
There are definitely more of these; for example dw2-ranges.exp fails
silently because a compilation fails. I didn't attempt to address
these as that is a much larger task.
|
|
This changes some tests to use "require dwarf2_support".
|
|
This commit is the result of running the gdb/copyright.py script,
which automated the update of the copyright year range for all
source files managed by the GDB project to be updated to include
year 2023.
|
|
This commit brings all the changes made by running gdb/copyright.py
as per GDB's Start of New Year Procedure.
For the avoidance of doubt, all changes in this commits were
performed by the script.
|
|
This commits the result of running gdb/copyright.py as per our Start
of New Year procedure...
gdb/ChangeLog
Update copyright year range in copyright header of all GDB files.
|
|
gdb/ChangeLog:
Update copyright year range in all GDB files.
|
|
This commit applies all changes made after running the gdb/copyright.py
script.
Note that one file was flagged by the script, due to an invalid
copyright header
(gdb/unittests/basic_string_view/element_access/char/empty.cc).
As the file was copied from GCC's libstdc++-v3 testsuite, this commit
leaves this file untouched for the time being; a patch to fix the header
was sent to gcc-patches first.
gdb/ChangeLog:
Update copyright year range in all GDB files.
|
|
This patch essentially causes GDB to treat inlined frames like "normal"
frames from the user's perspective. This means, for example, that when a
user sets a breakpoint in an inlined function, GDB will now actually stop
"in" that function.
Using the test case from breakpoints/17534,
3 static inline void NVIC_EnableIRQ(int IRQn)
4 {
5 volatile int y;
6 y = IRQn;
7 }
8
9 __attribute__( ( always_inline ) ) static inline void __WFI(void)
10 {
11 __asm volatile ("nop");
12 }
13
14 int main(void) {
15
16 x= 42;
17
18 if (x)
19 NVIC_EnableIRQ(16);
20 else
21 NVIC_EnableIRQ(18);
(gdb) b NVIC_EnableIRQ
Breakpoint 1 at 0x4003e4: NVIC_EnableIRQ. (2 locations)
(gdb) r
Starting program: 17534
Breakpoint 1, main () at 17534.c:19
19 NVIC_EnableIRQ(16);
Because skip_inline_frames currently skips every inlined frame, GDB "stops"
in the caller. This patch adds a new parameter to skip_inline_frames
that allows us to pass in a bpstat stop chain. The breakpoint locations
on the stop chain can be used to determine if we've stopped inside an inline
function (due to a user breakpoint). If we have, we do not elide the frame.
With this patch, GDB now reports that the inferior has stopped inside the
inlined function:
(gdb) r
Starting program: 17534
Breakpoint 1, NVIC_EnableIRQ (IRQn=16) at 17534.c:6
6 y = IRQn;
Many thanks to Jan and Pedro for guidance on this.
gdb/ChangeLog:
* breakpoint.c (build_bpstat_chain): New function, moved from
bpstat_stop_status.
(bpstat_stop_status): Add optional parameter, `stop_chain'.
If no stop chain is passed, call build_bpstat_chain to build it.
* breakpoint.h (build_bpstat_chain): Declare.
(bpstat_stop_status): Move documentation here from breakpoint.c.
* infrun.c (handle_signal_stop): Before eliding inlined frames,
build the stop chain and pass it to skip_inline_frames.
Pass this stop chain to bpstat_stop_status.
* inline-frame.c: Include breakpoint.h.
(stopped_by_user_bp_inline_frame): New function.
(skip_inline_frames): Add parameter `stop_chain'.
Move documention to inline-frame.h.
If non-NULL, use stopped_by_user_bp_inline_frame to determine
whether the frame should be elided.
* inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
Add moved documentation and update for new parameter.
gdb/testsuite/ChangeLog:
* gdb.ada/bp_inlined_func.exp: Update inlined frame locations
in expected breakpoint stop locations.
* gdb.dwarf2/implptr.exp (implptr_test_baz): Use up/down to
move to proper scope to test variable values.
* gdb.opt/inline-break.c (inline_func1, not_inline_func1)
(inline_func2, not_inline_func2, inline_func3, not_inline_func3):
New functions.
(main): Call not_inline_func3.
* gdb.opt/inline-break.exp: Start inferior and set breakpoints at
inline_func1, inline_func2, and inline_func3. Test that when each
breakpoint is hit, GDB properly reports both the stop location
and the backtrace. Repeat tests for temporary breakpoints.
|
|
gdb/ChangeLog:
Update copyright year range in all GDB files
|
|
This applies the second part of GDB's End of Year Procedure, which
updates the copyright year range in all of GDB's files.
gdb/ChangeLog:
Update copyright year range in all GDB files.
|
|
I noticed more occurrences of improper test names. The rather mechanical,
tedious and large patch below addresses, hopefully, most of the leftover cases.
As usual, another pair of eyes is welcome to check if missed something or did
an invalid substitution.
This patch also fixes the prepare_for_testing calls to pass proper test names.
gdb/testsuite/ChangeLog:
2016-12-23 Luis Machado <lgustavo@codesourcery.com>
Fix test names for the following files:
* gdb.ada/exec_changed.exp
* gdb.ada/info_types.exp
* gdb.arch/aarch64-atomic-inst.exp
* gdb.arch/aarch64-fp.exp
* gdb.arch/altivec-abi.exp
* gdb.arch/altivec-regs.exp
* gdb.arch/amd64-byte.exp
* gdb.arch/amd64-disp-step.exp
* gdb.arch/amd64-dword.exp
* gdb.arch/amd64-entry-value-inline.exp
* gdb.arch/amd64-entry-value-param.exp
* gdb.arch/amd64-entry-value-paramref.exp
* gdb.arch/amd64-entry-value.exp
* gdb.arch/amd64-i386-address.exp
* gdb.arch/amd64-invalid-stack-middle.exp
* gdb.arch/amd64-invalid-stack-top.exp
* gdb.arch/amd64-optimout-repeat.exp
* gdb.arch/amd64-prologue-skip.exp
* gdb.arch/amd64-prologue-xmm.exp
* gdb.arch/amd64-stap-special-operands.exp
* gdb.arch/amd64-stap-wrong-subexp.exp
* gdb.arch/amd64-tailcall-cxx.exp
* gdb.arch/amd64-tailcall-noret.exp
* gdb.arch/amd64-tailcall-ret.exp
* gdb.arch/amd64-tailcall-self.exp
* gdb.arch/amd64-word.exp
* gdb.arch/arm-bl-branch-dest.exp
* gdb.arch/arm-disp-step.exp
* gdb.arch/arm-neon.exp
* gdb.arch/arm-single-step-kernel-helper.exp
* gdb.arch/avr-flash-qualifier.exp
* gdb.arch/disp-step-insn-reloc.exp
* gdb.arch/e500-abi.exp
* gdb.arch/e500-regs.exp
* gdb.arch/ftrace-insn-reloc.exp
* gdb.arch/i386-avx512.exp
* gdb.arch/i386-bp_permanent.exp
* gdb.arch/i386-byte.exp
* gdb.arch/i386-cfi-notcurrent.exp
* gdb.arch/i386-disp-step.exp
* gdb.arch/i386-dr3-watch.exp
* gdb.arch/i386-float.exp
* gdb.arch/i386-gnu-cfi.exp
* gdb.arch/i386-mpx-map.exp
* gdb.arch/i386-mpx-sigsegv.exp
* gdb.arch/i386-mpx-simple_segv.exp
* gdb.arch/i386-mpx.exp
* gdb.arch/i386-permbkpt.exp
* gdb.arch/i386-prologue.exp
* gdb.arch/i386-signal.exp
* gdb.arch/i386-size-overlap.exp
* gdb.arch/i386-unwind.exp
* gdb.arch/i386-word.exp
* gdb.arch/mips-fcr.exp
* gdb.arch/powerpc-d128-regs.exp
* gdb.arch/powerpc-stackless.exp
* gdb.arch/ppc64-atomic-inst.exp
* gdb.arch/s390-stackless.exp
* gdb.arch/s390-tdbregs.exp
* gdb.arch/s390-vregs.exp
* gdb.arch/sparc-sysstep.exp
* gdb.arch/thumb-bx-pc.exp
* gdb.arch/thumb-singlestep.exp
* gdb.arch/thumb2-it.exp
* gdb.arch/vsx-regs.exp
* gdb.asm/asm-source.exp
* gdb.base/a2-run.exp
* gdb.base/advance.exp
* gdb.base/all-bin.exp
* gdb.base/anon.exp
* gdb.base/args.exp
* gdb.base/arithmet.exp
* gdb.base/async-shell.exp
* gdb.base/async.exp
* gdb.base/attach-pie-noexec.exp
* gdb.base/attach-twice.exp
* gdb.base/auto-load.exp
* gdb.base/bang.exp
* gdb.base/bitfields.exp
* gdb.base/break-always.exp
* gdb.base/break-caller-line.exp
* gdb.base/break-entry.exp
* gdb.base/break-inline.exp
* gdb.base/break-on-linker-gcd-function.exp
* gdb.base/break-probes.exp
* gdb.base/break.exp
* gdb.base/breakpoint-shadow.exp
* gdb.base/call-ar-st.exp
* gdb.base/call-sc.exp
* gdb.base/call-signal-resume.exp
* gdb.base/call-strs.exp
* gdb.base/callfuncs.exp
* gdb.base/catch-fork-static.exp
* gdb.base/catch-gdb-caused-signals.exp
* gdb.base/catch-load.exp
* gdb.base/catch-signal-fork.exp
* gdb.base/catch-signal.exp
* gdb.base/catch-syscall.exp
* gdb.base/charset.exp
* gdb.base/checkpoint.exp
* gdb.base/chng-syms.exp
* gdb.base/code-expr.exp
* gdb.base/code_elim.exp
* gdb.base/commands.exp
* gdb.base/completion.exp
* gdb.base/complex.exp
* gdb.base/cond-expr.exp
* gdb.base/condbreak.exp
* gdb.base/consecutive.exp
* gdb.base/continue-all-already-running.exp
* gdb.base/coredump-filter.exp
* gdb.base/corefile.exp
* gdb.base/dbx.exp
* gdb.base/debug-expr.exp
* gdb.base/define.exp
* gdb.base/del.exp
* gdb.base/disabled-location.exp
* gdb.base/disasm-end-cu.exp
* gdb.base/disasm-optim.exp
* gdb.base/display.exp
* gdb.base/duplicate-bp.exp
* gdb.base/ena-dis-br.exp
* gdb.base/ending-run.exp
* gdb.base/enumval.exp
* gdb.base/environ.exp
* gdb.base/eu-strip-infcall.exp
* gdb.base/eval-avoid-side-effects.exp
* gdb.base/eval-skip.exp
* gdb.base/exitsignal.exp
* gdb.base/expand-psymtabs.exp
* gdb.base/filesym.exp
* gdb.base/find-unmapped.exp
* gdb.base/finish.exp
* gdb.base/float.exp
* gdb.base/foll-exec-mode.exp
* gdb.base/foll-exec.exp
* gdb.base/foll-fork.exp
* gdb.base/fortran-sym-case.exp
* gdb.base/freebpcmd.exp
* gdb.base/func-ptr.exp
* gdb.base/func-ptrs.exp
* gdb.base/funcargs.exp
* gdb.base/gcore-buffer-overflow.exp
* gdb.base/gcore-relro-pie.exp
* gdb.base/gcore-relro.exp
* gdb.base/gcore.exp
* gdb.base/gdb1090.exp
* gdb.base/gdb11530.exp
* gdb.base/gdb11531.exp
* gdb.base/gdb1821.exp
* gdb.base/gdbindex-stabs.exp
* gdb.base/gdbvars.exp
* gdb.base/hbreak.exp
* gdb.base/hbreak2.exp
* gdb.base/included.exp
* gdb.base/infcall-input.exp
* gdb.base/inferior-died.exp
* gdb.base/infnan.exp
* gdb.base/info-macros.exp
* gdb.base/info-os.exp
* gdb.base/info-proc.exp
* gdb.base/info-shared.exp
* gdb.base/info-target.exp
* gdb.base/infoline.exp
* gdb.base/interp.exp
* gdb.base/interrupt.exp
* gdb.base/jit-reader.exp
* gdb.base/jit-simple.exp
* gdb.base/kill-after-signal.exp
* gdb.base/kill-detach-inferiors-cmd.exp
* gdb.base/label.exp
* gdb.base/langs.exp
* gdb.base/ldbl_e308.exp
* gdb.base/line-symtabs.exp
* gdb.base/linespecs.exp
* gdb.base/list.exp
* gdb.base/long_long.exp
* gdb.base/longest-types.exp
* gdb.base/maint.exp
* gdb.base/max-value-size.exp
* gdb.base/memattr.exp
* gdb.base/mips_pro.exp
* gdb.base/morestack.exp
* gdb.base/moribund-step.exp
* gdb.base/multi-forks.exp
* gdb.base/nested-addr.exp
* gdb.base/nextoverexit.exp
* gdb.base/noreturn-finish.exp
* gdb.base/noreturn-return.exp
* gdb.base/nostdlib.exp
* gdb.base/offsets.exp
* gdb.base/opaque.exp
* gdb.base/pc-fp.exp
* gdb.base/permissions.exp
* gdb.base/print-symbol-loading.exp
* gdb.base/prologue-include.exp
* gdb.base/psymtab.exp
* gdb.base/ptype.exp
* gdb.base/random-signal.exp
* gdb.base/randomize.exp
* gdb.base/range-stepping.exp
* gdb.base/readline-ask.exp
* gdb.base/recpar.exp
* gdb.base/recurse.exp
* gdb.base/relational.exp
* gdb.base/restore.exp
* gdb.base/return-nodebug.exp
* gdb.base/return.exp
* gdb.base/run-after-attach.exp
* gdb.base/save-bp.exp
* gdb.base/scope.exp
* gdb.base/sect-cmd.exp
* gdb.base/set-lang-auto.exp
* gdb.base/set-noassign.exp
* gdb.base/setvar.exp
* gdb.base/sigall.exp
* gdb.base/sigbpt.exp
* gdb.base/siginfo-addr.exp
* gdb.base/siginfo-infcall.exp
* gdb.base/siginfo-obj.exp
* gdb.base/siginfo.exp
* gdb.base/signals-state-child.exp
* gdb.base/signest.exp
* gdb.base/sigstep.exp
* gdb.base/sizeof.exp
* gdb.base/skip.exp
* gdb.base/solib-corrupted.exp
* gdb.base/solib-nodir.exp
* gdb.base/solib-search.exp
* gdb.base/stack-checking.exp
* gdb.base/stale-infcall.exp
* gdb.base/stap-probe.exp
* gdb.base/start.exp
* gdb.base/step-break.exp
* gdb.base/step-bt.exp
* gdb.base/step-line.exp
* gdb.base/step-over-exit.exp
* gdb.base/step-over-syscall.exp
* gdb.base/step-resume-infcall.exp
* gdb.base/step-test.exp
* gdb.base/store.exp
* gdb.base/structs3.exp
* gdb.base/sym-file.exp
* gdb.base/symbol-without-target_section.exp
* gdb.base/term.exp
* gdb.base/testenv.exp
* gdb.base/ui-redirect.exp
* gdb.base/until.exp
* gdb.base/unwindonsignal.exp
* gdb.base/value-double-free.exp
* gdb.base/vla-datatypes.exp
* gdb.base/vla-ptr.exp
* gdb.base/vla-sideeffect.exp
* gdb.base/volatile.exp
* gdb.base/watch-cond-infcall.exp
* gdb.base/watch-cond.exp
* gdb.base/watch-non-mem.exp
* gdb.base/watch-read.exp
* gdb.base/watch-vfork.exp
* gdb.base/watchpoint-cond-gone.exp
* gdb.base/watchpoint-delete.exp
* gdb.base/watchpoint-hw-hit-once.exp
* gdb.base/watchpoint-hw.exp
* gdb.base/watchpoint-stops-at-right-insn.exp
* gdb.base/watchpoints.exp
* gdb.base/wchar.exp
* gdb.base/whatis-exp.exp
* gdb.btrace/buffer-size.exp
* gdb.btrace/data.exp
* gdb.btrace/delta.exp
* gdb.btrace/dlopen.exp
* gdb.btrace/enable.exp
* gdb.btrace/exception.exp
* gdb.btrace/function_call_history.exp
* gdb.btrace/gcore.exp
* gdb.btrace/instruction_history.exp
* gdb.btrace/nohist.exp
* gdb.btrace/reconnect.exp
* gdb.btrace/record_goto-step.exp
* gdb.btrace/record_goto.exp
* gdb.btrace/rn-dl-bind.exp
* gdb.btrace/segv.exp
* gdb.btrace/step.exp
* gdb.btrace/stepi.exp
* gdb.btrace/tailcall-only.exp
* gdb.btrace/tailcall.exp
* gdb.btrace/tsx.exp
* gdb.btrace/unknown_functions.exp
* gdb.btrace/vdso.exp
* gdb.compile/compile-ifunc.exp
* gdb.compile/compile-ops.exp
* gdb.compile/compile-print.exp
* gdb.compile/compile-setjmp.exp
* gdb.cp/abstract-origin.exp
* gdb.cp/ambiguous.exp
* gdb.cp/annota2.exp
* gdb.cp/annota3.exp
* gdb.cp/anon-ns.exp
* gdb.cp/anon-struct.exp
* gdb.cp/anon-union.exp
* gdb.cp/arg-reference.exp
* gdb.cp/baseenum.exp
* gdb.cp/bool.exp
* gdb.cp/breakpoint.exp
* gdb.cp/bs15503.exp
* gdb.cp/call-c.exp
* gdb.cp/casts.exp
* gdb.cp/chained-calls.exp
* gdb.cp/class2.exp
* gdb.cp/classes.exp
* gdb.cp/cmpd-minsyms.exp
* gdb.cp/converts.exp
* gdb.cp/cp-relocate.exp
* gdb.cp/cpcompletion.exp
* gdb.cp/cpexprs.exp
* gdb.cp/cplabel.exp
* gdb.cp/cplusfuncs.exp
* gdb.cp/cpsizeof.exp
* gdb.cp/ctti.exp
* gdb.cp/derivation.exp
* gdb.cp/destrprint.exp
* gdb.cp/dispcxx.exp
* gdb.cp/enum-class.exp
* gdb.cp/exception.exp
* gdb.cp/exceptprint.exp
* gdb.cp/expand-psymtabs-cxx.exp
* gdb.cp/expand-sals.exp
* gdb.cp/extern-c.exp
* gdb.cp/filename.exp
* gdb.cp/formatted-ref.exp
* gdb.cp/fpointer.exp
* gdb.cp/gdb1355.exp
* gdb.cp/gdb2495.exp
* gdb.cp/hang.exp
* gdb.cp/impl-this.exp
* gdb.cp/infcall-dlopen.exp
* gdb.cp/inherit.exp
* gdb.cp/iostream.exp
* gdb.cp/koenig.exp
* gdb.cp/local.exp
* gdb.cp/m-data.exp
* gdb.cp/m-static.exp
* gdb.cp/mb-ctor.exp
* gdb.cp/mb-inline.exp
* gdb.cp/mb-templates.exp
* gdb.cp/member-name.exp
* gdb.cp/member-ptr.exp
* gdb.cp/meth-typedefs.exp
* gdb.cp/method.exp
* gdb.cp/method2.exp
* gdb.cp/minsym-fallback.exp
* gdb.cp/misc.exp
* gdb.cp/namelessclass.exp
* gdb.cp/namespace-enum.exp
* gdb.cp/namespace-nested-import.exp
* gdb.cp/namespace.exp
* gdb.cp/nextoverthrow.exp
* gdb.cp/no-dmgl-verbose.exp
* gdb.cp/non-trivial-retval.exp
* gdb.cp/noparam.exp
* gdb.cp/nsdecl.exp
* gdb.cp/nsimport.exp
* gdb.cp/nsnested.exp
* gdb.cp/nsnoimports.exp
* gdb.cp/nsrecurs.exp
* gdb.cp/nsstress.exp
* gdb.cp/nsusing.exp
* gdb.cp/operator.exp
* gdb.cp/oranking.exp
* gdb.cp/overload-const.exp
* gdb.cp/overload.exp
* gdb.cp/ovldbreak.exp
* gdb.cp/ovsrch.exp
* gdb.cp/paren-type.exp
* gdb.cp/parse-lang.exp
* gdb.cp/pass-by-ref.exp
* gdb.cp/pr-1023.exp
* gdb.cp/pr-1210.exp
* gdb.cp/pr-574.exp
* gdb.cp/pr10687.exp
* gdb.cp/pr12028.exp
* gdb.cp/pr17132.exp
* gdb.cp/pr17494.exp
* gdb.cp/pr9067.exp
* gdb.cp/pr9167.exp
* gdb.cp/pr9631.exp
* gdb.cp/printmethod.exp
* gdb.cp/psmang.exp
* gdb.cp/psymtab-parameter.exp
* gdb.cp/ptype-cv-cp.exp
* gdb.cp/ptype-flags.exp
* gdb.cp/re-set-overloaded.exp
* gdb.cp/ref-types.exp
* gdb.cp/rtti.exp
* gdb.cp/scope-err.exp
* gdb.cp/shadow.exp
* gdb.cp/smartp.exp
* gdb.cp/static-method.exp
* gdb.cp/static-print-quit.exp
* gdb.cp/temargs.exp
* gdb.cp/templates.exp
* gdb.cp/try_catch.exp
* gdb.cp/typedef-operator.exp
* gdb.cp/typeid.exp
* gdb.cp/userdef.exp
* gdb.cp/using-crash.exp
* gdb.cp/var-tag.exp
* gdb.cp/virtbase.exp
* gdb.cp/virtfunc.exp
* gdb.cp/virtfunc2.exp
* gdb.cp/vla-cxx.exp
* gdb.disasm/t01_mov.exp
* gdb.disasm/t02_mova.exp
* gdb.disasm/t03_add.exp
* gdb.disasm/t04_sub.exp
* gdb.disasm/t05_cmp.exp
* gdb.disasm/t06_ari2.exp
* gdb.disasm/t07_ari3.exp
* gdb.disasm/t08_or.exp
* gdb.disasm/t09_xor.exp
* gdb.disasm/t10_and.exp
* gdb.disasm/t11_logs.exp
* gdb.disasm/t12_bit.exp
* gdb.disasm/t13_otr.exp
* gdb.dlang/circular.exp
* gdb.dwarf2/arr-stride.exp
* gdb.dwarf2/arr-subrange.exp
* gdb.dwarf2/atomic-type.exp
* gdb.dwarf2/bad-regnum.exp
* gdb.dwarf2/bitfield-parent-optimized-out.exp
* gdb.dwarf2/callframecfa.exp
* gdb.dwarf2/clztest.exp
* gdb.dwarf2/corrupt.exp
* gdb.dwarf2/data-loc.exp
* gdb.dwarf2/dup-psym.exp
* gdb.dwarf2/dw2-anon-mptr.exp
* gdb.dwarf2/dw2-anonymous-func.exp
* gdb.dwarf2/dw2-bad-mips-linkage-name.exp
* gdb.dwarf2/dw2-bad-unresolved.exp
* gdb.dwarf2/dw2-basic.exp
* gdb.dwarf2/dw2-canonicalize-type.exp
* gdb.dwarf2/dw2-case-insensitive.exp
* gdb.dwarf2/dw2-common-block.exp
* gdb.dwarf2/dw2-compdir-oldgcc.exp
* gdb.dwarf2/dw2-compressed.exp
* gdb.dwarf2/dw2-const.exp
* gdb.dwarf2/dw2-cp-infcall-ref-static.exp
* gdb.dwarf2/dw2-cu-size.exp
* gdb.dwarf2/dw2-dup-frame.exp
* gdb.dwarf2/dw2-entry-value.exp
* gdb.dwarf2/dw2-icycle.exp
* gdb.dwarf2/dw2-ifort-parameter.exp
* gdb.dwarf2/dw2-inline-break.exp
* gdb.dwarf2/dw2-inline-param.exp
* gdb.dwarf2/dw2-intercu.exp
* gdb.dwarf2/dw2-intermix.exp
* gdb.dwarf2/dw2-lexical-block-bare.exp
* gdb.dwarf2/dw2-linkage-name-trust.exp
* gdb.dwarf2/dw2-minsym-in-cu.exp
* gdb.dwarf2/dw2-noloc.exp
* gdb.dwarf2/dw2-op-call.exp
* gdb.dwarf2/dw2-op-out-param.exp
* gdb.dwarf2/dw2-opt-structptr.exp
* gdb.dwarf2/dw2-param-error.exp
* gdb.dwarf2/dw2-producer.exp
* gdb.dwarf2/dw2-ranges-base.exp
* gdb.dwarf2/dw2-ref-missing-frame.exp
* gdb.dwarf2/dw2-reg-undefined.exp
* gdb.dwarf2/dw2-regno-invalid.exp
* gdb.dwarf2/dw2-restore.exp
* gdb.dwarf2/dw2-restrict.exp
* gdb.dwarf2/dw2-single-line-discriminators.exp
* gdb.dwarf2/dw2-strp.exp
* gdb.dwarf2/dw2-undefined-ret-addr.exp
* gdb.dwarf2/dw2-unresolved.exp
* gdb.dwarf2/dw2-var-zero-addr.exp
* gdb.dwarf2/dw4-sig-types.exp
* gdb.dwarf2/dwz.exp
* gdb.dwarf2/dynarr-ptr.exp
* gdb.dwarf2/enum-type.exp
* gdb.dwarf2/gdb-index.exp
* gdb.dwarf2/implptr-64bit.exp
* gdb.dwarf2/implptr-optimized-out.exp
* gdb.dwarf2/implptr.exp
* gdb.dwarf2/implref-array.exp
* gdb.dwarf2/implref-const.exp
* gdb.dwarf2/implref-global.exp
* gdb.dwarf2/implref-struct.exp
* gdb.dwarf2/mac-fileno.exp
* gdb.dwarf2/main-subprogram.exp
* gdb.dwarf2/member-ptr-forwardref.exp
* gdb.dwarf2/method-ptr.exp
* gdb.dwarf2/missing-sig-type.exp
* gdb.dwarf2/nonvar-access.exp
* gdb.dwarf2/opaque-type-lookup.exp
* gdb.dwarf2/pieces-optimized-out.exp
* gdb.dwarf2/pieces.exp
* gdb.dwarf2/pr10770.exp
* gdb.dwarf2/pr13961.exp
* gdb.dwarf2/staticvirtual.exp
* gdb.dwarf2/subrange.exp
* gdb.dwarf2/symtab-producer.exp
* gdb.dwarf2/trace-crash.exp
* gdb.dwarf2/typeddwarf.exp
* gdb.dwarf2/valop.exp
* gdb.dwarf2/watch-notconst.exp
* gdb.fortran/array-element.exp
* gdb.fortran/charset.exp
* gdb.fortran/common-block.exp
* gdb.fortran/complex.exp
* gdb.fortran/derived-type-function.exp
* gdb.fortran/derived-type.exp
* gdb.fortran/logical.exp
* gdb.fortran/module.exp
* gdb.fortran/multi-dim.exp
* gdb.fortran/nested-funcs.exp
* gdb.fortran/print-formatted.exp
* gdb.fortran/subarray.exp
* gdb.fortran/vla-alloc-assoc.exp
* gdb.fortran/vla-datatypes.exp
* gdb.fortran/vla-history.exp
* gdb.fortran/vla-ptr-info.exp
* gdb.fortran/vla-ptype-sub.exp
* gdb.fortran/vla-ptype.exp
* gdb.fortran/vla-sizeof.exp
* gdb.fortran/vla-type.exp
* gdb.fortran/vla-value-sub-arbitrary.exp
* gdb.fortran/vla-value-sub-finish.exp
* gdb.fortran/vla-value-sub.exp
* gdb.fortran/vla-value.exp
* gdb.fortran/whatis_type.exp
* gdb.go/chan.exp
* gdb.go/handcall.exp
* gdb.go/hello.exp
* gdb.go/integers.exp
* gdb.go/methods.exp
* gdb.go/package.exp
* gdb.go/strings.exp
* gdb.go/types.exp
* gdb.go/unsafe.exp
* gdb.guile/scm-arch.exp
* gdb.guile/scm-block.exp
* gdb.guile/scm-breakpoint.exp
* gdb.guile/scm-cmd.exp
* gdb.guile/scm-disasm.exp
* gdb.guile/scm-equal.exp
* gdb.guile/scm-frame-args.exp
* gdb.guile/scm-frame-inline.exp
* gdb.guile/scm-frame.exp
* gdb.guile/scm-iterator.exp
* gdb.guile/scm-math.exp
* gdb.guile/scm-objfile.exp
* gdb.guile/scm-ports.exp
* gdb.guile/scm-symbol.exp
* gdb.guile/scm-symtab.exp
* gdb.guile/scm-value-cc.exp
* gdb.guile/types-module.exp
* gdb.linespec/break-ask.exp
* gdb.linespec/cpexplicit.exp
* gdb.linespec/explicit.exp
* gdb.linespec/keywords.exp
* gdb.linespec/linespec.exp
* gdb.linespec/ls-dollar.exp
* gdb.linespec/ls-errs.exp
* gdb.linespec/skip-two.exp
* gdb.linespec/thread.exp
* gdb.mi/mi-async.exp
* gdb.mi/mi-basics.exp
* gdb.mi/mi-break.exp
* gdb.mi/mi-catch-load.exp
* gdb.mi/mi-cli.exp
* gdb.mi/mi-cmd-param-changed.exp
* gdb.mi/mi-console.exp
* gdb.mi/mi-detach.exp
* gdb.mi/mi-disassemble.exp
* gdb.mi/mi-eval.exp
* gdb.mi/mi-file-transfer.exp
* gdb.mi/mi-file.exp
* gdb.mi/mi-fill-memory.exp
* gdb.mi/mi-inheritance-syntax-error.exp
* gdb.mi/mi-linespec-err-cp.exp
* gdb.mi/mi-logging.exp
* gdb.mi/mi-memory-changed.exp
* gdb.mi/mi-read-memory.exp
* gdb.mi/mi-record-changed.exp
* gdb.mi/mi-reg-undefined.exp
* gdb.mi/mi-regs.exp
* gdb.mi/mi-return.exp
* gdb.mi/mi-reverse.exp
* gdb.mi/mi-simplerun.exp
* gdb.mi/mi-solib.exp
* gdb.mi/mi-stack.exp
* gdb.mi/mi-stepi.exp
* gdb.mi/mi-syn-frame.exp
* gdb.mi/mi-until.exp
* gdb.mi/mi-var-block.exp
* gdb.mi/mi-var-child.exp
* gdb.mi/mi-var-cmd.exp
* gdb.mi/mi-var-cp.exp
* gdb.mi/mi-var-display.exp
* gdb.mi/mi-var-invalidate.exp
* gdb.mi/mi-var-list-children-invalid-grandchild.exp
* gdb.mi/mi-vla-fortran.exp
* gdb.mi/mi-watch.exp
* gdb.mi/mi2-var-child.exp
* gdb.mi/user-selected-context-sync.exp
* gdb.modula2/unbounded-array.exp
* gdb.multi/dummy-frame-restore.exp
* gdb.multi/multi-arch-exec.exp
* gdb.multi/multi-arch.exp
* gdb.multi/tids.exp
* gdb.multi/watchpoint-multi.exp
* gdb.opencl/callfuncs.exp
* gdb.opencl/convs_casts.exp
* gdb.opencl/datatypes.exp
* gdb.opencl/operators.exp
* gdb.opencl/vec_comps.exp
* gdb.opt/clobbered-registers-O2.exp
* gdb.opt/inline-break.exp
* gdb.opt/inline-bt.exp
* gdb.opt/inline-cmds.exp
* gdb.opt/inline-locals.exp
* gdb.pascal/case-insensitive-symbols.exp
* gdb.pascal/floats.exp
* gdb.pascal/gdb11492.exp
* gdb.python/lib-types.exp
* gdb.python/py-arch.exp
* gdb.python/py-as-string.exp
* gdb.python/py-bad-printers.exp
* gdb.python/py-block.exp
* gdb.python/py-breakpoint-create-fail.exp
* gdb.python/py-breakpoint.exp
* gdb.python/py-caller-is.exp
* gdb.python/py-cmd.exp
* gdb.python/py-explore-cc.exp
* gdb.python/py-explore.exp
* gdb.python/py-finish-breakpoint.exp
* gdb.python/py-finish-breakpoint2.exp
* gdb.python/py-frame-args.exp
* gdb.python/py-frame-inline.exp
* gdb.python/py-frame.exp
* gdb.python/py-framefilter-mi.exp
* gdb.python/py-infthread.exp
* gdb.python/py-lazy-string.exp
* gdb.python/py-linetable.exp
* gdb.python/py-mi-events.exp
* gdb.python/py-mi-objfile.exp
* gdb.python/py-mi.exp
* gdb.python/py-objfile.exp
* gdb.python/py-pp-integral.exp
* gdb.python/py-pp-maint.exp
* gdb.python/py-pp-re-notag.exp
* gdb.python/py-pp-registration.exp
* gdb.python/py-recurse-unwind.exp
* gdb.python/py-strfns.exp
* gdb.python/py-symbol.exp
* gdb.python/py-symtab.exp
* gdb.python/py-sync-interp.exp
* gdb.python/py-typeprint.exp
* gdb.python/py-unwind-maint.exp
* gdb.python/py-unwind.exp
* gdb.python/py-value-cc.exp
* gdb.python/py-xmethods.exp
* gdb.reverse/amd64-tailcall-reverse.exp
* gdb.reverse/break-precsave.exp
* gdb.reverse/break-reverse.exp
* gdb.reverse/consecutive-precsave.exp
* gdb.reverse/consecutive-reverse.exp
* gdb.reverse/finish-precsave.exp
* gdb.reverse/finish-reverse-bkpt.exp
* gdb.reverse/finish-reverse.exp
* gdb.reverse/fstatat-reverse.exp
* gdb.reverse/getresuid-reverse.exp
* gdb.reverse/i386-precsave.exp
* gdb.reverse/i386-reverse.exp
* gdb.reverse/i386-sse-reverse.exp
* gdb.reverse/i387-env-reverse.exp
* gdb.reverse/i387-stack-reverse.exp
* gdb.reverse/insn-reverse.exp
* gdb.reverse/machinestate-precsave.exp
* gdb.reverse/machinestate.exp
* gdb.reverse/next-reverse-bkpt-over-sr.exp
* gdb.reverse/pipe-reverse.exp
* gdb.reverse/readv-reverse.exp
* gdb.reverse/recvmsg-reverse.exp
* gdb.reverse/rerun-prec.exp
* gdb.reverse/s390-mvcle.exp
* gdb.reverse/step-precsave.exp
* gdb.reverse/step-reverse.exp
* gdb.reverse/time-reverse.exp
* gdb.reverse/until-precsave.exp
* gdb.reverse/until-reverse.exp
* gdb.reverse/waitpid-reverse.exp
* gdb.reverse/watch-precsave.exp
* gdb.reverse/watch-reverse.exp
* gdb.rust/generics.exp
* gdb.rust/methods.exp
* gdb.rust/modules.exp
* gdb.rust/simple.exp
* gdb.server/connect-with-no-symbol-file.exp
* gdb.server/ext-attach.exp
* gdb.server/ext-restart.exp
* gdb.server/ext-wrapper.exp
* gdb.server/file-transfer.exp
* gdb.server/server-exec-info.exp
* gdb.server/server-kill.exp
* gdb.server/server-mon.exp
* gdb.server/wrapper.exp
* gdb.stabs/exclfwd.exp
* gdb.stabs/gdb11479.exp
* gdb.threads/clone-new-thread-event.exp
* gdb.threads/corethreads.exp
* gdb.threads/current-lwp-dead.exp
* gdb.threads/dlopen-libpthread.exp
* gdb.threads/gcore-thread.exp
* gdb.threads/sigstep-threads.exp
* gdb.threads/watchpoint-fork.exp
* gdb.trace/actions-changed.exp
* gdb.trace/backtrace.exp
* gdb.trace/change-loc.exp
* gdb.trace/circ.exp
* gdb.trace/collection.exp
* gdb.trace/disconnected-tracing.exp
* gdb.trace/ftrace.exp
* gdb.trace/mi-trace-frame-collected.exp
* gdb.trace/mi-trace-unavailable.exp
* gdb.trace/mi-traceframe-changed.exp
* gdb.trace/mi-tsv-changed.exp
* gdb.trace/no-attach-trace.exp
* gdb.trace/passc-dyn.exp
* gdb.trace/qtro.exp
* gdb.trace/range-stepping.exp
* gdb.trace/read-memory.exp
* gdb.trace/save-trace.exp
* gdb.trace/signal.exp
* gdb.trace/status-stop.exp
* gdb.trace/tfile.exp
* gdb.trace/trace-break.exp
* gdb.trace/trace-buffer-size.exp
* gdb.trace/trace-condition.exp
* gdb.trace/tracefile-pseudo-reg.exp
* gdb.trace/tstatus.exp
* gdb.trace/unavailable.exp
* gdb.trace/while-dyn.exp
* gdb.trace/while-stepping.exp
|
|
gdb/ChangeLog:
Update year range in copyright notice of all files.
|
|
gdb/ChangeLog:
* NEWS: Add entries for command renamings.
* dwarf2read.c (dwarf_read_debug): Renamed from dwarf2_read_debug.
All uses updated.
(dwarf_die_debug): Renamed from dwarf2_die_debug. All uses updated.
(dwarf_max_cache_age): Renamed from dwarf2_max_cache_age.
All uses updated.
(show_dwarf_max_cache_age): Renamed from show_dwarf2_max_cache_age.
All callers updated. Fix spelling of DWARF in help text.
(set_dwarf_cmdlist): Renamed from set_dwarf2_cmdlist.
All uses updated.
(show_dwarf_cmdlist): Renamed from show_dwarf2_cmdlist.
All uses updated.
(set_dwarf_cmd): Renamed from set_dwarf2_cmd. All callers updated.
(show_dwarf_cmd): Renamed from show_dwarf2_cmd. All callers updated.
(dwarf_always_disassemble): Renamed from dwarf_always_disassemble.
All uses updated.
(show_dwarf_always_disassemble): Renamed from
show_dwarf2_always_disassemble. All callers updated.
(_initialize_dwarf2_read): Rename "set/show dwarf2" prefix to
"set/show dwarf". Rename "set/show dwarf2 max-cache-age" to
"set/show dwarf max-cache-age". Rename
"set/show dwarf2 always-disassemble" to
"set/show dwarf always-disassemble". Rename
"set/show debug dwarf2-read" to "set/show debug dwarf-read". Rename
"set/show debug dwarf2-die" to "set/show debug dwarf-die".
gdb/doc/ChangeLog:
* gdb.texinfo (Debugging Output): Update for DWARF "set debug"
command renamings.
(Maintenance Commands): Update for DWARF "set debug" command renamings.
gdb/testsuite/ChangeLog:
* gdb.dwarf2/dw2-op-call.exp: Update.
* gdb.dwarf2/dw4-sig-types.exp: Update.
* gdb.dwarf2/implptr.exp: Update.
* gdb.mi/mi-cmd-param-changed.exp: Update.
|
|
gdb/ChangeLog:
Update year range in copyright notice of all files.
|
|
|
|
Two modifications:
1. The addition of 2013 to the copyright year range for every file;
2. The use of a single year range, instead of potentially multiple
year ranges, as approved by the FSF.
|
|
* gdb.dwarf2/dw2-var-zero-addr.exp: Use standard_testfile.
* gdb.dwarf2/dw2-param-error.exp: Use standard_testfile.
* gdb.dwarf2/dw2-op-call.exp: Use standard_testfile.
* gdb.dwarf2/dw2-inline-param.exp: Use standard_testfile,
prepare_for_testing.
* gdb.dwarf2/dw2-inline-break.exp: Use standard_testfile.
* gdb.dwarf2/dw2-ifort-parameter.exp: Use standard_testfile.
* gdb.dwarf2/dw2-cp-infcall-ref-static.exp: Use
standard_testfile.
* gdb.dwarf2/dw2-case-insensitive.exp: Use standard_testfile.
* gdb.dwarf2/dw4-sig-types.exp: Use standard_testfile.
* gdb.dwarf2/dw2-objfile-overlap.exp: Use standard_testfile.
* gdb.dwarf2/callframecfa.exp: Use standard_testfile,
prepare_for_testing.
* gdb.dwarf2/dup-psym.exp: Use standard_testfile.
* gdb.dwarf2/dw2-ada-ffffffff.exp: Use standard_testfile.
* gdb.dwarf2/dw2-anonymous-func.exp: Use standard_testfile.
* gdb.dwarf2/dw2-bad-parameter-type.exp: Use standard_testfile.
* gdb.dwarf2/dw2-basic.exp: Use standard_testfile.
* gdb.dwarf2/dw2-compressed.exp: Use standard_testfile.
* gdb.dwarf2/dw2-const.exp: Use standard_testfile.
* gdb.dwarf2/dw2-cu-size.exp: Use standard_testfile.
* gdb.dwarf2/dw2-double-set-die-type.exp: Use standard_testfile.
* gdb.dwarf2/dw2-empty-namespace.exp: Use standard_testfile.
* gdb.dwarf2/dw2-empty-pc-range.exp: Use standard_testfile.
* gdb.dwarf2/dw2-filename.exp: Use standard_testfile.
* gdb.dwarf2/dw2-icc-opaque.exp: Use standard_testfile.
* gdb.dwarf2/dw2-inheritance.exp: Use standard_testfile.
* gdb.dwarf2/dw2-intercu.exp: Use standard_testfile.
* gdb.dwarf2/dw2-intermix.exp: Use standard_testfile.
* gdb.dwarf2/dw2-linkage-name-trust.exp: Use standard_testfile.
* gdb.dwarf2/dw2-modula2-self-type.exp: Use standard_testfile.
* gdb.dwarf2/dw2-namespaceless-anonymous.exp: Use standard_testfile.
* gdb.dwarf2/dw2-op-stack-value.exp: Use standard_testfile.
* gdb.dwarf2/dw2-producer.exp: Use standard_testfile.
* gdb.dwarf2/dw2-ranges.exp: Use standard_testfile,
standard_output_file.
* gdb.dwarf2/dw2-ref-missing-frame.exp: Use standard_testfile,
standard_output_file.
* gdb.dwarf2/dw2-restore.exp: Use standard_testfile.
* gdb.dwarf2/dw2-simple-locdesc.exp: Use standard_testfile.
* gdb.dwarf2/dw2-skip-prologue.exp: Use standard_testfile.
* gdb.dwarf2/dw2-stack-boundary.exp: Use standard_testfile.
* gdb.dwarf2/dw2-strp.exp: Use standard_testfile.
* gdb.dwarf2/dw4-sig-type-unused.exp: Use standard_testfile.
* gdb.dwarf2/implptr-64bit.exp: Use standard_testfile.
* gdb.dwarf2/implptr-optimized-out.exp: Use standard_testfile.
* gdb.dwarf2/implptr.exp: Use standard_testfile.
* gdb.dwarf2/mac-fileno.exp: Use standard_testfile.
* gdb.dwarf2/member-ptr-forwardref.exp: Use standard_testfile.
* gdb.dwarf2/pieces.exp: Use standard_testfile.
* gdb.dwarf2/pr11465.exp: Use standard_testfile.
* gdb.dwarf2/pr13961.exp: Use standard_testfile.
* gdb.dwarf2/valop.exp: Use standard_testfile,
prepare_for_testing.
|
|
gdb/ChangeLog:
Copyright year update in most files of the GDB Project.
|
|
Fix crash on lval_computed values.
* valops.c (value_zero): Use not_lval for lval_computed.
gdb/testsuite/
Fix crash on lval_computed values.
* gdb.dwarf2/implptr.exp (print sizeof (j[0])): New test.
|
|
Fix implicit pointer offsets.
* dwarf2loc.c (indirect_pieced_value): Comment byte_offset. Use also
ptr.OFFSET.
gdb/testsuite/
Fix implicit pointer offsets.
* gdb.dwarf2/implptr.c (add): New marker baz breakpoint.
* gdb.dwarf2/implptr.exp (set baz breakpoint for implptr)
(continue to breakpoint: continue to baz breakpoint for implptr)
(sanity check element 0, sanity check element 1)
(enter the inlined function, check element 0 for the offset)
(check element 1 for the offset)
(continue to breakpoint: ignore the second baz breakpoint): New tests.
(set foo breakpoint for implptr): Update the breakpoint number.
|
|
Fix crash if referenced CU is aged out.
* dwarf2loc.c (per_cu_dwarf_call): New variable back_to, use to for
xfree of block.data.
(indirect_pieced_value): New variable back_to, use to for xfree of
baton.data.
(dwarf2_compile_expr_to_ax): New variable back_to, use to for xfree of
block.data.
* dwarf2read.c (dwarf2_find_base_address): New prototype.
(load_cu): New function from ...
(dw2_do_instantiate_symtab): ... the code here ...
(process_full_comp_unit): ... and here.
(dwarf2_fetch_die_location_block): Call load_cu first. Call xmemdup on
retval.data.
gdb/testsuite/
Fix crash if referenced CU is aged out.
* gdb.dwarf2/dw2-op-call.exp (maintenance set dwarf2 max-cache-age 0):
New.
* gdb.dwarf2/implptr.exp: Likewise.
|
|
* dwarf2loc.c (indirect_pieced_value): Use check_typedef for VALUE's
type.
gdb/testsuite/
* gdb.dwarf2/implptr.S: Rebuilt.
* gdb.dwarf2/implptr.c (intp, intpp, intppp): New typedefs.
(bar): Use them for j, k, l.
* gdb.dwarf2/implptr.exp: New variable opts. Support runtest parameter
COMPILE.
(print j in implptr:bar): Update for the intp typedef.
(print p[0].x in implptr:foo): Use more exact regex.
|
|
* gdb.dwarf2/watch-notconst.exp: Use is_x86_like_target.
* gdb.dwarf2/valop.exp: Use is_x86_like_target.
* gdb.dwarf2/typeddwarf.exp: Use is_x86_like_target. Pass
-nostdlib to compiler.
* gdb.dwarf2/typeddwarf.S (_start): Rename from 'main'.
* gdb.dwarf2/pieces.exp: Use is_x86_like_target.
* gdb.dwarf2/implptr.exp: Use is_x86_like_target.
* gdb.dwarf2/dw2-restore.exp: Check for LP64.
* gdb.dwarf2/callframecfa.exp: Use is_x86_like_target.
|
|
* gdb.asm/asm-source.exp: Replace ARM target triplet with a
canonical form.
Remove "xscale-*-*"
* gdb.xml/tdesc-regs.exp: Likewise.
* gdb.python/py-section-script.exp: Replace ARM target triplet
with canonical form.
Match arm*-*-symbianelf*.
* gdb.base/dup-sect.exp: Likewise.
* lib/dwarf.exp: New.
* gdb.dwarf2/callframecfa.exp: Check dwarf2 support by routine
dwarf2_support.
* gdb.dwarf2/dup-psym.exp: Likewise.
* gdb.dwarf2/dw2-ada-ffffffff.exp: Likewise.
* gdb.dwarf2/dw2-anonymous-func.exp: Likewise.
* gdb.dwarf2/dw2-bad-parameter-type.exp: Likewise.
* gdb.dwarf2/dw2-basic.exp: Likewise.
* gdb.dwarf2/dw2-compressed.exp: Likewise.
* gdb.dwarf2/dw2-const.exp: Likewise.
* gdb.dwarf2/dw2-cp-infcall-ref-static.exp: Likewise.
* gdb.dwarf2/dw2-cu-size.exp: Likewise.
* gdb.dwarf2/dw2-double-set-die-type.exp: Likewise.
* gdb.dwarf2/dw2-empty-namespace.exp: Likewise.
* gdb.dwarf2/dw2-filename.exp: Likewise.
* gdb.dwarf2/dw2-inheritance.exp: Likewise.
* gdb.dwarf2/dw2-inline-param.exp: Likewise.
* gdb.dwarf2/dw2-intercu.exp: Likewise.
* gdb.dwarf2/dw2-intermix.exp: Likewise.
* gdb.dwarf2/dw2-modula2-self-type.exp: Likewise.
* gdb.dwarf2/dw2-noloc.exp: Likewise.
* gdb.dwarf2/dw2-op-call.exp: Likewise.
* gdb.dwarf2/dw2-producer.exp: Likewise.
* gdb.dwarf2/dw2-ranges.exp: Likewise.
* gdb.dwarf2/dw2-ref-missing-frame.exp: Likewise.
* gdb.dwarf2/dw2-stack-boundary.exp: Likewise.
* gdb.dwarf2/dw2-strp.exp: Likewise.
* gdb.dwarf2/dw2-unresolved.exp: Likewise.
* gdb.dwarf2/implptr.exp: Likewise.
* gdb.dwarf2/mac-fileno.exp: Likewise.
* gdb.dwarf2/member-ptr-forwardref.exp: Likewise.
* gdb.dwarf2/pieces.exp: Likewise.
* gdb.dwarf2/pr11465.exp: Likewise.
* gdb.dwarf2/valop.exp: Likewise.
* gdb.dwarf2/watch-notconst.exp: Likewise.
* gdb.mi/dw2-ref-missing-frame.exp: Likewise.
|
|
|
|
* 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.
|