Skip to content

Commit b95cfa1

Browse files
anjiahao1xiaoxiang781216
authored andcommitted
risc-v:need add crt0 to LDELFFLAG
riscv64-unknown-elf-ld: warning: cannot find entry symbol __start; defaulting to 0000000000000000 Signed-off-by: anjiahao <anjiahao@xiaomi.com>
1 parent b4c6a92 commit b95cfa1

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

arch/risc-v/src/Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,14 +143,14 @@ $(AOBJS) $(UAOBJS) $(HEAD_OBJ): %$(OBJEXT): %.S
143143
$(COBJS) $(UCOBJS): %$(OBJEXT): %.c
144144
$(call COMPILE, $<, $@)
145145

146-
crt0$(OBJEXT): %$(OBJEXT): %.c
147-
$(call COMPILE, $<, $@)
146+
$(STARTUP_OBJS): %$(OBJEXT): %.c
147+
$(Q) $(CC) $(CELFFLAGS) -c common$(DELIM)crt0.c -o crt0$(OBJEXT)
148148

149149
ifeq ($(CONFIG_BUILD_FLAT),y)
150-
$(BIN): $(OBJS)
150+
$(BIN): $(STARTUP_OBJS) $(OBJS)
151151
$(call ARCHIVE, $@, $(OBJS))
152152
else
153-
$(BIN): $(UOBJS)
153+
$(BIN): $(STARTUP_OBJS) $(UOBJS)
154154
$(call ARCHIVE, $@, $(UOBJS))
155155
endif
156156

arch/risc-v/src/common/Toolchain.defs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -445,7 +445,7 @@ LDMODULEFLAGS = -r -T $(call CONVERT_PATH,$(TOPDIR)/libs/libc/elf/gnu-elf.ld)
445445
CELFFLAGS = $(CFLAGS) -fvisibility=hidden
446446
CXXELFFLAGS = $(CXXFLAGS) -fvisibility=hidden
447447

448-
LDELFFLAGS = -e __start
448+
LDELFFLAGS = -e _start
449449

450450
ifeq ($(CONFIG_BINFMT_ELF_RELOCATABLE),y)
451451
LDELFFLAGS += -r
@@ -457,6 +457,13 @@ else
457457
LDELFFLAGS += --oformat elf64-littleriscv
458458
endif
459459

460+
ifneq ($(CONFIG_BUILD_KERNEL),y)
461+
# Flat build and protected elf entry point use crt0,
462+
# Kernel build will use apps/import/scripts/crt0
463+
464+
LDELFFLAGS += $(TOPDIR)$(DELIM)arch$(DELIM)risc-v$(DELIM)src$(DELIM)crt0.o
465+
endif
466+
460467
LDELFFLAGS += -T $(call CONVERT_PATH,$(TOPDIR)/libs/libc/elf/gnu-elf.ld)
461468

462469
# Zig toolchain

0 commit comments

Comments
 (0)