From 49c255494c1d0704a1c8c428281c81541b05dc3e Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Mon, 5 Jun 2017 21:53:15 +0100 Subject: libunwind: fix build failure on MIPS Signed-off-by: Ross Burton --- .../libunwind/libunwind/fix-mips.patch | 134 +++++++++++++++++++++ meta/recipes-support/libunwind/libunwind_1.2.bb | 1 + 2 files changed, 135 insertions(+) create mode 100644 meta/recipes-support/libunwind/libunwind/fix-mips.patch diff --git a/meta/recipes-support/libunwind/libunwind/fix-mips.patch b/meta/recipes-support/libunwind/libunwind/fix-mips.patch new file mode 100644 index 0000000000..0022237934 --- /dev/null +++ b/meta/recipes-support/libunwind/libunwind/fix-mips.patch @@ -0,0 +1,134 @@ +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From 5f354cb7b9c84dae006f0ebd8ad7a78d7e2aad0c Mon Sep 17 00:00:00 2001 +From: Dave Watson +Date: Wed, 25 Jan 2017 16:18:02 -0800 +Subject: [PATCH] mips/tilegx: Add missing unwind_i.h header file + +reported-by: John Knight +--- + src/Makefile.am | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index 5d874755..7de4c425 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -280,7 +280,7 @@ libunwind_hppa_la_SOURCES_hppa = $(libunwind_la_SOURCES_hppa_common) \ + hppa/Gresume.c hppa/Gstep.c + + # The list of files that go info libunwind and libunwind-mips: +-noinst_HEADERS += mips/init.h mips/offsets.h ++noinst_HEADERS += mips/init.h mips/offsets.h mips/unwind_i.h + libunwind_la_SOURCES_mips_common = $(libunwind_la_SOURCES_common) \ + mips/is_fpreg.c mips/regname.c + +@@ -299,7 +299,7 @@ libunwind_mips_la_SOURCES_mips = $(libunwind_la_SOURCES_mips_common) \ + mips/Gis_signal_frame.c mips/Gregs.c mips/Gresume.c mips/Gstep.c + + # The list of files that go info libunwind and libunwind-tilegx: +-noinst_HEADERS += tilegx/init.h tilegx/offsets.h ++noinst_HEADERS += tilegx/init.h tilegx/offsets.h tilegx/unwind_i.h + libunwind_la_SOURCES_tilegx_common = $(libunwind_la_SOURCES_common) \ + tilegx/is_fpreg.c tilegx/regname.c + +diff --git a/src/mips/unwind_i.h b/src/mips/unwind_i.h +new file mode 100644 +index 0000000..3382dcf +--- /dev/null ++++ b/src/mips/unwind_i.h +@@ -0,0 +1,43 @@ ++/* libunwind - a platform-independent unwind library ++ Copyright (C) 2008 CodeSourcery ++ ++This file is part of libunwind. ++ ++Permission is hereby granted, free of charge, to any person obtaining ++a copy of this software and associated documentation files (the ++"Software"), to deal in the Software without restriction, including ++without limitation the rights to use, copy, modify, merge, publish, ++distribute, sublicense, and/or sell copies of the Software, and to ++permit persons to whom the Software is furnished to do so, subject to ++the following conditions: ++ ++The above copyright notice and this permission notice shall be ++included in all copies or substantial portions of the Software. ++ ++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE ++LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION ++OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION ++WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ ++ ++#ifndef unwind_i_h ++#define unwind_i_h ++ ++#include ++ ++#include ++ ++#include "libunwind_i.h" ++ ++#define mips_lock UNW_OBJ(lock) ++#define mips_local_resume UNW_OBJ(local_resume) ++#define mips_local_addr_space_init UNW_OBJ(local_addr_space_init) ++ ++extern int mips_local_resume (unw_addr_space_t as, unw_cursor_t *cursor, ++ void *arg); ++ ++extern void mips_local_addr_space_init (void); ++ ++#endif /* unwind_i_h */ +diff --git a/src/tilegx/unwind_i.h b/src/tilegx/unwind_i.h +new file mode 100644 +index 0000000..aac7be3 +--- /dev/null ++++ b/src/tilegx/unwind_i.h +@@ -0,0 +1,44 @@ ++/* libunwind - a platform-independent unwind library ++ Copyright (C) 2008 CodeSourcery ++ ++This file is part of libunwind. ++ ++Permission is hereby granted, free of charge, to any person obtaining ++a copy of this software and associated documentation files (the ++"Software"), to deal in the Software without restriction, including ++without limitation the rights to use, copy, modify, merge, publish, ++distribute, sublicense, and/or sell copies of the Software, and to ++permit persons to whom the Software is furnished to do so, subject to ++the following conditions: ++ ++The above copyright notice and this permission notice shall be ++included in all copies or substantial portions of the Software. ++ ++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE ++LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION ++OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION ++WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ ++ ++#ifndef unwind_i_h ++#define unwind_i_h ++ ++#include ++#include ++ ++#include ++ ++#include "libunwind_i.h" ++ ++#define tilegx_local_resume UNW_OBJ(local_resume) ++#define tilegx_local_addr_space_init UNW_OBJ(local_addr_space_init) ++ ++extern int tilegx_local_resume (unw_addr_space_t as, ++ unw_cursor_t *cursor, ++ void *arg); ++ ++extern void tilegx_local_addr_space_init (void); ++ ++#endif /* unwind_i_h */ diff --git a/meta/recipes-support/libunwind/libunwind_1.2.bb b/meta/recipes-support/libunwind/libunwind_1.2.bb index a398d332e2..e598e40c6f 100644 --- a/meta/recipes-support/libunwind/libunwind_1.2.bb +++ b/meta/recipes-support/libunwind/libunwind_1.2.bb @@ -11,6 +11,7 @@ SRC_URI = "http://download.savannah.nongnu.org/releases/libunwind/libunwind-${PV file://0001-add-knobs-to-disable-enable-tests.patch \ file://0001-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch \ file://libunwind-1.1-x32.patch \ + file://fix-mips.patch \ " SRC_URI_append_libc-musl = " file://musl-header-conflict.patch" -- cgit 1.2.3-korg