diff mbox series

riscv: Add asm-offsets.s to target for on-target module compilation

Message ID 20230811223240.195105-1-alexandru.t.moise@gmail.com
State New
Headers show
Series riscv: Add asm-offsets.s to target for on-target module compilation | expand

Commit Message

alexandru.t.moise@gmail.com Aug. 11, 2023, 10:32 p.m. UTC
From: Alexandru Moise <alexandru.t.moise@gmail.com>

I wanted to build kernel modules on my riscv target,

cd /usr/src/kernel/

make scripts prepare
<...>
  CC      scripts/mod/devicetable-offsets.s
  UPD     scripts/mod/devicetable-offsets.h
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTLD  scripts/mod/modpost
  CC      kernel/bounds.s
/bin/sh: line 1: arch/riscv/kernel/asm-offsets.s: No such file or directory
make[1]: *** [Kbuild:37: include/generated/asm-offsets.h] Error 1
make: *** [Makefile:1219: prepare0] Error 2

The patch just adds the asm-offsets.s file for riscv targets.

With this the prepare target succeeds:

make scripts prepare
<...>
  CC      kernel/bounds.s
  CALL    scripts/checksyscalls.sh
  CALL    scripts/atomic/check-atomics.sh
  LDS     arch/riscv/kernel/vdso/vdso.lds
  AS      arch/riscv/kernel/vdso/rt_sigreturn.o
  CC      arch/riscv/kernel/vdso/vgettimeofday.o
  AS      arch/riscv/kernel/vdso/getcpu.o
  AS      arch/riscv/kernel/vdso/flush_icache.o
  AS      arch/riscv/kernel/vdso/note.o
  VDSOLD  arch/riscv/kernel/vdso/vdso.so.dbg
  VDSOSYM include/generated/vdso-offsets.h
root@visionfive2:/usr/src/kernel

Signed-off-by: Alexandru Moise <alexandru.t.moise@gmail.com>
---
 meta/recipes-kernel/linux/kernel-devsrc.bb | 3 +++
 1 file changed, 3 insertions(+)

Comments

