linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* perf: arm64: libunwind patch
@ 2020-03-17 22:29 ferar achkar
  2020-03-18  3:19 ` Leo Yan
  0 siblings, 1 reply; 3+ messages in thread
From: ferar achkar @ 2020-03-17 22:29 UTC (permalink / raw)
  To: peterz; +Cc: mingo, acme, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 4029 bytes --]

hi,
please find attached a compile error fix.
regards,

ferar

------------------

ferar@barbarian:~/renegade_rk3328/perf_core$ make -j4 ARCH=arm64 ....

....

Warning: Kernel ABI header at 'tools/arch/arm64/include/uapi/asm/kvm.h' 
differs from latest version at 'arch/arm64/include/uapi/asm/kvm.h'
diff -u tools/arch/arm64/include/uapi/asm/kvm.h 
arch/arm64/include/uapi/asm/kvm.h
Warning: Kernel ABI header at 
'tools/include/uapi/asm-generic/mman-common.h' differs from latest 
version at 'include/uapi/asm-generic/mman-common.h'
diff -u tools/include/uapi/asm-generic/mman-common.h 
include/uapi/asm-generic/mman-common.h

Auto-detecting system features:
...                         dwarf: [ on  ]
...            dwarf_getlocations: [ on  ]
...                         glibc: [ on  ]
...                          gtk2: [ OFF ]
...                      libaudit: [ on  ]
...                        libbfd: [ on  ]
...                        libcap: [ on  ]
...                        libelf: [ on  ]
...                       libnuma: [ OFF ]
...        numa_num_possible_cpus: [ OFF ]
...                       libperl: [ OFF ]
...                     libpython: [ OFF ]
...                     libcrypto: [ on  ]
...                     libunwind: [ on  ]
...            libdw-dwarf-unwind: [ on  ]
...                          zlib: [ on  ]
...                          lzma: [ on  ]
...                     get_cpuid: [ OFF ]
...                           bpf: [ on  ]
...                        libaio: [ on  ]
...                       libzstd: [ OFF ]
...        disassembler-four-args: [ on  ]

Makefile.config:497: No sys/sdt.h found, no SDT events are defined, 
please install systemtap-sdt-devel or systemtap-sdt-dev

....

   CC       util/dwarf-regs.o
   CC       util/unwind-libunwind-local.o
   CC       util/unwind-libunwind.o
   CC       util/libunwind/arm64.o
util/libunwind/arm64.c:20:40: error: no previous prototype for 
‘libunwind__arm64_reg_id’ [-Werror=missing-prototypes]
  #define LIBUNWIND__ARCH_REG_ID(regnum) libunwind__arm64_reg_id(regnum)
                                         ^
util/libunwind/../../arch/arm64/util/unwind-libunwind.c:11:5: note: in 
expansion of macro ‘LIBUNWIND__ARCH_REG_ID’
  int LIBUNWIND__ARCH_REG_ID(int regnum)
      ^~~~~~~~~~~~~~~~~~~~~~
   CC       util/zlib.o
   CC       util/lzma.o
util/libunwind/arm64.c:20:40: error: redundant redeclaration of 
‘libunwind__arm64_reg_id’ [-Werror=redundant-decls]
  #define LIBUNWIND__ARCH_REG_ID(regnum) libunwind__arm64_reg_id(regnum)
                                         ^
/home/ferar/renegade_rk3328/linux-5.4.0-rc1/tools/perf/util/unwind.h:49:5: 
note: in expansion of macro ‘LIBUNWIND__ARCH_REG_ID’
  int LIBUNWIND__ARCH_REG_ID(int regnum);
      ^~~~~~~~~~~~~~~~~~~~~~
util/libunwind/arm64.c:20:40: note: previous definition of 
‘libunwind__arm64_reg_id’ was here
  #define LIBUNWIND__ARCH_REG_ID(regnum) libunwind__arm64_reg_id(regnum)
                                         ^
util/libunwind/../../arch/arm64/util/unwind-libunwind.c:11:5: note: in 
expansion of macro ‘LIBUNWIND__ARCH_REG_ID’
  int LIBUNWIND__ARCH_REG_ID(int regnum)
      ^~~~~~~~~~~~~~~~~~~~~~
   CC       util/cap.o
   CC       util/demangle-java.o
   CC       util/demangle-rust.o
....

----------------------------------------------------------------------


[-- Attachment #2: 0001-Fix-Arm64-libunwind-trivial-compile-error.patch --]
[-- Type: text/x-patch, Size: 1141 bytes --]

From 0c6bf617d5696dda28ecac776c09b3f5b3921526 Mon Sep 17 00:00:00 2001
From: ferar achkar <ferarachkar@gmail.com>
Date: Tue, 17 Mar 2020 18:15:37 -0400
Subject: [PATCH] Fix Arm64 libunwind trivial compile error
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

fix trivial compile error 'no previous prototype for
‘libunwind__arm64_reg_id’' [-Werror=missing-prototypes], this error
related to including userspace bundled 'unwind.h' instead of using
perf's local version.
---
 tools/perf/util/libunwind/arm64.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/util/libunwind/arm64.c b/tools/perf/util/libunwind/arm64.c
index 6b4e5a089..fd26e612d 100644
--- a/tools/perf/util/libunwind/arm64.c
+++ b/tools/perf/util/libunwind/arm64.c
@@ -21,7 +21,7 @@
 #define LIBUNWIND__ARCH_REG_IP PERF_REG_ARM64_PC
 #define LIBUNWIND__ARCH_REG_SP PERF_REG_ARM64_SP
 
-#include "unwind.h"
+#include "../../util/unwind.h"
 #include "libunwind-aarch64.h"
 #include <../../../../arch/arm64/include/uapi/asm/perf_regs.h>
 #include "../../arch/arm64/util/unwind-libunwind.c"
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: perf: arm64: libunwind patch
  2020-03-17 22:29 perf: arm64: libunwind patch ferar achkar
@ 2020-03-18  3:19 ` Leo Yan
  2020-03-18 23:47   ` ferar achkar
  0 siblings, 1 reply; 3+ messages in thread
From: Leo Yan @ 2020-03-18  3:19 UTC (permalink / raw)
  To: ferar achkar; +Cc: peterz, mingo, acme, linux-kernel

Hi,

On Tue, Mar 17, 2020 at 06:29:05PM -0400, ferar achkar wrote:
> hi,
> please find attached a compile error fix.
> regards,

I checked this with the kernel 5.6.0-rc4, but cannot reproduce this
issue on my Arm64 board (DB410c) with Debian Buster.

Below is the GCC version I am using on the Arm64 board:

# gcc --version
gcc (Debian 8.3.0-6) 8.3.0

Thanks,
Leo

> ferar
> 
> ------------------
> 
> ferar@barbarian:~/renegade_rk3328/perf_core$ make -j4 ARCH=arm64 ....
> 
> ....
> 
> Warning: Kernel ABI header at 'tools/arch/arm64/include/uapi/asm/kvm.h'
> differs from latest version at 'arch/arm64/include/uapi/asm/kvm.h'
> diff -u tools/arch/arm64/include/uapi/asm/kvm.h
> arch/arm64/include/uapi/asm/kvm.h
> Warning: Kernel ABI header at 'tools/include/uapi/asm-generic/mman-common.h'
> differs from latest version at 'include/uapi/asm-generic/mman-common.h'
> diff -u tools/include/uapi/asm-generic/mman-common.h
> include/uapi/asm-generic/mman-common.h
> 
> Auto-detecting system features:
> ...                         dwarf: [ on  ]
> ...            dwarf_getlocations: [ on  ]
> ...                         glibc: [ on  ]
> ...                          gtk2: [ OFF ]
> ...                      libaudit: [ on  ]
> ...                        libbfd: [ on  ]
> ...                        libcap: [ on  ]
> ...                        libelf: [ on  ]
> ...                       libnuma: [ OFF ]
> ...        numa_num_possible_cpus: [ OFF ]
> ...                       libperl: [ OFF ]
> ...                     libpython: [ OFF ]
> ...                     libcrypto: [ on  ]
> ...                     libunwind: [ on  ]
> ...            libdw-dwarf-unwind: [ on  ]
> ...                          zlib: [ on  ]
> ...                          lzma: [ on  ]
> ...                     get_cpuid: [ OFF ]
> ...                           bpf: [ on  ]
> ...                        libaio: [ on  ]
> ...                       libzstd: [ OFF ]
> ...        disassembler-four-args: [ on  ]
> 
> Makefile.config:497: No sys/sdt.h found, no SDT events are defined, please
> install systemtap-sdt-devel or systemtap-sdt-dev
> 
> ....
> 
>   CC       util/dwarf-regs.o
>   CC       util/unwind-libunwind-local.o
>   CC       util/unwind-libunwind.o
>   CC       util/libunwind/arm64.o
> util/libunwind/arm64.c:20:40: error: no previous prototype for
> ‘libunwind__arm64_reg_id’ [-Werror=missing-prototypes]
>  #define LIBUNWIND__ARCH_REG_ID(regnum) libunwind__arm64_reg_id(regnum)
>                                         ^
> util/libunwind/../../arch/arm64/util/unwind-libunwind.c:11:5: note: in
> expansion of macro ‘LIBUNWIND__ARCH_REG_ID’
>  int LIBUNWIND__ARCH_REG_ID(int regnum)
>      ^~~~~~~~~~~~~~~~~~~~~~
>   CC       util/zlib.o
>   CC       util/lzma.o
> util/libunwind/arm64.c:20:40: error: redundant redeclaration of
> ‘libunwind__arm64_reg_id’ [-Werror=redundant-decls]
>  #define LIBUNWIND__ARCH_REG_ID(regnum) libunwind__arm64_reg_id(regnum)
>                                         ^
> /home/ferar/renegade_rk3328/linux-5.4.0-rc1/tools/perf/util/unwind.h:49:5:
> note: in expansion of macro ‘LIBUNWIND__ARCH_REG_ID’
>  int LIBUNWIND__ARCH_REG_ID(int regnum);
>      ^~~~~~~~~~~~~~~~~~~~~~
> util/libunwind/arm64.c:20:40: note: previous definition of
> ‘libunwind__arm64_reg_id’ was here
>  #define LIBUNWIND__ARCH_REG_ID(regnum) libunwind__arm64_reg_id(regnum)
>                                         ^
> util/libunwind/../../arch/arm64/util/unwind-libunwind.c:11:5: note: in
> expansion of macro ‘LIBUNWIND__ARCH_REG_ID’
>  int LIBUNWIND__ARCH_REG_ID(int regnum)
>      ^~~~~~~~~~~~~~~~~~~~~~
>   CC       util/cap.o
>   CC       util/demangle-java.o
>   CC       util/demangle-rust.o
> ....
> 
> ----------------------------------------------------------------------
> 

> From 0c6bf617d5696dda28ecac776c09b3f5b3921526 Mon Sep 17 00:00:00 2001
> From: ferar achkar <ferarachkar@gmail.com>
> Date: Tue, 17 Mar 2020 18:15:37 -0400
> Subject: [PATCH] Fix Arm64 libunwind trivial compile error
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
> 
> fix trivial compile error 'no previous prototype for
> ‘libunwind__arm64_reg_id’' [-Werror=missing-prototypes], this error
> related to including userspace bundled 'unwind.h' instead of using
> perf's local version.
> ---
>  tools/perf/util/libunwind/arm64.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/perf/util/libunwind/arm64.c b/tools/perf/util/libunwind/arm64.c
> index 6b4e5a089..fd26e612d 100644
> --- a/tools/perf/util/libunwind/arm64.c
> +++ b/tools/perf/util/libunwind/arm64.c
> @@ -21,7 +21,7 @@
>  #define LIBUNWIND__ARCH_REG_IP PERF_REG_ARM64_PC
>  #define LIBUNWIND__ARCH_REG_SP PERF_REG_ARM64_SP
>  
> -#include "unwind.h"
> +#include "../../util/unwind.h"
>  #include "libunwind-aarch64.h"
>  #include <../../../../arch/arm64/include/uapi/asm/perf_regs.h>
>  #include "../../arch/arm64/util/unwind-libunwind.c"
> -- 
> 2.17.1
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: perf: arm64: libunwind patch
  2020-03-18  3:19 ` Leo Yan
