Makefile.inc: Avoid --emit-relocs on RISC-V
There seems to be a bug[1] in the GNU linker for the RISC-V architecture triggered by symbols that are more than 2GB offset from the program counter. My next patch is introducing symbols like that and stuck on this problem. The code path that runs into the issue is only taken when passing the --emit-relocs flag, which is really only needed for building rmodules. Since RISC-V platforms don't use any rmodules at the moment, let's disable the flag on RISC-V until the issue can be fixed in the toolchain. [1]: https://sourceware.org/bugzilla/show_bug.cgi?id=27180 Signed-off-by: Julius Werner <jwerner@chromium.org> Change-Id: I784a506034325c0ba937589416acaafbf80080e2 Reviewed-on: https://review.coreboot.org/c/coreboot/+/49449 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
88615629c0
commit
7d4ef16efe
|
@ -484,7 +484,13 @@ ADAFLAGS_common += -gnatwa.eeD.HHTU.U.W.Y
|
||||||
# Disable style checks for now
|
# Disable style checks for now
|
||||||
ADAFLAGS_common += -gnatyN
|
ADAFLAGS_common += -gnatyN
|
||||||
|
|
||||||
LDFLAGS_common := --gc-sections -nostdlib -nostartfiles -static --emit-relocs
|
LDFLAGS_common := --gc-sections -nostdlib -nostartfiles -static
|
||||||
|
|
||||||
|
# Workaround for RISC-V linker bug, merge back into above line when fixed.
|
||||||
|
# https://sourceware.org/bugzilla/show_bug.cgi?id=27180
|
||||||
|
ifneq ($(CONFIG_ARCH_RISCV),y)
|
||||||
|
LDFLAGS_common += --emit-relocs
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_WARNINGS_ARE_ERRORS),y)
|
ifeq ($(CONFIG_WARNINGS_ARE_ERRORS),y)
|
||||||
CFLAGS_common += -Werror
|
CFLAGS_common += -Werror
|
||||||
|
|
Loading…
Reference in New Issue