linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* stable-rc-5.10: arm64: allmodconfig: (.hyp.text+0x1a4c): undefined reference to `__kvm_nvhe_memset'
@ 2022-12-01  9:39 Naresh Kamboju
  2022-12-01 10:36 ` Marc Zyngier
  0 siblings, 1 reply; 3+ messages in thread
From: Naresh Kamboju @ 2022-12-01  9:39 UTC (permalink / raw)
  To: linux-stable, open list, lkft-triage
  Cc: Greg Kroah-Hartman, Guenter Roeck, Arnd Bergmann, Linux ARM,
	Will Deacon, Catalin Marinas, Marc Zyngier

[please ignore if it is already reported]

The stable-rc 5.10 arm64 allmodconfig builds failed with gcc-12.
List of build warnings and errors with gcc-12 are listed below.

aarch64-linux-gnu-ld: Unexpected GOT/PLT entries detected!
aarch64-linux-gnu-ld: Unexpected run-time procedure linkages detected!
aarch64-linux-gnu-ld: arch/arm64/kvm/hyp/nvhe/kvm_nvhe.o: in function
`__kvm_nvhe___kvm_tlb_flush_vmid_ipa':
(.hyp.text+0x1a4c): undefined reference to `__kvm_nvhe_memset'

steps to reproduce:
# To install tuxmake on your system globally:
# sudo pip3 install -U tuxmake
#
# See https://docs.tuxmake.org/ for complete documentation.
# Original tuxmake command with fragments listed below.
# tuxmake --runtime podman --target-arch arm64 --toolchain gcc-12
--kconfig allmodconfig CROSS_COMPILE_COMPAT=arm-linux-gnueabihf-

build log:
---------
make --silent --keep-going --jobs=8
O=/home/tuxbuild/.cache/tuxmake/builds/1/build
CROSS_COMPILE_COMPAT=arm-linux-gnueabihf- ARCH=arm64
CROSS_COMPILE=aarch64-linux-gnu- 'CC=sccache aarch64-linux-gnu-gcc'
'HOSTCC=sccache gcc' allmodconfig

make --silent --keep-going --jobs=8
O=/home/tuxbuild/.cache/tuxmake/builds/1/build
CROSS_COMPILE_COMPAT=arm-linux-gnueabihf- ARCH=arm64
CROSS_COMPILE=aarch64-linux-gnu- 'CC=sccache aarch64-linux-gnu-gcc'
'HOSTCC=sccache gcc'
/builds/linux/drivers/acpi/acpica/utdebug.c: In function
'acpi_ut_init_stack_ptr_trace':
/builds/linux/drivers/acpi/acpica/utdebug.c:40:38: warning: storing
the address of local variable 'current_sp' in
'acpi_gbl_entry_stack_pointer' [-Wdangling-pointer=]
   40 |         acpi_gbl_entry_stack_pointer = &current_sp;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/builds/linux/drivers/acpi/acpica/utdebug.c:38:19: note: 'current_sp'
declared here
   38 |         acpi_size current_sp;
      |                   ^~~~~~~~~~
In file included from /builds/linux/include/acpi/acpi.h:31,
                 from /builds/linux/drivers/acpi/acpica/utdebug.c:12:
/builds/linux/drivers/acpi/acpica/acglobal.h:196:26: note:
'acpi_gbl_entry_stack_pointer' declared here
  196 | ACPI_GLOBAL(acpi_size *, acpi_gbl_entry_stack_pointer);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builds/linux/include/acpi/acpixf.h:45:21: note: in definition of
macro 'ACPI_GLOBAL'
   45 |         extern type name
      |                     ^~~~
/builds/linux/fs/xfs/libxfs/xfs_attr_remote.c: In function
'__xfs_attr3_rmt_read_verify':
/builds/linux/fs/xfs/libxfs/xfs_attr_remote.c:140:35: warning: storing
the address of local variable '__here' in '*failaddr'
[-Wdangling-pointer=]
  140 |                         *failaddr = __this_address;
In file included from /builds/linux/fs/xfs/xfs.h:22,
                 from /builds/linux/fs/xfs/libxfs/xfs_attr_remote.c:7:
/builds/linux/fs/xfs/xfs_linux.h:133:46: note: '__here' declared here
  133 | #define __this_address  ({ __label__ __here; __here:
