summaryrefslogtreecommitdiff
path: root/patches/gdb/6.3/790-debian_dwarf2-cfi-warning.patch
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2007-05-17 16:22:51 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2007-05-17 16:22:51 (GMT)
commit8d3f0a8781cc25e75db3db4a9195816e7d3da902 (patch)
tree12a82d97590ca0d646ab8df9ddcadc74f547defd /patches/gdb/6.3/790-debian_dwarf2-cfi-warning.patch
parent721da92158c37cd044ccccd3b37d1e8d0c183f39 (diff)
Debug facilities:
- add a framework to easily add new ones - add gdb as a first debug facility - add patches for gdb After the kernel checked its installed headers, clean up the mess of .checked.* files. Reorder scripts/crosstool.sh: - dump the configuration early - renice early - get info about build system early, when setting up the environment - when in cross or native, the host tools are those of the build system, and only in this case - elapsed time calculations moved to scripts/functions Remove handling of the color: it's gone once and for all. Update tools/addToolVersion.sh: - handle debug facilities - commonalise some code - remove dead tools (cygwin, tcc) Point to my address for bug reports.
Diffstat (limited to 'patches/gdb/6.3/790-debian_dwarf2-cfi-warning.patch')
-rw-r--r--patches/gdb/6.3/790-debian_dwarf2-cfi-warning.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/patches/gdb/6.3/790-debian_dwarf2-cfi-warning.patch b/patches/gdb/6.3/790-debian_dwarf2-cfi-warning.patch
new file mode 100644
index 0000000..cfb3d95
--- /dev/null
+++ b/patches/gdb/6.3/790-debian_dwarf2-cfi-warning.patch
@@ -0,0 +1,39 @@
+Status: Unsuitable for upstream (at least, without a lot of arguing).
+
+GCC does not specify the state of every last register in the CIE. Since
+GCC's focus is on correctness of runtime unwinding, any registers which
+have to be unwound will be specified; but unmodified registers will not
+be explicitly marked. (How about modified, call-clobbered registers?
+I'm not sure if they are marked as unavailable.)
+
+GDB issues a noisy warning about this. The warning is generally not useful,
+and we can get it extremely frequently (any time we load a new CIE).
+
+This patch disables the warning. Alternately we could set the complaints
+threshold to zero, or implement a default frame init-register method for
+every architecture. But someday the compiler will support using different
+calling conventions for internal functions, so that's not much of a stopgap.
+ARM has a complex algorithm for handling this, involving scanning all CIEs -
+benefit not completely clear outside of the ARM context of flexible register
+sets.
+
+Index: gdb-6.3/gdb/dwarf2-frame.c
+===================================================================
+--- gdb-6.3.orig/gdb/dwarf2-frame.c 2004-11-15 11:54:57.000000000 -0500
++++ gdb-6.3/gdb/dwarf2-frame.c 2004-12-08 18:02:23.896409471 -0500
+@@ -705,9 +705,12 @@ dwarf2_frame_cache (struct frame_info *n
+ table. We need a way of iterating through all the valid
+ DWARF2 register numbers. */
+ if (fs->regs.reg[column].how == DWARF2_FRAME_REG_UNSPECIFIED)
+- complaint (&symfile_complaints,
+- "Incomplete CFI data; unspecified registers at 0x%s",
+- paddr (fs->pc));
++ {
++ if (0)
++ complaint (&symfile_complaints,
++ "Incomplete CFI data; unspecified registers at 0x%s",
++ paddr (fs->pc));
++ }
+ else
+ cache->reg[regnum] = fs->regs.reg[column];
+ }