Khem Raj Aug. 12, 2023, 12:22 a.m. UTC | #1
On Fri, Aug 11, 2023 at 3:30 PM <alexandru.t.moise@gmail.com> wrote:
>
> From: Alexandru Moise <alexandru.t.moise@gmail.com>
>
> I wanted to build kernel modules on my riscv target,
>
> cd /usr/src/kernel/
>
> make scripts prepare
> <...>
>   CC      scripts/mod/devicetable-offsets.s
>   UPD     scripts/mod/devicetable-offsets.h
>   HOSTCC  scripts/mod/file2alias.o
>   HOSTCC  scripts/mod/sumversion.o
>   HOSTLD  scripts/mod/modpost
>   CC      kernel/bounds.s
> /bin/sh: line 1: arch/riscv/kernel/asm-offsets.s: No such file or directory
> make[1]: *** [Kbuild:37: include/generated/asm-offsets.h] Error 1
> make: *** [Makefile:1219: prepare0] Error 2
>
> The patch just adds the asm-offsets.s file for riscv targets.
>
> With this the prepare target succeeds:
>
> make scripts prepare
> <...>
>   CC      kernel/bounds.s
>   CALL    scripts/checksyscalls.sh
>   CALL    scripts/atomic/check-atomics.sh
>   LDS     arch/riscv/kernel/vdso/vdso.lds
>   AS      arch/riscv/kernel/vdso/rt_sigreturn.o
>   CC      arch/riscv/kernel/vdso/vgettimeofday.o
>   AS      arch/riscv/kernel/vdso/getcpu.o
>   AS      arch/riscv/kernel/vdso/flush_icache.o
>   AS      arch/riscv/kernel/vdso/note.o
>   VDSOLD  arch/riscv/kernel/vdso/vdso.so.dbg
>   VDSOSYM include/generated/vdso-offsets.h
> root@visionfive2:/usr/src/kernel
>
> Signed-off-by: Alexandru Moise <alexandru.t.moise@gmail.com>
> ---
>  meta/recipes-kernel/linux/kernel-devsrc.bb | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb b/meta/recipes-kernel/linux/kernel-devsrc.bb
> index 6764598d48..ec14ccf6f2 100644
> --- a/meta/recipes-kernel/linux/kernel-devsrc.bb
> +++ b/meta/recipes-kernel/linux/kernel-devsrc.bb
> @@ -115,6 +115,9 @@ do_install() {
>              if [ -e arch/${ARCH}/kernel/vdso/vdso.lds ]; then
>                 cp -a --parents arch/${ARCH}/kernel/vdso/vdso.lds $kerneldir/build/
>              fi
> +            if [ -e arch/${ARCH}/kernel/asm-offsets.s ]; then
> +               cp -a --parents arch/${ARCH}/kernel/asm-offsets.s $kerneldir/build/
> +            fi

LGTM

>         fi
>         if [ "${ARCH}" = "powerpc" ]; then
>             cp -a --parents arch/powerpc/kernel/vdso32/vdso32.lds $kerneldir/build 2>/dev/null || :
> --
> 2.41.0
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#185852): https://lists.openembedded.org/g/openembedded-core/message/185852
> Mute This Topic: https://lists.openembedded.org/mt/100693249/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Alexandre Belloni Aug. 17, 2023, 5:42 p.m. UTC | #2
Hello,

This causes the following warning:

WARNING: kernel-devsrc-1.0-r0 do_package_qa: QA Issue: File /lib/modules/6.4.9-yocto-standard/build/arch/arm64/kernel/asm-offsets.s in package kernel-devsrc contains reference to TMPDIR [buildpaths]

https://autobuilder.yoctoproject.org/typhoon/#/builders/42/builds/7602/steps/13/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/131/builds/2993/steps/13/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/97/builds/6982/steps/16/logs/stdio

On 12/08/2023 00:32:40+0200, alexandru.t.moise@gmail.com wrote:
> From: Alexandru Moise <alexandru.t.moise@gmail.com>
> 
> I wanted to build kernel modules on my riscv target,
> 
> cd /usr/src/kernel/
> 
> make scripts prepare
> <...>
>   CC      scripts/mod/devicetable-offsets.s
>   UPD     scripts/mod/devicetable-offsets.h
>   HOSTCC  scripts/mod/file2alias.o
>   HOSTCC  scripts/mod/sumversion.o
>   HOSTLD  scripts/mod/modpost
>   CC      kernel/bounds.s
> /bin/sh: line 1: arch/riscv/kernel/asm-offsets.s: No such file or directory
> make[1]: *** [Kbuild:37: include/generated/asm-offsets.h] Error 1
> make: *** [Makefile:1219: prepare0] Error 2
> 
> The patch just adds the asm-offsets.s file for riscv targets.
> 
> With this the prepare target succeeds:
> 
> make scripts prepare
> <...>
>   CC      kernel/bounds.s
>   CALL    scripts/checksyscalls.sh
>   CALL    scripts/atomic/check-atomics.sh
>   LDS     arch/riscv/kernel/vdso/vdso.lds
>   AS      arch/riscv/kernel/vdso/rt_sigreturn.o
>   CC      arch/riscv/kernel/vdso/vgettimeofday.o
>   AS      arch/riscv/kernel/vdso/getcpu.o
>   AS      arch/riscv/kernel/vdso/flush_icache.o
>   AS      arch/riscv/kernel/vdso/note.o
>   VDSOLD  arch/riscv/kernel/vdso/vdso.so.dbg
>   VDSOSYM include/generated/vdso-offsets.h
> root@visionfive2:/usr/src/kernel
> 
> Signed-off-by: Alexandru Moise <alexandru.t.moise@gmail.com>
> ---
>  meta/recipes-kernel/linux/kernel-devsrc.bb | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb b/meta/recipes-kernel/linux/kernel-devsrc.bb
> index 6764598d48..ec14ccf6f2 100644
> --- a/meta/recipes-kernel/linux/kernel-devsrc.bb
> +++ b/meta/recipes-kernel/linux/kernel-devsrc.bb
> @@ -115,6 +115,9 @@ do_install() {
>              if [ -e arch/${ARCH}/kernel/vdso/vdso.lds ]; then
>  	        cp -a --parents arch/${ARCH}/kernel/vdso/vdso.lds $kerneldir/build/
>              fi
> +            if [ -e arch/${ARCH}/kernel/asm-offsets.s ]; then
> +	        cp -a --parents arch/${ARCH}/kernel/asm-offsets.s $kerneldir/build/
> +            fi
>  	fi
>  	if [ "${ARCH}" = "powerpc" ]; then
>  	    cp -a --parents arch/powerpc/kernel/vdso32/vdso32.lds $kerneldir/build 2>/dev/null || :
> -- 
> 2.41.0
> 

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#185852): https://lists.openembedded.org/g/openembedded-core/message/185852
> Mute This Topic: https://lists.openembedded.org/mt/100693249/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
diff mbox series

Patch

diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb b/meta/recipes-kernel/linux/kernel-devsrc.bb
index 6764598d48..ec14ccf6f2 100644
--- a/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -115,6 +115,9 @@  do_install() {
             if [ -e arch/${ARCH}/kernel/vdso/vdso.lds ]; then
 	        cp -a --parents arch/${ARCH}/kernel/vdso/vdso.lds $kerneldir/build/
             fi
+            if [ -e arch/${ARCH}/kernel/asm-offsets.s ]; then
+	        cp -a --parents arch/${ARCH}/kernel/asm-offsets.s $kerneldir/build/
+            fi
 	fi
 	if [ "${ARCH}" = "powerpc" ]; then
 	    cp -a --parents arch/powerpc/kernel/vdso32/vdso32.lds $kerneldir/build 2>/dev/null || :