Add local gdb patches.

This commit is contained in:
hjk
2010-03-01 13:22:30 +01:00
parent b8b08bcc9b
commit e5100daa46
2 changed files with 42 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
This shortcuts the canonicalization of symbol names. This is likely to
introduce regressions for setting breakpoints by function names (which
is rarely used by IDE users) but speeds up startup by around 15% for a
typical Qt application. So disabling it seems to be a good compromise.
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index a05c946..761fa34 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -9097,7 +9097,7 @@ static char *
dwarf2_canonicalize_name (char *name, struct dwarf2_cu *cu,
struct obstack *obstack)
{
- if (name && cu->language == language_cplus)
+ if (0 && name && cu->language == language_cplus)
{
char *canon_name = cp_canonicalize_string (name);

View File

@@ -0,0 +1,23 @@
NOTE: Apply to --target=arm-none-symbianelf builds only.
This works around the problem of TRK overshooting line-wise stepping by a few
instructions. This is not a gdb problem, but a TRK problem, but currently
easier to workaround on the gdb side. It's sufficient to apply for the
arm-none-symbianelf targeted gdbs only as TRK is the only probe known to have
this problem.
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -4754,9 +4754,9 @@ infrun: not switching back to stepped thread, it has vanished\n");
return;
}
- if ((stop_pc == stop_pc_sal.pc)
+ if (1 /* (stop_pc == stop_pc_sal.pc)
&& (ecs->event_thread->current_line != stop_pc_sal.line
- || ecs->event_thread->current_symtab != stop_pc_sal.symtab))
+ || ecs->event_thread->current_symtab != stop_pc_sal.symtab) */)
{
/* We are at the start of a different line. So stop. Note that
we don't stop if we step into the middle of a different line.