diff --git a/fix-gdb-backtrace.diff b/fix-gdb-backtrace.diff new file mode 100644 index 0000000..15ef043 --- /dev/null +++ b/fix-gdb-backtrace.diff @@ -0,0 +1,19 @@ +Index: gdb/i386-tdep.c +=================================================================== +--- gdb/i386-tdep.c.orig 2009-06-17 12:29:10.000000000 +0200 ++++ gdb/i386-tdep.c 2009-06-17 12:36:56.000000000 +0200 +@@ -1374,11 +1374,13 @@ i386_frame_cache (struct frame_info *thi + /* This will be added back below. */ + cache->saved_regs[I386_EIP_REGNUM] -= cache->base; + } +- else ++ else if (cache->pc) + { + get_frame_register (this_frame, I386_ESP_REGNUM, buf); + cache->base = extract_unsigned_integer (buf, 4) + cache->sp_offset; + } ++ else ++ cache->saved_regs[I386_EBP_REGNUM] = 0; + } + + /* Now that we have the base address for the stack frame we can diff --git a/gdb-6.5-bz218379-ppc-solib-trampoline-fix.patch b/gdb-6.5-bz218379-ppc-solib-trampoline-fix.patch deleted file mode 100644 index 59b2157..0000000 --- a/gdb-6.5-bz218379-ppc-solib-trampoline-fix.patch +++ /dev/null @@ -1,19 +0,0 @@ -https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=218379 - - -Index: gdb-6.8.50.20081128/gdb/minsyms.c -=================================================================== ---- gdb-6.8.50.20081128.orig/gdb/minsyms.c 2008-10-01 18:56:52.000000000 +0200 -+++ gdb-6.8.50.20081128/gdb/minsyms.c 2008-12-02 23:24:27.000000000 +0100 -@@ -544,6 +544,11 @@ lookup_minimal_symbol_by_pc_section_1 (C - don't fill the bfd_section member, so don't - throw away symbols on those platforms. */ - && SYMBOL_OBJ_SECTION (&msymbol[hi]) != NULL -+ /* Don't ignore symbols for solib trampolines. -+ Limit its sideeffects - only for non-0 sized trampolines. -+ Red Hat Bug 200533 with its regression Bug 218379. */ -+ && (MSYMBOL_TYPE (&msymbol[hi]) != mst_solib_trampoline -+ || MSYMBOL_SIZE (&msymbol[hi])) - && (!matching_obj_sections - (SYMBOL_OBJ_SECTION (&msymbol[hi]), section))) - { diff --git a/gdb.changes b/gdb.changes index 5784a21..e527ccc 100644 --- a/gdb.changes +++ b/gdb.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Jun 17 16:43:08 CEST 2009 - matz@suse.de + +- Apply fix for backtraces without unwind info again. [#390722] +- Disable gdb-6.5-bz218379-ppc-solib-trampoline-fix.patch, it's not + necessary anymore and breaks the above. + ------------------------------------------------------------------- Wed May 27 18:07:26 CEST 2009 - rguenther@suse.de diff --git a/gdb.spec b/gdb.spec index cbba909..2466827 100644 --- a/gdb.spec +++ b/gdb.spec @@ -23,7 +23,7 @@ Name: gdb # NOTE: the FSF gdb versions are numbered N.M for official releases, like 6.3 # and, since January 2005, X.Y.Z.date for daily snapshots, like 6.3.50.20050112 # (daily snapshot from mailine), or 6.3.0.20040112 (head of the release branch). Version: 6.8.50.20090302 -Release: 5 +Release: 6 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. License: GNU Free Documentation License, Version 1.2 (GFDL 1.2); GPL v2 or later; GPL v3 or later @@ -161,7 +161,6 @@ Patch213: gdb-6.5-readline-long-line-crash-test.patch # Fix bogus 0x0 unwind of the thread's topmost function clone(3) (BZ 216711). Patch214: gdb-6.5-bz216711-clone-is-outermost.patch # Try to reduce sideeffects of skipping ppc .so libs trampolines (BZ 218379). -Patch215: gdb-6.5-bz218379-ppc-solib-trampoline-fix.patch Patch216: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch # Fix lockup on trampoline vs. its function lookup; unreproducible (BZ 218379). Patch217: gdb-6.5-bz218379-solib-trampoline-lookup-lock-fix.patch @@ -286,6 +285,7 @@ Patch1002: gdb-6.6-buildid-locate-rpm-suse.patch Patch1004: bnc492331.patch Patch1005: bnc329420-1.patch Patch1006: bnc329420-2.patch +Patch1007: fix-gdb-backtrace.diff BuildRequires: bison flex gettext glibc-devel ncurses-devel texinfo zlib-devel %if %{suse_version} < 1020 BuildRequires: expat @@ -444,7 +444,6 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c %patch211 -p1 %patch213 -p1 %patch214 -p1 -%patch215 -p1 %patch216 -p1 %patch217 -p1 %patch225 -p1 @@ -513,6 +512,7 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c %patch1004 -p1 %patch1005 -p1 %patch1006 +%patch1007 find -name "*.orig" | xargs rm -f ! find -name "*.rej" # Should not happen. %endif # 0%{!?_with_upstream:1} @@ -762,6 +762,10 @@ fi %endif %changelog +* Wed Jun 17 2009 matz@suse.de +- Apply fix for backtraces without unwind info again. [#390722] +- Disable gdb-6.5-bz218379-ppc-solib-trampoline-fix.patch, it's not + necessary anymore and breaks the above. * Wed May 27 2009 rguenther@suse.de - Merge FC11 update 23. - Fix crashes due to (missing) varobj revalidation, for VLA (for brc#377541).