mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-28 00:28:52 +00:00
8d3f0a8781
- 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.
40 lines
1.8 KiB
Diff
40 lines
1.8 KiB
Diff
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];
|
|
}
|