Browse Source

dubhe: gcc: Update gcc build configs

Updated the default GCC build configs to the latest StarFive GCC toolchain
build configs.

Signed-off-by: Jun Yuan Tan <junyuan.tan@starfivetech.com>
Jun Yuan Tan 2 years ago
parent
commit
8e580f4553

+ 0 - 2
recipes-devtools/gcc/gcc-11.1.inc

@@ -109,8 +109,6 @@ SSP ?= "--disable-libssp"
 SSP:mingw32 = "--enable-libssp"
 
 EXTRA_OECONF_BASE = "\
-    ${SSP} \
-    --enable-libitm \
     --enable-lto \
     --disable-bootstrap \
     --with-system-zlib \

+ 9 - 9
recipes-devtools/gcc/gcc-configure-common.inc

@@ -21,25 +21,25 @@ SYMVERS_CONF ?= "--enable-symvers=gnu"
 
 EXTRA_OECONF = "\
     ${@['--enable-clocale=generic', ''][d.getVar('USE_NLS') != 'no']} \
-    --with-gnu-ld \
-    --enable-shared \
     --enable-languages=${LANGUAGES} \
     --enable-threads=${GCCTHREADS} \
     ${GCCMULTILIB} \
-    ${GCCPIE} \
-    --enable-c99 \
-    --enable-long-long \
     ${SYMVERS_CONF} \
-    --enable-libstdcxx-pch \
     --program-prefix=${TARGET_PREFIX} \
     --without-local-prefix \
-    --disable-install-libiberty \
-    ${EXTRA_OECONF_BASE} \
+    --enable-lto \
     ${EXTRA_OECONF_GCC_FLOAT} \
     ${EXTRA_OECONF_PATHS} \
     ${@get_gcc_mips_plt_setting(bb, d)} \
     ${@get_gcc_ppc_plt_settings(bb, d)} \
     ${@get_gcc_multiarch_setting(bb, d)} \
+    --disable-libmudflap \
+    --disable-libgomp \
+    --disable-libssp \
+    --disable-libquadmath \
+    --disable-libquadmath-support \
+    --disable-libmpx \
+    --enable-target-optspace \
 "
 
 # glibc version is a minimum controlling whether features are enabled. 
@@ -48,7 +48,7 @@ EXTRA_OECONF:append:libc-glibc = " --with-glibc-version=2.28 "
 
 # Set this here since GCC configure won't auto-detect and enable
 # initfini-arry when cross compiling.
-EXTRA_OECONF:append = " --enable-initfini-array"
+###EXTRA_OECONF:append = " --enable-initfini-array"
 
 export gcc_cv_collect2_libs = 'none required'
 # We need to set gcc_cv_collect2_libs else there is cross-compilation badness

+ 9 - 1
recipes-devtools/gcc/gcc-cross-canadian.inc

@@ -5,7 +5,8 @@ PN = "gcc-cross-canadian-${TRANSLATED_TARGET_ARCH}"
 
 DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${HOST_PREFIX}gcc-crosssdk virtual/${HOST_PREFIX}binutils-crosssdk virtual/nativesdk-libc nativesdk-gettext flex-native virtual/libc"
 
-GCCMULTILIB = "--enable-multilib"
+GCCMULTILIB = "--disable-multilib"
+GCCTHREADS = "no"
 
 require gcc-configure-common.inc
 
@@ -14,6 +15,13 @@ EXTRA_OECONF_PATHS = "\
     --with-build-time-tools=${STAGING_DIR_NATIVE}${prefix_native}/${TARGET_SYS}/bin \
     --with-sysroot=/not/exist \
     --with-build-sysroot=${STAGING_DIR_TARGET} \
+    --with-long-double-128 \
+    --disable-__cxa_atexit \
+    --disable-nls \
+    --disable-tm-clone-registry \
+    --disable-shared \
+    --enable-static \
+    --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' \
 "
 # We have to point gcc at a sysroot but we don't need to rebuild if this changes
 # e.g. we switch between different machines with different tunes.

+ 1 - 1
recipes-devtools/gcc/gcc-cross-canadian_11.1.bb

