Rebase to FSF GDB 8.3.50.20190702 (8.4pre).
Remove gdb-bz568248-oom-is-error.patch.
This commit is contained in:
parent
292cb418af
commit
c79314bd92
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,3 +1,3 @@
|
|||||||
/gdb-libstdc++-v3-python-8.1.1-20180626.tar.xz
|
/gdb-libstdc++-v3-python-8.1.1-20180626.tar.xz
|
||||||
/v2.0.tar.gz
|
/v2.0.tar.gz
|
||||||
/gdb-8.3.50.20190625.tar.xz
|
/gdb-8.3.50.20190702.tar.xz
|
||||||
|
@ -233,162 +233,158 @@ Patch058: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch
|
|||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch059: gdb-test-bt-cfi-without-die.patch
|
Patch059: gdb-test-bt-cfi-without-die.patch
|
||||||
|
|
||||||
# Out of memory is just an error, not fatal (uninitialized VLS vars, BZ 568248).
|
|
||||||
#=push+jan: Inferior objects should be read in parts, then this patch gets obsoleted.
|
|
||||||
Patch060: gdb-bz568248-oom-is-error.patch
|
|
||||||
|
|
||||||
# Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108).
|
# Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108).
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch061: gdb-bz634108-solib_address.patch
|
Patch060: gdb-bz634108-solib_address.patch
|
||||||
|
|
||||||
# New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435).
|
# New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435).
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch062: gdb-test-pid0-core.patch
|
Patch061: gdb-test-pid0-core.patch
|
||||||
|
|
||||||
# [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp.
|
# [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp.
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch063: gdb-test-dw2-aranges.patch
|
Patch062: gdb-test-dw2-aranges.patch
|
||||||
|
|
||||||
# [archer-keiths-expr-cumulative+upstream] Import C++ testcases.
|
# [archer-keiths-expr-cumulative+upstream] Import C++ testcases.
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch064: gdb-test-expr-cumulative-archer.patch
|
Patch063: gdb-test-expr-cumulative-archer.patch
|
||||||
|
|
||||||
# Fix regressions on C++ names resolving (PR 11734, PR 12273, Keith Seitz).
|
# Fix regressions on C++ names resolving (PR 11734, PR 12273, Keith Seitz).
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch065: gdb-physname-pr11734-test.patch
|
Patch064: gdb-physname-pr11734-test.patch
|
||||||
|
|
||||||
# Fix regressions on C++ names resolving (PR 11734, PR 12273, Keith Seitz).
|
# Fix regressions on C++ names resolving (PR 11734, PR 12273, Keith Seitz).
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch066: gdb-physname-pr12273-test.patch
|
Patch065: gdb-physname-pr12273-test.patch
|
||||||
|
|
||||||
# Test GDB opcodes/ disassembly of Intel Ivy Bridge instructions (BZ 696890).
|
# Test GDB opcodes/ disassembly of Intel Ivy Bridge instructions (BZ 696890).
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch067: gdb-test-ivy-bridge.patch
|
Patch066: gdb-test-ivy-bridge.patch
|
||||||
|
|
||||||
# Hack for proper PIE run of the testsuite.
|
# Hack for proper PIE run of the testsuite.
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch068: gdb-runtest-pie-override.patch
|
Patch067: gdb-runtest-pie-override.patch
|
||||||
|
|
||||||
# Print reasons for failed attach/spawn incl. SELinux deny_ptrace (BZ 786878).
|
# Print reasons for failed attach/spawn incl. SELinux deny_ptrace (BZ 786878).
|
||||||
#=push+jan
|
#=push+jan
|
||||||
Patch069: gdb-attach-fail-reasons-5of5.patch
|
Patch068: gdb-attach-fail-reasons-5of5.patch
|
||||||
|
|
||||||
# Workaround PR libc/14166 for inferior calls of strstr.
|
# Workaround PR libc/14166 for inferior calls of strstr.
|
||||||
#=fedoratest: Compatibility with RHELs (unchecked which ones).
|
#=fedoratest: Compatibility with RHELs (unchecked which ones).
|
||||||
Patch070: gdb-glibc-strstr-workaround.patch
|
Patch069: gdb-glibc-strstr-workaround.patch
|
||||||
|
|
||||||
# Include testcase for `Unable to see a variable inside a module (XLF)' (BZ 823789).
|
# Include testcase for `Unable to see a variable inside a module (XLF)' (BZ 823789).
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch071: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch
|
Patch070: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch
|
||||||
|
|
||||||
# Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343).
|
# Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343).
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch072: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch
|
Patch071: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch
|
||||||
|
|
||||||
# Import regression test for `gdb/findvar.c:417: internal-error:
|
# Import regression test for `gdb/findvar.c:417: internal-error:
|
||||||
# read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5.
|
# read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5.
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch073: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch
|
Patch072: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch
|
||||||
|
|
||||||
# Fix crash of -readnow /usr/lib/debug/usr/bin/gnatbind.debug (BZ 1069211).
|
# Fix crash of -readnow /usr/lib/debug/usr/bin/gnatbind.debug (BZ 1069211).
|
||||||
#=push+jan
|
#=push+jan
|
||||||
Patch074: gdb-gnat-dwarf-crash-3of3.patch
|
Patch073: gdb-gnat-dwarf-crash-3of3.patch
|
||||||
|
|
||||||
# Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614)
|
# Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614)
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch075: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch
|
Patch074: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch
|
||||||
|
|
||||||
# Fix 'gdb gives highly misleading error when debuginfo pkg is present,
|
# Fix 'gdb gives highly misleading error when debuginfo pkg is present,
|
||||||
# but not corresponding binary pkg' (RH BZ 981154).
|
# but not corresponding binary pkg' (RH BZ 981154).
|
||||||
#=push+jan
|
#=push+jan
|
||||||
Patch076: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch
|
Patch075: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch
|
||||||
|
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch077: gdb-archer-vla-tests.patch
|
Patch076: gdb-archer-vla-tests.patch
|
||||||
|
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch078: gdb-vla-intel-tests.patch
|
Patch077: gdb-vla-intel-tests.patch
|
||||||
|
|
||||||
# Continue backtrace even if a frame filter throws an exception (Phil Muldoon).
|
# Continue backtrace even if a frame filter throws an exception (Phil Muldoon).
|
||||||
#=push
|
#=push
|
||||||
Patch079: gdb-btrobust.patch
|
Patch078: gdb-btrobust.patch
|
||||||
|
|
||||||
# Display Fortran strings in backtraces.
|
# Display Fortran strings in backtraces.
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch080: gdb-fortran-frame-string.patch
|
Patch079: gdb-fortran-frame-string.patch
|
||||||
|
|
||||||
# Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to
|
# Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to
|
||||||
# crash.' (RH BZ 1156192).
|
# crash.' (RH BZ 1156192).
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch081: gdb-rhbz1156192-recursive-dlopen-test.patch
|
Patch080: gdb-rhbz1156192-recursive-dlopen-test.patch
|
||||||
|
|
||||||
# Fix jit-reader.h for multi-lib.
|
# Fix jit-reader.h for multi-lib.
|
||||||
#=push+jan
|
#=push+jan
|
||||||
Patch082: gdb-jit-reader-multilib.patch
|
Patch081: gdb-jit-reader-multilib.patch
|
||||||
|
|
||||||
# Fix '`catch syscall' doesn't work for parent after `fork' is called'
|
# Fix '`catch syscall' doesn't work for parent after `fork' is called'
|
||||||
# (Philippe Waroquiers, RH BZ 1149205).
|
# (Philippe Waroquiers, RH BZ 1149205).
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch083: gdb-rhbz1149205-catch-syscall-after-fork-test.patch
|
Patch082: gdb-rhbz1149205-catch-syscall-after-fork-test.patch
|
||||||
|
|
||||||
# Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug
|
# Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug
|
||||||
# description: 'C++ (and objc): Internal error on unqualified name
|
# description: 'C++ (and objc): Internal error on unqualified name
|
||||||
# re-set', PR 11657] (RH BZ 1186476).
|
# re-set', PR 11657] (RH BZ 1186476).
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch084: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch
|
Patch083: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch
|
||||||
|
|
||||||
# Test 'info type-printers' Python error (RH BZ 1350436).
|
# Test 'info type-printers' Python error (RH BZ 1350436).
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch085: gdb-rhbz1350436-type-printers-error.patch
|
Patch084: gdb-rhbz1350436-type-printers-error.patch
|
||||||
|
|
||||||
# Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan
|
# Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan
|
||||||
# Kratochvil, RH BZ 1084404).
|
# Kratochvil, RH BZ 1084404).
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch086: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch
|
Patch085: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch
|
||||||
|
|
||||||
# Never kill PID on: gdb exec PID (Jan Kratochvil, RH BZ 1219747).
|
# Never kill PID on: gdb exec PID (Jan Kratochvil, RH BZ 1219747).
|
||||||
#=push+jan
|
#=push+jan
|
||||||
Patch087: gdb-bz1219747-attach-kills.patch
|
Patch086: gdb-bz1219747-attach-kills.patch
|
||||||
|
|
||||||
# Force libncursesw over libncurses to match the includes (RH BZ 1270534).
|
# Force libncursesw over libncurses to match the includes (RH BZ 1270534).
|
||||||
#=push+jan
|
#=push+jan
|
||||||
Patch088: gdb-fedora-libncursesw.patch
|
Patch087: gdb-fedora-libncursesw.patch
|
||||||
|
|
||||||
# Test clflushopt instruction decode (for RH BZ 1262471).
|
# Test clflushopt instruction decode (for RH BZ 1262471).
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch089: gdb-opcodes-clflushopt-test.patch
|
Patch088: gdb-opcodes-clflushopt-test.patch
|
||||||
|
|
||||||
# [rhel6] DTS backward Python compatibility API (BZ 1020004, Phil Muldoon).
|
# [rhel6] DTS backward Python compatibility API (BZ 1020004, Phil Muldoon).
|
||||||
#=fedora
|
#=fedora
|
||||||
Patch090: gdb-dts-rhel6-python-compat.patch
|
Patch089: gdb-dts-rhel6-python-compat.patch
|
||||||
|
|
||||||
# [SCL] Skip deprecated .gdb_index warning for Red Hat built files (BZ 953585).
|
# [SCL] Skip deprecated .gdb_index warning for Red Hat built files (BZ 953585).
|
||||||
#=push+jan
|
#=push+jan
|
||||||
Patch091: gdb-6.6-buildid-locate-rpm-scl.patch
|
Patch090: gdb-6.6-buildid-locate-rpm-scl.patch
|
||||||
|
|
||||||
# Work around readline-6.2 incompatibility not asking for --more-- (BZ 701131).
|
# Work around readline-6.2 incompatibility not asking for --more-- (BZ 701131).
|
||||||
#=fedora
|
#=fedora
|
||||||
Patch092: gdb-readline62-ask-more-rh.patch
|
Patch091: gdb-readline62-ask-more-rh.patch
|
||||||
|
|
||||||
# Make the GDB quit processing non-abortable to cleanup everything properly.
|
# Make the GDB quit processing non-abortable to cleanup everything properly.
|
||||||
#=fedora: It was useful only after gdb-6.8-attach-signalled-detach-stopped.patch .
|
#=fedora: It was useful only after gdb-6.8-attach-signalled-detach-stopped.patch .
|
||||||
Patch093: gdb-6.8-quit-never-aborts.patch
|
Patch092: gdb-6.8-quit-never-aborts.patch
|
||||||
|
|
||||||
# [aarch64] Fix hardware watchpoints (RH BZ 1261564).
|
# [aarch64] Fix hardware watchpoints (RH BZ 1261564).
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch094: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch
|
Patch093: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch
|
||||||
|
|
||||||
# Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114).
|
# Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114).
|
||||||
#=fedora
|
#=fedora
|
||||||
Patch095: gdb-container-rh-pkg.patch
|
Patch094: gdb-container-rh-pkg.patch
|
||||||
|
|
||||||
# New test for Python "Cannot locate object file for block" (for RH BZ 1325795).
|
# New test for Python "Cannot locate object file for block" (for RH BZ 1325795).
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch096: gdb-rhbz1325795-framefilters-test.patch
|
Patch095: gdb-rhbz1325795-framefilters-test.patch
|
||||||
|
|
||||||
# [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513).
|
# [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513).
|
||||||
#=fedora
|
#=fedora
|
||||||
Patch097: gdb-linux_perf-bundle.patch
|
Patch096: gdb-linux_perf-bundle.patch
|
||||||
|
|
||||||
# Fix gdb-headless /usr/bin/ executables (BZ 1390251).
|
# Fix gdb-headless /usr/bin/ executables (BZ 1390251).
|
||||||
#
|
#
|
||||||
@ -397,24 +393,24 @@ Patch097: gdb-linux_perf-bundle.patch
|
|||||||
#
|
#
|
||||||
# https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot
|
# https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot
|
||||||
#=fedora
|
#=fedora
|
||||||
Patch098: gdb-libexec-add-index.patch
|
Patch097: gdb-libexec-add-index.patch
|
||||||
|
|
||||||
# New testcase for: Fix <tab>-completion crash (Gary Benson, RH BZ 1398387).
|
# New testcase for: Fix <tab>-completion crash (Gary Benson, RH BZ 1398387).
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch099: gdb-rhbz1398387-tab-crash-test.patch
|
Patch098: gdb-rhbz1398387-tab-crash-test.patch
|
||||||
|
|
||||||
# [testsuite] Fix false selftest.exp FAIL from system readline-6.3+ (Patrick Palka).
|
# [testsuite] Fix false selftest.exp FAIL from system readline-6.3+ (Patrick Palka).
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch100: gdb-testsuite-readline63-sigint.patch
|
Patch099: gdb-testsuite-readline63-sigint.patch
|
||||||
|
|
||||||
# Python patches of: http://sourceware.org/gdb/wiki/ProjectArcher
|
# Python patches of: http://sourceware.org/gdb/wiki/ProjectArcher
|
||||||
#=push
|
#=push
|
||||||
Patch101: gdb-archer.patch
|
Patch100: gdb-archer.patch
|
||||||
|
|
||||||
# Revert upstream commit 469412dd9ccc4de5874fd3299b105833f36b34cd
|
# Revert upstream commit 469412dd9ccc4de5874fd3299b105833f36b34cd
|
||||||
Patch102: gdb-vla-intel-fix-print-char-array.patch
|
Patch101: gdb-vla-intel-fix-print-char-array.patch
|
||||||
|
|
||||||
# [s390x] Backport arch12 instructions decoding (RH BZ 1553104).
|
# [s390x] Backport arch12 instructions decoding (RH BZ 1553104).
|
||||||
# =fedoratest
|
# =fedoratest
|
||||||
Patch103: gdb-rhbz1553104-s390x-arch12-test.patch
|
Patch102: gdb-rhbz1553104-s390x-arch12-test.patch
|
||||||
|
|
||||||
|
@ -100,4 +100,3 @@
|
|||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%patch101 -p1
|
%patch101 -p1
|
||||||
%patch102 -p1
|
%patch102 -p1
|
||||||
%patch103 -p1
|
|
||||||
|
@ -1 +1 @@
|
|||||||
2e7c439dec066ac8a597d0b85193b8d3ec8e09eb
|
390b205f456be85e309570f1b6e9b75f27194de7
|
||||||
|
@ -57,7 +57,6 @@ gdb-bz601887-dwarf4-rh-test.patch
|
|||||||
gdb-6.6-buildid-locate-core-as-arg.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-librpm-workaround.patch
|
||||||
gdb-test-bt-cfi-without-die.patch
|
gdb-test-bt-cfi-without-die.patch
|
||||||
gdb-bz568248-oom-is-error.patch
|
|
||||||
gdb-bz634108-solib_address.patch
|
gdb-bz634108-solib_address.patch
|
||||||
gdb-test-pid0-core.patch
|
gdb-test-pid0-core.patch
|
||||||
gdb-test-dw2-aranges.patch
|
gdb-test-dw2-aranges.patch
|
||||||
|
@ -169,7 +169,7 @@ diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
|
|||||||
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
|
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
|
||||||
--- a/gdb/i386-tdep.c
|
--- a/gdb/i386-tdep.c
|
||||||
+++ b/gdb/i386-tdep.c
|
+++ b/gdb/i386-tdep.c
|
||||||
@@ -8419,6 +8419,9 @@ i386_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
@@ -8448,6 +8448,9 @@ i386_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||||
|
|
||||||
tdep->xsave_xcr0_offset = -1;
|
tdep->xsave_xcr0_offset = -1;
|
||||||
|
|
||||||
|
@ -1098,7 +1098,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
|||||||
|
|
||||||
if (dwz_bfd == NULL)
|
if (dwz_bfd == NULL)
|
||||||
error (_("could not find '.gnu_debugaltlink' file for %s"),
|
error (_("could not find '.gnu_debugaltlink' file for %s"),
|
||||||
@@ -6189,7 +6189,7 @@ get_gdb_index_contents_from_section (objfile *obj, T *section_owner)
|
@@ -6186,7 +6186,7 @@ get_gdb_index_contents_from_section (objfile *obj, T *section_owner)
|
||||||
static gdb::array_view<const gdb_byte>
|
static gdb::array_view<const gdb_byte>
|
||||||
get_gdb_index_contents_from_cache (objfile *obj, dwarf2_per_objfile *dwarf2_obj)
|
get_gdb_index_contents_from_cache (objfile *obj, dwarf2_per_objfile *dwarf2_obj)
|
||||||
{
|
{
|
||||||
@ -1107,7 +1107,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
|||||||
if (build_id == nullptr)
|
if (build_id == nullptr)
|
||||||
return {};
|
return {};
|
||||||
|
|
||||||
@@ -6202,7 +6202,7 @@ get_gdb_index_contents_from_cache (objfile *obj, dwarf2_per_objfile *dwarf2_obj)
|
@@ -6199,7 +6199,7 @@ get_gdb_index_contents_from_cache (objfile *obj, dwarf2_per_objfile *dwarf2_obj)
|
||||||
static gdb::array_view<const gdb_byte>
|
static gdb::array_view<const gdb_byte>
|
||||||
get_gdb_index_contents_from_cache_dwz (objfile *obj, dwz_file *dwz)
|
get_gdb_index_contents_from_cache_dwz (objfile *obj, dwz_file *dwz)
|
||||||
{
|
{
|
||||||
|
@ -1,71 +0,0 @@
|
|||||||
From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
|
|
||||||
From: Fedora GDB patches <invalid@email.com>
|
|
||||||
Date: Fri, 27 Oct 2017 21:07:50 +0200
|
|
||||||
Subject: gdb-bz568248-oom-is-error.patch
|
|
||||||
|
|
||||||
;; Out of memory is just an error, not fatal (uninitialized VLS vars, BZ 568248).
|
|
||||||
;;=push+jan: Inferior objects should be read in parts, then this patch gets obsoleted.
|
|
||||||
|
|
||||||
http://sourceware.org/ml/gdb-patches/2010-06/msg00005.html
|
|
||||||
|
|
||||||
Hi,
|
|
||||||
|
|
||||||
unfortunately I see this problem reproducible only with the
|
|
||||||
archer-jankratochvil-vla branch (VLA = Variable Length Arrays - char[var]).
|
|
||||||
OTOH this branch I hopefully submit in some form for FSF GDB later.
|
|
||||||
|
|
||||||
In this case (a general problem but tested for example on Fedora 13 i686):
|
|
||||||
|
|
||||||
int
|
|
||||||
main (int argc, char **argv)
|
|
||||||
{
|
|
||||||
char a[argc];
|
|
||||||
return a[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
(gdb) start
|
|
||||||
(gdb) print a
|
|
||||||
../../gdb/utils.c:1251: internal-error: virtual memory exhausted: can't allocate 4294951689 bytes.
|
|
||||||
|
|
||||||
It is apparently because boundary for the variable `a' is not initialized
|
|
||||||
there. Users notice it due to Eclipse-CDT trying to automatically display all
|
|
||||||
the local variables on each step.
|
|
||||||
|
|
||||||
Apparentl no regressions on {x86_64,x86_64-m32,i686}-fedora13-linux-gnu.
|
|
||||||
But is anone aware of the reasons to use internal_error there?
|
|
||||||
I find simple error as a perfectly reasonable there.
|
|
||||||
(history only tracks it since the initial import)
|
|
||||||
|
|
||||||
IIRC this idea has been discussed with Tom Tromey, not sure of its origin.
|
|
||||||
|
|
||||||
I understand it may be offtopic for FSF GDB but from some GDB crashes I am not
|
|
||||||
sure if it can happen only due to the VLA variables.
|
|
||||||
|
|
||||||
Thanks,
|
|
||||||
Jan
|
|
||||||
|
|
||||||
gdb/
|
|
||||||
2010-06-01 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
||||||
Tom Tromey <tromey@redhat.com>
|
|
||||||
|
|
||||||
* utils.c (nomem): Change internal_error to error.
|
|
||||||
|
|
||||||
diff --git a/gdb/utils.c b/gdb/utils.c
|
|
||||||
--- a/gdb/utils.c
|
|
||||||
+++ b/gdb/utils.c
|
|
||||||
@@ -689,13 +689,11 @@ malloc_failure (long size)
|
|
||||||
{
|
|
||||||
if (size > 0)
|
|
||||||
{
|
|
||||||
- internal_error (__FILE__, __LINE__,
|
|
||||||
- _("virtual memory exhausted: can't allocate %ld bytes."),
|
|
||||||
- size);
|
|
||||||
+ error (_("virtual memory exhausted: can't allocate %ld bytes."), size);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- internal_error (__FILE__, __LINE__, _("virtual memory exhausted."));
|
|
||||||
+ error (_("virtual memory exhausted."));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -42,7 +42,7 @@ gdb/
|
|||||||
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
||||||
--- a/gdb/dwarf2read.c
|
--- a/gdb/dwarf2read.c
|
||||||
+++ b/gdb/dwarf2read.c
|
+++ b/gdb/dwarf2read.c
|
||||||
@@ -10543,6 +10543,13 @@ private:
|
@@ -10540,6 +10540,13 @@ private:
|
||||||
static void
|
static void
|
||||||
process_die (struct die_info *die, struct dwarf2_cu *cu)
|
process_die (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
{
|
{
|
||||||
|
@ -143,7 +143,7 @@ diff --git a/gdb/dwarf2loc.h b/gdb/dwarf2loc.h
|
|||||||
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
||||||
--- a/gdb/dwarf2read.c
|
--- a/gdb/dwarf2read.c
|
||||||
+++ b/gdb/dwarf2read.c
|
+++ b/gdb/dwarf2read.c
|
||||||
@@ -17763,7 +17763,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -17760,7 +17760,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
struct type *base_type, *orig_base_type;
|
struct type *base_type, *orig_base_type;
|
||||||
struct type *range_type;
|
struct type *range_type;
|
||||||
struct attribute *attr;
|
struct attribute *attr;
|
||||||
@ -152,7 +152,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
|||||||
int low_default_is_valid;
|
int low_default_is_valid;
|
||||||
int high_bound_is_count = 0;
|
int high_bound_is_count = 0;
|
||||||
const char *name;
|
const char *name;
|
||||||
@@ -17783,7 +17783,9 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -17780,7 +17780,9 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
|
|
||||||
low.kind = PROP_CONST;
|
low.kind = PROP_CONST;
|
||||||
high.kind = PROP_CONST;
|
high.kind = PROP_CONST;
|
||||||
@ -162,7 +162,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
|||||||
|
|
||||||
/* Set LOW_DEFAULT_IS_VALID if current language and DWARF version allow
|
/* Set LOW_DEFAULT_IS_VALID if current language and DWARF version allow
|
||||||
omitting DW_AT_lower_bound. */
|
omitting DW_AT_lower_bound. */
|
||||||
@@ -17816,6 +17818,14 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -17813,6 +17815,14 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -177,7 +177,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
|||||||
attr = dwarf2_attr (die, DW_AT_lower_bound, cu);
|
attr = dwarf2_attr (die, DW_AT_lower_bound, cu);
|
||||||
if (attr)
|
if (attr)
|
||||||
attr_to_dynamic_prop (attr, die, cu, &low);
|
attr_to_dynamic_prop (attr, die, cu, &low);
|
||||||
@@ -17908,7 +17918,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -17905,7 +17915,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
&& !TYPE_UNSIGNED (base_type) && (high.data.const_val & negative_mask))
|
&& !TYPE_UNSIGNED (base_type) && (high.data.const_val & negative_mask))
|
||||||
high.data.const_val |= negative_mask;
|
high.data.const_val |= negative_mask;
|
||||||
|
|
||||||
|
@ -87,7 +87,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
|||||||
|
|
||||||
/* memory allocation interface */
|
/* memory allocation interface */
|
||||||
|
|
||||||
@@ -13686,7 +13687,7 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -13683,7 +13684,7 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
{
|
{
|
||||||
newobj->static_link
|
newobj->static_link
|
||||||
= XOBNEW (&objfile->objfile_obstack, struct dynamic_prop);
|
= XOBNEW (&objfile->objfile_obstack, struct dynamic_prop);
|
||||||
@ -96,7 +96,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
cu->list_in_scope = cu->get_builder ()->get_local_symbols ();
|
cu->list_in_scope = cu->get_builder ()->get_local_symbols ();
|
||||||
@@ -16445,7 +16446,8 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -16442,7 +16443,8 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
|
|
||||||
byte_stride_prop
|
byte_stride_prop
|
||||||
= (struct dynamic_prop *) alloca (sizeof (struct dynamic_prop));
|
= (struct dynamic_prop *) alloca (sizeof (struct dynamic_prop));
|
||||||
@ -106,7 +106,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
|||||||
if (!stride_ok)
|
if (!stride_ok)
|
||||||
{
|
{
|
||||||
complaint (_("unable to read array DW_AT_byte_stride "
|
complaint (_("unable to read array DW_AT_byte_stride "
|
||||||
@@ -17203,29 +17205,90 @@ read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -17200,29 +17202,90 @@ read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
struct gdbarch *gdbarch = get_objfile_arch (objfile);
|
struct gdbarch *gdbarch = get_objfile_arch (objfile);
|
||||||
struct type *type, *range_type, *index_type, *char_type;
|
struct type *type, *range_type, *index_type, *char_type;
|
||||||
struct attribute *attr;
|
struct attribute *attr;
|
||||||
@ -208,7 +208,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
|||||||
char_type = language_string_char_type (cu->language_defn, gdbarch);
|
char_type = language_string_char_type (cu->language_defn, gdbarch);
|
||||||
type = create_string_type (NULL, char_type, range_type);
|
type = create_string_type (NULL, char_type, range_type);
|
||||||
|
|
||||||
@@ -17657,7 +17720,8 @@ read_base_type (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -17654,7 +17717,8 @@ read_base_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
|
|
||||||
static int
|
static int
|
||||||
attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
|
attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
|
||||||
@ -218,7 +218,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
|||||||
{
|
{
|
||||||
struct dwarf2_property_baton *baton;
|
struct dwarf2_property_baton *baton;
|
||||||
struct obstack *obstack
|
struct obstack *obstack
|
||||||
@@ -17668,14 +17732,33 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
|
@@ -17665,14 +17729,33 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
|
||||||
|
|
||||||
if (attr_form_is_block (attr))
|
if (attr_form_is_block (attr))
|
||||||
{
|
{
|
||||||
@ -256,7 +256,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
|||||||
}
|
}
|
||||||
else if (attr_form_is_ref (attr))
|
else if (attr_form_is_ref (attr))
|
||||||
{
|
{
|
||||||
@@ -17708,8 +17791,28 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
|
@@ -17705,8 +17788,28 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
|
||||||
baton = XOBNEW (obstack, struct dwarf2_property_baton);
|
baton = XOBNEW (obstack, struct dwarf2_property_baton);
|
||||||
baton->referenced_type = die_type (target_die, target_cu);
|
baton->referenced_type = die_type (target_die, target_cu);
|
||||||
baton->locexpr.per_cu = cu->per_cu;
|
baton->locexpr.per_cu = cu->per_cu;
|
||||||
@ -287,7 +287,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
|||||||
prop->data.baton = baton;
|
prop->data.baton = baton;
|
||||||
prop->kind = PROP_LOCEXPR;
|
prop->kind = PROP_LOCEXPR;
|
||||||
gdb_assert (prop->data.baton != NULL);
|
gdb_assert (prop->data.baton != NULL);
|
||||||
@@ -17820,7 +17923,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -17817,7 +17920,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
|
|
||||||
attr = dwarf2_attr (die, DW_AT_byte_stride, cu);
|
attr = dwarf2_attr (die, DW_AT_byte_stride, cu);
|
||||||
if (attr)
|
if (attr)
|
||||||
@ -296,7 +296,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
|||||||
complaint (_("Missing DW_AT_byte_stride "
|
complaint (_("Missing DW_AT_byte_stride "
|
||||||
"- DIE at 0x%s [in module %s]"),
|
"- DIE at 0x%s [in module %s]"),
|
||||||
sect_offset_str (die->sect_off),
|
sect_offset_str (die->sect_off),
|
||||||
@@ -17828,7 +17931,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -17825,7 +17928,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
|
|
||||||
attr = dwarf2_attr (die, DW_AT_lower_bound, cu);
|
attr = dwarf2_attr (die, DW_AT_lower_bound, cu);
|
||||||
if (attr)
|
if (attr)
|
||||||
@ -305,7 +305,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
|||||||
else if (!low_default_is_valid)
|
else if (!low_default_is_valid)
|
||||||
complaint (_("Missing DW_AT_lower_bound "
|
complaint (_("Missing DW_AT_lower_bound "
|
||||||
"- DIE at %s [in module %s]"),
|
"- DIE at %s [in module %s]"),
|
||||||
@@ -17837,10 +17940,10 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -17834,10 +17937,10 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
|
|
||||||
struct attribute *attr_ub, *attr_count;
|
struct attribute *attr_ub, *attr_count;
|
||||||
attr = attr_ub = dwarf2_attr (die, DW_AT_upper_bound, cu);
|
attr = attr_ub = dwarf2_attr (die, DW_AT_upper_bound, cu);
|
||||||
@ -318,7 +318,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
|||||||
{
|
{
|
||||||
/* If bounds are constant do the final calculation here. */
|
/* If bounds are constant do the final calculation here. */
|
||||||
if (low.kind == PROP_CONST && high.kind == PROP_CONST)
|
if (low.kind == PROP_CONST && high.kind == PROP_CONST)
|
||||||
@@ -25502,7 +25605,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
@@ -25505,7 +25608,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
||||||
attr = dwarf2_attr (die, DW_AT_allocated, cu);
|
attr = dwarf2_attr (die, DW_AT_allocated, cu);
|
||||||
if (attr_form_is_block (attr))
|
if (attr_form_is_block (attr))
|
||||||
{
|
{
|
||||||
@ -327,7 +327,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
|||||||
add_dyn_prop (DYN_PROP_ALLOCATED, prop, type);
|
add_dyn_prop (DYN_PROP_ALLOCATED, prop, type);
|
||||||
}
|
}
|
||||||
else if (attr != NULL)
|
else if (attr != NULL)
|
||||||
@@ -25516,7 +25619,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
@@ -25519,7 +25622,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
||||||
attr = dwarf2_attr (die, DW_AT_associated, cu);
|
attr = dwarf2_attr (die, DW_AT_associated, cu);
|
||||||
if (attr_form_is_block (attr))
|
if (attr_form_is_block (attr))
|
||||||
{
|
{
|
||||||
@ -336,7 +336,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
|||||||
add_dyn_prop (DYN_PROP_ASSOCIATED, prop, type);
|
add_dyn_prop (DYN_PROP_ASSOCIATED, prop, type);
|
||||||
}
|
}
|
||||||
else if (attr != NULL)
|
else if (attr != NULL)
|
||||||
@@ -25528,7 +25631,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
@@ -25531,7 +25634,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
||||||
|
|
||||||
/* Read DW_AT_data_location and set in type. */
|
/* Read DW_AT_data_location and set in type. */
|
||||||
attr = dwarf2_attr (die, DW_AT_data_location, cu);
|
attr = dwarf2_attr (die, DW_AT_data_location, cu);
|
||||||
|
10
gdb.spec
10
gdb.spec
@ -27,7 +27,7 @@
|
|||||||
Name: %{?scl_prefix}gdb
|
Name: %{?scl_prefix}gdb
|
||||||
|
|
||||||
# Freeze it when GDB gets branched
|
# Freeze it when GDB gets branched
|
||||||
%global snapsrc 20190625
|
%global snapsrc 20190702
|
||||||
# See timestamp of source gnulib installed into gdb/gnulib/ .
|
# See timestamp of source gnulib installed into gdb/gnulib/ .
|
||||||
%global snapgnulib 20161115
|
%global snapgnulib 20161115
|
||||||
%global tarname gdb-%{version}
|
%global tarname gdb-%{version}
|
||||||
@ -35,7 +35,7 @@ Version: 8.3.50.%{snapsrc}
|
|||||||
|
|
||||||
# The release always contains a leading reserved number, start it at 1.
|
# The release always contains a leading reserved number, start it at 1.
|
||||||
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
|
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
|
||||||
Release: 18%{?dist}
|
Release: 19%{?dist}
|
||||||
|
|
||||||
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL
|
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL
|
||||||
# Do not provide URL for snapshots as the file lasts there only for 2 days.
|
# Do not provide URL for snapshots as the file lasts there only for 2 days.
|
||||||
@ -524,7 +524,6 @@ COMMON_GDB_CONFIGURE_FLAGS="\
|
|||||||
--sysconfdir=%{_sysconfdir} \
|
--sysconfdir=%{_sysconfdir} \
|
||||||
--mandir=%{_mandir} \
|
--mandir=%{_mandir} \
|
||||||
--infodir=%{_infodir} \
|
--infodir=%{_infodir} \
|
||||||
--with-system-gdbinit=%{_sysconfdir}/gdbinit \
|
|
||||||
--with-gdb-datadir=%{_datadir}/gdb \
|
--with-gdb-datadir=%{_datadir}/gdb \
|
||||||
--enable-gdb-build-warnings=,-Wno-unused \
|
--enable-gdb-build-warnings=,-Wno-unused \
|
||||||
--enable-build-with-cxx \
|
--enable-build-with-cxx \
|
||||||
@ -671,6 +670,7 @@ export CXXFLAGS="$CFLAGS"
|
|||||||
|
|
||||||
# The configure flags we will use when building the full GDB.
|
# The configure flags we will use when building the full GDB.
|
||||||
GDB_FULL_CONFIGURE_FLAGS="\
|
GDB_FULL_CONFIGURE_FLAGS="\
|
||||||
|
--with-system-gdbinit=%{_sysconfdir}/gdbinit \
|
||||||
%if 0%{!?rhel:1} || 0%{?rhel} > 7
|
%if 0%{!?rhel:1} || 0%{?rhel} > 7
|
||||||
--with-babeltrace \
|
--with-babeltrace \
|
||||||
%else
|
%else
|
||||||
@ -1141,6 +1141,10 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Jul 2 2019 Sergio Durigan Junior <sergiodj@redhat.com> - 8.3.50.20190702-19
|
||||||
|
- Rebase to FSF GDB 8.3.50.20190702 (8.4pre).
|
||||||
|
- Remove gdb-bz568248-oom-is-error.patch.
|
||||||
|
|
||||||
* Tue Jun 25 2019 Sergio Durigan Junior <sergiodj@redhat.com> - 8.3.50.20190625-18
|
* Tue Jun 25 2019 Sergio Durigan Junior <sergiodj@redhat.com> - 8.3.50.20190625-18
|
||||||
- Rebase to FSF GDB 8.3.50.20190625 (8.4pre).
|
- Rebase to FSF GDB 8.3.50.20190625 (8.4pre).
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1,3 +1,3 @@
|
|||||||
SHA512 (gdb-libstdc++-v3-python-8.1.1-20180626.tar.xz) = a8b1c54dd348cfeb37da73f968742896be3dd13a4215f8d8519870c2abea915f5176c3fa6989ddd10f20020a16f0fab20cbae68ee8d58a82234d8778023520f8
|
SHA512 (gdb-libstdc++-v3-python-8.1.1-20180626.tar.xz) = a8b1c54dd348cfeb37da73f968742896be3dd13a4215f8d8519870c2abea915f5176c3fa6989ddd10f20020a16f0fab20cbae68ee8d58a82234d8778023520f8
|
||||||
SHA512 (v2.0.tar.gz) = ec63151e842c81cc73ea11ba560b63e005cefbe19d98de24ae5c8caa4de7c9c1d71d1ec5b6214a347592eac675b75a3d2b26d4691ca86f91020ebfea8e912939
|
SHA512 (v2.0.tar.gz) = ec63151e842c81cc73ea11ba560b63e005cefbe19d98de24ae5c8caa4de7c9c1d71d1ec5b6214a347592eac675b75a3d2b26d4691ca86f91020ebfea8e912939
|
||||||
SHA512 (gdb-8.3.50.20190625.tar.xz) = e374fc5ec3c27d40802c7f915bca2a5d98804a45d47e41723805f53610307a10926f1074cda8daaefd9eea1910a523b431b380cbd173e8174d331f1dbd726031
|
SHA512 (gdb-8.3.50.20190702.tar.xz) = e36682601f5dc9ac1cd2bbdbfed45888046cf6df43231dc604271e63ca3609e9aabcca24b50c72146d7160855093497b1e217db34e0878a74c313524eb371d6f
|
||||||
|
Loading…
Reference in New Issue
Block a user