[gcc r16-1047] RISC-V: Adjust build rule for gen-riscv-ext-opt and gen-riscv-ext-texi
Kito Cheng
kito@gcc.gnu.org
Mon Jun 2 06:47:59 GMT 2025
https://gcc.gnu.org/g:b0dc2324980bbb600ab178dacfe5455365a52645
commit r16-1047-gb0dc2324980bbb600ab178dacfe5455365a52645
Author: Kito Cheng <kito.cheng@sifive.com>
Date: Wed May 28 17:59:11 2025 +0800
RISC-V: Adjust build rule for gen-riscv-ext-opt and gen-riscv-ext-texi
Separate the build rules to compile and link stage to make sure
BUILD_LINKERFLAGS and BUILD_LDFLAGS are applied correctly.
We hit this issue when we try to build GCC with non-system-default g++,
and it use newer libstdc++, and then got error from using older libstdc++ from
system, that should not happened if we link with -static-libgcc and
-static-libstdc++.
gcc/ChangeLog:
* config/riscv/t-riscv: Adjust build rule for gen-riscv-ext-opt
and gen-riscv-ext-texi.
Diff:
---
gcc/config/riscv/t-riscv | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/gcc/config/riscv/t-riscv b/gcc/config/riscv/t-riscv
index 854daa96e73c..32092d856878 100644
--- a/gcc/config/riscv/t-riscv
+++ b/gcc/config/riscv/t-riscv
@@ -198,19 +198,24 @@ RISCV_EXT_DEFS = \
$(srcdir)/config/riscv/riscv-ext.opt: $(RISCV_EXT_DEFS)
-build/gen-riscv-ext-opt$(build_exeext): $(srcdir)/config/riscv/gen-riscv-ext-opt.cc \
+build/gen-riscv-ext-opt.o: $(srcdir)/config/riscv/gen-riscv-ext-opt.cc \
$(RISCV_EXT_DEFS)
- $(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $< -o $@
+ $(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) -c $< -o $@
+
+build/gen-riscv-ext-opt$(build_exeext): build/gen-riscv-ext-opt.o
+ $(LINKER_FOR_BUILD) $(BUILD_LINKERFLAGS) $(BUILD_LDFLAGS) -o $@ $<
s-riscv-ext.opt: build/gen-riscv-ext-opt$(build_exeext)
$(RUN_GEN) build/gen-riscv-ext-opt$(build_exeext) > tmp-riscv-ext.opt
$(SHELL) $(srcdir)/../move-if-change tmp-riscv-ext.opt $(srcdir)/config/riscv/riscv-ext.opt
$(STAMP) s-riscv-ext.opt
-build/gen-riscv-ext-texi$(build_exeext): $(srcdir)/config/riscv/gen-riscv-ext-texi.cc \
+build/gen-riscv-ext-texi.o: $(srcdir)/config/riscv/gen-riscv-ext-texi.cc \
$(RISCV_EXT_DEFS)
- $(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $< -o $@
+ $(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) -c $< -o $@
+build/gen-riscv-ext-texi$(build_exeext): build/gen-riscv-ext-texi.o
+ $(LINKER_FOR_BUILD) $(BUILD_LINKERFLAGS) $(BUILD_LDFLAGS) -o $@ $<
$(srcdir)/doc/riscv-ext.texi: $(RISCV_EXT_DEFS)
$(srcdir)/doc/riscv-ext.texi: s-riscv-ext.texi ; @true
More information about the Gcc-cvs
mailing list