diff mbox

perf tools: fix build breakage on arm and arm64 targets

Message ID 1411750918-25220-1-git-send-email-will.deacon@arm.com
State New
Headers show

Commit Message

Will Deacon Sept. 26, 2014, 5:01 p.m. UTC
Attempting to build the perf tool on arm or arm64 targets results in the
following failure:

arch/arm/util/unwind-libunwind.c: In function ‘libunwind__arch_reg_id’:
arch/arm/util/unwind-libunwind.c:43:3: error: implicit declaration of function ‘pr_err’ [-Werror=implicit-function-declaration]
   pr_err("unwind: invalid reg id %d\n", regnum);
   ^
This is due to commit 84f5d36f4866 ("perf tools: Move pr_* debug macros
into debug object") moving the pr_* macros into a new header file, but
failing to update architectures other than x86.

This patch adds the missing includes, and fixes the build again.

Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Jean Pihet <jean.pihet@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
---
 tools/perf/arch/arm/tests/dwarf-unwind.c      | 1 +
 tools/perf/arch/arm/util/unwind-libunwind.c   | 1 +
 tools/perf/arch/arm64/util/unwind-libunwind.c | 1 +
 3 files changed, 3 insertions(+)

Comments

Sudeep Holla Sept. 26, 2014, 5:19 p.m. UTC | #1
On 26/09/14 18:01, Will Deacon wrote:
> Attempting to build the perf tool on arm or arm64 targets results in the
> following failure:
>
> arch/arm/util/unwind-libunwind.c: In function ‘libunwind__arch_reg_id’:
> arch/arm/util/unwind-libunwind.c:43:3: error: implicit declaration of function ‘pr_err’ [-Werror=implicit-function-declaration]
>     pr_err("unwind: invalid reg id %d\n", regnum);
>     ^
> This is due to commit 84f5d36f4866 ("perf tools: Move pr_* debug macros
> into debug object") moving the pr_* macros into a new header file, but
> failing to update architectures other than x86.
>
> This patch adds the missing includes, and fixes the build again.
>

For ARM64, we also need the patch[1] "perf tools: Fix arm64 build error" 
which is already queued in linux-next.

Regards,
Sudeep

[1] https://lkml.org/lkml/2014/6/24/1024

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
Jean Pihet Sept. 29, 2014, 6:59 a.m. UTC | #2
Hi Will,

On 26 September 2014 19:19, Sudeep Holla <sudeep.holla@arm.com> wrote:
>
> On 26/09/14 18:01, Will Deacon wrote:
>>
>> Attempting to build the perf tool on arm or arm64 targets results in the
>> following failure:
>>
>> arch/arm/util/unwind-libunwind.c: In function ‘libunwind__arch_reg_id’:
>> arch/arm/util/unwind-libunwind.c:43:3: error: implicit declaration of
>> function ‘pr_err’ [-Werror=implicit-function-declaration]
>>     pr_err("unwind: invalid reg id %d\n", regnum);
>>     ^
>> This is due to commit 84f5d36f4866 ("perf tools: Move pr_* debug macros
>> into debug object") moving the pr_* macros into a new header file, but
>> failing to update architectures other than x86.
>>
>> This patch adds the missing includes, and fixes the build again.

The fix for ARM is already in the tip tree at
http://git.kernel.org/cgit/linux/kernel/git/tip/tip.git/commit/?id=29a3ce31c38c8f73f4e076b7ffc0876b4f5dd6c3.

Regards,
Jean

>>
>
> For ARM64, we also need the patch[1] "perf tools: Fix arm64 build error"
> which is already queued in linux-next.
>
> Regards,
> Sudeep
>
> [1] https://lkml.org/lkml/2014/6/24/1024
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
Will Deacon Sept. 29, 2014, 9:22 a.m. UTC | #3
On Mon, Sep 29, 2014 at 07:59:59AM +0100, Jean Pihet wrote:
> Hi Will,
> 
> On 26 September 2014 19:19, Sudeep Holla <sudeep.holla@arm.com> wrote:
> >
> > On 26/09/14 18:01, Will Deacon wrote:
> >>
> >> Attempting to build the perf tool on arm or arm64 targets results in the
> >> following failure:
> >>
> >> arch/arm/util/unwind-libunwind.c: In function ‘libunwind__arch_reg_id’:
> >> arch/arm/util/unwind-libunwind.c:43:3: error: implicit declaration of
> >> function ‘pr_err’ [-Werror=implicit-function-declaration]
> >>     pr_err("unwind: invalid reg id %d\n", regnum);
> >>     ^
> >> This is due to commit 84f5d36f4866 ("perf tools: Move pr_* debug macros
> >> into debug object") moving the pr_* macros into a new header file, but
> >> failing to update architectures other than x86.
> >>
> >> This patch adds the missing includes, and fixes the build again.
> 
> The fix for ARM is already in the tip tree at
> http://git.kernel.org/cgit/linux/kernel/git/tip/tip.git/commit/?id=29a3ce31c38c8f73f4e076b7ffc0876b4f5dd6c3.

Thanks, but that doesn't fix the issue for arm64. I'm also not sure why
these haven't been merged into mainline -- without them, the tool doesn't
even build for arm/arm64 targets.

Will
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
diff mbox

Patch

diff --git a/tools/perf/arch/arm/tests/dwarf-unwind.c b/tools/perf/arch/arm/tests/dwarf-unwind.c
index 9f870d27cb39..62eff847f91c 100644
--- a/tools/perf/arch/arm/tests/dwarf-unwind.c
+++ b/tools/perf/arch/arm/tests/dwarf-unwind.c
@@ -3,6 +3,7 @@ 
 #include "thread.h"
 #include "map.h"
 #include "event.h"
+#include "debug.h"
 #include "tests/tests.h"
 
 #define STACK_SIZE 8192
diff --git a/tools/perf/arch/arm/util/unwind-libunwind.c b/tools/perf/arch/arm/util/unwind-libunwind.c
index 729ed69a6664..62c397ed3d97 100644
--- a/tools/perf/arch/arm/util/unwind-libunwind.c
+++ b/tools/perf/arch/arm/util/unwind-libunwind.c
@@ -3,6 +3,7 @@ 
 #include <libunwind.h>
 #include "perf_regs.h"
 #include "../../util/unwind.h"
+#include "../../util/debug.h"
 
 int libunwind__arch_reg_id(int regnum)
 {
diff --git a/tools/perf/arch/arm64/util/unwind-libunwind.c b/tools/perf/arch/arm64/util/unwind-libunwind.c
index 436ee43859dc..a87afa91a99e 100644
--- a/tools/perf/arch/arm64/util/unwind-libunwind.c
+++ b/tools/perf/arch/arm64/util/unwind-libunwind.c
@@ -3,6 +3,7 @@ 
 #include <libunwind.h>
 #include "perf_regs.h"
 #include "../../util/unwind.h"
+#include "../../util/debug.h"
 
 int libunwind__arch_reg_id(int regnum)
 {