diff options
author | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2007-05-17 16:22:51 +0000 |
---|---|---|
committer | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2007-05-17 16:22:51 +0000 |
commit | 8d3f0a8781cc25e75db3db4a9195816e7d3da902 (patch) | |
tree | 12a82d97590ca0d646ab8df9ddcadc74f547defd /patches/gdb/6.3/790-debian_dwarf2-cfi-warning.patch | |
parent | 721da92158c37cd044ccccd3b37d1e8d0c183f39 (diff) | |
download | crosstool-ng-8d3f0a8781cc25e75db3db4a9195816e7d3da902.tar.gz crosstool-ng-8d3f0a8781cc25e75db3db4a9195816e7d3da902.tar.bz2 crosstool-ng-8d3f0a8781cc25e75db3db4a9195816e7d3da902.zip |
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.patch | 39 |
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 00000000..cfb3d95d --- /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]; + } |