[OE-core] [PATCH 9/9] perf: disable libunwind support for aarch64

Kang Kai Kai.Kang at windriver.com
Tue Sep 23 06:11:43 UTC 2014


On 2014年09月23日 00:01, Fathi Boudra wrote:
> On 19 September 2014 12:21, Kai Kang <kai.kang at windriver.com> wrote:
>> Disable libunwind support of perl for aarch aarch64 that libunwind
>> doesn't support aarch64.
> typo:
> perl -> perf
> aarch -> arch
>
> Otherwise, the patch doesn't seems correct. libunwind supports aarch64
> since libunwind 1.1 (you need to build with --enable-debug-frame).

When do configure, it fails with:

| checking for ELF helper width... configure: error: Unknown ELF target: 
aarch64

It could be fixed by patching configure.ac:

--- configure.ac.orig   2014-09-23 13:30:23.415975656 +0800
+++ configure.ac        2014-09-23 13:30:47.991976326 +0800
@@ -137,7 +137,7 @@
  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]);;
+(aarch64|ia64|ppc64|x86_64)    use_elf64=yes; AC_MSG_RESULT([64]);;
  (mips)                 use_elfxx=yes; AC_MSG_RESULT([xx]);;
  *)                     AC_MSG_ERROR([Unknown ELF target: ${target_arch}])
  esac

And then it fails with do compile either:

| ../include/libunwind.h:25:3: error: #error "Unsupported arch"

In include/libunwind.h.in, it checks arch and include header accordingly.
For aarch64, it lacks arch check and header file libunwind-arm64.h or 
libunwind-aarch64.h.

Thanks,
Kai


>
>> Signed-off-by: Kai Kang <kai.kang at windriver.com>
>> ---
>>   meta/recipes-kernel/perf/perf-features.inc | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/meta/recipes-kernel/perf/perf-features.inc b/meta/recipes-kernel/perf/perf-features.inc
>> index 2dbbb47..7de35f3 100644
>> --- a/meta/recipes-kernel/perf/perf-features.inc
>> +++ b/meta/recipes-kernel/perf/perf-features.inc
>> @@ -1,4 +1,5 @@
>>   PERF_FEATURES_ENABLE ?= "perf-scripting perf-tui perf-libunwind"
>> +PERF_FEATURES_ENABLE_remove_aarch64 = "perf-libunwind"
>>
>>   def perf_feature_enabled(feature, trueval, falseval, d):
>>       """
>> --
>> 1.9.1
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>


-- 
Regards,
Neil | Kai Kang




More information about the Openembedded-core mailing list