[PATCH 1/1] sandbox: add symbol _init for RISC-V compilation
    Heinrich Schuchardt 
    xypron.glpk at gmx.de
       
    Thu May 13 16:45:40 CEST 2021
    
    
  
The sandbox does not build on RISC-V when _init is not defined. Errors like
the following were observed. Which function was referred to depended on the
configuration.
    /usr/bin/ld: common/built-in.o: in function `parse_stream_outer':
    /common/cli_hush.c:3175: undefined reference to `_init'
    collect2: error: ld returned 1 exit status
    make: *** [Makefile:1726: u-boot] Error 1
    /usr/bin/ld: common/built-in.o: in function `bootdelay_process':
    common/autoboot.c:335: undefined reference to `_init'
    collect2: error: ld returned 1 exit status
    make: *** [Makefile:1726: u-boot] Error 1
Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
---
 arch/sandbox/cpu/u-boot.lds | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/arch/sandbox/cpu/u-boot.lds b/arch/sandbox/cpu/u-boot.lds
index a1f509c9ab..d9e7ffcea3 100644
--- a/arch/sandbox/cpu/u-boot.lds
+++ b/arch/sandbox/cpu/u-boot.lds
@@ -9,6 +9,8 @@ SECTIONS
 {
 	. = ALIGN(4);
+	/* RISC-V GCC wants this dummy symbol */
+	_init = .;
 	.u_boot_list : {
 		KEEP(*(SORT(.u_boot_list*)));
 	}
--
2.30.2
    
    
More information about the U-Boot
mailing list