gdb/gdb-tui-enable-work-around-libncurses-segfault.patch
Michael Matz 1c5ef882c0 Accepting request 851545 from home:tomdevries:branches:devel:gcc-gdb-10.1-rebase
- Fedora patch fixups update:
  * fixup-2-gdb-rhbz1156192-recursive-dlopen-test.patch
- Fedora patch fixups added:
  * fixup-gdb-test-ivy-bridge.patch
- Add xz to BuildRequires for testsuite flavour.
- Add note on mpfr-devel for SLE-11.
- Backport from master:
  * gdb-testsuite-fix-failure-in-gdb-base-step-over-no-symbols-exp.patch
- Patch to be upstreamed:
  * gdb-testsuite-fix-control-flow-in-gdb-reverse-insn-reverse-exp.patch
- Patch updated:
  * gdb-testsuite-gdb-tui-new-layout-exp-partly-require-tcl86.patch
- Patch updated:
  * gdb-testsuite-gdb-tui-new-layout-exp-partly-require-tcl86.patch
- Patch to be upstreamed:
  * gdb-testsuite-gdb-base-morestack-exp-no-clang.patch
  * gdb-testsuite-handle-sigill-in-gdb-reverse-insn-reverse-exp.patch
  * gdb-testsuite-fix-gdb-reverse-insn-reverse-x86-c-for-m32.patch
  * gdb-testsuite-gdb-tui-new-layout-exp-partly-require-tcl86.patch
  * gdb-tui-enable-work-around-libncurses-segfault.patch
- Backport from master dropped:
  * gdb-testsuite-fix-unbalanced-braces-in-gdb-tui-new-layout-exp.patch
- Fedora patch fixups updated:
  * fixup-2-gdb-archer-vla-tests.patch
- Fedora patch fixups added:
  * fixup-2-gdb-rhbz1156192-recursive-dlopen-test.patch
- Testsuite patch:
  * gdb-testsuite-disable-selftests-for-factory.patch
- Backport from master:
  * gdb-symtab-read-cu-base-address-for-enqueued-cu.patch
  * gdb-symtab-use-early-continue-in-find_pc_sect_compunit.patch
  * gdb-fix-section-matching-in-find_pc_sect_compunit.patch
  * gdb-symtab-fix-language-of-frame-without-debug-info.patch
- Patch to be upstreamed: 
  * gdb-symtab-set-default-dwarf-max-cache-age-1000.patch
- BuildRequire curl for debuginfod test-case.
- Patch to be upstreamed: 
  * gdb-don-t-return-non-existing-path-in-debuginfod-source-query.patch
  * gdb-fix-assert-in-process-event-stop-test.patch
  * gdb-fix-filename-in-not-in-executable-format-error.patch
  * gdb-handle-no-upper-bound-in-value-subscript.patch
  * gdb-fortran-handle-dw-at-string-length-with-loclistptr.patch
- Testsuite patch:
  * gdb-testsuite-fix-gdb-server-ext-run-exp-for-obs.patch
- Fedora patch fixups added:
  * fixup-gdb-rhbz1156192-recursive-dlopen-test.patch
- Fedora patch fixups updated:
  * fixup-gdb-btrobust.patch
  * fixup-2-gdb-archer-vla-tests.patch
- Add missing patch command for:
  * gdb-fortran-fix-print-dynamic-array.patch
- Fix patch application on SLE-11:
  * gdb-testsuite-detect-gdb-prompt-after-monitor-exit.patch
- Disable xz-devel and binutils-gold for SLE-10.
- More enabling of gdbserver for riscv64.
- Backport from master:
  * gdb-testsuite-fix-unbalanced-braces-in-gdb-tui-new-layout-exp.patch
  * gdb-testsuite-catch-condition-evaluation-errors-in-gdb-assert.patch
  * gdb-testsuite-detect-gdb-prompt-after-monitor-exit.patch
  * gdb-testsuite-fix-gdb-dlang-watch-loc-exp-on-ppc64.patch
- Patch to be upstreamed:
  * gdb-fortran-fix-print-dynamic-array.patch
- Enable gdbserver for riscv64.
- Restrict BuildRequires libdebuginfod to Factory and supporting
  archs.
- Rebase to 10.1 release (as in fedora 33 @ 6c8ccd6).
  * Debuginfod support.
  * Multi-target debugging support.
  * Multithreaded symbol loading enabled by default.
  * New command set exec-file-mismatch.
  * New command tui new-layout.
  * Alias command can now specify default args for an alias.
- Update libipt to v2.0.2.
- Fedora-specific patches dropped:
  * gdb-6.8-bz466901-backtrace-full-prelinked.patch
- Broken/obsolete fedora patches dropped:
  * gdb-bz533176-fortran-omp-step.patch
  * gdb-6.5-BEA-testsuite.patch
  * gdb-6.7-charsign-test.patch
- Obsoleted fedora patches dropped:
  * gdb-6.3-attach-see-vdso-test.patch
  * gdb-6.3-inferior-notification-20050721.patch
  * gdb-6.5-gcore-buffer-limit-test.patch
  * gdb-6.5-missed-trap-on-step-test.patch
  * gdb-rhbz1818011-bfd-gcc10-error.patch
