svn commit: r290192 - head/contrib/gdb/gdb
Zbigniew Bodek
zbb at FreeBSD.org
Fri Oct 30 12:21:38 UTC 2015
Author: zbb
Date: Fri Oct 30 12:21:37 2015
New Revision: 290192
URL: https://svnweb.freebsd.org/changeset/base/290192
Log:
Workaround KGDB issues on ARM by ignoring ARM EABI version higher than 5
To make KGDB working, it needs to understand kernel ELF image.
By default it is compiled using EABI_5, which is not supported
on the gdb-6. As a workaround, treat these images as EABI_2 because
they share a lot of things in common.
This workaround does not guarantee ALL funtionalities
to work.
Submitted by: Wojciech Macek <wma at semihalf.com>
Reviewed by: jhb
Obtained from: Semihalf
Sponsored by: Juniper Networks Inc.
Differential Revision: https://reviews.freebsd.org/D4012
Modified:
head/contrib/gdb/gdb/arm-tdep.c
Modified: head/contrib/gdb/gdb/arm-tdep.c
==============================================================================
--- head/contrib/gdb/gdb/arm-tdep.c Fri Oct 30 12:00:34 2015 (r290191)
+++ head/contrib/gdb/gdb/arm-tdep.c Fri Oct 30 12:21:37 2015 (r290192)
@@ -2580,6 +2580,21 @@ arm_elf_osabi_sniffer (bfd *abfd)
osabi = GDB_OSABI_ARM_EABI_V2;
break;
+ case EF_ARM_EABI_VER3:
+ case EF_ARM_EABI_VER4:
+ case EF_ARM_EABI_VER5:
+ /*
+ * GDB does not support these EABI versions. Fallback
+ * to the highest known to make the KGDB working with
+ * kernel ELF image.
+ */
+ osabi = GDB_OSABI_ARM_EABI_V2;
+ printf ("\n%s:%d "
+ "arm_elf_osabi_sniffer: Unsupported ARM EABI "
+ "version 0x%x, falling back to 0x%x\n",
+ __FILE__, __LINE__, eflags, EF_ARM_EABI_VER2);
+ break;
+
case EF_ARM_EABI_UNKNOWN:
/* Assume GNU tools. */
osabi = GDB_OSABI_ARM_APCS;
More information about the svn-src-all
mailing list