summaryrefslogtreecommitdiff
path: root/src/Makefile.am
diff options
context:
space:
mode:
authorTommi Rantala <tt.rantala@gmail.com>2012-08-16 13:10:29 +0300
committerTommi Rantala <tt.rantala@gmail.com>2012-09-28 14:50:03 +0300
commit8d5b1aeeffb80515197fd7aeee0b3fbfac904ecd (patch)
tree70898dc1bf11f5e99a6cb32998eb734e579da8c0 /src/Makefile.am
parent7d77ef4d82b3eca8ca3a869cd313428026a122a7 (diff)
downloadlibunwind-8d5b1aeeffb80515197fd7aeee0b3fbfac904ecd.tar.gz
SuperH port
Add support for the 32bit SuperH architecture running Linux. Specifically, support is added for SH4, and support for earlier SH versions and to the 64bit SH5 are left out. This was tested in qemu with a little-endian SH4 debian image & GCC 4.7 cross compiler.
Diffstat (limited to 'src/Makefile.am')
-rw-r--r--src/Makefile.am33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index a7528a1c..c3be2319 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -356,6 +356,24 @@ libunwind_ppc64_la_SOURCES_ppc64 = $(libunwind_la_SOURCES_ppc64_common) \
ppc64/Gglobal.c ppc64/Ginit.c \
ppc64/Gregs.c ppc64/Gresume.c ppc64/Gstep.c
+# The list of files that go into libunwind and libunwind-sh:
+noinst_HEADERS += sh/init.h sh/offsets.h sh/unwind_i.h
+libunwind_la_SOURCES_sh_common = $(libunwind_la_SOURCES_common) \
+ sh/is_fpreg.c sh/regname.c
+
+# The list of files that go into libunwind:
+libunwind_la_SOURCES_sh = $(libunwind_la_SOURCES_sh_common) \
+ $(libunwind_la_SOURCES_local) \
+ sh/Lcreate_addr_space.c sh/Lget_proc_info.c sh/Lget_save_loc.c \
+ sh/Lglobal.c sh/Linit.c sh/Linit_local.c sh/Linit_remote.c \
+ sh/Lis_signal_frame.c sh/Lregs.c sh/Lresume.c sh/Lstep.c
+
+libunwind_sh_la_SOURCES_sh = $(libunwind_la_SOURCES_sh_common) \
+ $(libunwind_la_SOURCES_generic) \
+ sh/Gcreate_addr_space.c sh/Gget_proc_info.c sh/Gget_save_loc.c \
+ sh/Gglobal.c sh/Ginit.c sh/Ginit_local.c sh/Ginit_remote.c \
+ sh/Gis_signal_frame.c sh/Gregs.c sh/Gresume.c sh/Gstep.c
+
if REMOTE_ONLY
install-exec-hook:
# Nothing to do here....
@@ -506,7 +524,20 @@ if !REMOTE_ONLY
libunwind_ppc64_la_LIBADD += libunwind.la -lc
endif
libunwind_setjmp_la_SOURCES += ppc/longjmp.S ppc/siglongjmp.S
+else
+if ARCH_SH
+ lib_LTLIBRARIES += libunwind-sh.la
+ libunwind_la_SOURCES = $(libunwind_la_SOURCES_sh)
+ libunwind_sh_la_SOURCES = $(libunwind_sh_la_SOURCES_sh)
+ libunwind_sh_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
+ libunwind_sh_la_LIBADD = libunwind-dwarf-generic.la
+ libunwind_sh_la_LIBADD += libunwind-elf32.la
+if !REMOTE_ONLY
+ libunwind_sh_la_LIBADD += libunwind.la -lc
+endif
+ libunwind_setjmp_la_SOURCES += sh/siglongjmp.S
+endif # ARCH_SH
endif # ARCH_PPC64
endif # ARCH_PPC32
endif # ARCH_X86_64
@@ -541,6 +572,7 @@ EXTRA_DIST = $(libunwind_la_SOURCES_arm) \
$(libunwind_la_SOURCES_hppa) \
$(libunwind_la_SOURCES_ia64) \
$(libunwind_la_SOURCES_mips) \
+ $(libunwind_la_SOURCES_sh) \
$(libunwind_la_SOURCES_x86) \
$(libunwind_la_SOURCES_os_freebsd) \
$(libunwind_la_SOURCES_os_linux) \
@@ -552,6 +584,7 @@ EXTRA_DIST = $(libunwind_la_SOURCES_arm) \
$(libunwind_hppa_la_SOURCES_hppa) \
$(libunwind_ia64_la_SOURCES_ia64) \
$(libunwind_mips_la_SOURCES_mips) \
+ $(libunwind_sh_la_SOURCES_sh) \
$(libunwind_x86_la_SOURCES_x86) \
$(libunwind_x86_64_la_SOURCES_x86_64)