rpms/gdb/devel gdb-6.6-buildid-locate-rpm.patch, 1.3, 1.4 gdb-6.6-buildid-locate.patch, 1.20, 1.21 gdb.spec, 1.355, 1.356
Jan Kratochvil
jkratoch at fedoraproject.org
Fri Jun 12 21:57:40 UTC 2009
- Previous message (by thread): rpms/xfce4-panel/devel xfce4-panel-4.6.1-multilib.patch, NONE, 1.1 xfce4-panel.spec, 1.38, 1.39
- Next message (by thread): rpms/telepathy-stream-engine/devel .cvsignore, 1.9, 1.10 sources, 1.9, 1.10 telepathy-stream-engine.spec, 1.14, 1.15
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: jkratoch
Update of /cvs/pkgs/rpms/gdb/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv20192
Modified Files:
gdb-6.6-buildid-locate-rpm.patch gdb-6.6-buildid-locate.patch
gdb.spec
Log Message:
* Fri Jun 12 2009 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.8.50.20090302-31
- Fix an occasional crash during printing of missing debuginfo rpms (BZ 505401).
gdb-6.6-buildid-locate-rpm.patch:
Index: gdb-6.6-buildid-locate-rpm.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-6.6-buildid-locate-rpm.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -p -r1.3 -r1.4
--- gdb-6.6-buildid-locate-rpm.patch 22 Mar 2009 20:57:29 -0000 1.3
+++ gdb-6.6-buildid-locate-rpm.patch 12 Jun 2009 21:57:38 -0000 1.4
@@ -421,7 +421,7 @@ Index: gdb-6.8.50.20090302/gdb/symfile.c
}
@@ -1802,14 +2154,33 @@ debug_print_missing (const char *binary,
- }
+
*slot = missing_filepair;
- /* We do not collect and flush these messages as each such message
gdb-6.6-buildid-locate.patch:
Index: gdb-6.6-buildid-locate.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-6.6-buildid-locate.patch,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -p -r1.20 -r1.21
--- gdb-6.6-buildid-locate.patch 22 Mar 2009 20:57:29 -0000 1.20
+++ gdb-6.6-buildid-locate.patch 12 Jun 2009 21:57:38 -0000 1.21
@@ -646,7 +646,7 @@ Index: gdb-6.8.50.20090302/gdb/symfile.c
if (retval != NULL && !build_id_verify (retval, build_id))
{
-@@ -1279,9 +1676,142 @@ build_id_to_debug_filename (struct build
+@@ -1279,9 +1676,150 @@ build_id_to_debug_filename (struct build
retval = NULL;
}
@@ -700,8 +700,8 @@ Index: gdb-6.8.50.20090302/gdb/symfile.c
+ const struct missing_filepair *elem2)
+{
+ return strcmp (elem1->binary, elem2->binary) == 0
-+ && ((elem1->debug == NULL && elem2->debug == NULL)
-+ || strcmp (elem1->debug, elem2->debug) == 0);
++ && ((elem1->debug == NULL) == (elem2->debug == NULL))
++ && (elem1->debug == NULL || strcmp (elem1->debug, elem2->debug) == 0);
+}
+
+static void
@@ -732,6 +732,7 @@ Index: gdb-6.8.50.20090302/gdb/symfile.c
+{
+ size_t binary_len0 = strlen (binary) + 1;
+ size_t debug_len0 = debug ? strlen (debug) + 1 : 0;
++ struct missing_filepair missing_filepair_find;
+ struct missing_filepair *missing_filepair;
+ struct missing_filepair **slot;
+
@@ -747,6 +748,27 @@ Index: gdb-6.8.50.20090302/gdb/symfile.c
+ missing_filepair_xcalloc, NULL);
+ }
+
++ /* Use MISSING_FILEPAIR_FIND first instead of calling obstack_alloc with
++ obstack_free in the case of a (rare) match. The problem is ALLOC_F for
++ MISSING_FILEPAIR_HASH allocates from MISSING_FILEPAIR_OBSTACK maintenance
++ structures for MISSING_FILEPAIR_HASH. Calling obstack_free would possibly
++ not to free only MISSING_FILEPAIR but also some such structures (allocated
++ during the htab_find_slot call). */
++
++ missing_filepair_find.binary = (char *) binary;
++ missing_filepair_find.debug = (char *) debug;
++ slot = (struct missing_filepair **) htab_find_slot (missing_filepair_hash,
++ &missing_filepair_find,
++ INSERT);
++
++ /* While it may be still printed duplicitely with the missing debuginfo file
++ * it is due to once printing about the binary file build-id link and once
++ * about the .debug file build-id link as both the build-id symlinks are
++ * located in the debuginfo package. */
++
++ if (*slot != NULL)
++ return;
++
+ missing_filepair = obstack_alloc (&missing_filepair_obstack,
+ sizeof (*missing_filepair) - 1
+ + binary_len0 + debug_len0);
@@ -760,20 +782,6 @@ Index: gdb-6.8.50.20090302/gdb/symfile.c
+ else
+ missing_filepair->debug = NULL;
+
-+ slot = (struct missing_filepair **) htab_find_slot (missing_filepair_hash,
-+ missing_filepair,
-+ INSERT);
-+
-+ /* While it may be still printed duplicitely with the missing debuginfo file
-+ * it is due to once printing about the binary file build-id link and once
-+ * about the .debug file build-id link as both the build-id symlinks are
-+ * located in the debuginfo package. */
-+
-+ if (*slot != NULL)
-+ {
-+ obstack_free (&missing_filepair_obstack, missing_filepair);
-+ return;
-+ }
+ *slot = missing_filepair;
+
+ /* We do not collect and flush these messages as each such message
Index: gdb.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb.spec,v
retrieving revision 1.355
retrieving revision 1.356
diff -u -p -r1.355 -r1.356
--- gdb.spec 12 Jun 2009 10:35:49 -0000 1.355
+++ gdb.spec 12 Jun 2009 21:57:38 -0000 1.356
@@ -15,7 +15,7 @@ Version: 6.8.50.20090302
# 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.
-Release: 30%{?_with_upstream:.upstream}%{?dist}
+Release: 31%{?_with_upstream:.upstream}%{?dist}
License: GPLv3+
Group: Development/Debuggers
@@ -891,6 +891,9 @@ fi
%endif
%changelog
+* Fri Jun 12 2009 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.8.50.20090302-31
+- Fix an occasional crash during printing of missing debuginfo rpms (BZ 505401).
+
* Fri Jun 12 2009 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.8.50.20090302-30
- Implement DW_OP_call_frame_cfa (for recent GCC).
- Previous message (by thread): rpms/xfce4-panel/devel xfce4-panel-4.6.1-multilib.patch, NONE, 1.1 xfce4-panel.spec, 1.38, 1.39
- Next message (by thread): rpms/telepathy-stream-engine/devel .cvsignore, 1.9, 1.10 sources, 1.9, 1.10 telepathy-stream-engine.spec, 1.14, 1.15
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list