summaryrefslogtreecommitdiff
path: root/patches/gdb/6.3/810-debian_bfd-no-kylix-crash.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/gdb/6.3/810-debian_bfd-no-kylix-crash.patch')
-rw-r--r--patches/gdb/6.3/810-debian_bfd-no-kylix-crash.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/patches/gdb/6.3/810-debian_bfd-no-kylix-crash.patch b/patches/gdb/6.3/810-debian_bfd-no-kylix-crash.patch
new file mode 100644
index 0000000..9aba5ca
--- /dev/null
+++ b/patches/gdb/6.3/810-debian_bfd-no-kylix-crash.patch
@@ -0,0 +1,47 @@
+Status: committed upstream after 6.3.
+
+Fix a crash triggered by Kylix libraries.
+
+2004-12-06 Daniel Jacobowitz <dan@debian.org>
+
+ Suggested by Fergal Daly <fergal@esatclear.ie>:
+ * simple.c (simple_dummy_multiple_definition): New function.
+ (bfd_simple_get_relocated_section_contents): Use it.
+
+Index: src/bfd/simple.c
+===================================================================
+RCS file: /cvs/src/src/bfd/simple.c,v
+retrieving revision 1.19
+retrieving revision 1.20
+Index: gdb-6.3/bfd/simple.c
+===================================================================
+--- gdb-6.3.orig/bfd/simple.c 2004-09-24 03:07:19.000000000 -0400
++++ gdb-6.3/bfd/simple.c 2004-12-08 18:25:58.415216808 -0500
+@@ -78,6 +78,19 @@ simple_dummy_unattached_reloc (struct bf
+ return TRUE;
+ }
+
++static bfd_boolean
++simple_dummy_multiple_definition (struct bfd_link_info *link_info ATTRIBUTE_UNUSED,
++ const char *name ATTRIBUTE_UNUSED,
++ bfd *obfd ATTRIBUTE_UNUSED,
++ asection *osec ATTRIBUTE_UNUSED,
++ bfd_vma oval ATTRIBUTE_UNUSED,
++ bfd *nbfd ATTRIBUTE_UNUSED,
++ asection *nsec ATTRIBUTE_UNUSED,
++ bfd_vma nval ATTRIBUTE_UNUSED)
++{
++ return TRUE;
++}
++
+ struct saved_output_info
+ {
+ bfd_vma offset;
+@@ -172,6 +185,7 @@ bfd_simple_get_relocated_section_content
+ callbacks.reloc_overflow = simple_dummy_reloc_overflow;
+ callbacks.reloc_dangerous = simple_dummy_reloc_dangerous;
+ callbacks.unattached_reloc = simple_dummy_unattached_reloc;
++ callbacks.multiple_definition = simple_dummy_multiple_definition;
+
+ memset (&link_order, 0, sizeof (link_order));
+ link_order.next = NULL;