barrier(); &&__here; })
      |                                              ^~~~~~
/builds/linux/fs/xfs/libxfs/xfs_attr_remote.c:140:37: note: in
expansion of macro '__this_address'
  140 |                         *failaddr = __this_address;
      |                                     ^~~~~~~~~~~~~~
/builds/linux/fs/xfs/xfs_linux.h:133:46: note: 'failaddr' declared here
  133 | #define __this_address  ({ __label__ __here; __here:
barrier(); &&__here; })
      |                                              ^~~~~~
/builds/linux/fs/xfs/libxfs/xfs_attr_remote.c:140:37: note: in
expansion of macro '__this_address'
  140 |                         *failaddr = __this_address;
      |                                     ^~~~~~~~~~~~~~
/builds/linux/drivers/acpi/thermal.c: In function 'acpi_thermal_resume':
/builds/linux/drivers/acpi/thermal.c:1123:21: warning: the comparison
will always evaluate as 'true' for the address of 'active' will never
be NULL [-Waddress]
 1123 |                 if (!(&tz->trips.active[i]))
      |                     ^
/builds/linux/drivers/acpi/thermal.c:154:36: note: 'active' declared here
  154 |         struct acpi_thermal_active active[ACPI_THERMAL_MAX_ACTIVE];
      |                                    ^~~~~~
In file included from /builds/linux/include/linux/preempt.h:11,
                 from /builds/linux/include/linux/percpu.h:6,
                 from /builds/linux/include/linux/context_tracking_state.h:5,
                 from /builds/linux/include/linux/hardirq.h:5,
                 from /builds/linux/include/linux/interrupt.h:11,
                 from /builds/linux/drivers/scsi/lpfc/lpfc_bsg.c:23:
In function '__list_add',
    inlined from 'list_add_tail' at /builds/linux/include/linux/list.h:100:2,
    inlined from 'diag_cmd_data_free.isra' at
/builds/linux/drivers/scsi/lpfc/lpfc_bsg.c:891:2:
/builds/linux/include/linux/list.h:70:20: warning: storing the address
of local variable 'head' in '*&mlist_1(D)->dma.list.prev'
[-Wdangling-pointer=]
   70 |         next->prev = new;
      |         ~~~~~~~~~~~^~~~~
/builds/linux/drivers/scsi/lpfc/lpfc_bsg.c: In function
'diag_cmd_data_free.isra':
/builds/linux/drivers/scsi/lpfc/lpfc_bsg.c:883:26: note: 'head' declared here
  883 |         struct list_head head, *curr, *next;
      |                          ^~~~
/builds/linux/drivers/scsi/lpfc/lpfc_bsg.c:883:26: note: 'mlist' declared here
In file included from /builds/linux/include/linux/smp.h:12,
                 from /builds/linux/arch/arm64/include/asm/arch_timer.h:18,
                 from /builds/linux/arch/arm64/include/asm/timex.h:8,
                 from /builds/linux/include/linux/timex.h:67,
                 from /builds/linux/include/linux/time32.h:13,
                 from /builds/linux/include/linux/time.h:73,
                 from /builds/linux/include/linux/skbuff.h:15,
                 from /builds/linux/include/linux/if_ether.h:19,
                 from /builds/linux/include/linux/etherdevice.h:20,
                 from /builds/linux/drivers/net/wireless/ath/ath6kl/core.h:21,
                 from
/builds/linux/drivers/net/wireless/ath/ath6kl/htc_mbox.c:18:
In function '__list_add',
    inlined from 'list_add' at /builds/linux/include/linux/list.h:86:2,
    inlined from 'ath6kl_htc_mbox_tx' at
/builds/linux/drivers/net/wireless/ath/ath6kl/htc_mbox.c:1142:3:
/builds/linux/include/linux/list.h:72:19: warning: storing the address
of local variable 'queue' in '*&packet_15(D)->list.prev'
[-Wdangling-pointer=]
   72 |         new->prev = prev;
      |         ~~~~~~~~~~^~~~~~
/builds/linux/drivers/net/wireless/ath/ath6kl/htc_mbox.c: In function
'ath6kl_htc_mbox_tx':
/builds/linux/drivers/net/wireless/ath/ath6kl/htc_mbox.c:1125:26:
note: 'queue' declared here
 1125 |         struct list_head queue;
      |                          ^~~~~
