summaryrefslogtreecommitdiffstats
path: root/sys/conf
diff options
context:
space:
mode:
authorandrew <andrew@FreeBSD.org>2013-01-19 22:08:16 +0000
committerandrew <andrew@FreeBSD.org>2013-01-19 22:08:16 +0000
commit1d1de12ebe495899bdbd18be4a6c294b7ac9d960 (patch)
tree7f875dc4ebfac0a775ed141dd4a1f35ca130d44b /sys/conf
parente2c2dc36921b90e3c45d0875ba38098bde3a858d (diff)
downloadFreeBSD-src-1d1de12ebe495899bdbd18be4a6c294b7ac9d960.zip
FreeBSD-src-1d1de12ebe495899bdbd18be4a6c294b7ac9d960.tar.gz
When DDB is enabled and we are building for the ARM EABI include the unwind
tables in the kernel.
Diffstat (limited to 'sys/conf')
-rw-r--r--sys/conf/Makefile.arm2
-rw-r--r--sys/conf/ldscript.arm12
2 files changed, 14 insertions, 0 deletions
diff --git a/sys/conf/Makefile.arm b/sys/conf/Makefile.arm
index 4145d60..7ccb9a7 100644
--- a/sys/conf/Makefile.arm
+++ b/sys/conf/Makefile.arm
@@ -41,6 +41,8 @@ STRIP_FLAGS = -S
.if empty(DDB_ENABLED)
CFLAGS += -mno-apcs-frame
+.elif defined(WITH_ARM_EABI)
+CFLAGS += -funwind-tables
.endif
SYSTEM_LD_ = ${LD} -Bdynamic -T ldscript.$M.noheader ${LDFLAGS} \
diff --git a/sys/conf/ldscript.arm b/sys/conf/ldscript.arm
index 3b8422c..d681c87 100644
--- a/sys/conf/ldscript.arm
+++ b/sys/conf/ldscript.arm
@@ -56,6 +56,18 @@ SECTIONS
.init : { *(.init) } =0x9090
.plt : { *(.plt) }
+ _extab_start = .;
+ PROVIDE(extab_start = .);
+ .ARM.extab : { *(.ARM.extab) }
+ _extab.end = .;
+ PROVIDE(extab_end = .);
+
+ _exidx_start = .;
+ PROVIDE(exidx_start = .);
+ .ARM.exidx : { *(.ARM.exidx) }
+ _exidx_end = .;
+ PROVIDE(exidx_end = .);
+
/* Adjust the address for the data segment. We want to adjust up to
the same address within the page on the next page up. */
. = ALIGN(0x1000) + (. & (0x1000 - 1)) ;
OpenPOWER on IntegriCloud