]> code.ossystems Code Review - openembedded-core.git/commitdiff
libunwind: Fix build on mips/mips64 for musl targets
authorKhem Raj <raj.khem@gmail.com>
Wed, 23 Mar 2016 06:51:40 +0000 (06:51 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 28 Mar 2016 14:54:52 +0000 (15:54 +0100)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-support/libunwind/libunwind-1.1/0001-Fix-build-on-mips-musl.patch [new file with mode: 0644]
meta/recipes-support/libunwind/libunwind_1.1.bb

diff --git a/meta/recipes-support/libunwind/libunwind-1.1/0001-Fix-build-on-mips-musl.patch b/meta/recipes-support/libunwind/libunwind-1.1/0001-Fix-build-on-mips-musl.patch
new file mode 100644 (file)
index 0000000..5426fcc
--- /dev/null
@@ -0,0 +1,90 @@
+From e623c7703945a5eb6c9a30586ec5e23b2f7396f6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 23 Mar 2016 06:08:59 +0000
+Subject: [PATCH] Fix build on mips/musl
+
+Do not include endian.h on musl it includes
+further headers which can not be compiled in __ASSEMBLER__
+ mode
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/coredump/_UCD_internal.h | 34 ++++++++++++++++++++++++++++++++++
+ src/mips/getcontext.S        |  3 +--
+ 2 files changed, 35 insertions(+), 2 deletions(-)
+
+diff --git a/src/coredump/_UCD_internal.h b/src/coredump/_UCD_internal.h
+index 3c95a2a..80acc15 100644
+--- a/src/coredump/_UCD_internal.h
++++ b/src/coredump/_UCD_internal.h
+@@ -34,6 +34,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
+ #ifdef HAVE_SYS_PROCFS_H
+ #include <sys/procfs.h> /* struct elf_prstatus */
+ #endif
++#include <sys/reg.h>
+ #include <errno.h>
+ #include <string.h>
+ #include <limits.h>
+@@ -44,6 +45,39 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
+ #include "libunwind_i.h"
++#ifndef __GLIBC__
++#define EF_REG0                       6
++#define EF_REG1                       7
++#define EF_REG2                       8
++#define EF_REG3                       9
++#define EF_REG4                       10
++#define EF_REG5                       11
++#define EF_REG6                       12
++#define EF_REG7                       13
++#define EF_REG8                       14
++#define EF_REG9                       15
++#define EF_REG10              16
++#define EF_REG11              17
++#define EF_REG12              18
++#define EF_REG13              19
++#define EF_REG14              20
++#define EF_REG15              21
++#define EF_REG16              22
++#define EF_REG17              23
++#define EF_REG18              24
++#define EF_REG19              25
++#define EF_REG20              26
++#define EF_REG21              27
++#define EF_REG22              28
++#define EF_REG23              29
++#define EF_REG24              30
++#define EF_REG25              31
++#define EF_REG28              34
++#define EF_REG29              35
++#define EF_REG30              36
++#define EF_REG31              37
++#endif
++
+ #if SIZEOF_OFF_T == 4
+ typedef uint32_t uoff_t;
+diff --git a/src/mips/getcontext.S b/src/mips/getcontext.S
+index d1dbd57..de9b681 100644
+--- a/src/mips/getcontext.S
++++ b/src/mips/getcontext.S
+@@ -24,12 +24,11 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
+ #include "offsets.h"
+-#include <endian.h>
+       .text
+ #if _MIPS_SIM == _ABIO32
+-# if __BYTE_ORDER == __BIG_ENDIAN
++# if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+ #  define OFFSET 4
+ # else
+ #  define OFFSET 0
+-- 
+1.8.3.1
+
index 1ed525f5156502e51c1622f7bf60a12e00381096..aff84092a6c478960aad72e1aed7b33d0884433f 100644 (file)
@@ -12,6 +12,7 @@ SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
 SRC_URI_append_libc-musl = "\
            file://0001-x86-Stub-out-x86_local_resume.patch \
            file://0001-disable-tests.patch \
+           file://0001-Fix-build-on-mips-musl.patch \
 "
 SRC_URI[md5sum] = "fb4ea2f6fbbe45bf032cd36e586883ce"
 SRC_URI[sha256sum] = "9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a"