diff options
author | Riku Voipio <riku.voipio@linaro.org> | 2013-05-20 16:31:35 +0300 |
---|---|---|
committer | Riku Voipio <riku.voipio@linaro.org> | 2013-05-20 16:31:35 +0300 |
commit | 25ab248042e966908502fe9e1943777df77c0552 (patch) | |
tree | 275645125d9f7499c13d080a636d9f5297fc5f8d /meta-aarch64 | |
parent | 8a2388ceaf2a34256e98d0054a84b6097fec19ab (diff) |
libunwind: update to latest
Update to the version of patch from upstream.
Diffstat (limited to 'meta-aarch64')
-rw-r--r-- | meta-aarch64/recipes-support/libunwind/files/0001-AArch64-port.patch | 337 |
1 files changed, 174 insertions, 163 deletions
diff --git a/meta-aarch64/recipes-support/libunwind/files/0001-AArch64-port.patch b/meta-aarch64/recipes-support/libunwind/files/0001-AArch64-port.patch index 387d1833..475085fd 100644 --- a/meta-aarch64/recipes-support/libunwind/files/0001-AArch64-port.patch +++ b/meta-aarch64/recipes-support/libunwind/files/0001-AArch64-port.patch @@ -1,58 +1,59 @@ -From 1c0a3b8bfe45eebe16cb034bb3f911f869840f33 Mon Sep 17 00:00:00 2001 +From 7852e18a504f8224cb3f8fa0127b885a7d5e3844 Mon Sep 17 00:00:00 2001 From: Yvan Roux <yvan.roux@linaro.org> -Date: Thu, 25 Apr 2013 12:26:20 +0200 +Date: Fri, 3 May 2013 15:51:14 +0200 Subject: [PATCH] AArch64 port. -Edited-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> +Edited-by: Riku Voipio <riku.voipio@linaro.org> s/unreachable/_builtin_unreachable/ to get it working. -Upstream-status: pending +Upstream-status: Accepted (expected 1.2) + --- - Makefile.am | 6 + - README | 1 + - configure.ac | 7 +- - include/libunwind-aarch64.h | 186 ++++++++++++++++++++++ - include/libunwind.h.in | 4 +- - include/tdep-aarch64/dwarf-config.h | 51 ++++++ - include/tdep-aarch64/jmpbuf.h | 32 ++++ - include/tdep-aarch64/libunwind_i.h | 294 +++++++++++++++++++++++++++++++++++ - include/tdep/dwarf-config.h | 4 +- - include/tdep/jmpbuf.h | 2 + - include/tdep/libunwind_i.h.in | 4 +- - src/Makefile.am | 38 ++++- - src/aarch64/Gcreate_addr_space.c | 59 +++++++ - src/aarch64/Gget_proc_info.c | 39 +++++ - src/aarch64/Gget_save_loc.c | 99 ++++++++++++ - src/aarch64/Gglobal.c | 56 +++++++ - src/aarch64/Ginit.c | 186 ++++++++++++++++++++++ - src/aarch64/Ginit_local.c | 55 +++++++ - src/aarch64/Ginit_remote.c | 45 ++++++ - src/aarch64/Gis_signal_frame.c | 63 ++++++++ - src/aarch64/Gregs.c | 112 +++++++++++++ - src/aarch64/Gresume.c | 182 ++++++++++++++++++++++ - src/aarch64/Gstep.c | 129 +++++++++++++++ - src/aarch64/Lcreate_addr_space.c | 5 + - src/aarch64/Lget_proc_info.c | 5 + - src/aarch64/Lget_save_loc.c | 5 + - src/aarch64/Lglobal.c | 5 + - src/aarch64/Linit.c | 5 + - src/aarch64/Linit_local.c | 5 + - src/aarch64/Linit_remote.c | 5 + - src/aarch64/Lis_signal_frame.c | 5 + - src/aarch64/Lregs.c | 5 + - src/aarch64/Lresume.c | 5 + - src/aarch64/Lstep.c | 5 + - src/aarch64/gen-offsets.c | 68 ++++++++ - src/aarch64/init.h | 125 +++++++++++++++ - src/aarch64/is_fpreg.c | 31 ++++ - src/aarch64/offsets.h | 49 ++++++ - src/aarch64/regname.c | 105 +++++++++++++ - src/aarch64/siglongjmp.S | 12 ++ - src/aarch64/unwind_i.h | 42 +++++ - src/coredump/_UCD_access_reg_linux.c | 5 +- - src/ptrace/_UPT_reg_offset.c | 35 +++++ - 43 files changed, 2174 insertions(+), 7 deletions(-) + Makefile.am | 6 + + README | 1 + + configure.ac | 6 +- + include/libunwind-aarch64.h | 187 +++++++++++++++++++++ + include/libunwind.h.in | 4 +- + include/tdep-aarch64/dwarf-config.h | 52 ++++++ + include/tdep-aarch64/jmpbuf.h | 33 ++++ + include/tdep-aarch64/libunwind_i.h | 294 ++++++++++++++++++++++++++++++++++ + include/tdep/dwarf-config.h | 4 +- + include/tdep/jmpbuf.h | 2 + + include/tdep/libunwind_i.h.in | 4 +- + src/Makefile.am | 39 ++++- + src/aarch64/Gcreate_addr_space.c | 60 +++++++ + src/aarch64/Gget_proc_info.c | 39 +++++ + src/aarch64/Gget_save_loc.c | 100 ++++++++++++ + src/aarch64/Gglobal.c | 57 +++++++ + src/aarch64/Ginit.c | 187 +++++++++++++++++++++ + src/aarch64/Ginit_local.c | 55 +++++++ + src/aarch64/Ginit_remote.c | 45 ++++++ + src/aarch64/Gis_signal_frame.c | 64 ++++++++ + src/aarch64/Gregs.c | 113 +++++++++++++ + src/aarch64/Gresume.c | 177 ++++++++++++++++++++ + src/aarch64/Gstep.c | 129 +++++++++++++++ + src/aarch64/Lcreate_addr_space.c | 5 + + src/aarch64/Lget_proc_info.c | 5 + + src/aarch64/Lget_save_loc.c | 5 + + src/aarch64/Lglobal.c | 5 + + src/aarch64/Linit.c | 5 + + src/aarch64/Linit_local.c | 5 + + src/aarch64/Linit_remote.c | 5 + + src/aarch64/Lis_signal_frame.c | 5 + + src/aarch64/Lregs.c | 5 + + src/aarch64/Lresume.c | 5 + + src/aarch64/Lstep.c | 5 + + src/aarch64/gen-offsets.c | 68 ++++++++ + src/aarch64/init.h | 127 +++++++++++++++ + src/aarch64/is_fpreg.c | 32 ++++ + src/aarch64/offsets.h | 49 ++++++ + src/aarch64/regname.c | 106 ++++++++++++ + src/aarch64/siglongjmp.S | 12 ++ + src/aarch64/unwind_i.h | 43 +++++ + src/coredump/_UCD_access_reg_linux.c | 5 +- + src/ptrace/_UPT_reg_offset.c | 36 +++++ + 43 files changed, 2184 insertions(+), 7 deletions(-) create mode 100644 include/libunwind-aarch64.h create mode 100644 include/tdep-aarch64/dwarf-config.h create mode 100644 include/tdep-aarch64/jmpbuf.h @@ -124,7 +125,7 @@ index 71a631f..511fb0c 100644 Linux/SuperH: Newly added. FreeBSD/i386: Newly added. diff --git a/configure.ac b/configure.ac -index f7e95ad..d05a663 100644 +index f7e95ad..425991c 100644 --- a/configure.ac +++ b/configure.ac @@ -104,7 +104,7 @@ SET_ARCH([$target_cpu],[target_arch]) @@ -132,7 +133,7 @@ index f7e95ad..d05a663 100644 AC_ARG_ENABLE(coredump, AS_HELP_STRING([--enable-coredump],[building libunwind-coredump library]),, - [AS_CASE([$host_arch], [arm*|mips*|sh*|x86*], [enable_coredump=yes], [enable_coredump=no])] -+ [AS_CASE([$host_arch], [aarch64|arm*|mips*|sh*|x86*], [enable_coredump=yes], [enable_coredump=no])] ++ [AS_CASE([$host_arch], [aarch64*|arm*|mips*|sh*|x86*], [enable_coredump=yes], [enable_coredump=no])] ) AC_MSG_CHECKING([if we should build libunwind-coredump]) @@ -161,23 +162,16 @@ index f7e95ad..d05a663 100644 arm*) enable_cxx_exceptions=no;; mips*) enable_cxx_exceptions=no;; *) enable_cxx_exceptions=yes;; -@@ -217,6 +219,7 @@ AC_MSG_CHECKING([whether to load .debug_frame sections]) - AC_ARG_ENABLE(debug_frame, - AS_HELP_STRING([--enable-debug-frame],[Load the ".debug_frame" section if available]),, [ - case "${target_arch}" in -+ (aarch64) enable_debug_frame=yes;; - (arm) enable_debug_frame=yes;; - (*) enable_debug_frame=no;; - esac]) diff --git a/include/libunwind-aarch64.h b/include/libunwind-aarch64.h new file mode 100644 -index 0000000..274dde1 +index 0000000..d50da8f --- /dev/null +++ b/include/libunwind-aarch64.h -@@ -0,0 +1,186 @@ +@@ -0,0 +1,187 @@ +/* libunwind - a platform-independent unwind library + Copyright (C) 2001-2004 Hewlett-Packard Co + Contributed by David Mosberger-Tang <davidm@hpl.hp.com> ++ Copyright (C) 2013 Linaro Limited + +This file is part of libunwind. + @@ -330,7 +324,7 @@ index 0000000..274dde1 + + UNW_TDEP_IP = UNW_AARCH64_X30, + UNW_TDEP_SP = UNW_AARCH64_SP, -+ UNW_TDEP_EH = UNW_AARCH64_X0, /* FIXME. */ ++ UNW_TDEP_EH = UNW_AARCH64_X0, + + } +aarch64_regnum_t; @@ -378,13 +372,14 @@ index 25c4e3b..64b1457 100644 # include "libunwind-hppa.h" diff --git a/include/tdep-aarch64/dwarf-config.h b/include/tdep-aarch64/dwarf-config.h new file mode 100644 -index 0000000..0e1fade +index 0000000..c3bbed5 --- /dev/null +++ b/include/tdep-aarch64/dwarf-config.h -@@ -0,0 +1,51 @@ +@@ -0,0 +1,52 @@ +/* libunwind - a platform-independent unwind library + Copyright (C) 2008 CodeSourcery + Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com> ++ Copyright (C) 2013 Linaro Limited + +This file is part of libunwind. + @@ -435,12 +430,13 @@ index 0000000..0e1fade +#endif /* dwarf_config_h */ diff --git a/include/tdep-aarch64/jmpbuf.h b/include/tdep-aarch64/jmpbuf.h new file mode 100644 -index 0000000..8a9d585 +index 0000000..2eb53a7 --- /dev/null +++ b/include/tdep-aarch64/jmpbuf.h -@@ -0,0 +1,32 @@ +@@ -0,0 +1,33 @@ +/* libunwind - a platform-independent unwind library + Copyright (C) 2008 CodeSourcery ++ Copyright (C) 2013 Linaro Limited + +This file is part of libunwind. + @@ -473,13 +469,14 @@ index 0000000..8a9d585 +#define JB_MASK 16 diff --git a/include/tdep-aarch64/libunwind_i.h b/include/tdep-aarch64/libunwind_i.h new file mode 100644 -index 0000000..8c2ad6a +index 0000000..28943db --- /dev/null +++ b/include/tdep-aarch64/libunwind_i.h @@ -0,0 +1,294 @@ +/* libunwind - a platform-independent unwind library + Copyright (C) 2001-2005 Hewlett-Packard Co + Contributed by David Mosberger-Tang <davidm@hpl.hp.com> ++ Copyright (C) 2013 Linaro Limited + +This file is part of libunwind. + @@ -557,7 +554,6 @@ index 0000000..8c2ad6a + enum + { + AARCH64_SCF_NONE, -+ AARCH64_SCF_LINUX_SIGFRAME, + AARCH64_SCF_LINUX_RT_SIGFRAME, + } + sigcontext_format; @@ -815,10 +811,10 @@ index 2ad6269..475f828 100644 #elif defined __hppa__ # include "tdep-hppa/libunwind_i.h" diff --git a/src/Makefile.am b/src/Makefile.am -index 3daa246..95e11f0 100644 +index 3daa246..9ad0020 100644 --- a/src/Makefile.am +++ b/src/Makefile.am -@@ -180,6 +180,27 @@ libunwind_elfxx_la_SOURCES = elfxx.c +@@ -180,6 +180,28 @@ libunwind_elfxx_la_SOURCES = elfxx.c noinst_LTLIBRARIES += $(LIBUNWIND_ELF) libunwind_la_LIBADD += $(LIBUNWIND_ELF) @@ -836,17 +832,18 @@ index 3daa246..95e11f0 100644 + aarch64/Lis_signal_frame.c aarch64/Lregs.c aarch64/Lresume.c \ + aarch64/Lstep.c + -+libunwind_aarch64_la_SOURCES_aarch64 = $(libunwind_la_SOURCES_aarch64_common) \ -+ $(libunwind_la_SOURCES_generic) \ -+ aarch64/Gcreate_addr_space.c aarch64/Gget_proc_info.c \ -+ aarch64/Gget_save_loc.c aarch64/Gglobal.c aarch64/Ginit.c \ -+ aarch64/Ginit_local.c aarch64/Ginit_remote.c \ -+ aarch64/Gis_signal_frame.c aarch64/Gregs.c aarch64/Gresume.c aarch64/Gstep.c ++libunwind_aarch64_la_SOURCES_aarch64 = $(libunwind_la_SOURCES_aarch64_common) \ ++ $(libunwind_la_SOURCES_generic) \ ++ aarch64/Gcreate_addr_space.c aarch64/Gget_proc_info.c \ ++ aarch64/Gget_save_loc.c aarch64/Gglobal.c aarch64/Ginit.c \ ++ aarch64/Ginit_local.c aarch64/Ginit_remote.c \ ++ aarch64/Gis_signal_frame.c aarch64/Gregs.c aarch64/Gresume.c \ ++ aarch64/Gstep.c + # The list of files that go into libunwind and libunwind-arm: noinst_HEADERS += arm/init.h arm/offsets.h arm/unwind_i.h libunwind_la_SOURCES_arm_common = $(libunwind_la_SOURCES_common) \ -@@ -428,6 +449,18 @@ if OS_FREEBSD +@@ -428,6 +450,18 @@ if OS_FREEBSD libunwind_coredump_la_SOURCES += coredump/_UCD_access_reg_freebsd.c endif @@ -865,7 +862,7 @@ index 3daa246..95e11f0 100644 if ARCH_ARM lib_LTLIBRARIES += libunwind-arm.la libunwind_la_SOURCES = $(libunwind_la_SOURCES_arm) -@@ -555,6 +588,7 @@ endif # ARCH_MIPS +@@ -555,6 +589,7 @@ endif # ARCH_MIPS endif # ARCH_HPPA endif # ARCH_IA64 endif # ARCH_ARM @@ -873,7 +870,7 @@ index 3daa246..95e11f0 100644 # libunwind-setjmp depends on libunwind-$(arch). Therefore must be added # at the end. -@@ -577,7 +611,8 @@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/include/tdep-$(arch) -I. +@@ -577,7 +612,8 @@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/include/tdep-$(arch) -I. AM_CCASFLAGS = $(AM_CPPFLAGS) noinst_HEADERS += unwind/unwind-internal.h @@ -883,7 +880,7 @@ index 3daa246..95e11f0 100644 $(libunwind_la_SOURCES_hppa) \ $(libunwind_la_SOURCES_ia64) \ $(libunwind_la_SOURCES_mips) \ -@@ -589,6 +624,7 @@ EXTRA_DIST = $(libunwind_la_SOURCES_arm) \ +@@ -589,6 +625,7 @@ EXTRA_DIST = $(libunwind_la_SOURCES_arm) \ $(libunwind_la_SOURCES_common) \ $(libunwind_la_SOURCES_local) \ $(libunwind_la_SOURCES_generic) \ @@ -893,12 +890,13 @@ index 3daa246..95e11f0 100644 $(libunwind_ia64_la_SOURCES_ia64) \ diff --git a/src/aarch64/Gcreate_addr_space.c b/src/aarch64/Gcreate_addr_space.c new file mode 100644 -index 0000000..cc77a19 +index 0000000..b0f2b04 --- /dev/null +++ b/src/aarch64/Gcreate_addr_space.c -@@ -0,0 +1,59 @@ +@@ -0,0 +1,60 @@ +/* libunwind - a platform-independent unwind library + Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com> ++ Copyright (C) 2013 Linaro Limited + +This file is part of libunwind. + @@ -1003,13 +1001,14 @@ index 0000000..de9199f +} diff --git a/src/aarch64/Gget_save_loc.c b/src/aarch64/Gget_save_loc.c new file mode 100644 -index 0000000..548b348 +index 0000000..c76eb9c --- /dev/null +++ b/src/aarch64/Gget_save_loc.c -@@ -0,0 +1,99 @@ +@@ -0,0 +1,100 @@ +/* libunwind - a platform-independent unwind library + Copyright (C) 2008 CodeSourcery + Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com> ++ Copyright (C) 2013 Linaro Limited + +This file is part of libunwind. + @@ -1108,13 +1107,14 @@ index 0000000..548b348 +} diff --git a/src/aarch64/Gglobal.c b/src/aarch64/Gglobal.c new file mode 100644 -index 0000000..f3803dd +index 0000000..b0a7e26 --- /dev/null +++ b/src/aarch64/Gglobal.c -@@ -0,0 +1,56 @@ +@@ -0,0 +1,57 @@ +/* libunwind - a platform-independent unwind library + Copyright (C) 2008 CodeSourcery + Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com> ++ Copyright (C) 2013 Linaro Limited + +This file is part of libunwind. + @@ -1170,13 +1170,14 @@ index 0000000..f3803dd +} diff --git a/src/aarch64/Ginit.c b/src/aarch64/Ginit.c new file mode 100644 -index 0000000..9d63780 +index 0000000..449b417 --- /dev/null +++ b/src/aarch64/Ginit.c -@@ -0,0 +1,186 @@ +@@ -0,0 +1,187 @@ +/* libunwind - a platform-independent unwind library + Copyright (C) 2008 CodeSourcery + Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com> ++ Copyright (C) 2013 Linaro Limited + +This file is part of libunwind. + @@ -1362,13 +1363,13 @@ index 0000000..9d63780 +#endif /* !UNW_REMOTE_ONLY */ diff --git a/src/aarch64/Ginit_local.c b/src/aarch64/Ginit_local.c new file mode 100644 -index 0000000..e1cc30c +index 0000000..dee6fd3 --- /dev/null +++ b/src/aarch64/Ginit_local.c @@ -0,0 +1,55 @@ +/* libunwind - a platform-independent unwind library + Copyright (C) 2008 CodeSourcery -+ Copyright 2011 Linaro Limited ++ Copyright (C) 2011-2013 Linaro Limited + +This file is part of libunwind. + @@ -1474,12 +1475,13 @@ index 0000000..f284e99 +} diff --git a/src/aarch64/Gis_signal_frame.c b/src/aarch64/Gis_signal_frame.c new file mode 100644 -index 0000000..79c42b2 +index 0000000..53e32de --- /dev/null +++ b/src/aarch64/Gis_signal_frame.c -@@ -0,0 +1,63 @@ +@@ -0,0 +1,64 @@ +/* libunwind - a platform-independent unwind library + Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com> ++ Copyright (C) 2013 Linaro Limited + +This file is part of libunwind. + @@ -1543,13 +1545,14 @@ index 0000000..79c42b2 +} diff --git a/src/aarch64/Gregs.c b/src/aarch64/Gregs.c new file mode 100644 -index 0000000..315109c +index 0000000..0f6b9c6 --- /dev/null +++ b/src/aarch64/Gregs.c -@@ -0,0 +1,112 @@ +@@ -0,0 +1,113 @@ +/* libunwind - a platform-independent unwind library + Copyright (C) 2008 CodeSourcery + Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com> ++ Copyright (C) 2013 Linaro Limited + +This file is part of libunwind. + @@ -1661,13 +1664,13 @@ index 0000000..315109c +} diff --git a/src/aarch64/Gresume.c b/src/aarch64/Gresume.c new file mode 100644 -index 0000000..2593ad7 +index 0000000..07f2f2b --- /dev/null +++ b/src/aarch64/Gresume.c -@@ -0,0 +1,182 @@ +@@ -0,0 +1,177 @@ +/* libunwind - a platform-independent unwind library + Copyright (C) 2008 CodeSourcery -+ Copyright 2011 Linaro Limited ++ Copyright (C) 2011-2013 Linaro Limited + Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com> + +This file is part of libunwind. @@ -1726,16 +1729,11 @@ index 0000000..2593ad7 + }; + + asm volatile ( -+ "ldr x19, [%0]\n" -+ "ldr x20, [%0,8]\n" -+ "ldr x21, [%0,16]\n" -+ "ldr x22, [%0,24]\n" -+ "ldr x23, [%0,32]\n" -+ "ldr x24, [%0,40]\n" -+ "ldr x25, [%0,48]\n" -+ "ldr x26, [%0,56]\n" -+ "ldr x27, [%0,64]\n" -+ "ldr x28, [%0,72]\n" ++ "ldp x19, x20, [%0]\n" ++ "ldp x21, x22, [%0,16]\n" ++ "ldp x23, x24, [%0,32]\n" ++ "ldp x25, x26, [%0,48]\n" ++ "ldp x27, x28, [%0,64]\n" + "ldr x30, [%0,80]\n" + "mov sp, %1\n" + "ret \n" @@ -1849,13 +1847,13 @@ index 0000000..2593ad7 +} diff --git a/src/aarch64/Gstep.c b/src/aarch64/Gstep.c new file mode 100644 -index 0000000..4ca07f8 +index 0000000..4aa15d1 --- /dev/null +++ b/src/aarch64/Gstep.c @@ -0,0 +1,129 @@ +/* libunwind - a platform-independent unwind library + Copyright (C) 2008 CodeSourcery -+ Copyright 2011 Linaro Limited ++ Copyright (C) 2011-2013 Linaro Limited + Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com> + +This file is part of libunwind. @@ -2179,12 +2177,13 @@ index 0000000..eadc237 +} diff --git a/src/aarch64/init.h b/src/aarch64/init.h new file mode 100644 -index 0000000..eec07ea +index 0000000..0cedc1a --- /dev/null +++ b/src/aarch64/init.h -@@ -0,0 +1,125 @@ +@@ -0,0 +1,127 @@ +/* libunwind - a platform-independent unwind library + Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com> ++ Copyright (C) 2013 Linaro Limited + +This file is part of libunwind. + @@ -2224,30 +2223,31 @@ index 0000000..eec07ea + c->dwarf.loc[UNW_AARCH64_X7] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X7); + c->dwarf.loc[UNW_AARCH64_X8] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X8); + c->dwarf.loc[UNW_AARCH64_X9] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X9); -+ c->dwarf.loc[UNW_AARCH64_X10] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X10); -+ c->dwarf.loc[UNW_AARCH64_X11] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X11); -+ c->dwarf.loc[UNW_AARCH64_X12] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X12); -+ c->dwarf.loc[UNW_AARCH64_X13] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X13); -+ c->dwarf.loc[UNW_AARCH64_X14] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X14); -+ c->dwarf.loc[UNW_AARCH64_X15] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X15); -+ c->dwarf.loc[UNW_AARCH64_X16] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X16); -+ c->dwarf.loc[UNW_AARCH64_X17] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X17); -+ c->dwarf.loc[UNW_AARCH64_X18] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X18); -+ c->dwarf.loc[UNW_AARCH64_X19] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X19); -+ c->dwarf.loc[UNW_AARCH64_X20] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X20); -+ c->dwarf.loc[UNW_AARCH64_X21] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X21); -+ c->dwarf.loc[UNW_AARCH64_X22] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X22); -+ c->dwarf.loc[UNW_AARCH64_X23] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X23); -+ c->dwarf.loc[UNW_AARCH64_X24] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X24); -+ c->dwarf.loc[UNW_AARCH64_X25] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X25); -+ c->dwarf.loc[UNW_AARCH64_X26] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X26); -+ c->dwarf.loc[UNW_AARCH64_X27] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X27); -+ c->dwarf.loc[UNW_AARCH64_X28] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X28); -+ c->dwarf.loc[UNW_AARCH64_X29] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X29); -+ c->dwarf.loc[UNW_AARCH64_X30] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X30); ++ c->dwarf.loc[UNW_AARCH64_X10] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X10); ++ c->dwarf.loc[UNW_AARCH64_X11] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X11); ++ c->dwarf.loc[UNW_AARCH64_X12] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X12); ++ c->dwarf.loc[UNW_AARCH64_X13] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X13); ++ c->dwarf.loc[UNW_AARCH64_X14] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X14); ++ c->dwarf.loc[UNW_AARCH64_X15] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X15); ++ c->dwarf.loc[UNW_AARCH64_X16] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X16); ++ c->dwarf.loc[UNW_AARCH64_X17] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X17); ++ c->dwarf.loc[UNW_AARCH64_X18] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X18); ++ c->dwarf.loc[UNW_AARCH64_X19] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X19); ++ c->dwarf.loc[UNW_AARCH64_X20] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X20); ++ c->dwarf.loc[UNW_AARCH64_X21] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X21); ++ c->dwarf.loc[UNW_AARCH64_X22] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X22); ++ c->dwarf.loc[UNW_AARCH64_X23] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X23); ++ c->dwarf.loc[UNW_AARCH64_X24] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X24); ++ c->dwarf.loc[UNW_AARCH64_X25] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X25); ++ c->dwarf.loc[UNW_AARCH64_X26] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X26); ++ c->dwarf.loc[UNW_AARCH64_X27] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X27); ++ c->dwarf.loc[UNW_AARCH64_X28] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X28); ++ c->dwarf.loc[UNW_AARCH64_X29] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X29); ++ c->dwarf.loc[UNW_AARCH64_X30] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X30); + c->dwarf.loc[UNW_AARCH64_SP] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_SP); + c->dwarf.loc[UNW_AARCH64_PC] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_PC); -+ c->dwarf.loc[UNW_AARCH64_PSTATE] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_PSTATE); ++ c->dwarf.loc[UNW_AARCH64_PSTATE] = DWARF_REG_LOC (&c->dwarf, ++ UNW_AARCH64_PSTATE); + c->dwarf.loc[UNW_AARCH64_V0] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V0); + c->dwarf.loc[UNW_AARCH64_V1] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V1); + c->dwarf.loc[UNW_AARCH64_V2] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V2); @@ -2258,28 +2258,28 @@ index 0000000..eec07ea + c->dwarf.loc[UNW_AARCH64_V7] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V7); + c->dwarf.loc[UNW_AARCH64_V8] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V8); + c->dwarf.loc[UNW_AARCH64_V9] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V9); -+ c->dwarf.loc[UNW_AARCH64_V10] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V10); -+ c->dwarf.loc[UNW_AARCH64_V11] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V11); -+ c->dwarf.loc[UNW_AARCH64_V12] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V12); -+ c->dwarf.loc[UNW_AARCH64_V13] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V13); -+ c->dwarf.loc[UNW_AARCH64_V14] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V14); -+ c->dwarf.loc[UNW_AARCH64_V15] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V15); -+ c->dwarf.loc[UNW_AARCH64_V16] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V16); -+ c->dwarf.loc[UNW_AARCH64_V17] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V17); -+ c->dwarf.loc[UNW_AARCH64_V18] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V18); -+ c->dwarf.loc[UNW_AARCH64_V19] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V19); -+ c->dwarf.loc[UNW_AARCH64_V20] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V20); -+ c->dwarf.loc[UNW_AARCH64_V21] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V21); -+ c->dwarf.loc[UNW_AARCH64_V22] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V22); -+ c->dwarf.loc[UNW_AARCH64_V23] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V23); -+ c->dwarf.loc[UNW_AARCH64_V24] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V24); -+ c->dwarf.loc[UNW_AARCH64_V25] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V25); -+ c->dwarf.loc[UNW_AARCH64_V26] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V26); -+ c->dwarf.loc[UNW_AARCH64_V27] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V27); -+ c->dwarf.loc[UNW_AARCH64_V28] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V28); -+ c->dwarf.loc[UNW_AARCH64_V29] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V29); -+ c->dwarf.loc[UNW_AARCH64_V30] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V30); -+ c->dwarf.loc[UNW_AARCH64_V31] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V31); ++ c->dwarf.loc[UNW_AARCH64_V10] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V10); ++ c->dwarf.loc[UNW_AARCH64_V11] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V11); ++ c->dwarf.loc[UNW_AARCH64_V12] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V12); ++ c->dwarf.loc[UNW_AARCH64_V13] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V13); ++ c->dwarf.loc[UNW_AARCH64_V14] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V14); ++ c->dwarf.loc[UNW_AARCH64_V15] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V15); ++ c->dwarf.loc[UNW_AARCH64_V16] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V16); ++ c->dwarf.loc[UNW_AARCH64_V17] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V17); ++ c->dwarf.loc[UNW_AARCH64_V18] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V18); ++ c->dwarf.loc[UNW_AARCH64_V19] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V19); ++ c->dwarf.loc[UNW_AARCH64_V20] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V20); ++ c->dwarf.loc[UNW_AARCH64_V21] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V21); ++ c->dwarf.loc[UNW_AARCH64_V22] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V22); ++ c->dwarf.loc[UNW_AARCH64_V23] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V23); ++ c->dwarf.loc[UNW_AARCH64_V24] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V24); ++ c->dwarf.loc[UNW_AARCH64_V25] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V25); ++ c->dwarf.loc[UNW_AARCH64_V26] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V26); ++ c->dwarf.loc[UNW_AARCH64_V27] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V27); ++ c->dwarf.loc[UNW_AARCH64_V28] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V28); ++ c->dwarf.loc[UNW_AARCH64_V29] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V29); ++ c->dwarf.loc[UNW_AARCH64_V30] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V30); ++ c->dwarf.loc[UNW_AARCH64_V31] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V31); + + for (i = UNW_AARCH64_PSTATE + 1; i < UNW_AARCH64_V0; ++i) + c->dwarf.loc[i] = DWARF_NULL_LOC; @@ -2310,12 +2310,13 @@ index 0000000..eec07ea +} diff --git a/src/aarch64/is_fpreg.c b/src/aarch64/is_fpreg.c new file mode 100644 -index 0000000..47f5cda +index 0000000..7c32693 --- /dev/null +++ b/src/aarch64/is_fpreg.c -@@ -0,0 +1,31 @@ +@@ -0,0 +1,32 @@ +/* libunwind - a platform-independent unwind library + Copyright (C) 2008 CodeSourcery ++ Copyright (C) 2013 Linaro Limited + +This file is part of libunwind. + @@ -2402,12 +2403,13 @@ index 0000000..81aa74f +#define LINUX_SC_PSTATE_OFF 0x110 diff --git a/src/aarch64/regname.c b/src/aarch64/regname.c new file mode 100644 -index 0000000..0599030 +index 0000000..8c97342 --- /dev/null +++ b/src/aarch64/regname.c -@@ -0,0 +1,105 @@ +@@ -0,0 +1,106 @@ +/* libunwind - a platform-independent unwind library + Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com> ++ Copyright (C) 2013 Linaro Limited + +This file is part of libunwind. + @@ -2531,12 +2533,13 @@ index 0000000..9985c4b +#endif diff --git a/src/aarch64/unwind_i.h b/src/aarch64/unwind_i.h new file mode 100644 -index 0000000..78282f1 +index 0000000..e4947a3 --- /dev/null +++ b/src/aarch64/unwind_i.h -@@ -0,0 +1,42 @@ +@@ -0,0 +1,43 @@ +/* libunwind - a platform-independent unwind library + Copyright (C) 2008 CodeSourcery ++ Copyright (C) 2013 Linaro Limited + +This file is part of libunwind. + @@ -2594,10 +2597,18 @@ index bc360ad..9dc0904 100644 goto badreg; #elif defined(UNW_TARGET_SH) diff --git a/src/ptrace/_UPT_reg_offset.c b/src/ptrace/_UPT_reg_offset.c -index 765f7d5..c12a05c 100644 +index 765f7d5..ced4896 100644 --- a/src/ptrace/_UPT_reg_offset.c +++ b/src/ptrace/_UPT_reg_offset.c -@@ -501,6 +501,41 @@ const int _UPT_reg_offset[UNW_REG_LAST + 1] = +@@ -1,6 +1,7 @@ + /* libunwind - a platform-independent unwind library + Copyright (C) 2003-2004 Hewlett-Packard Co + Contributed by David Mosberger-Tang <davidm@hpl.hp.com> ++ Copyright (C) 2013 Linaro Limited + + This file is part of libunwind. + +@@ -501,6 +502,41 @@ const int _UPT_reg_offset[UNW_REG_LAST + 1] = [UNW_ARM_R15] = 0x3c, #elif defined(UNW_TARGET_MIPS) #elif defined(UNW_TARGET_SH) @@ -2640,5 +2651,5 @@ index 765f7d5..c12a05c 100644 # error Fix me. #endif -- -1.8.1.2 +1.7.9.5 |