Patchwork [meta-oe,5/8] libunwind: add 1.1 with preliminary aarch64 patch

login
register
mail settings
Submitter Marcin Juszkiewicz
Date Feb. 7, 2013, 10:51 a.m.
Message ID <1360234263-18278-6-git-send-email-marcin.juszkiewicz@linaro.org>
Download mbox | patch
Permalink /patch/44253/
State Superseded, archived
Headers show

Comments

Marcin Juszkiewicz - Feb. 7, 2013, 10:51 a.m.
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
---
 meta-oe/recipes-support/libunwind/files/aarch64.patch | 19 +++++++++++++++++++
 meta-oe/recipes-support/libunwind/libunwind.inc       | 12 ++++++++++++
 meta-oe/recipes-support/libunwind/libunwind_1.1.bb    |  6 ++++++
 3 files changed, 37 insertions(+)
 create mode 100644 meta-oe/recipes-support/libunwind/files/aarch64.patch
 create mode 100644 meta-oe/recipes-support/libunwind/libunwind.inc
 create mode 100644 meta-oe/recipes-support/libunwind/libunwind_1.1.bb
Martin Jansa - Feb. 16, 2013, 5:21 a.m.
On Thu, Feb 07, 2013 at 11:51:00AM +0100, Marcin Juszkiewicz wrote:
> Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
> ---
>  meta-oe/recipes-support/libunwind/files/aarch64.patch | 19 +++++++++++++++++++
>  meta-oe/recipes-support/libunwind/libunwind.inc       | 12 ++++++++++++
>  meta-oe/recipes-support/libunwind/libunwind_1.1.bb    |  6 ++++++
>  3 files changed, 37 insertions(+)
>  create mode 100644 meta-oe/recipes-support/libunwind/files/aarch64.patch
>  create mode 100644 meta-oe/recipes-support/libunwind/libunwind.inc
>  create mode 100644 meta-oe/recipes-support/libunwind/libunwind_1.1.bb

Does not build for qemuarm:

