When multilib is enabled, the c++ header directory of the default multilib variant needs to be linked to the toplevel since g++ does not search the toplevel in this case.
libstdc++-v3/ChangeLog: * configure.host: Register t-loongarch in tmake_file. * config/cpu/loongarch/t-loongarch: New file. Link c++ header directory in the default ABI to the toplevel. --- libstdc++-v3/config/cpu/loongarch/t-loongarch | 12 ++++++++++++ libstdc++-v3/configure.host | 5 ++++- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 libstdc++-v3/config/cpu/loongarch/t-loongarch diff --git a/libstdc++-v3/config/cpu/loongarch/t-loongarch b/libstdc++-v3/config/cpu/loongarch/t-loongarch new file mode 100644 index 00000000000..942eddeb3be --- /dev/null +++ b/libstdc++-v3/config/cpu/loongarch/t-loongarch @@ -0,0 +1,12 @@ +LA_DEFAULT_MULTIDIR = $(shell $(CXX) --print-multi-directory) +TOPLEV_HEADERS = $(DESTDIR)${gxx_include_dir}/${host_alias}/$(LA_DEFAULT_MULTIDIR) + +.PHONY: install-toplevel-link +install: install-toplevel-link +install-toplevel-link: + if test x$(MULTIDO) != xtrue && \ + test x$(LA_DEFAULT_MULTIDIR) != x.; then \ + $(MKDIR_P) "$(dir $(TOPLEV_HEADERS))"; \ + rm -rf "$(TOPLEV_HEADERS)"; \ + $(LN_S) ../ "$(TOPLEV_HEADERS)"; \ + fi diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host index 9e7c7f02dfd..9dc42ad3edb 100644 --- a/libstdc++-v3/configure.host +++ b/libstdc++-v3/configure.host @@ -315,7 +315,10 @@ esac # Set any OS-dependent and CPU-dependent bits. # THIS TABLE IS SORTED. KEEP IT THAT WAY. case "${host}" in - *-*-linux* | *-*-uclinux*) + loongarch*) + tmake_file="cpu/loongarch/t-loongarch" + ;; + *-*-linux* | *-*-uclinux*) case "${host_cpu}" in i[567]86) abi_baseline_pair=i486-linux-gnu -- 2.36.0