/builds/linux/drivers/net/wireless/ath/ath6kl/htc_mbox.c:1125:26:
note: 'packet' declared here
In function '__list_add',
    inlined from 'list_add_tail' at /builds/linux/include/linux/list.h:100:2,
    inlined from 'htc_tx_comp_handler' at
/builds/linux/drivers/net/wireless/ath/ath6kl/htc_mbox.c:462:2:
/builds/linux/include/linux/list.h:72:19: warning: storing the address
of local variable 'container' in '*&packet_5(D)->list.prev'
[-Wdangling-pointer=]
   72 |         new->prev = prev;
      |         ~~~~~~~~~~^~~~~~
/builds/linux/drivers/net/wireless/ath/ath6kl/htc_mbox.c: In function
'htc_tx_comp_handler':
/builds/linux/drivers/net/wireless/ath/ath6kl/htc_mbox.c:455:26: note:
'container' declared here
  455 |         struct list_head container;
      |                          ^~~~~~~~~
/builds/linux/drivers/net/wireless/ath/ath6kl/htc_mbox.c:455:26: note:
'packet' declared here
/builds/linux/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c: In
function 'rtl92d_phy_reload_iqk_setting':
/builds/linux/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c:2389:39:
warning: the comparison will always evaluate as 'true' for the address
of 'value' will never be NULL [-Waddress]
 2389 |                              value[0] != NULL)
      |                                       ^~
In file included from
/builds/linux/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c:4:
/builds/linux/drivers/net/wireless/realtek/rtlwifi/rtl8192de/../wifi.h:1293:14:
note: 'value' declared here
 1293 |         long value[1][IQK_MATRIX_REG_NUM];
      |              ^~~~~
/builds/linux/drivers/net/ethernet/sun/cassini.c: In function 'cas_init_rx_dma':
/builds/linux/drivers/net/ethernet/sun/cassini.c:1328:29: warning:
comparison between two arrays [-Warray-compare]
 1328 |         if (CAS_HP_FIRMWARE == cas_prog_null)
      |                             ^~
