diff mbox series

[RFC] perf tools: Fix cross compile for ARM64

Message ID 1573045254-39833-1-git-send-email-john.garry@huawei.com
State Accepted
Commit 71f699078b154fcb1c9162fd0208ada9ce532ffc
Headers show
Series [RFC] perf tools: Fix cross compile for ARM64 | expand

Commit Message

John Garry Nov. 6, 2019, 1 p.m. UTC
Currently when cross compiling perf tool for ARM64 on my x86 machine I get
this error:
arch/arm64/util/sym-handling.c:9:10: fatal error: gelf.h: No such file or directory
 #include <gelf.h>

For the build, libelf is reported off:
Auto-detecting system features:
...
...                        libelf: [ OFF ]

Indeed, test-libelf is not built successfully:
more ./build/feature/test-libelf.make.output
test-libelf.c:2:10: fatal error: libelf.h: No such file or directory
 #include <libelf.h>
          ^~~~~~~~~~
compilation terminated.

I have no such problems natively compiling on ARM64, and I did not
previously have this issue for cross compiling. Fix by relocating
the gelf.h include.

Signed-off-by: John Garry <john.garry@huawei.com>

---

I marked this as RFC as I am suspicious that I have seen no other
reports, and whether fixing up the libelf.h include issue is the proper
approach.

-- 
2.17.1

Comments

Arnaldo Carvalho de Melo Nov. 6, 2019, 2 p.m. UTC | #1
Em Wed, Nov 06, 2019 at 09:00:54PM +0800, John Garry escreveu:
> Currently when cross compiling perf tool for ARM64 on my x86 machine I get

> this error:

> arch/arm64/util/sym-handling.c:9:10: fatal error: gelf.h: No such file or directory

>  #include <gelf.h>

> 

> For the build, libelf is reported off:

> Auto-detecting system features:

> ...

> ...                        libelf: [ OFF ]


Thanks, applied.

- Arnaldo
 
> Indeed, test-libelf is not built successfully:

> more ./build/feature/test-libelf.make.output

> test-libelf.c:2:10: fatal error: libelf.h: No such file or directory

>  #include <libelf.h>

>           ^~~~~~~~~~

> compilation terminated.

> 

> I have no such problems natively compiling on ARM64, and I did not

> previously have this issue for cross compiling. Fix by relocating

> the gelf.h include.

> 

> Signed-off-by: John Garry <john.garry@huawei.com>

> ---

> 

> I marked this as RFC as I am suspicious that I have seen no other

> reports, and whether fixing up the libelf.h include issue is the proper

> approach.

> 

> diff --git a/tools/perf/arch/arm64/util/sym-handling.c b/tools/perf/arch/arm64/util/sym-handling.c

> index 5df788985130..8dfa3e5229f1 100644

> --- a/tools/perf/arch/arm64/util/sym-handling.c

> +++ b/tools/perf/arch/arm64/util/sym-handling.c

> @@ -6,9 +6,10 @@

>  

>  #include "symbol.h" // for the elf__needs_adjust_symbols() prototype

>  #include <stdbool.h>

> -#include <gelf.h>

>  

>  #ifdef HAVE_LIBELF_SUPPORT

> +#include <gelf.h>

> +

>  bool elf__needs_adjust_symbols(GElf_Ehdr ehdr)

>  {

>  	return ehdr.e_type == ET_EXEC ||

> -- 

> 2.17.1


-- 

- Arnaldo
diff mbox series

Patch

diff --git a/tools/perf/arch/arm64/util/sym-handling.c b/tools/perf/arch/arm64/util/sym-handling.c
index 5df788985130..8dfa3e5229f1 100644
--- a/tools/perf/arch/arm64/util/sym-handling.c
+++ b/tools/perf/arch/arm64/util/sym-handling.c
@@ -6,9 +6,10 @@ 
 
 #include "symbol.h" // for the elf__needs_adjust_symbols() prototype
 #include <stdbool.h>
-#include <gelf.h>
 
 #ifdef HAVE_LIBELF_SUPPORT
+#include <gelf.h>
+
 bool elf__needs_adjust_symbols(GElf_Ehdr ehdr)
 {
 	return ehdr.e_type == ET_EXEC ||