Thread (4 messages) 4 messages, 4 authors, 2025-03-24

Re: [PATCH] tools/perf/arch/powerpc/util: Fix is_compat_mode build break in ppc64

From: Athira Rajeev <hidden>
Date: 2025-03-22 08:06:27
Also in: linux-perf-users

On 21 Mar 2025, at 3:37 PM, Likhitha Korrapati [off-list ref] wrote:

Commit 54f9aa1092457 ("tools/perf/powerpc/util: Add support to
handle compatible mode PVR for perf json events") introduced
to select proper JSON events in case of compat mode using
auxiliary vector. But this caused a compilation error in ppc64
Big Endian.

arch/powerpc/util/header.c: In function 'is_compat_mode':
arch/powerpc/util/header.c:20:21: error: cast to pointer from
integer of different size [-Werror=int-to-pointer-cast]
  20 |         if (!strcmp((char *)platform, (char *)base_platform))
     |                     ^
arch/powerpc/util/header.c:20:39: error: cast to pointer from
integer of different size [-Werror=int-to-pointer-cast]
  20 |         if (!strcmp((char *)platform, (char *)base_platform))
     |

Commit saved the getauxval(AT_BASE_PLATFORM) and getauxval(AT_PLATFORM)
return values in u64 which causes the compilation error.

Patch fixes this issue by changing u64 to "unsigned long".

Fixes: 54f9aa1092457 ("tools/perf/powerpc/util: Add support to handle compatible mode PVR for perf json events")
Signed-off-by: Likhitha Korrapati <redacted>
Hi Likhitha,
Thanks for the fix. 

Reviewed-by: Athira Rajeev <redacted>

Thanks
Athira
quoted hunk ↗ jump to hunk
---
tools/perf/arch/powerpc/util/header.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/perf/arch/powerpc/util/header.c b/tools/perf/arch/powerpc/util/header.c
index c7df534dbf8f..0be74f048f96 100644
--- a/tools/perf/arch/powerpc/util/header.c
+++ b/tools/perf/arch/powerpc/util/header.c
@@ -14,8 +14,8 @@
static bool is_compat_mode(void)
{
- u64 base_platform = getauxval(AT_BASE_PLATFORM);
- u64 platform = getauxval(AT_PLATFORM);
+ unsigned long base_platform = getauxval(AT_BASE_PLATFORM);
+ unsigned long platform = getauxval(AT_PLATFORM);

if (!strcmp((char *)platform, (char *)base_platform))
return false;
-- 
2.43.5
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help