- Fedora patches updated:
  * gdb-6.3-gstack-20050411.patch
  * gdb-6.3-test-self-20050110.patch
  * gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
  * gdb-6.5-bz218379-solib-trampoline-lookup-lock-fix.patch
  * gdb-6.6-buildid-locate-core-as-arg.patch
  * gdb-6.6-buildid-locate-rpm-librpm-workaround.patch
  * gdb-6.6-buildid-locate-rpm-scl.patch
  * gdb-6.6-buildid-locate-rpm.patch
  * gdb-6.6-buildid-locate-solib-missing-ids.patch
  * gdb-6.6-buildid-locate.patch
  * gdb-6.7-testsuite-stable-results.patch
  * gdb-6.8-quit-never-aborts.patch
  * gdb-archer-pie-addons-keep-disabled.patch
  * gdb-archer-pie-addons.patch
  * gdb-archer-vla-tests.patch
  * gdb-attach-fail-reasons-5of5.patch
  * gdb-bz1219747-attach-kills.patch
  * gdb-bz533176-fortran-omp-step.patch
  * gdb-container-rh-pkg.patch
  * gdb-fedora-libncursesw.patch
  * gdb-gnat-dwarf-crash-3of3.patch
  * gdb-jit-reader-multilib.patch
  * gdb-linux_perf-bundle.patch
  * gdb-moribund-utrace-workaround.patch
  * gdb-runtest-pie-override.patch
  * gdb-vla-intel-fix-print-char-array.patch
  * gdb-vla-intel-fortran-strides.patch
  * gdb-vla-intel-fortran-vla-strings.patch
  * gdb-vla-intel-stringbt-fix.patch
  * gdb-vla-intel-tests.patch
- Fedora patches added:
  * gdb-config.patch
- Obsoleted patched dropped:
  * gdb-testsuite-avoid-pagination-in-attach-32.exp.patch
  * gdb-fix-toplevel-types-with-fdebug-types-section.patch
  * gdb-fix-range-loop-index-in-find_method.patch
  * gdb-fix-python3.9-related-runtime-problems.patch
  * gdb-fix-unused-function-error.patch
  * gdb-fix-the-thread-pool.c-compilation.patch
  * gdb-aarch64-fix-erroneous-use-of-spu-architecture-bfd.patch
  * gdb-fix-debug-agent-odr-bool-int.patch
  * gdbserver-fix-build-with-make-3.81.patch
  * gdb-threads-fix-hang-in-stop_all_threads-after-killing-inferior.patch
- Fedora patch fixups added:
  * fixup-gdb-6.3-test-pie-20050107.patch
  * fixup-gdb-6.5-sharedlibrary-path.patch
  * fixup-gdb-6.6-buildid-locate.patch
  * fixup-gdb-6.8-bz442765-threaded-exec-test.patch
  * fixup-gdb-archer-vla-tests.patch
  * fixup-gdb-base-gnu-ifunc-strstr-workaround-exp.patch
  * fixup-gdb-btrobust.patch
  * fixup-gdb-bz634108-solib_address.patch
  * fixup-gdb-dts-rhel6-python-compat.patch
  * fixup-gdb-gnat-dwarf-crash-3of3.patch
  * fixup-gdb-vla-intel-fortran-vla-strings.patch
  * fixup-gdb-vla-intel-tests.patch
  * fixup-gdb-6.3-threaded-watchpoints2-20050225.patch
- Patches renamed:
  * gdb-testsuite-fix-perror-in-gdb.opt-fortran-string.exp.patch
    to fixup-2-gdb-archer-vla-tests.patch
- Patches updated:
  * gdb-testsuite-ada-pie.patch
- Backport from master:
  * gdb-testsuite-prevent-pagination-in-gdb-internalflags.patch

OBS-URL: https://build.opensuse.org/request/show/851545
OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gdb?expand=0&rev=263
2020-11-30 14:28:07 +00:00

48 lines
1.4 KiB
Diff

diff --git a/gdb/tui/tui.c b/gdb/tui/tui.c
index 828e42bccf7..551a72e3992 100644
--- a/gdb/tui/tui.c
+++ b/gdb/tui/tui.c
@@ -57,7 +57,7 @@
/* Tells whether the TUI is active or not. */
bool tui_active = false;
-static bool tui_finish_init = true;
+static int tui_init = -1;
enum tui_key_mode tui_current_key_mode = TUI_COMMAND_MODE;
@@ -363,7 +363,13 @@ tui_enable (void)
/* To avoid to initialize curses when gdb starts, there is a deferred
curses initialization. This initialization is made only once
and the first time the curses mode is entered. */
- if (tui_finish_init)
+ if (tui_init == 0)
+ {
+ /* Initalization failed before, just throw a generic error, don't try
+ again. Workaround for segfault in libncurses5 bsc#1179210. */
+ error (_("Cannot enable the TUI"));
+ }
+ else if (tui_init == -1)
{
WINDOW *w;
SCREEN *s;
@@ -383,6 +389,8 @@ tui_enable (void)
if (!gdb_stderr->isatty ())
error (_("Cannot enable the TUI when output is not a terminal"));
+ tui_init = 0;
+
s = newterm (NULL, stdout, stdin);
#ifdef __MINGW32__
/* The MinGW port of ncurses requires $TERM to be unset in order
@@ -435,7 +443,8 @@ tui_enable (void)
tui_set_win_focus_to (TUI_SRC_WIN);
keypad (TUI_CMD_WIN->handle.get (), TRUE);
wrefresh (TUI_CMD_WIN->handle.get ());
- tui_finish_init = false;
+
+ tui_init = 1;
}
else
{