diff options
author | hjk <qtc-committer@nokia.com> | 2010-03-01 13:22:30 +0100 |
---|---|---|
committer | hjk <qtc-committer@nokia.com> | 2010-03-02 09:44:35 +0100 |
commit | e5100daa46ddd08ecbe53c8744e78e67080c40a7 (patch) | |
tree | 463ce3f2ce07f2256cff3c91a1bda43dc8f93f79 /share | |
parent | b8b08bcc9b796476e6d8c7e6034d1d0e56a56783 (diff) | |
download | qt-creator-e5100daa46ddd08ecbe53c8744e78e67080c40a7.tar.gz |
Add local gdb patches.
Diffstat (limited to 'share')
-rw-r--r-- | share/qtcreator/patches/gdb-without-dwarf-name-canonicalization.patch | 19 | ||||
-rw-r--r-- | share/qtcreator/patches/gdb-work-around-trk-single-step.patch | 23 |
2 files changed, 42 insertions, 0 deletions
diff --git a/share/qtcreator/patches/gdb-without-dwarf-name-canonicalization.patch b/share/qtcreator/patches/gdb-without-dwarf-name-canonicalization.patch new file mode 100644 index 0000000000..a762d77b8c --- /dev/null +++ b/share/qtcreator/patches/gdb-without-dwarf-name-canonicalization.patch @@ -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); + diff --git a/share/qtcreator/patches/gdb-work-around-trk-single-step.patch b/share/qtcreator/patches/gdb-work-around-trk-single-step.patch new file mode 100644 index 0000000000..bd330526cb --- /dev/null +++ b/share/qtcreator/patches/gdb-work-around-trk-single-step.patch @@ -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. |