@@ -1,4 +1,4 @@
 require recipes-devtools/gcc/gcc-${PV}.inc
 require gcc-cross-canadian.inc
 
-EXTRA_OECONF:append:riscv64 = " --with-arch=rv64gc_zba_zbb_zbc_zbs CFLAGS_FOR_TARGET="-O2 -mcmodel=medany" CXXFLAGS_FOR_TARGET="-O2 -mcmodel=medany""
+EXTRA_OECONF:append:riscv64 = " --with-arch=rv64gc_zba_zbb_zbc_zbs --with-abi=lp64d CFLAGS_FOR_TARGET="-O2 -mcmodel=medany" CXXFLAGS_FOR_TARGET="-O2 -mcmodel=medany""

+ 9 - 4
recipes-devtools/gcc/gcc-cross.inc

@@ -21,15 +21,20 @@ require gcc-configure-common.inc
 # gnu) will hit a QA failure.
 LINKER_HASH_STYLE ?= "sysv"
 
-EXTRA_OECONF += "--enable-poison-system-directories=error"
+EXTRA_OECONF += "--enable-poison-system-directories=error \
+    --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' \
+    --disable-libsanitizer \
+    --disable-plugin \
+    --enable-long-long \
+"
 EXTRA_OECONF:append:sh4 = " \
     --with-multilib-list= \
     --enable-incomplete-targets \
 "
 
-EXTRA_OECONF += "\
-    --with-system-zlib \
-"
+###EXTRA_OECONF += "
+###    --with-system-zlib
+###"
 
 EXTRA_OECONF:append:libc-baremetal = " --without-headers"
 EXTRA_OECONF:remove:libc-baremetal = "--enable-threads=posix"

+ 1 - 1
recipes-devtools/gcc/gcc-cross_11.1.bb

@@ -1,4 +1,4 @@
 require recipes-devtools/gcc/gcc-${PV}.inc
 require gcc-cross.inc
 
-EXTRA_OECONF:append:riscv64 = " --with-arch=rv64gc_zba_zbb_zbc_zbs CFLAGS_FOR_TARGET="-O2 -mcmodel=medany" CXXFLAGS_FOR_TARGET="-O2 -mcmodel=medany""
+EXTRA_OECONF:append:riscv64 = " --with-arch=rv64gc_zba_zbb_zbc_zbs --with-abi=lp64d CFLAGS_FOR_TARGET="-O2 -mcmodel=medany" CXXFLAGS_FOR_TARGET="-O2 -mcmodel=medany""

+ 1 - 1
recipes-devtools/gcc/gcc-crosssdk_11.1.bb

@@ -1,4 +1,4 @@
 require recipes-devtools/gcc/gcc-cross_${PV}.bb
 require gcc-crosssdk.inc
 
-EXTRA_OECONF:append:riscv64 = " --with-arch=rv64gc_zba_zbb_zbc_zbs CFLAGS_FOR_TARGET="-O2 -mcmodel=medany" CXXFLAGS_FOR_TARGET="-O2 -mcmodel=medany""
+EXTRA_OECONF:append:riscv64 = " --with-arch=rv64gc_zba_zbb_zbc_zbs --with-abi=lp64d CFLAGS_FOR_TARGET="-O2 -mcmodel=medany" CXXFLAGS_FOR_TARGET="-O2 -mcmodel=medany""

+ 1 - 1
recipes-devtools/gcc/gcc-source_11.1.bb

@@ -3,4 +3,4 @@ require recipes-devtools/gcc/gcc-source.inc
 
 EXCLUDE_FROM_WORLD = "1"
 
-EXTRA_OECONF:append:riscv64 = " --with-arch=rv64gc_zba_zbb_zbc_zbs CFLAGS_FOR_TARGET="-O2 -mcmodel=medany" CXXFLAGS_FOR_TARGET="-O2 -mcmodel=medany""
+EXTRA_OECONF:append:riscv64 = " --with-arch=rv64gc_zba_zbb_zbc_zbs --with-abi=lp64d CFLAGS_FOR_TARGET="-O2 -mcmodel=medany" CXXFLAGS_FOR_TARGET="-O2 -mcmodel=medany""