aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2001-07-03 16:27:45 +0000
committerNick Clifton <nickc@redhat.com>2001-07-03 16:27:45 +0000
commitf47e50716b3829b823967100d29deca01f442e39 (patch)
tree25a5e2dd263233e690c5a0f537008264a2aba791
parent440c46077c678368213ec9911961cde4819adc05 (diff)
downloadgdb-f47e50716b3829b823967100d29deca01f442e39.zip
gdb-f47e50716b3829b823967100d29deca01f442e39.tar.gz
gdb-f47e50716b3829b823967100d29deca01f442e39.tar.bz2
Support DJGPP COFF targets in bfd_get_sign_extend_vma()
-rw-r--r--bfd/ChangeLog2
-rw-r--r--bfd/bfd.c12
2 files changed, 14 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 30df566..aa2648c 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,7 @@
2001-07-03 Mark Elbrecht <snowball3@softhome.net>
+ * bfd.c (bfd_get_sign_extend_vma): Support DJGPP COFF targets.
+
* cofflink.c (_bfd_coff_link_input_bfd): Skip section symbols from
sections being discarded.
diff --git a/bfd/bfd.c b/bfd/bfd.c
index 1f92762..0c2cc0c 100644
--- a/bfd/bfd.c
+++ b/bfd/bfd.c
@@ -752,9 +752,21 @@ int
bfd_get_sign_extend_vma (abfd)
bfd *abfd;
{
+ char *name;
+
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
return (get_elf_backend_data (abfd)->sign_extend_vma);
+ name = bfd_get_target (abfd);
+
+ /* Return a proper value for DJGPP COFF (an x86 COFF variant).
+ This function is required for DWARF2 support, but there is
+ no place to store this information in the COFF back end.
+ Should enough other COFF targets add support for DWARF2,
+ a place will have to be found. Until then, this hack will do. */
+ if (strncmp (name, "coff-go32", sizeof ("coff-go32") - 1) == 0)
+ return 1;
+
bfd_set_error (bfd_error_wrong_format);
return -1;
}