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

From: Frank Li
Date: Mon Oct 02 2023 - 10:54:30 EST


On Sun, Oct 01, 2023 at 07:22:33PM +0800, Baoquan He wrote:
> 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?

Yes, it can fix this problem. I think hi-lo is more make sense.
It is just show register value to help debug issue. It is not big issue
even it is wrong.

Let's fix it later if someone really need lo-hi in future.

Frank

>
> >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
>