Arm stack unwinder

Simplified stack unwinder for ARM. This is port of
http://www.mcternan.me.uk/ArmStackUnwinding/
backtrace() is called from UIE() on native targets
and from panicf() on both native and ARM RaaA.

Change-Id: I8e4b3c02490dd60b30aa372fe842d193b8929ce0
This commit is contained in:
Marcin Bukat 2012-01-25 09:57:59 +01:00
parent 680c6fcde1
commit b4eab59951
23 changed files with 2630 additions and 18 deletions

View file

@ -0,0 +1,21 @@
# __________ __ ___.
# Open \______ \ ____ ____ | | _\_ |__ _______ ___
# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
# \/ \/ \/ \/ \/
#
UNWARM_DIR = $(ROOTDIR)/lib/unwarminder
UNWARM_SRC = $(call preprocess, $(UNWARM_DIR)/SOURCES)
UNWARM_OBJ := $(call c2obj, $(UNWARM_SRC))
OTHER_SRC += $(UNWARM_SRC)
UNWARMINDER = $(BUILDDIR)/lib/libunwarminder.a
INCLUDES += -I$(UNWARM_DIR)
$(UNWARMINDER): $(UNWARM_OBJ)
$(SILENT)$(shell rm -f $@)
$(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null