Luis Machado
bc6c7af4a2
Fix test names starting with uppercase output by basic functions
...
The following patch is based on the previous patch i sent and handles cases of
test names that start with an uppercase letter. Test names should start with
lowercase unless it starts with the name of a technology, architecture, ISA
etc.
This first patch addresses cases of test names output explicitly via xfail,
kfail, kpass, fail, pass, unsupported, untested and also names set with the
pattern "set test" and "set testname".
gdb/testsuite/ChangeLog:
2016-12-01 Luis Machado <lgustavo@codesourcery.com>
Fix test names starting with uppercase throughout all the files below.
* gdb.ada/array_return.exp
* gdb.ada/catch_ex.exp
* gdb.ada/info_exc.exp
* gdb.ada/mi_catch_ex.exp
* gdb.ada/mi_dyn_arr.exp
* gdb.ada/mi_ex_cond.exp
* gdb.ada/mi_exc_info.exp
* gdb.ada/mi_interface.exp
* gdb.ada/mi_task_arg.exp
* gdb.ada/mi_task_info.exp
* gdb.ada/mi_var_array.exp
* gdb.arch/alpha-step.exp
* gdb.arch/amd64-disp-step.exp
* gdb.arch/arm-disp-step.exp
* gdb.arch/disp-step-insn-reloc.exp
* gdb.arch/e500-prologue.exp
* gdb.arch/ftrace-insn-reloc.exp
* gdb.arch/gdb1558.exp
* gdb.arch/i386-bp_permanent.exp
* gdb.arch/i386-disp-step.exp
* gdb.arch/i386-float.exp
* gdb.arch/i386-gnu-cfi.exp
* gdb.arch/ia64-breakpoint-shadow.exp
* gdb.arch/mips16-thunks.exp
* gdb.arch/pa-nullify.exp
* gdb.arch/powerpc-aix-prologue.exp
* gdb.arch/powerpc-power.exp
* gdb.arch/ppc-dfp.exp
* gdb.arch/s390-tdbregs.exp
* gdb.arch/spu-info.exp
* gdb.arch/spu-ls.exp
* gdb.arch/thumb-bx-pc.exp
* gdb.base/advance.exp
* gdb.base/annota-input-while-running.exp
* gdb.base/arrayidx.exp
* gdb.base/asmlabel.exp
* gdb.base/async.exp
* gdb.base/attach-wait-input.exp
* gdb.base/auto-connect-native-target.exp
* gdb.base/batch-preserve-term-settings.exp
* gdb.base/bfp-test.exp
* gdb.base/bigcore.exp
* gdb.base/bp-permanent.exp
* gdb.base/break-always.exp
* gdb.base/break-fun-addr.exp
* gdb.base/break-idempotent.exp
* gdb.base/break-main-file-remove-fail.exp
* gdb.base/break-probes.exp
* gdb.base/break-unload-file.exp
* gdb.base/break.exp
* gdb.base/call-ar-st.exp
* gdb.base/call-rt-st.exp
* gdb.base/call-sc.exp
* gdb.base/call-signal-resume.exp
* gdb.base/call-strs.exp
* gdb.base/callexit.exp
* gdb.base/callfuncs.exp
* gdb.base/catch-gdb-caused-signals.exp
* gdb.base/catch-signal-siginfo-cond.exp
* gdb.base/catch-syscall.exp
* gdb.base/compare-sections.exp
* gdb.base/cond-eval-mode.exp
* gdb.base/condbreak-call-false.exp
* gdb.base/consecutive-step-over.exp
* gdb.base/cursal.exp
* gdb.base/disabled-location.exp
* gdb.base/disasm-end-cu.exp
* gdb.base/display.exp
* gdb.base/double-prompt-target-event-error.exp
* gdb.base/dprintf-bp-same-addr.exp
* gdb.base/dprintf-detach.exp
* gdb.base/dprintf-next.exp
* gdb.base/dprintf-non-stop.exp
* gdb.base/dprintf-pending.exp
* gdb.base/dso2dso.exp
* gdb.base/ending-run.exp
* gdb.base/enum_cond.exp
* gdb.base/examine-backward.exp
* gdb.base/exe-lock.exp
* gdb.base/exec-invalid-sysroot.exp
* gdb.base/execl-update-breakpoints.exp
* gdb.base/execution-termios.exp
* gdb.base/fileio.exp
* gdb.base/fixsection.exp
* gdb.base/foll-exec-mode.exp
* gdb.base/foll-exec.exp
* gdb.base/fork-running-state.exp
* gdb.base/frame-args.exp
* gdb.base/fullpath-expand.exp
* gdb.base/func-ptr.exp
* gdb.base/gcore-relro-pie.exp
* gdb.base/gdb1090.exp
* gdb.base/gdb1555.exp
* gdb.base/global-var-nested-by-dso.exp
* gdb.base/gnu-ifunc.exp
* gdb.base/hbreak-in-shr-unsupported.exp
* gdb.base/hbreak-unmapped.exp
* gdb.base/hook-stop.exp
* gdb.base/infcall-input.exp
* gdb.base/info-fun.exp
* gdb.base/info-shared.exp
* gdb.base/interrupt-noterm.exp
* gdb.base/jit-so.exp
* gdb.base/jit.exp
* gdb.base/line-symtabs.exp
* gdb.base/list.exp
* gdb.base/longjmp.exp
* gdb.base/macscp.exp
* gdb.base/max-value-size.exp
* gdb.base/nodebug.exp
* gdb.base/nofield.exp
* gdb.base/overlays.exp
* gdb.base/paginate-after-ctrl-c-running.exp
* gdb.base/paginate-bg-execution.exp
* gdb.base/paginate-inferior-exit.exp
* gdb.base/pending.exp
* gdb.base/pr11022.exp
* gdb.base/printcmds.exp
* gdb.base/ptr-typedef.exp
* gdb.base/ptype.exp
* gdb.base/randomize.exp
* gdb.base/range-stepping.exp
* gdb.base/realname-expand.exp
* gdb.base/relativedebug.exp
* gdb.base/remote.exp
* gdb.base/savedregs.exp
* gdb.base/sepdebug.exp
* gdb.base/set-noassign.exp
* gdb.base/shlib-call.exp
* gdb.base/shreloc.exp
* gdb.base/sigaltstack.exp
* gdb.base/sigbpt.exp
* gdb.base/siginfo-addr.exp
* gdb.base/siginfo-obj.exp
* gdb.base/siginfo-thread.exp
* gdb.base/signest.exp
* gdb.base/signull.exp
* gdb.base/sigrepeat.exp
* gdb.base/skip.exp
* gdb.base/so-impl-ld.exp
* gdb.base/solib-corrupted.exp
* gdb.base/solib-disc.exp
* gdb.base/solib-display.exp
* gdb.base/solib-overlap.exp
* gdb.base/solib-search.exp
* gdb.base/solib-symbol.exp
* gdb.base/source-execution.exp
* gdb.base/sss-bp-on-user-bp-2.exp
* gdb.base/sss-bp-on-user-bp.exp
* gdb.base/stack-checking.exp
* gdb.base/stale-infcall.exp
* gdb.base/step-break.exp
* gdb.base/step-line.exp
* gdb.base/step-over-exit.exp
* gdb.base/step-test.exp
* gdb.base/structs.exp
* gdb.base/sym-file.exp
* gdb.base/symtab-search-order.exp
* gdb.base/term.exp
* gdb.base/type-opaque.exp
* gdb.base/unload.exp
* gdb.base/until-nodebug.exp
* gdb.base/until.exp
* gdb.base/unwindonsignal.exp
* gdb.base/watch-cond.exp
* gdb.base/watch-non-mem.exp
* gdb.base/watch_thread_num.exp
* gdb.base/watchpoint-reuse-slot.exp
* gdb.base/watchpoint-solib.exp
* gdb.base/watchpoint.exp
* gdb.btrace/dlopen.exp
* gdb.cell/arch.exp
* gdb.cell/break.exp
* gdb.cell/bt.exp
* gdb.cell/core.exp
* gdb.cell/data.exp
* gdb.cell/dwarfaddr.exp
* gdb.cell/ea-cache.exp
* gdb.cell/ea-standalone.exp
* gdb.cell/ea-test.exp
* gdb.cell/f-regs.exp
* gdb.cell/fork.exp
* gdb.cell/gcore.exp
* gdb.cell/mem-access.exp
* gdb.cell/ptype.exp
* gdb.cell/registers.exp
* gdb.cell/sizeof.exp
* gdb.cell/solib-symbol.exp
* gdb.cell/solib.exp
* gdb.compile/compile-tls.exp
* gdb.cp/exception.exp
* gdb.cp/gdb2495.exp
* gdb.cp/local.exp
* gdb.cp/mb-inline.exp
* gdb.cp/mb-templates.exp
* gdb.cp/pr10687.exp
* gdb.cp/pr9167.exp
* gdb.cp/scope-err.exp
* gdb.cp/templates.exp
* gdb.cp/virtfunc.exp
* gdb.dwarf2/dw2-dir-file-name.exp
* gdb.dwarf2/dw2-single-line-discriminators.exp
* gdb.fortran/complex.exp
* gdb.fortran/library-module.exp
* gdb.guile/guile.exp
* gdb.guile/scm-cmd.exp
* gdb.guile/scm-frame-inline.exp
* gdb.guile/scm-objfile.exp
* gdb.guile/scm-pretty-print.exp
* gdb.guile/scm-symbol.exp
* gdb.guile/scm-type.exp
* gdb.guile/scm-value.exp
* gdb.linespec/keywords.exp
* gdb.linespec/ls-errs.exp
* gdb.linespec/macro-relative.exp
* gdb.linespec/thread.exp
* gdb.mi/mi-breakpoint-changed.exp
* gdb.mi/mi-dprintf-pending.exp
* gdb.mi/mi-fullname-deleted.exp
* gdb.mi/mi-logging.exp
* gdb.mi/mi-pending.exp
* gdb.mi/mi-solib.exp
* gdb.mi/new-ui-mi-sync.exp
* gdb.mi/user-selected-context-sync.exp
* gdb.multi/dummy-frame-restore.exp
* gdb.multi/multi-arch-exec.exp
* gdb.multi/remove-inferiors.exp
* gdb.multi/watchpoint-multi-exit.exp
* gdb.opt/solib-intra-step.exp
* gdb.perf/backtrace.exp
* gdb.perf/single-step.exp
* gdb.perf/skip-command.exp
* gdb.perf/skip-prologue.exp
* gdb.perf/solib.exp
* gdb.python/lib-types.exp
* gdb.python/py-as-string.exp
* gdb.python/py-bad-printers.exp
* gdb.python/py-block.exp
* gdb.python/py-breakpoint.exp
* gdb.python/py-cmd.exp
* gdb.python/py-events.exp
* gdb.python/py-evthreads.exp
* gdb.python/py-finish-breakpoint.exp
* gdb.python/py-finish-breakpoint2.exp
* gdb.python/py-frame-inline.exp
* gdb.python/py-frame.exp
* gdb.python/py-inferior.exp
* gdb.python/py-infthread.exp
* gdb.python/py-mi.exp
* gdb.python/py-objfile.exp
* gdb.python/py-pp-maint.exp
* gdb.python/py-pp-registration.exp
* gdb.python/py-prettyprint.exp
* gdb.python/py-recurse-unwind.exp
* gdb.python/py-shared.exp
* gdb.python/py-symbol.exp
* gdb.python/py-symtab.exp
* gdb.python/py-template.exp
* gdb.python/py-type.exp
* gdb.python/py-unwind-maint.exp
* gdb.python/py-unwind.exp
* gdb.python/py-value.exp
* gdb.python/python.exp
* gdb.reverse/finish-reverse-bkpt.exp
* gdb.reverse/insn-reverse.exp
* gdb.reverse/next-reverse-bkpt-over-sr.exp
* gdb.reverse/solib-precsave.exp
* gdb.reverse/solib-reverse.exp
* gdb.stabs/gdb11479.exp
* gdb.stabs/weird.exp
* gdb.threads/fork-child-threads.exp
* gdb.threads/fork-plus-threads.exp
* gdb.threads/fork-thread-pending.exp
* gdb.threads/forking-threads-plus-breakpoint.exp
* gdb.threads/hand-call-in-threads.exp
* gdb.threads/interrupted-hand-call.exp
* gdb.threads/linux-dp.exp
* gdb.threads/local-watch-wrong-thread.exp
* gdb.threads/next-while-other-thread-longjmps.exp
* gdb.threads/non-ldr-exit.exp
* gdb.threads/pending-step.exp
* gdb.threads/print-threads.exp
* gdb.threads/process-dies-while-detaching.exp
* gdb.threads/process-dies-while-handling-bp.exp
* gdb.threads/pthreads.exp
* gdb.threads/queue-signal.exp
* gdb.threads/reconnect-signal.exp
* gdb.threads/signal-command-handle-nopass.exp
* gdb.threads/signal-command-multiple-signals-pending.exp
* gdb.threads/signal-delivered-right-thread.exp
* gdb.threads/signal-sigtrap.exp
* gdb.threads/sigthread.exp
* gdb.threads/staticthreads.exp
* gdb.threads/stepi-random-signal.exp
* gdb.threads/thread-unwindonsignal.exp
* gdb.threads/thread_check.exp
* gdb.threads/thread_events.exp
* gdb.threads/tid-reuse.exp
* gdb.threads/tls-nodebug.exp
* gdb.threads/tls-shared.exp
* gdb.threads/tls-so_extern.exp
* gdb.threads/tls.exp
* gdb.threads/wp-replication.exp
* gdb.trace/actions-changed.exp
* gdb.trace/actions.exp
* gdb.trace/backtrace.exp
* gdb.trace/change-loc.exp
* gdb.trace/collection.exp
* gdb.trace/deltrace.exp
* gdb.trace/disconnected-tracing.exp
* gdb.trace/entry-values.exp
* gdb.trace/ftrace-lock.exp
* gdb.trace/ftrace.exp
* gdb.trace/infotrace.exp
* gdb.trace/mi-trace-frame-collected.exp
* gdb.trace/mi-trace-unavailable.exp
* gdb.trace/mi-traceframe-changed.exp
* gdb.trace/mi-tracepoint-changed.exp
* gdb.trace/mi-tsv-changed.exp
* gdb.trace/no-attach-trace.exp
* gdb.trace/packetlen.exp
* gdb.trace/passc-dyn.exp
* gdb.trace/passcount.exp
* gdb.trace/pending.exp
* gdb.trace/pr16508.exp
* gdb.trace/qtro.exp
* gdb.trace/range-stepping.exp
* gdb.trace/read-memory.exp
* gdb.trace/report.exp
* gdb.trace/save-trace.exp
* gdb.trace/signal.exp
* gdb.trace/stap-trace.exp
* gdb.trace/status-stop.exp
* gdb.trace/strace.exp
* gdb.trace/tfile.exp
* gdb.trace/tfind.exp
* gdb.trace/trace-break.exp
* gdb.trace/trace-condition.exp
* gdb.trace/trace-enable-disable.exp
* gdb.trace/trace-mt.exp
* gdb.trace/tracecmd.exp
* gdb.trace/tracefile-pseudo-reg.exp
* gdb.trace/tspeed.exp
* gdb.trace/tstatus.exp
* gdb.trace/tsv.exp
* gdb.trace/unavailable.exp
* gdb.trace/while-dyn.exp
* gdb.trace/while-stepping.exp
* lib/gdb-guile.exp
* lib/gdb.exp
* lib/mi-support.exp
* lib/pascal.exp
* lib/perftest.exp
* lib/prelink-support.exp
* lib/selftest-support.exp
2016-12-01 14:40:05 -06:00
Kevin Buettner
5506f9f67e
minsyms.c: Scan backwards over all zero sized symbols.
...
The comment for the code in question says:
/* If the minimal symbol has a zero size, save it
but keep scanning backwards looking for one with
a non-zero size. A zero size may mean that the
symbol isn't an object or function (e.g. a
label), or it may just mean that the size was not
specified. */
As written, the code in question will only scan past the first symbol
of zero size. My change fixes the implementation to match the
comment.
Having this correct is important when the compiler generates several
local labels that are left in place by the linker. (I've been told
that the linker should eliminate these symbols, but I know of one
architecture for which this is not happening.)
I've created a test case called asmlabel.c. It's pretty simple:
main (int argc, char **argv)
{
asm ("L0:");
v = 0;
asm ("L1:");
v = 1; /* set L1 breakpoint here */
asm ("L2:");
v = 2; /* set L2 breakpoint here */
return 0;
}
If breakpoints are placed on the lines indicated by the comments,
this is the behavior of GDB built without my patch:
(gdb) continue
Continuing.
Breakpoint 2, L1 () at asmlabel.c:26
26 v = 1; /* set L1 breakpoint here */
Note that L1 appears as the function instead of main. This is not
what we want to happen. With my patch in place, we see the desired
behavior instead:
(gdb) continue
Continuing.
Breakpoint 2, main (argc=1, argv=0x7fffffffdb88) at asmlabel.c:26
26 v = 1; /* set L1 breakpoint here */
gdb/ChangeLog:
* minsyms.c (lookup_minimal_symbol_by_pc_section_1): Scan backwards
over all zero-sized symbols.
gdb/testsuite/ChangeLog:
* gdb.base/asmlabel.exp: New test.
* gdb.base/asmlabel.c: New test case.
2015-11-23 15:42:44 -07:00