../src/.libs/libunwind.so -lc -lgcc /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/lib/liblzma.so -pthread
| arm-oe-linux-gnueabi-libtool: link: arm-oe-linux-gnueabi-gcc -march=armv5te -marm -mthumb-interwork --sysroot=/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm -O2 -pipe -g -feliminate-unused-debug-types -fexceptions -Wall -Wsign-compare -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o .libs/Gperf-simple Gperf-simple.o  ../src/.libs/libunwind-arm.so /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/libunwind/1.1-r0/libunwind-1.1/src/.libs/libunwind.so ../src/.libs/libunwind.so -lc -lgcc /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/lib/liblzma.so -pthread
| ../src/.libs/libunwind-arm.so: undefined reference to `AO_fetch_and_add'
| ../src/.libs/libunwind-arm.so: undefined reference to `AO_fetch_and_add1'
| collect2: error: ld returned 1 exit status
| make[1]: *** [test-coredump-unwind] Error 1
| ../src/.libs/libunwind-arm.so: undefined reference to `AO_fetch_and_add'
| ../src/.libs/libunwind-arm.so: undefined reference to `AO_fetch_and_add1'
| collect2: error: ld returned 1 exit status
| ../src/.libs/libunwind-arm.so: undefined reference to `AO_fetch_and_add'
| ../src/.libs/libunwind-arm.so: undefined reference to `AO_fetch_and_add1'
| collect2: error: ld returned 1 exit status
| make[1]: *** [Gperf-trace] Error 1
| make[1]: *** [Gperf-simple] Error 1
| make[1]: Leaving directory `/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/libunwind/1.1-r0/libunwind-1.1/tests'
| make: *** [all-recursive] Error 1
| ERROR: oe_runmake failed
| ERROR: Function failed: do_compile (see /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/libunwind/1.1-r0/temp/log.do_compile.20241 for further information)
NOTE: recipe libunwind-1.1-r0: task do_compile: Failed

Complete log:

http://logs.nslu2-linux.org/buildlogs/oe/oe-shr-core-branches/log.world.20130215_060633.log/

> 
> diff --git a/meta-oe/recipes-support/libunwind/files/aarch64.patch b/meta-oe/recipes-support/libunwind/files/aarch64.patch
> new file mode 100644
> index 0000000..9ea8d83
> --- /dev/null
> +++ b/meta-oe/recipes-support/libunwind/files/aarch64.patch
> @@ -0,0 +1,19 @@
> +---
> + configure.ac |    2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +--- libunwind-1.1.orig/configure.ac
> ++++ libunwind-1.1/configure.ac
> +@@ -135,11 +135,11 @@ AM_CONDITIONAL(OS_HPUX, expr x$target_os
> + AM_CONDITIONAL(OS_FREEBSD, expr x$target_os : xfreebsd >/dev/null)
> + 
> + AC_MSG_CHECKING([for ELF helper width])
> + case "${target_arch}" in
> + (arm|hppa|ppc32|x86|sh) use_elf32=yes; AC_MSG_RESULT([32]);;
> +-(ia64|ppc64|x86_64)    use_elf64=yes; AC_MSG_RESULT([64]);;
> ++(ia64|ppc64|x86_64|aarch64)    use_elf64=yes; AC_MSG_RESULT([64]);;
> + (mips)                 use_elfxx=yes; AC_MSG_RESULT([xx]);;
> + *)                     AC_MSG_ERROR([Unknown ELF target: ${target_arch}])
> + esac
> + AM_CONDITIONAL(USE_ELF32, [test x$use_elf32 = xyes])
> + AM_CONDITIONAL(USE_ELF64, [test x$use_elf64 = xyes])
> diff --git a/meta-oe/recipes-support/libunwind/libunwind.inc b/meta-oe/recipes-support/libunwind/libunwind.inc
> new file mode 100644
> index 0000000..f028766
> --- /dev/null
> +++ b/meta-oe/recipes-support/libunwind/libunwind.inc
> @@ -0,0 +1,12 @@
> +DESCRIPTION = "a portable and efficient C programming interface (API) to determine the call-chain of a program"
> +HOMEPAGE = "http://www.nongnu.org/libunwind"
> +LICENSE = "MIT"
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=3fced11d6df719b47505837a51c16ae5"
> +
> +SRC_URI = "http://download.savannah.nongnu.org/releases/${BPN}/${BPN}-${PV}.tar.gz"
> +
> +inherit autotools
> +
> +EXTRA_OECONF_arm = "--enable-debug-frame"
> +
> +BBCLASSEXTEND = "native"
> diff --git a/meta-oe/recipes-support/libunwind/libunwind_1.1.bb b/meta-oe/recipes-support/libunwind/libunwind_1.1.bb
> new file mode 100644
> index 0000000..dd6b63c
> --- /dev/null
> +++ b/meta-oe/recipes-support/libunwind/libunwind_1.1.bb
> @@ -0,0 +1,6 @@
> +require libunwind.inc
> +
> +SRC_URI += "file://aarch64.patch"
> +
> +SRC_URI[md5sum] = "fb4ea2f6fbbe45bf032cd36e586883ce"
> +SRC_URI[sha256sum] = "9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a"
> -- 
> 1.8.0
> 
> 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
Marcin Juszkiewicz - Feb. 18, 2013, 9:08 a.m.
W dniu 16.02.2013 06:21, Martin Jansa pisze:
> On Thu, Feb 07, 2013 at 11:51:00AM +0100, Marcin Juszkiewicz wrote:
>> Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
>> ---
>>  meta-oe/recipes-support/libunwind/files/aarch64.patch | 19 +++++++++++++++++++
>>  meta-oe/recipes-support/libunwind/libunwind.inc       | 12 ++++++++++++
>>  meta-oe/recipes-support/libunwind/libunwind_1.1.bb    |  6 ++++++
>>  3 files changed, 37 insertions(+)
>>  create mode 100644 meta-oe/recipes-support/libunwind/files/aarch64.patch
>>  create mode 100644 meta-oe/recipes-support/libunwind/libunwind.inc
>>  create mode 100644 meta-oe/recipes-support/libunwind/libunwind_1.1.bb
> 
> Does not build for qemuarm:

10:07 hrw@puchatek:build$ find tmp-eglibc/deploy/ipk/ -name libunwind_1.1*
tmp-eglibc/deploy/ipk/armv5te/libunwind_1.1-r0_armv5te.ipk
tmp-eglibc/deploy/ipk/armv7ahf-vfp-neon/libunwind_1.1-r0_armv7ahf-vfp-neon.ipk

Built fine for qemuarm and genericarmv7a here.

Patch

diff --git a/meta-oe/recipes-support/libunwind/files/aarch64.patch b/meta-oe/recipes-support/libunwind/files/aarch64.patch
new file mode 100644
index 0000000..9ea8d83
--- /dev/null
+++ b/meta-oe/recipes-support/libunwind/files/aarch64.patch
@@ -0,0 +1,19 @@ 
+---
+ configure.ac |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- libunwind-1.1.orig/configure.ac
++++ libunwind-1.1/configure.ac
+@@ -135,11 +135,11 @@ AM_CONDITIONAL(OS_HPUX, expr x$target_os
+ AM_CONDITIONAL(OS_FREEBSD, expr x$target_os : xfreebsd >/dev/null)
+ 
+ AC_MSG_CHECKING([for ELF helper width])
+ case "${target_arch}" in
+ (arm|hppa|ppc32|x86|sh) use_elf32=yes; AC_MSG_RESULT([32]);;
+-(ia64|ppc64|x86_64)    use_elf64=yes; AC_MSG_RESULT([64]);;
++(ia64|ppc64|x86_64|aarch64)    use_elf64=yes; AC_MSG_RESULT([64]);;
+ (mips)                 use_elfxx=yes; AC_MSG_RESULT([xx]);;
+ *)                     AC_MSG_ERROR([Unknown ELF target: ${target_arch}])
+ esac
+ AM_CONDITIONAL(USE_ELF32, [test x$use_elf32 = xyes])
+ AM_CONDITIONAL(USE_ELF64, [test x$use_elf64 = xyes])
diff --git a/meta-oe/recipes-support/libunwind/libunwind.inc b/meta-oe/recipes-support/libunwind/libunwind.inc
new file mode 100644
index 0000000..f028766
--- /dev/null
+++ b/meta-oe/recipes-support/libunwind/libunwind.inc
@@ -0,0 +1,12 @@ 
+DESCRIPTION = "a portable and efficient C programming interface (API) to determine the call-chain of a program"
+HOMEPAGE = "http://www.nongnu.org/libunwind"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3fced11d6df719b47505837a51c16ae5"
+
+SRC_URI = "http://download.savannah.nongnu.org/releases/${BPN}/${BPN}-${PV}.tar.gz"
+
+inherit autotools
+
+EXTRA_OECONF_arm = "--enable-debug-frame"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/libunwind/libunwind_1.1.bb b/meta-oe/recipes-support/libunwind/libunwind_1.1.bb
new file mode 100644
index 0000000..dd6b63c
--- /dev/null
+++ b/meta-oe/recipes-support/libunwind/libunwind_1.1.bb
@@ -0,0 +1,6 @@ 
+require libunwind.inc
+
+SRC_URI += "file://aarch64.patch"
+
+SRC_URI[md5sum] = "fb4ea2f6fbbe45bf032cd36e586883ce"
+SRC_URI[sha256sum] = "9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a"