Merge pull request #4384 from yetist/develop
Fix: build failed on LoongArch
This commit is contained in:
commit
e9c32ed165
|
@ -16,13 +16,13 @@ jobs:
|
||||||
include:
|
include:
|
||||||
- target: LOONGSONGENERIC
|
- target: LOONGSONGENERIC
|
||||||
triple: loongarch64-unknown-linux-gnu
|
triple: loongarch64-unknown-linux-gnu
|
||||||
opts: NO_SHARED=1 TARGET=LOONGSONGENERIC
|
opts: NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=LOONGSONGENERIC
|
||||||
- target: LOONGSON3R5
|
- target: LOONGSON3R5
|
||||||
triple: loongarch64-unknown-linux-gnu
|
triple: loongarch64-unknown-linux-gnu
|
||||||
opts: NO_SHARED=1 TARGET=LOONGSON3R5
|
opts: NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=LOONGSON3R5
|
||||||
- target: LOONGSON2K1000
|
- target: LOONGSON2K1000
|
||||||
triple: loongarch64-unknown-linux-gnu
|
triple: loongarch64-unknown-linux-gnu
|
||||||
opts: NO_SHARED=1 TARGET=LOONGSON2K1000
|
opts: NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=LOONGSON2K1000
|
||||||
- target: DYNAMIC_ARCH
|
- target: DYNAMIC_ARCH
|
||||||
triple: loongarch64-unknown-linux-gnu
|
triple: loongarch64-unknown-linux-gnu
|
||||||
opts: NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=GENERIC
|
opts: NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=GENERIC
|
||||||
|
@ -40,8 +40,8 @@ jobs:
|
||||||
|
|
||||||
- name: Download and install loongarch64-toolchain
|
- name: Download and install loongarch64-toolchain
|
||||||
run: |
|
run: |
|
||||||
wget https://github.com/loongson/build-tools/releases/download/2022.09.06/loongarch64-clfs-7.3-cross-tools-gcc-glibc.tar.xz
|
wget https://github.com/loongson/build-tools/releases/download/2023.08.08/CLFS-loongarch64-8.1-x86_64-cross-tools-gcc-glibc.tar.xz
|
||||||
tar -xf loongarch64-clfs-7.3-cross-tools-gcc-glibc.tar.xz -C /opt
|
tar -xf CLFS-loongarch64-8.1-x86_64-cross-tools-gcc-glibc.tar.xz -C /opt
|
||||||
|
|
||||||
- name: Set env
|
- name: Set env
|
||||||
run: |
|
run: |
|
||||||
|
|
|
@ -36,10 +36,20 @@ if (${CMAKE_C_COMPILER_ID} STREQUAL "GNU" OR ${CMAKE_C_COMPILER_ID} STREQUAL "LS
|
||||||
|
|
||||||
if (LOONGARCH64)
|
if (LOONGARCH64)
|
||||||
if (BINARY64)
|
if (BINARY64)
|
||||||
|
CHECK_CXX_COMPILER_FLAG("-mabi=lp64d" COMPILER_SUPPORT_LP64D_ABI)
|
||||||
|
if(COMPILER_SUPPORT_LP64D_ABI)
|
||||||
|
set(CCOMMON_OPT "${CCOMMON_OPT} -mabi=lp64d")
|
||||||
|
else()
|
||||||
set(CCOMMON_OPT "${CCOMMON_OPT} -mabi=lp64")
|
set(CCOMMON_OPT "${CCOMMON_OPT} -mabi=lp64")
|
||||||
|
endif ()
|
||||||
|
else ()
|
||||||
|
CHECK_CXX_COMPILER_FLAG("-mabi=ilp32d" COMPILER_SUPPORT_ILP32D_ABI)
|
||||||
|
if(COMPILER_SUPPORT_ILP32D_ABI)
|
||||||
|
set(CCOMMON_OPT "${CCOMMON_OPT} -mabi=ilp32d")
|
||||||
else()
|
else()
|
||||||
set(CCOMMON_OPT "${CCOMMON_OPT} -mabi=lp32")
|
set(CCOMMON_OPT "${CCOMMON_OPT} -mabi=lp32")
|
||||||
endif ()
|
endif ()
|
||||||
|
endif ()
|
||||||
set(BINARY_DEFINED 1)
|
set(BINARY_DEFINED 1)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
|
|
@ -61,11 +61,21 @@ if (${F_COMPILER} STREQUAL "GFORTRAN" OR ${F_COMPILER} STREQUAL "F95" OR CMAKE_F
|
||||||
endif ()
|
endif ()
|
||||||
if (LOONGARCH64)
|
if (LOONGARCH64)
|
||||||
if (BINARY64)
|
if (BINARY64)
|
||||||
|
CHECK_CXX_COMPILER_FLAG("-mabi=lp64d" COMPILER_SUPPORT_LP64D_ABI)
|
||||||
|
if(COMPILER_SUPPORT_LP64D_ABI)
|
||||||
|
set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=lp64d")
|
||||||
|
else()
|
||||||
set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=lp64")
|
set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=lp64")
|
||||||
|
endif ()
|
||||||
|
else ()
|
||||||
|
CHECK_CXX_COMPILER_FLAG("-mabi=ilp32d" COMPILER_SUPPORT_ILP32D_ABI)
|
||||||
|
if(COMPILER_SUPPORT_ILP32D_ABI)
|
||||||
|
set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=ilp32d")
|
||||||
else()
|
else()
|
||||||
set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=lp32")
|
set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=lp32")
|
||||||
endif ()
|
endif ()
|
||||||
endif ()
|
endif ()
|
||||||
|
endif ()
|
||||||
if (RISCV64)
|
if (RISCV64)
|
||||||
if (BINARY64)
|
if (BINARY64)
|
||||||
if (INTERFACE64)
|
if (INTERFACE64)
|
||||||
|
|
Loading…
Reference in New Issue