diff options
author | andrew <andrew@FreeBSD.org> | 2013-01-19 22:08:16 +0000 |
---|---|---|
committer | andrew <andrew@FreeBSD.org> | 2013-01-19 22:08:16 +0000 |
commit | 1d1de12ebe495899bdbd18be4a6c294b7ac9d960 (patch) | |
tree | 7f875dc4ebfac0a775ed141dd4a1f35ca130d44b /sys/conf | |
parent | e2c2dc36921b90e3c45d0875ba38098bde3a858d (diff) | |
download | FreeBSD-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.arm | 2 | ||||
-rw-r--r-- | sys/conf/ldscript.arm | 12 |
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)) ; |