diff --git a/Makefile b/Makefile
index cb0f6f48..00844497 100644
--- a/Makefile
+++ b/Makefile
@@ -19,11 +19,6 @@ CONFIG := $(shell find br-ext-*/configs/*_defconfig | grep -m1 $(BOARD))
 include $(CONFIG)
 endif
 
-SUPPORTED_VENDOR = "ingenic" "sigmastar"
-ifeq ($(filter $(BR2_OPENIPC_SOC_VENDOR),$(SUPPORTED_VENDOR)),)
-BR_VER = 2023.02.7
-endif
-
 all: build repack timer
 
 build: defconfig
diff --git a/br-ext-chip-allwinner/configs/v83x_lite_defconfig b/br-ext-chip-allwinner/configs/v83x_lite_defconfig
index 65490d87..5faf651f 100644
--- a/br-ext-chip-allwinner/configs/v83x_lite_defconfig
+++ b/br-ext-chip-allwinner/configs/v83x_lite_defconfig
@@ -11,7 +11,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -116,6 +116,7 @@ BR2_PACKAGE_ATBM60XX=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-allwinner/configs/v83x_ultimate_defconfig b/br-ext-chip-allwinner/configs/v83x_ultimate_defconfig
index e11c2760..4c676c85 100644
--- a/br-ext-chip-allwinner/configs/v83x_ultimate_defconfig
+++ b/br-ext-chip-allwinner/configs/v83x_ultimate_defconfig
@@ -11,7 +11,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -116,6 +116,7 @@ BR2_PACKAGE_ATBM60XX=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # ZEROTIER
 BR2_PACKAGE_ZEROTIER_ONE=y
diff --git a/br-ext-chip-ambarella/configs/s3l_lite_defconfig b/br-ext-chip-ambarella/configs/s3l_lite_defconfig
index 91f17951..19c07272 100644
--- a/br-ext-chip-ambarella/configs/s3l_lite_defconfig
+++ b/br-ext-chip-ambarella/configs/s3l_lite_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -110,6 +110,7 @@ BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-anyka/configs/ak3916ev300_lite_defconfig b/br-ext-chip-anyka/configs/ak3916ev300_lite_defconfig
index 6d5de1f3..1b313a73 100644
--- a/br-ext-chip-anyka/configs/ak3916ev300_lite_defconfig
+++ b/br-ext-chip-anyka/configs/ak3916ev300_lite_defconfig
@@ -9,7 +9,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_4=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -109,6 +109,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-anyka/configs/ak3918ev300_lite_defconfig b/br-ext-chip-anyka/configs/ak3918ev300_lite_defconfig
index e3f7842e..1abdbab8 100644
--- a/br-ext-chip-anyka/configs/ak3918ev300_lite_defconfig
+++ b/br-ext-chip-anyka/configs/ak3918ev300_lite_defconfig
@@ -9,7 +9,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_4=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -109,6 +109,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-fullhan/configs/fh8833v100_lite_defconfig b/br-ext-chip-fullhan/configs/fh8833v100_lite_defconfig
index 07654f14..8f8a64ef 100644
--- a/br-ext-chip-fullhan/configs/fh8833v100_lite_defconfig
+++ b/br-ext-chip-fullhan/configs/fh8833v100_lite_defconfig
@@ -8,7 +8,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_0=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -106,6 +106,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-fullhan/configs/fh8852v100_lite_defconfig b/br-ext-chip-fullhan/configs/fh8852v100_lite_defconfig
index a8c46cbe..10996a2f 100644
--- a/br-ext-chip-fullhan/configs/fh8852v100_lite_defconfig
+++ b/br-ext-chip-fullhan/configs/fh8852v100_lite_defconfig
@@ -8,7 +8,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_0=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -106,6 +106,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-fullhan/configs/fh8852v200_lite_defconfig b/br-ext-chip-fullhan/configs/fh8852v200_lite_defconfig
index 5a17b724..d3170ef9 100644
--- a/br-ext-chip-fullhan/configs/fh8852v200_lite_defconfig
+++ b/br-ext-chip-fullhan/configs/fh8852v200_lite_defconfig
@@ -8,7 +8,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -106,6 +106,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-fullhan/configs/fh8852v210_lite_defconfig b/br-ext-chip-fullhan/configs/fh8852v210_lite_defconfig
index c13f56d6..c6710878 100644
--- a/br-ext-chip-fullhan/configs/fh8852v210_lite_defconfig
+++ b/br-ext-chip-fullhan/configs/fh8852v210_lite_defconfig
@@ -8,7 +8,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -106,6 +106,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-fullhan/configs/fh8856v100_lite_defconfig b/br-ext-chip-fullhan/configs/fh8856v100_lite_defconfig
index 32cfc0b4..a64cfc17 100644
--- a/br-ext-chip-fullhan/configs/fh8856v100_lite_defconfig
+++ b/br-ext-chip-fullhan/configs/fh8856v100_lite_defconfig
@@ -8,7 +8,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_0=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -106,6 +106,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-fullhan/configs/fh8856v200_lite_defconfig b/br-ext-chip-fullhan/configs/fh8856v200_lite_defconfig
index e5651ab4..93bbd706 100644
--- a/br-ext-chip-fullhan/configs/fh8856v200_lite_defconfig
+++ b/br-ext-chip-fullhan/configs/fh8856v200_lite_defconfig
@@ -8,7 +8,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -106,6 +106,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-fullhan/configs/fh8856v210_lite_defconfig b/br-ext-chip-fullhan/configs/fh8856v210_lite_defconfig
index 87a137b0..1e0fa70b 100644
--- a/br-ext-chip-fullhan/configs/fh8856v210_lite_defconfig
+++ b/br-ext-chip-fullhan/configs/fh8856v210_lite_defconfig
@@ -8,7 +8,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -106,6 +106,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-fullhan/configs/fh8858v200_lite_defconfig b/br-ext-chip-fullhan/configs/fh8858v200_lite_defconfig
index 071c69ad..6338c9f2 100644
--- a/br-ext-chip-fullhan/configs/fh8858v200_lite_defconfig
+++ b/br-ext-chip-fullhan/configs/fh8858v200_lite_defconfig
@@ -8,7 +8,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -106,6 +106,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-fullhan/configs/fh8858v210_lite_defconfig b/br-ext-chip-fullhan/configs/fh8858v210_lite_defconfig
index 45b292ba..64105893 100644
--- a/br-ext-chip-fullhan/configs/fh8858v210_lite_defconfig
+++ b/br-ext-chip-fullhan/configs/fh8858v210_lite_defconfig
@@ -8,7 +8,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -106,6 +106,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-goke/configs/gk7102_lite_defconfig b/br-ext-chip-goke/configs/gk7102_lite_defconfig
index ef545217..6cad9bb8 100644
--- a/br-ext-chip-goke/configs/gk7102_lite_defconfig
+++ b/br-ext-chip-goke/configs/gk7102_lite_defconfig
@@ -8,7 +8,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_4=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -106,6 +106,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-goke/configs/gk7102s_lite_defconfig b/br-ext-chip-goke/configs/gk7102s_lite_defconfig
index 904aa3b5..d9b3fac3 100644
--- a/br-ext-chip-goke/configs/gk7102s_lite_defconfig
+++ b/br-ext-chip-goke/configs/gk7102s_lite_defconfig
@@ -8,7 +8,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_4=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -106,6 +106,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-goke/configs/gk7202v300_lite_defconfig b/br-ext-chip-goke/configs/gk7202v300_lite_defconfig
index c1488a16..e9b54230 100644
--- a/br-ext-chip-goke/configs/gk7202v300_lite_defconfig
+++ b/br-ext-chip-goke/configs/gk7202v300_lite_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -110,6 +110,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-goke/configs/gk7205v200_fpv_defconfig b/br-ext-chip-goke/configs/gk7205v200_fpv_defconfig
index d06dd251..e2cb4d3e 100644
--- a/br-ext-chip-goke/configs/gk7205v200_fpv_defconfig
+++ b/br-ext-chip-goke/configs/gk7205v200_fpv_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -117,6 +117,7 @@ BR2_PACKAGE_MAVFWD=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_LIBZIP=y
diff --git a/br-ext-chip-goke/configs/gk7205v200_lite_defconfig b/br-ext-chip-goke/configs/gk7205v200_lite_defconfig
index f83f4aa6..ff4a3596 100644
--- a/br-ext-chip-goke/configs/gk7205v200_lite_defconfig
+++ b/br-ext-chip-goke/configs/gk7205v200_lite_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -110,6 +110,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-goke/configs/gk7205v200_lte_defconfig b/br-ext-chip-goke/configs/gk7205v200_lte_defconfig
index ff786cd5..25ebeeb6 100644
--- a/br-ext-chip-goke/configs/gk7205v200_lte_defconfig
+++ b/br-ext-chip-goke/configs/gk7205v200_lte_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -120,6 +120,7 @@ BR2_PACKAGE_ZEROTIER_ONE=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_LIBZIP=y
diff --git a/br-ext-chip-goke/configs/gk7205v200_original_defconfig b/br-ext-chip-goke/configs/gk7205v200_original_defconfig
index 00abe61e..51239423 100644
--- a/br-ext-chip-goke/configs/gk7205v200_original_defconfig
+++ b/br-ext-chip-goke/configs/gk7205v200_original_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
diff --git a/br-ext-chip-goke/configs/gk7205v200_rubyfpv_defconfig b/br-ext-chip-goke/configs/gk7205v200_rubyfpv_defconfig
index 64ac14a1..5997f5b3 100644
--- a/br-ext-chip-goke/configs/gk7205v200_rubyfpv_defconfig
+++ b/br-ext-chip-goke/configs/gk7205v200_rubyfpv_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -115,6 +115,7 @@ BR2_PACKAGE_RUBYFPV=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_LIBZIP=y
diff --git a/br-ext-chip-goke/configs/gk7205v200_ultimate_defconfig b/br-ext-chip-goke/configs/gk7205v200_ultimate_defconfig
index 67b96d72..b3fd0f42 100644
--- a/br-ext-chip-goke/configs/gk7205v200_ultimate_defconfig
+++ b/br-ext-chip-goke/configs/gk7205v200_ultimate_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -126,6 +126,7 @@ BR2_PACKAGE_ZEROTIER_ONE=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # External
 BR2_TOOLCHAIN_EXTERNAL=y
diff --git a/br-ext-chip-goke/configs/gk7205v200_venc_defconfig b/br-ext-chip-goke/configs/gk7205v200_venc_defconfig
index 35dee08a..bd7bd2ce 100644
--- a/br-ext-chip-goke/configs/gk7205v200_venc_defconfig
+++ b/br-ext-chip-goke/configs/gk7205v200_venc_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -117,6 +117,7 @@ BR2_PACKAGE_MAVFWD=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_LIBZIP=y
diff --git a/br-ext-chip-goke/configs/gk7205v210_fpv_defconfig b/br-ext-chip-goke/configs/gk7205v210_fpv_defconfig
index 6bc5a51a..71c2e9e2 100644
--- a/br-ext-chip-goke/configs/gk7205v210_fpv_defconfig
+++ b/br-ext-chip-goke/configs/gk7205v210_fpv_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -117,6 +117,7 @@ BR2_PACKAGE_MAVFWD=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_LIBZIP=y
diff --git a/br-ext-chip-goke/configs/gk7205v210_lite_defconfig b/br-ext-chip-goke/configs/gk7205v210_lite_defconfig
index 6ec77beb..78f93e49 100644
--- a/br-ext-chip-goke/configs/gk7205v210_lite_defconfig
+++ b/br-ext-chip-goke/configs/gk7205v210_lite_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -110,6 +110,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-goke/configs/gk7205v210_rubyfpv_defconfig b/br-ext-chip-goke/configs/gk7205v210_rubyfpv_defconfig
index 3647c944..7c4fa875 100644
--- a/br-ext-chip-goke/configs/gk7205v210_rubyfpv_defconfig
+++ b/br-ext-chip-goke/configs/gk7205v210_rubyfpv_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -115,6 +115,7 @@ BR2_PACKAGE_RUBYFPV=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_LIBZIP=y
diff --git a/br-ext-chip-goke/configs/gk7205v210_venc_defconfig b/br-ext-chip-goke/configs/gk7205v210_venc_defconfig
index 82fd97f3..c205d840 100644
--- a/br-ext-chip-goke/configs/gk7205v210_venc_defconfig
+++ b/br-ext-chip-goke/configs/gk7205v210_venc_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -117,6 +117,7 @@ BR2_PACKAGE_MAVFWD=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_LIBZIP=y
diff --git a/br-ext-chip-goke/configs/gk7205v300_fpv_defconfig b/br-ext-chip-goke/configs/gk7205v300_fpv_defconfig
index ea532df0..4247b4cf 100644
--- a/br-ext-chip-goke/configs/gk7205v300_fpv_defconfig
+++ b/br-ext-chip-goke/configs/gk7205v300_fpv_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -117,6 +117,7 @@ BR2_PACKAGE_MAVFWD=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_LIBZIP=y
diff --git a/br-ext-chip-goke/configs/gk7205v300_lite_defconfig b/br-ext-chip-goke/configs/gk7205v300_lite_defconfig
index ce197c74..41b525f2 100644
--- a/br-ext-chip-goke/configs/gk7205v300_lite_defconfig
+++ b/br-ext-chip-goke/configs/gk7205v300_lite_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -113,6 +113,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-goke/configs/gk7205v300_lte_defconfig b/br-ext-chip-goke/configs/gk7205v300_lte_defconfig
index 54c4a1fc..0f372acb 100644
--- a/br-ext-chip-goke/configs/gk7205v300_lte_defconfig
+++ b/br-ext-chip-goke/configs/gk7205v300_lte_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -120,6 +120,7 @@ BR2_PACKAGE_ZEROTIER_ONE=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_LIBZIP=y
diff --git a/br-ext-chip-goke/configs/gk7205v300_rubyfpv_defconfig b/br-ext-chip-goke/configs/gk7205v300_rubyfpv_defconfig
index cc9c6297..306b0474 100644
--- a/br-ext-chip-goke/configs/gk7205v300_rubyfpv_defconfig
+++ b/br-ext-chip-goke/configs/gk7205v300_rubyfpv_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -115,6 +115,7 @@ BR2_PACKAGE_RUBYFPV=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_LIBZIP=y
diff --git a/br-ext-chip-goke/configs/gk7205v300_ultimate_defconfig b/br-ext-chip-goke/configs/gk7205v300_ultimate_defconfig
index e75d4a0e..2565bd48 100644
--- a/br-ext-chip-goke/configs/gk7205v300_ultimate_defconfig
+++ b/br-ext-chip-goke/configs/gk7205v300_ultimate_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -126,6 +126,7 @@ BR2_PACKAGE_ZEROTIER_ONE=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # External
 BR2_TOOLCHAIN_EXTERNAL=y
diff --git a/br-ext-chip-goke/configs/gk7205v300_venc_defconfig b/br-ext-chip-goke/configs/gk7205v300_venc_defconfig
index 76c5791c..e5892852 100644
--- a/br-ext-chip-goke/configs/gk7205v300_venc_defconfig
+++ b/br-ext-chip-goke/configs/gk7205v300_venc_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -117,6 +117,7 @@ BR2_PACKAGE_MAVFWD=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_LIBZIP=y
diff --git a/br-ext-chip-goke/configs/gk7605v100_lite_defconfig b/br-ext-chip-goke/configs/gk7605v100_lite_defconfig
index 961fe7a2..adb66518 100644
--- a/br-ext-chip-goke/configs/gk7605v100_lite_defconfig
+++ b/br-ext-chip-goke/configs/gk7605v100_lite_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -110,6 +110,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-grainmedia/configs/gm8135_lite_defconfig b/br-ext-chip-grainmedia/configs/gm8135_lite_defconfig
index f081b96a..6d17bbc2 100644
--- a/br-ext-chip-grainmedia/configs/gm8135_lite_defconfig
+++ b/br-ext-chip-grainmedia/configs/gm8135_lite_defconfig
@@ -7,7 +7,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_3=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 BR2_TOOLCHAIN_USES_UCLIBC=y
 BR2_TOOLCHAIN_BUILDROOT_UCLIBC=y
 BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -105,6 +105,7 @@ BR2_PACKAGE_RTL8188EU=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-grainmedia/configs/gm8136_lite_defconfig b/br-ext-chip-grainmedia/configs/gm8136_lite_defconfig
index e71ffc09..e4ea8fd7 100644
--- a/br-ext-chip-grainmedia/configs/gm8136_lite_defconfig
+++ b/br-ext-chip-grainmedia/configs/gm8136_lite_defconfig
@@ -7,7 +7,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_3=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 BR2_TOOLCHAIN_USES_UCLIBC=y
 BR2_TOOLCHAIN_BUILDROOT_UCLIBC=y
 BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -105,6 +105,7 @@ BR2_PACKAGE_RTL8188EU=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516av100_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3516av100_lite_defconfig
index 9198ce42..bcebd6ad 100644
--- a/br-ext-chip-hisilicon/configs/hi3516av100_lite_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516av100_lite_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -109,6 +109,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516av100_ultimate_defconfig b/br-ext-chip-hisilicon/configs/hi3516av100_ultimate_defconfig
index 84fe963d..7bb1cf78 100644
--- a/br-ext-chip-hisilicon/configs/hi3516av100_ultimate_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516av100_ultimate_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -131,6 +131,7 @@ BR2_PACKAGE_ZEROTIER_ONE=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # External
 BR2_TOOLCHAIN_EXTERNAL=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516av200_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3516av200_lite_defconfig
index 743b53a4..e21c6502 100644
--- a/br-ext-chip-hisilicon/configs/hi3516av200_lite_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516av200_lite_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -109,6 +109,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516av200_ultimate_defconfig b/br-ext-chip-hisilicon/configs/hi3516av200_ultimate_defconfig
index b6b7b37b..2f2bf7e9 100644
--- a/br-ext-chip-hisilicon/configs/hi3516av200_ultimate_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516av200_ultimate_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -131,6 +131,7 @@ BR2_PACKAGE_ZEROTIER_ONE=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # External
 BR2_TOOLCHAIN_EXTERNAL=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516av300_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3516av300_lite_defconfig
index d7a96ca6..4d696762 100644
--- a/br-ext-chip-hisilicon/configs/hi3516av300_lite_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516av300_lite_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 BR2_TOOLCHAIN_USES_GLIBC=y
 BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
 BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc"
@@ -106,6 +106,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516cv100_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3516cv100_lite_defconfig
index a2ed9527..8d5d7ed7 100644
--- a/br-ext-chip-hisilicon/configs/hi3516cv100_lite_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516cv100_lite_defconfig
@@ -8,7 +8,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_0=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -109,6 +109,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516cv200_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3516cv200_lite_defconfig
index 4471acfe..a5188fd9 100644
--- a/br-ext-chip-hisilicon/configs/hi3516cv200_lite_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516cv200_lite_defconfig
@@ -9,7 +9,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -109,6 +109,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516cv300_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3516cv300_lite_defconfig
index aafa4843..c8fbe38b 100644
--- a/br-ext-chip-hisilicon/configs/hi3516cv300_lite_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516cv300_lite_defconfig
@@ -9,7 +9,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -108,6 +108,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516cv300_mini_defconfig b/br-ext-chip-hisilicon/configs/hi3516cv300_mini_defconfig
index efa1f059..0f581608 100644
--- a/br-ext-chip-hisilicon/configs/hi3516cv300_mini_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516cv300_mini_defconfig
@@ -9,7 +9,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -110,6 +110,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516cv300_ultimate_defconfig b/br-ext-chip-hisilicon/configs/hi3516cv300_ultimate_defconfig
index f76d3413..0c698e67 100644
--- a/br-ext-chip-hisilicon/configs/hi3516cv300_ultimate_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516cv300_ultimate_defconfig
@@ -9,7 +9,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -129,6 +129,7 @@ BR2_PACKAGE_ZEROTIER_ONE=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # External
 BR2_TOOLCHAIN_EXTERNAL=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516cv500_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3516cv500_lite_defconfig
index 81a6284e..0a562439 100644
--- a/br-ext-chip-hisilicon/configs/hi3516cv500_lite_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516cv500_lite_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 BR2_TOOLCHAIN_USES_GLIBC=y
 BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
 BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc"
@@ -105,6 +105,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516dv100_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3516dv100_lite_defconfig
index 0e19a799..a5d51596 100644
--- a/br-ext-chip-hisilicon/configs/hi3516dv100_lite_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516dv100_lite_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -109,6 +109,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516dv100_ultimate_defconfig b/br-ext-chip-hisilicon/configs/hi3516dv100_ultimate_defconfig
index 6e99a462..f7bbefc2 100644
--- a/br-ext-chip-hisilicon/configs/hi3516dv100_ultimate_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516dv100_ultimate_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -131,6 +131,7 @@ BR2_PACKAGE_ZEROTIER_ONE=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # External
 BR2_TOOLCHAIN_EXTERNAL=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516dv200_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3516dv200_lite_defconfig
index da8ca68f..359ed544 100644
--- a/br-ext-chip-hisilicon/configs/hi3516dv200_lite_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516dv200_lite_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -110,6 +110,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516dv300_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3516dv300_lite_defconfig
index 2d0c0242..236ec005 100644
--- a/br-ext-chip-hisilicon/configs/hi3516dv300_lite_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516dv300_lite_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 BR2_TOOLCHAIN_USES_GLIBC=y
 BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
 BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc"
@@ -105,6 +105,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516ev100_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3516ev100_lite_defconfig
index eff23f5a..d804c4bd 100644
--- a/br-ext-chip-hisilicon/configs/hi3516ev100_lite_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516ev100_lite_defconfig
@@ -9,7 +9,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -112,6 +112,7 @@ BR2_PACKAGE_MOSQUITTO=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516ev200_fpv_defconfig b/br-ext-chip-hisilicon/configs/hi3516ev200_fpv_defconfig
index 04396e30..a24a857f 100644
--- a/br-ext-chip-hisilicon/configs/hi3516ev200_fpv_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516ev200_fpv_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -107,7 +107,7 @@ BR2_PACKAGE_RTL8812AU_OPENIPC=y
 # FPV
 BR2_PACKAGE_DATALINK=y
 BR2_PACKAGE_WIFIBROADCAST=y
-BR2_PACKAGE_MAVLINK_ROUTER=y
+# BR2_PACKAGE_MAVLINK_ROUTER is not set
 BR2_PACKAGE_MAVFWD=y
 
 # DEBUG
@@ -117,6 +117,7 @@ BR2_PACKAGE_MAVFWD=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_LIBZIP=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516ev200_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3516ev200_lite_defconfig
index bb4e3f70..6b912fef 100644
--- a/br-ext-chip-hisilicon/configs/hi3516ev200_lite_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516ev200_lite_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -110,6 +110,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516ev200_lte_defconfig b/br-ext-chip-hisilicon/configs/hi3516ev200_lte_defconfig
index 12ff8241..c85b38ea 100644
--- a/br-ext-chip-hisilicon/configs/hi3516ev200_lte_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516ev200_lte_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -120,6 +120,7 @@ BR2_PACKAGE_ZEROTIER_ONE=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_LIBZIP=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516ev200_ultimate_defconfig b/br-ext-chip-hisilicon/configs/hi3516ev200_ultimate_defconfig
index 591a3250..7302f9fb 100644
--- a/br-ext-chip-hisilicon/configs/hi3516ev200_ultimate_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516ev200_ultimate_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -131,6 +131,7 @@ BR2_PACKAGE_ZEROTIER_ONE=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # External
 BR2_TOOLCHAIN_EXTERNAL=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516ev300_dev_defconfig b/br-ext-chip-hisilicon/configs/hi3516ev300_dev_defconfig
index dc5ebbd5..43a417ba 100644
--- a/br-ext-chip-hisilicon/configs/hi3516ev300_dev_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516ev300_dev_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -116,6 +116,7 @@ BR2_PACKAGE_RTL8188EUS_OPENIPC=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516ev300_fpv_defconfig b/br-ext-chip-hisilicon/configs/hi3516ev300_fpv_defconfig
index 12e0657e..52bc263e 100644
--- a/br-ext-chip-hisilicon/configs/hi3516ev300_fpv_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516ev300_fpv_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -107,7 +107,7 @@ BR2_PACKAGE_RTL8812AU_OPENIPC=y
 # FPV
 BR2_PACKAGE_DATALINK=y
 BR2_PACKAGE_WIFIBROADCAST=y
-BR2_PACKAGE_MAVLINK_ROUTER=y
+# BR2_PACKAGE_MAVLINK_ROUTER is not set
 BR2_PACKAGE_MAVFWD=y
 
 # DEBUG
@@ -117,6 +117,7 @@ BR2_PACKAGE_MAVFWD=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_LIBZIP=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516ev300_glibc_defconfig b/br-ext-chip-hisilicon/configs/hi3516ev300_glibc_defconfig
index ce1cddf1..ba1d67c3 100644
--- a/br-ext-chip-hisilicon/configs/hi3516ev300_glibc_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516ev300_glibc_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -115,6 +115,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516ev300_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3516ev300_lite_defconfig
index 00fcca7b..43f66955 100644
--- a/br-ext-chip-hisilicon/configs/hi3516ev300_lite_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516ev300_lite_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -113,6 +113,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516ev300_lte_defconfig b/br-ext-chip-hisilicon/configs/hi3516ev300_lte_defconfig
index da6a8a1e..ae0b3146 100644
--- a/br-ext-chip-hisilicon/configs/hi3516ev300_lte_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516ev300_lte_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -120,6 +120,7 @@ BR2_PACKAGE_ZEROTIER_ONE=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_LIBZIP=y
diff --git a/br-ext-chip-hisilicon/configs/hi3516ev300_ultimate_defconfig b/br-ext-chip-hisilicon/configs/hi3516ev300_ultimate_defconfig
index cc127935..b586f8da 100644
--- a/br-ext-chip-hisilicon/configs/hi3516ev300_ultimate_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3516ev300_ultimate_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -136,6 +136,7 @@ BR2_PACKAGE_ZEROTIER_ONE=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # External
 BR2_TOOLCHAIN_EXTERNAL=y
diff --git a/br-ext-chip-hisilicon/configs/hi3518cv100_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3518cv100_lite_defconfig
index 345dc763..73d21310 100644
--- a/br-ext-chip-hisilicon/configs/hi3518cv100_lite_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3518cv100_lite_defconfig
@@ -8,7 +8,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_0=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -109,6 +109,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3518ev100_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3518ev100_lite_defconfig
index 2f742d67..dc607f15 100644
--- a/br-ext-chip-hisilicon/configs/hi3518ev100_lite_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3518ev100_lite_defconfig
@@ -8,7 +8,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_0=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -113,6 +113,7 @@ BR2_PACKAGE_MOSQUITTO=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3518ev200_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3518ev200_lite_defconfig
index 7c8675dd..66c3c55b 100644
--- a/br-ext-chip-hisilicon/configs/hi3518ev200_lite_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3518ev200_lite_defconfig
@@ -9,7 +9,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -110,6 +110,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3518ev200_mini_defconfig b/br-ext-chip-hisilicon/configs/hi3518ev200_mini_defconfig
index 4c8a8a73..b61d0d8f 100644
--- a/br-ext-chip-hisilicon/configs/hi3518ev200_mini_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3518ev200_mini_defconfig
@@ -9,7 +9,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -112,6 +112,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3518ev200_ultimate_defconfig b/br-ext-chip-hisilicon/configs/hi3518ev200_ultimate_defconfig
index 9da3c04b..032f24c9 100644
--- a/br-ext-chip-hisilicon/configs/hi3518ev200_ultimate_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3518ev200_ultimate_defconfig
@@ -9,7 +9,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -131,6 +131,7 @@ BR2_PACKAGE_ZEROTIER_ONE=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # External
 BR2_TOOLCHAIN_EXTERNAL=y
diff --git a/br-ext-chip-hisilicon/configs/hi3518ev201_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3518ev201_lite_defconfig
index 9c864d34..16e24a36 100644
--- a/br-ext-chip-hisilicon/configs/hi3518ev201_lite_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3518ev201_lite_defconfig
@@ -9,7 +9,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -109,6 +109,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3518ev300_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3518ev300_lite_defconfig
index e2486fcf..423f4e95 100644
--- a/br-ext-chip-hisilicon/configs/hi3518ev300_lite_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3518ev300_lite_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -112,6 +112,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3518ev300_ultimate_defconfig b/br-ext-chip-hisilicon/configs/hi3518ev300_ultimate_defconfig
index 3cfb293e..7e37f93d 100644
--- a/br-ext-chip-hisilicon/configs/hi3518ev300_ultimate_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3518ev300_ultimate_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -134,6 +134,7 @@ BR2_PACKAGE_ZEROTIER_ONE=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # External
 BR2_TOOLCHAIN_EXTERNAL=y
diff --git a/br-ext-chip-hisilicon/configs/hi3519v101_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3519v101_lite_defconfig
index 2404bf7c..29680cb9 100644
--- a/br-ext-chip-hisilicon/configs/hi3519v101_lite_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3519v101_lite_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -108,6 +108,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3520dv200_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3520dv200_lite_defconfig
index 31fd59e7..f3775262 100644
--- a/br-ext-chip-hisilicon/configs/hi3520dv200_lite_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3520dv200_lite_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_0=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -109,6 +109,7 @@ BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3536cv100_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3536cv100_lite_defconfig
index 7c509b0b..7dd30e92 100644
--- a/br-ext-chip-hisilicon/configs/hi3536cv100_lite_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3536cv100_lite_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -110,6 +110,7 @@ BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3536dv100_fpv_defconfig b/br-ext-chip-hisilicon/configs/hi3536dv100_fpv_defconfig
index 0eb543a3..377bbaf3 100644
--- a/br-ext-chip-hisilicon/configs/hi3536dv100_fpv_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3536dv100_fpv_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 BR2_TOOLCHAIN_USES_GLIBC=y
 BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
 BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc"
@@ -129,6 +129,7 @@ BR2_PACKAGE_ZEROTIER_ONE=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-hisilicon/configs/hi3536dv100_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3536dv100_lite_defconfig
index f0e5ec16..ecb7e083 100644
--- a/br-ext-chip-hisilicon/configs/hi3536dv100_lite_defconfig
+++ b/br-ext-chip-hisilicon/configs/hi3536dv100_lite_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -111,6 +111,7 @@ BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-novatek/configs/nt98562_lite_defconfig b/br-ext-chip-novatek/configs/nt98562_lite_defconfig
index 1fa99157..7ada3362 100644
--- a/br-ext-chip-novatek/configs/nt98562_lite_defconfig
+++ b/br-ext-chip-novatek/configs/nt98562_lite_defconfig
@@ -13,7 +13,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -111,6 +111,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-novatek/configs/nt98566_lite_defconfig b/br-ext-chip-novatek/configs/nt98566_lite_defconfig
index 81e5a0a0..59146630 100644
--- a/br-ext-chip-novatek/configs/nt98566_lite_defconfig
+++ b/br-ext-chip-novatek/configs/nt98566_lite_defconfig
@@ -12,7 +12,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -110,6 +110,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-rockchip/configs/rv1109_lite_defconfig b/br-ext-chip-rockchip/configs/rv1109_lite_defconfig
index dc5e63b8..e9b4faad 100644
--- a/br-ext-chip-rockchip/configs/rv1109_lite_defconfig
+++ b/br-ext-chip-rockchip/configs/rv1109_lite_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 BR2_GCC_ENABLE_LTO=y
 BR2_GCC_ENABLE_OPENMP=y
 BR2_GCC_ENABLE_GRAPHITE=y
@@ -123,6 +123,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
@@ -133,6 +134,7 @@ BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
 BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
 BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-openipc-linux-gnueabihf"
 BR2_TOOLCHAIN_EXTERNAL_CXX=y
+BR2_TOOLCHAIN_EXTERNAL_OPENMP=y
 BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
 BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y
 # BR2_TOOLCHAIN_EXTERNAL_INET_RPC is not set
diff --git a/br-ext-chip-rockchip/configs/rv1126_lite_defconfig b/br-ext-chip-rockchip/configs/rv1126_lite_defconfig
index ad97d99d..d8e0d7a9 100644
--- a/br-ext-chip-rockchip/configs/rv1126_lite_defconfig
+++ b/br-ext-chip-rockchip/configs/rv1126_lite_defconfig
@@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 BR2_GCC_ENABLE_LTO=y
 BR2_GCC_ENABLE_OPENMP=y
 BR2_GCC_ENABLE_GRAPHITE=y
@@ -122,6 +122,7 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
@@ -132,6 +133,7 @@ BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
 BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
 BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-openipc-linux-gnueabihf"
 BR2_TOOLCHAIN_EXTERNAL_CXX=y
+BR2_TOOLCHAIN_EXTERNAL_OPENMP=y
 BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
 BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y
 # BR2_TOOLCHAIN_EXTERNAL_INET_RPC is not set
diff --git a/br-ext-chip-ti/configs/dm36x_lite_defconfig b/br-ext-chip-ti/configs/dm36x_lite_defconfig
index a15e6879..01fc3c22 100644
--- a/br-ext-chip-ti/configs/dm36x_lite_defconfig
+++ b/br-ext-chip-ti/configs/dm36x_lite_defconfig
@@ -9,7 +9,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_9=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -114,6 +114,7 @@ BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-xiongmai/configs/xm510_lite_defconfig b/br-ext-chip-xiongmai/configs/xm510_lite_defconfig
index 450f8c4d..8863d7cb 100644
--- a/br-ext-chip-xiongmai/configs/xm510_lite_defconfig
+++ b/br-ext-chip-xiongmai/configs/xm510_lite_defconfig
@@ -8,7 +8,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_0=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -108,6 +108,7 @@ BR2_PACKAGE_YAML_CLI=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-xiongmai/configs/xm530_lite_defconfig b/br-ext-chip-xiongmai/configs/xm530_lite_defconfig
index 7d775c65..416adf38 100644
--- a/br-ext-chip-xiongmai/configs/xm530_lite_defconfig
+++ b/br-ext-chip-xiongmai/configs/xm530_lite_defconfig
@@ -8,7 +8,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -107,6 +107,7 @@ BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/br-ext-chip-xiongmai/configs/xm550_lite_defconfig b/br-ext-chip-xiongmai/configs/xm550_lite_defconfig
index 12e4ca1a..158f8f99 100644
--- a/br-ext-chip-xiongmai/configs/xm550_lite_defconfig
+++ b/br-ext-chip-xiongmai/configs/xm550_lite_defconfig
@@ -8,7 +8,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y
 
 # Toolchain
 BR2_PER_PACKAGE_DIRECTORIES=y
-BR2_GCC_VERSION_12_X=y
+BR2_GCC_VERSION_13_X=y
 # BR2_TOOLCHAIN_USES_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
 # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
@@ -107,6 +107,7 @@ BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
 # CCACHE
 BR2_CCACHE=y
 BR2_CCACHE_DIR="$(HOME)/.ccache"
+BR2_OPTIMIZE_S=y
 
 # Compression
 BR2_PACKAGE_ZLIB=y
diff --git a/general/package/all-patches/linux/0012-add-compiler-gcc12.patch b/general/package/all-patches/linux/0012-add-compiler-gcc12.patch
deleted file mode 100644
index 2d4d18d5..00000000
--- a/general/package/all-patches/linux/0012-add-compiler-gcc12.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-diff --git a/include/linux/compiler-gcc12.h b/include/linux/compiler-gcc12.h
-new file mode 100644
---- /dev/null
-+++ a/include/linux/compiler-gcc12.h
-@@ -0,0 +1,126 @@
-+/* gcc version specific checks */
-+
-+#ifndef GCC_VERSION
-+#define GCC_VERSION (__GNUC__ * 10000           \
-+                     + __GNUC_MINOR__ * 100     \
-+                     + __GNUC_PATCHLEVEL__)
-+#endif
-+
-+#if GCC_VERSION < 30200
-+# error Sorry, your compiler is too old - please upgrade it.
-+#endif
-+
-+#if GCC_VERSION < 30300
-+# define __used			__attribute__((__unused__))
-+#else
-+# define __used			__attribute__((__used__))
-+#endif
-+
-+#ifdef CONFIG_GCOV_KERNEL
-+# if GCC_VERSION < 30400
-+#   error "GCOV profiling support for gcc versions below 3.4 not included"
-+# endif /* __GNUC_MINOR__ */
-+#endif /* CONFIG_GCOV_KERNEL */
-+
-+#if GCC_VERSION >= 30400
-+#define __must_check		__attribute__((warn_unused_result))
-+#endif
-+
-+#if GCC_VERSION >= 40000
-+
-+/* GCC 4.1.[01] miscompiles __weak */
-+#ifdef __KERNEL__
-+# if GCC_VERSION >= 40100 &&  GCC_VERSION <= 40101
-+#  error Your version of gcc miscompiles the __weak directive
-+# endif
-+#endif
-+
-+#define __used			__attribute__((__used__))
-+#define __compiler_offsetof(a, b)					\
-+	__builtin_offsetof(a, b)
-+
-+#if GCC_VERSION >= 40100 && GCC_VERSION < 40600
-+# define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
-+#endif
-+
-+#if GCC_VERSION >= 40300
-+/* Mark functions as cold. gcc will assume any path leading to a call
-+ * to them will be unlikely.  This means a lot of manual unlikely()s
-+ * are unnecessary now for any paths leading to the usual suspects
-+ * like BUG(), printk(), panic() etc. [but let's keep them for now for
-+ * older compilers]
-+ *
-+ * Early snapshots of gcc 4.3 don't support this and we can't detect this
-+ * in the preprocessor, but we can live with this because they're unreleased.
-+ * Maketime probing would be overkill here.
-+ *
-+ * gcc also has a __attribute__((__hot__)) to move hot functions into
-+ * a special section, but I don't see any sense in this right now in
-+ * the kernel context
-+ */
-+#define __cold			__attribute__((__cold__))
-+
-+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
-+
-+#ifndef __CHECKER__
-+# define __compiletime_warning(message) __attribute__((warning(message)))
-+# define __compiletime_error(message) __attribute__((error(message)))
-+#endif /* __CHECKER__ */
-+#endif /* GCC_VERSION >= 40300 */
-+
-+#if GCC_VERSION >= 40500
-+/*
-+ * Mark a position in code as unreachable.  This can be used to
-+ * suppress control flow warnings after asm blocks that transfer
-+ * control elsewhere.
-+ *
-+ * Early snapshots of gcc 4.5 don't support this and we can't detect
-+ * this in the preprocessor, but we can live with this because they're
-+ * unreleased.  Really, we need to have autoconf for the kernel.
-+ */
-+#define unreachable() __builtin_unreachable()
-+
-+/* Mark a function definition as prohibited from being cloned. */
-+#define __noclone	__attribute__((__noclone__))
-+
-+#endif /* GCC_VERSION >= 40500 */
-+
-+#if GCC_VERSION >= 40600
-+/*
-+ * Tell the optimizer that something else uses this function or variable.
-+ */
-+#define __visible	__attribute__((externally_visible))
-+#endif
-+
-+/*
-+ * GCC 'asm goto' miscompiles certain code sequences:
-+ *
-+ *   http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
-+ *
-+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
-+ *
-+ * (asm goto is automatically volatile - the naming reflects this.)
-+ */
-+#define asm_volatile_goto(x...)	do { asm goto(x); asm (""); } while (0)
-+
-+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
-+#if GCC_VERSION >= 40400
-+#define __HAVE_BUILTIN_BSWAP32__
-+#define __HAVE_BUILTIN_BSWAP64__
-+#endif
-+#if GCC_VERSION >= 40800 || (defined(__powerpc__) && GCC_VERSION >= 40600)
-+#define __HAVE_BUILTIN_BSWAP16__
-+#endif
-+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
-+
-+#if GCC_VERSION >= 50000
-+#define KASAN_ABI_VERSION 4
-+#elif GCC_VERSION >= 40902
-+#define KASAN_ABI_VERSION 3
-+#endif
-+
-+#endif	/* gcc version >= 40000 specific checks */
-+
-+#ifndef OPTIMIZER_HIDE_VAR
-+#define OPTIMIZER_HIDE_VAR(var) __asm__ ("" : "=r" (var) : "0" (var))
-+#endif