Re: [PATCH 1/1] fs: debugfs: fix build error at powerpc platform

Baoquan He
2023-10-01T11:23:43Z

On 09/29/23 at 12:49pm, Frank Li wrote:
> ld: fs/debugfs/file.o: in function `debugfs_print_regs':
> file.c:(.text+0x95a): undefined reference to `ioread64be'
> >> ld: file.c:(.text+0x9dd): undefined reference to `ioread64'

From your reproducer, on x86_64, GENERIC_IOMAP is selected. So the
default version of ioread64 and ioread64be in asm-generic/io.h are
bypassed. Except of those arch where ioread64 and ioread64be are
implemented specifically like alpha, arm64, parisc, power, we may need
include include/linux/io-64-nonatomic-hi-lo.h or
include/linux/io-64-nonatomic-lo-hi.h to fix above linking issue?

From my side, below change can fix the issue. However, I am not quite
sure which one is chosen between io-64-nonatomic-hi-lo.h and
io-64-nonatomic-hi-lo.h.

diff --git a/fs/debugfs/file.c b/fs/debugfs/file.c
index 87b3753aa4b1..b433be134c67 100644
--- a/fs/debugfs/file.c
+++ b/fs/debugfs/file.c
@@ -15,6 +15,7 @@
#include <linux/pagemap.h>
#include <linux/debugfs.h>
#include <linux/io.h>
+#include <linux/io-64-nonatomic-hi-lo.h>
#include <linux/slab.h>
#include <linux/atomic.h>
#include <linux/device.h>
--
2.41.0