@ 2020-03-18 23:47   ` ferar achkar
  0 siblings, 0 replies; 3+ messages in thread
From: ferar achkar @ 2020-03-18 23:47 UTC (permalink / raw)
  To: Leo Yan; +Cc: peterz, mingo, acme, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 6436 bytes --]

Hi Leo,

you are doing a native build, while the compile error I am having shows 
when cross compiling on x86_64 Linux Host:

ferar@barbarian:~/renegade_rk3328/perf_core$ make -j4 ARCH=arm64 
CROSS_COMPILE=/home/ferar/vim3/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- 
-C tools/perf

ferar@barbarian:~/renegade_rk3328/perf_core$ head Makefile
# SPDX-License-Identifier: GPL-2.0
VERSION = 5
PATCHLEVEL = 6
SUBLEVEL = 0
EXTRAVERSION = -rc6
NAME = Kleptomaniac Octopus

...

ferar@barbarian:~/renegade_rk3328/perf_core$

regard,

ferar

On 2020-03-17 11:19 p.m., Leo Yan wrote:
> Hi,
>
> On Tue, Mar 17, 2020 at 06:29:05PM -0400, ferar achkar wrote:
>> hi,
>> please find attached a compile error fix.
>> regards,
> I checked this with the kernel 5.6.0-rc4, but cannot reproduce this
> issue on my Arm64 board (DB410c) with Debian Buster.
>
> Below is the GCC version I am using on the Arm64 board:
>
> # gcc --version
> gcc (Debian 8.3.0-6) 8.3.0
>
> Thanks,
> Leo
>
>> ferar
>>
>> ------------------
>>
>> ferar@barbarian:~/renegade_rk3328/perf_core$ make -j4 ARCH=arm64 ....
>>
>> ....
>>
>> Warning: Kernel ABI header at 'tools/arch/arm64/include/uapi/asm/kvm.h'
>> differs from latest version at 'arch/arm64/include/uapi/asm/kvm.h'
>> diff -u tools/arch/arm64/include/uapi/asm/kvm.h
>> arch/arm64/include/uapi/asm/kvm.h
>> Warning: Kernel ABI header at 'tools/include/uapi/asm-generic/mman-common.h'
>> differs from latest version at 'include/uapi/asm-generic/mman-common.h'
>> diff -u tools/include/uapi/asm-generic/mman-common.h
>> include/uapi/asm-generic/mman-common.h
>>
>> Auto-detecting system features:
>> ...                         dwarf: [ on  ]
>> ...            dwarf_getlocations: [ on  ]
>> ...                         glibc: [ on  ]
>> ...                          gtk2: [ OFF ]
>> ...                      libaudit: [ on  ]
>> ...                        libbfd: [ on  ]
>> ...                        libcap: [ on  ]
>> ...                        libelf: [ on  ]
>> ...                       libnuma: [ OFF ]
>> ...        numa_num_possible_cpus: [ OFF ]
>> ...                       libperl: [ OFF ]
>> ...                     libpython: [ OFF ]
>> ...                     libcrypto: [ on  ]
>> ...                     libunwind: [ on  ]
>> ...            libdw-dwarf-unwind: [ on  ]
>> ...                          zlib: [ on  ]
>> ...                          lzma: [ on  ]
>> ...                     get_cpuid: [ OFF ]
>> ...                           bpf: [ on  ]
>> ...                        libaio: [ on  ]
>> ...                       libzstd: [ OFF ]
>> ...        disassembler-four-args: [ on  ]
>>
>> Makefile.config:497: No sys/sdt.h found, no SDT events are defined, please
>> install systemtap-sdt-devel or systemtap-sdt-dev
>>
>> ....
>>
>>    CC       util/dwarf-regs.o
>>    CC       util/unwind-libunwind-local.o
>>    CC       util/unwind-libunwind.o
>>    CC       util/libunwind/arm64.o
>> util/libunwind/arm64.c:20:40: error: no previous prototype for
>> ‘libunwind__arm64_reg_id’ [-Werror=missing-prototypes]
>>   #define LIBUNWIND__ARCH_REG_ID(regnum) libunwind__arm64_reg_id(regnum)
>>                                          ^
>> util/libunwind/../../arch/arm64/util/unwind-libunwind.c:11:5: note: in
>> expansion of macro ‘LIBUNWIND__ARCH_REG_ID’
>>   int LIBUNWIND__ARCH_REG_ID(int regnum)
>>       ^~~~~~~~~~~~~~~~~~~~~~
>>    CC       util/zlib.o
>>    CC       util/lzma.o
>> util/libunwind/arm64.c:20:40: error: redundant redeclaration of
>> ‘libunwind__arm64_reg_id’ [-Werror=redundant-decls]
>>   #define LIBUNWIND__ARCH_REG_ID(regnum) libunwind__arm64_reg_id(regnum)
>>                                          ^
>> /home/ferar/renegade_rk3328/linux-5.4.0-rc1/tools/perf/util/unwind.h:49:5:
>> note: in expansion of macro ‘LIBUNWIND__ARCH_REG_ID’
>>   int LIBUNWIND__ARCH_REG_ID(int regnum);
>>       ^~~~~~~~~~~~~~~~~~~~~~
>> util/libunwind/arm64.c:20:40: note: previous definition of
>> ‘libunwind__arm64_reg_id’ was here
>>   #define LIBUNWIND__ARCH_REG_ID(regnum) libunwind__arm64_reg_id(regnum)
>>                                          ^
>> util/libunwind/../../arch/arm64/util/unwind-libunwind.c:11:5: note: in
>> expansion of macro ‘LIBUNWIND__ARCH_REG_ID’
>>   int LIBUNWIND__ARCH_REG_ID(int regnum)
>>       ^~~~~~~~~~~~~~~~~~~~~~
>>    CC       util/cap.o
>>    CC       util/demangle-java.o
>>    CC       util/demangle-rust.o
>> ....
>>
>> ----------------------------------------------------------------------
>>
>>  From 0c6bf617d5696dda28ecac776c09b3f5b3921526 Mon Sep 17 00:00:00 2001
>> From: ferar achkar <ferarachkar@gmail.com>
>> Date: Tue, 17 Mar 2020 18:15:37 -0400
>> Subject: [PATCH] Fix Arm64 libunwind trivial compile error
>> MIME-Version: 1.0
>> Content-Type: text/plain; charset=UTF-8
>> Content-Transfer-Encoding: 8bit
>>
>> fix trivial compile error 'no previous prototype for
>> ‘libunwind__arm64_reg_id’' [-Werror=missing-prototypes], this error
>> related to including userspace bundled 'unwind.h' instead of using
>> perf's local version.
>> ---
>>   tools/perf/util/libunwind/arm64.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/tools/perf/util/libunwind/arm64.c b/tools/perf/util/libunwind/arm64.c
>> index 6b4e5a089..fd26e612d 100644
>> --- a/tools/perf/util/libunwind/arm64.c
>> +++ b/tools/perf/util/libunwind/arm64.c
>> @@ -21,7 +21,7 @@
>>   #define LIBUNWIND__ARCH_REG_IP PERF_REG_ARM64_PC
>>   #define LIBUNWIND__ARCH_REG_SP PERF_REG_ARM64_SP
>>   
>> -#include "unwind.h"
>> +#include "../../util/unwind.h"
>>   #include "libunwind-aarch64.h"
>>   #include <../../../../arch/arm64/include/uapi/asm/perf_regs.h>
>>   #include "../../arch/arm64/util/unwind-libunwind.c"
>> -- 
>> 2.17.1
>>

[-- Attachment #2: 0001-Fix-Arm64-libunwind-trivial-compile-error.patch --]
[-- Type: text/x-patch, Size: 1141 bytes --]

From 0c6bf617d5696dda28ecac776c09b3f5b3921526 Mon Sep 17 00:00:00 2001
From: ferar achkar <ferarachkar@gmail.com>
Date: Tue, 17 Mar 2020 18:15:37 -0400
Subject: [PATCH] Fix Arm64 libunwind trivial compile error
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

fix trivial compile error 'no previous prototype for
‘libunwind__arm64_reg_id’' [-Werror=missing-prototypes], this error
related to including userspace bundled 'unwind.h' instead of using
perf's local version.
---
 tools/perf/util/libunwind/arm64.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/util/libunwind/arm64.c b/tools/perf/util/libunwind/arm64.c
index 6b4e5a089..fd26e612d 100644
--- a/tools/perf/util/libunwind/arm64.c
+++ b/tools/perf/util/libunwind/arm64.c
@@ -21,7 +21,7 @@
 #define LIBUNWIND__ARCH_REG_IP PERF_REG_ARM64_PC
 #define LIBUNWIND__ARCH_REG_SP PERF_REG_ARM64_SP
 
-#include "unwind.h"
+#include "../../util/unwind.h"
 #include "libunwind-aarch64.h"
 #include <../../../../arch/arm64/include/uapi/asm/perf_regs.h>
 #include "../../arch/arm64/util/unwind-libunwind.c"
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-03-18 23:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-17 22:29 perf: arm64: libunwind patch ferar achkar
2020-03-18  3:19 ` Leo Yan
2020-03-18 23:47   ` ferar achkar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).