/builds/linux/drivers/net/ethernet/sun/cassini.c:1328:29: note: use
'&cas_prog_workaroundtab[0] == &cas_prog_null[0]' to compare the
addresses
/builds/linux/drivers/net/ethernet/sun/cassini.c: In function 'cas_reset':
/builds/linux/drivers/net/ethernet/sun/cassini.c:3796:34: warning:
comparison between two arrays [-Warray-compare]
 3796 |             (CAS_HP_ALT_FIRMWARE == cas_prog_null)) {
      |                                  ^~
/builds/linux/drivers/net/ethernet/sun/cassini.c:3796:34: note: use
'&cas_prog_null[0] == &cas_prog_null[0]' to compare the addresses
aarch64-linux-gnu-ld: Unexpected GOT/PLT entries detected!
aarch64-linux-gnu-ld: Unexpected run-time procedure linkages detected!
aarch64-linux-gnu-ld: arch/arm64/kvm/hyp/nvhe/kvm_nvhe.o: in function
`__kvm_nvhe___kvm_tlb_flush_vmid_ipa':
(.hyp.text+0x1a4c): undefined reference to `__kvm_nvhe_memset'
aarch64-linux-gnu-ld: arch/arm64/kvm/hyp/nvhe/kvm_nvhe.o: in function
`__kvm_nvhe___kvm_tlb_flush_vmid':
(.hyp.text+0x1b20): undefined reference to `__kvm_nvhe_memset'
aarch64-linux-gnu-ld: arch/arm64/kvm/hyp/nvhe/kvm_nvhe.o: in function
`__kvm_nvhe___kvm_flush_cpu_context':
(.hyp.text+0x1b80): undefined reference to `__kvm_nvhe_memset'
make[1]: *** [/builds/linux/Makefile:1194: vmlinux] Error 1

Build link,
  - https://builds.tuxbuild.com/2IHivEkKmuryHjt6Xv8xUn9RLy5/

Build comparison link,
  - https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-5.10.y-sanity/build/v5.10.155-312-g97b8f00e4c81/testrun/13335963/suite/build/test/gcc-12-allmodconfig/history/


--
Linaro LKFT
https://lkft.linaro.org

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: stable-rc-5.10: arm64: allmodconfig: (.hyp.text+0x1a4c): undefined reference to `__kvm_nvhe_memset'
  2022-12-01  9:39 stable-rc-5.10: arm64: allmodconfig: (.hyp.text+0x1a4c): undefined reference to `__kvm_nvhe_memset' Naresh Kamboju
@ 2022-12-01 10:36 ` Marc Zyngier
  2022-12-02  8:39   ` Anders Roxell
  0 siblings, 1 reply; 3+ messages in thread
From: Marc Zyngier @ 2022-12-01 10:36 UTC (permalink / raw)
  To: Naresh Kamboju
  Cc: linux-stable, open list, lkft-triage, Greg Kroah-Hartman,
	Guenter Roeck, Arnd Bergmann, Linux ARM, Will Deacon,
	Catalin Marinas

On Thu, 01 Dec 2022 09:39:57 +0000,
Naresh Kamboju <naresh.kamboju@linaro.org> wrote:
> 
> [please ignore if it is already reported]
> 
> The stable-rc 5.10 arm64 allmodconfig builds failed with gcc-12.
> List of build warnings and errors with gcc-12 are listed below.
> 
> aarch64-linux-gnu-ld: Unexpected GOT/PLT entries detected!
> aarch64-linux-gnu-ld: Unexpected run-time procedure linkages detected!
> aarch64-linux-gnu-ld: arch/arm64/kvm/hyp/nvhe/kvm_nvhe.o: in function
> `__kvm_nvhe___kvm_tlb_flush_vmid_ipa':
> (.hyp.text+0x1a4c): undefined reference to `__kvm_nvhe_memset'

Stupid gcc. Can you try the following patch and check if this works
for you?

Thanks,

	M.

From 4e775885654bd667a519df5ca5aaf702ce438f5e Mon Sep 17 00:00:00 2001
From: Will Deacon <will@kernel.org>
Date: Fri, 19 Mar 2021 10:01:10 +0000
Subject: [PATCH] KVM: arm64: Link position-independent string routines into
 .hyp.text

Commit 7b4a7b5e6fefd15f708f959dd43e188444e252ec upstream.

Pull clear_page(), copy_page(), memcpy() and memset() into the nVHE hyp
code and ensure that we always execute the '__pi_' entry point on the
offchance that it changes in future.

[ qperret: Commit title nits and added linker script alias ]

Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Quentin Perret <qperret@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210319100146.1149909-3-qperret@google.com
---
 arch/arm64/include/asm/hyp_image.h |  3 +++
 arch/arm64/kernel/image-vars.h     | 11 +++++++++++
 arch/arm64/kvm/hyp/nvhe/Makefile   |  4 ++++
 3 files changed, 18 insertions(+)

diff --git a/arch/arm64/include/asm/hyp_image.h b/arch/arm64/include/asm/hyp_image.h
index daa1a1da539e..e06842756051 100644
--- a/arch/arm64/include/asm/hyp_image.h
+++ b/arch/arm64/include/asm/hyp_image.h
@@ -31,6 +31,9 @@
  */
 #define KVM_NVHE_ALIAS(sym)	kvm_nvhe_sym(sym) = sym;
 
+/* Defines a linker script alias for KVM nVHE hyp symbols */
+#define KVM_NVHE_ALIAS_HYP(first, sec)	kvm_nvhe_sym(first) = kvm_nvhe_sym(sec);
+
 #endif /* LINKER_SCRIPT */
 
 #endif /* __ARM64_HYP_IMAGE_H__ */
diff --git a/arch/arm64/kernel/image-vars.h b/arch/arm64/kernel/image-vars.h
index c615b285ff5b..48e43b29a2d5 100644
--- a/arch/arm64/kernel/image-vars.h
+++ b/arch/arm64/kernel/image-vars.h
@@ -103,6 +103,17 @@ KVM_NVHE_ALIAS(gic_nonsecure_priorities);
 KVM_NVHE_ALIAS(__start___kvm_ex_table);
 KVM_NVHE_ALIAS(__stop___kvm_ex_table);
 
+/* Position-independent library routines */
+KVM_NVHE_ALIAS_HYP(clear_page, __pi_clear_page);
+KVM_NVHE_ALIAS_HYP(copy_page, __pi_copy_page);
+KVM_NVHE_ALIAS_HYP(memcpy, __pi_memcpy);
+KVM_NVHE_ALIAS_HYP(memset, __pi_memset);
+
+#ifdef CONFIG_KASAN
+KVM_NVHE_ALIAS_HYP(__memcpy, __pi_memcpy);
+KVM_NVHE_ALIAS_HYP(__memset, __pi_memset);
+#endif
+
 #endif /* CONFIG_KVM */
 
 #endif /* __ARM64_KERNEL_IMAGE_VARS_H */
diff --git a/arch/arm64/kvm/hyp/nvhe/Makefile b/arch/arm64/kvm/hyp/nvhe/Makefile
index ddde15fe85f2..230bba1a6716 100644
--- a/arch/arm64/kvm/hyp/nvhe/Makefile
+++ b/arch/arm64/kvm/hyp/nvhe/Makefile
@@ -6,9 +6,13 @@
 asflags-y := -D__KVM_NVHE_HYPERVISOR__
 ccflags-y := -D__KVM_NVHE_HYPERVISOR__
 
+lib-objs := clear_page.o copy_page.o memcpy.o memset.o
+lib-objs := $(addprefix ../../../lib/, $(lib-objs))
+
 obj-y := timer-sr.o sysreg-sr.o debug-sr.o switch.o tlb.o hyp-init.o host.o hyp-main.o
 obj-y += ../vgic-v3-sr.o ../aarch32.o ../vgic-v2-cpuif-proxy.o ../entry.o \
 	 ../fpsimd.o ../hyp-entry.o
+obj-y += $(lib-objs)
 
 ##
 ## Build rules for compiling nVHE hyp code
-- 
2.34.1


-- 
Without deviation from the norm, progress is not possible.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: stable-rc-5.10: arm64: allmodconfig: (.hyp.text+0x1a4c): undefined reference to `__kvm_nvhe_memset'
  2022-12-01 10:36 ` Marc Zyngier
@ 2022-12-02  8:39   ` Anders Roxell
  0 siblings, 0 replies; 3+ messages in thread
From: Anders Roxell @ 2022-12-02  8:39 UTC (permalink / raw)
  To: Marc Zyngier
  Cc: Naresh Kamboju, linux-stable, open list, lkft-triage,
	Greg Kroah-Hartman, Guenter Roeck, Arnd Bergmann, Linux ARM,
	Will Deacon, Catalin Marinas

On Thu, 1 Dec 2022 at 11:36, Marc Zyngier <maz@kernel.org> wrote:
>
> On Thu, 01 Dec 2022 09:39:57 +0000,
> Naresh Kamboju <naresh.kamboju@linaro.org> wrote:
> >
> > [please ignore if it is already reported]
> >
> > The stable-rc 5.10 arm64 allmodconfig builds failed with gcc-12.
> > List of build warnings and errors with gcc-12 are listed below.
> >
> > aarch64-linux-gnu-ld: Unexpected GOT/PLT entries detected!
> > aarch64-linux-gnu-ld: Unexpected run-time procedure linkages detected!
> > aarch64-linux-gnu-ld: arch/arm64/kvm/hyp/nvhe/kvm_nvhe.o: in function
> > `__kvm_nvhe___kvm_tlb_flush_vmid_ipa':
> > (.hyp.text+0x1a4c): undefined reference to `__kvm_nvhe_memset'
>
> Stupid gcc. Can you try the following patch and check if this works
> for you?

The patch didn't apply smodly, was a few minor issues.
But it solved the build error.

Cheers,
Anders

>
> Thanks,
>
>         M.
>
> From 4e775885654bd667a519df5ca5aaf702ce438f5e Mon Sep 17 00:00:00 2001
> From: Will Deacon <will@kernel.org>
> Date: Fri, 19 Mar 2021 10:01:10 +0000
> Subject: [PATCH] KVM: arm64: Link position-independent string routines into
>  .hyp.text
>
> Commit 7b4a7b5e6fefd15f708f959dd43e188444e252ec upstream.
>
> Pull clear_page(), copy_page(), memcpy() and memset() into the nVHE hyp
> code and ensure that we always execute the '__pi_' entry point on the
> offchance that it changes in future.
>
> [ qperret: Commit title nits and added linker script alias ]
>
> Signed-off-by: Will Deacon <will@kernel.org>
> Signed-off-by: Quentin Perret <qperret@google.com>
> Signed-off-by: Marc Zyngier <maz@kernel.org>
> Link: https://lore.kernel.org/r/20210319100146.1149909-3-qperret@google.com
> ---
>  arch/arm64/include/asm/hyp_image.h |  3 +++
>  arch/arm64/kernel/image-vars.h     | 11 +++++++++++
>  arch/arm64/kvm/hyp/nvhe/Makefile   |  4 ++++
>  3 files changed, 18 insertions(+)
>
> diff --git a/arch/arm64/include/asm/hyp_image.h b/arch/arm64/include/asm/hyp_image.h
> index daa1a1da539e..e06842756051 100644
> --- a/arch/arm64/include/asm/hyp_image.h
> +++ b/arch/arm64/include/asm/hyp_image.h
> @@ -31,6 +31,9 @@
>   */
>  #define KVM_NVHE_ALIAS(sym)    kvm_nvhe_sym(sym) = sym;
>
> +/* Defines a linker script alias for KVM nVHE hyp symbols */
> +#define KVM_NVHE_ALIAS_HYP(first, sec) kvm_nvhe_sym(first) = kvm_nvhe_sym(sec);
> +
>  #endif /* LINKER_SCRIPT */
>
>  #endif /* __ARM64_HYP_IMAGE_H__ */
> diff --git a/arch/arm64/kernel/image-vars.h b/arch/arm64/kernel/image-vars.h
> index c615b285ff5b..48e43b29a2d5 100644
> --- a/arch/arm64/kernel/image-vars.h
> +++ b/arch/arm64/kernel/image-vars.h
> @@ -103,6 +103,17 @@ KVM_NVHE_ALIAS(gic_nonsecure_priorities);
>  KVM_NVHE_ALIAS(__start___kvm_ex_table);
>  KVM_NVHE_ALIAS(__stop___kvm_ex_table);
>
> +/* Position-independent library routines */
> +KVM_NVHE_ALIAS_HYP(clear_page, __pi_clear_page);
> +KVM_NVHE_ALIAS_HYP(copy_page, __pi_copy_page);
> +KVM_NVHE_ALIAS_HYP(memcpy, __pi_memcpy);
> +KVM_NVHE_ALIAS_HYP(memset, __pi_memset);
> +
> +#ifdef CONFIG_KASAN
> +KVM_NVHE_ALIAS_HYP(__memcpy, __pi_memcpy);
> +KVM_NVHE_ALIAS_HYP(__memset, __pi_memset);
> +#endif
> +
>  #endif /* CONFIG_KVM */
>
>  #endif /* __ARM64_KERNEL_IMAGE_VARS_H */
> diff --git a/arch/arm64/kvm/hyp/nvhe/Makefile b/arch/arm64/kvm/hyp/nvhe/Makefile
> index ddde15fe85f2..230bba1a6716 100644
> --- a/arch/arm64/kvm/hyp/nvhe/Makefile
> +++ b/arch/arm64/kvm/hyp/nvhe/Makefile
> @@ -6,9 +6,13 @@
>  asflags-y := -D__KVM_NVHE_HYPERVISOR__
>  ccflags-y := -D__KVM_NVHE_HYPERVISOR__
>
> +lib-objs := clear_page.o copy_page.o memcpy.o memset.o
> +lib-objs := $(addprefix ../../../lib/, $(lib-objs))
> +
>  obj-y := timer-sr.o sysreg-sr.o debug-sr.o switch.o tlb.o hyp-init.o host.o hyp-main.o
>  obj-y += ../vgic-v3-sr.o ../aarch32.o ../vgic-v2-cpuif-proxy.o ../entry.o \
>          ../fpsimd.o ../hyp-entry.o
> +obj-y += $(lib-objs)
>
>  ##
>  ## Build rules for compiling nVHE hyp code
> --
> 2.34.1
>
>
> --
> Without deviation from the norm, progress is not possible.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-12-02  8:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-01  9:39 stable-rc-5.10: arm64: allmodconfig: (.hyp.text+0x1a4c): undefined reference to `__kvm_nvhe_memset' Naresh Kamboju
2022-12-01 10:36 ` Marc Zyngier
2022-12-02  8:39   ` Anders Roxell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).