mirror of https://github.com/OpenIPC/firmware.git
[no ci] General: move additional packages to legacy (#1723)
parent
fef50b8a91
commit
02a588c303
|
@ -72,7 +72,7 @@ jobs:
|
||||||
URL=https://github.com/${GITHUB_REPOSITORY}/releases/download/${TAG_NAME}/${GCC}
|
URL=https://github.com/${GITHUB_REPOSITORY}/releases/download/${TAG_NAME}/${GCC}
|
||||||
echo ${URL}
|
echo ${URL}
|
||||||
if ! wget -q --spider ${URL}; then
|
if ! wget -q --spider ${URL}; then
|
||||||
make BOARD=${CONFIG} toolchain
|
make BOARD=${{matrix.platform}} toolchain
|
||||||
SDK=$(find output/images -name *_sdk-buildroot.tar.gz)
|
SDK=$(find output/images -name *_sdk-buildroot.tar.gz)
|
||||||
mv ${SDK} ${GCC}
|
mv ${SDK} ${GCC}
|
||||||
echo GCC=${GCC} >> ${GITHUB_ENV}
|
echo GCC=${GCC} >> ${GITHUB_ENV}
|
||||||
|
|
3
Makefile
3
Makefile
|
@ -71,10 +71,11 @@ timer:
|
||||||
|
|
||||||
toolchain: defconfig
|
toolchain: defconfig
|
||||||
ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)
|
ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)
|
||||||
|
@cp -rf $(PWD)/general/legacy/package/gcc $(TARGET)/buildroot-$(BR_VER)/package
|
||||||
@$(MAKE) -f $(PWD)/general/toolchain.mk BR_CONF=$(BR_CONF) CONFIG=$(PWD)/$(CONFIG)
|
@$(MAKE) -f $(PWD)/general/toolchain.mk BR_CONF=$(BR_CONF) CONFIG=$(PWD)/$(CONFIG)
|
||||||
@$(BR_MAKE) BR2_DEFCONFIG=$(BR_CONF) defconfig
|
@$(BR_MAKE) BR2_DEFCONFIG=$(BR_CONF) defconfig
|
||||||
endif
|
endif
|
||||||
@$(BR_MAKE) sdk
|
@$(BR_MAKE) sdk -j$(shell nproc)
|
||||||
|
|
||||||
repack:
|
repack:
|
||||||
ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS),y)
|
ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS),y)
|
||||||
|
|
|
@ -65,6 +65,7 @@ BR2_PACKAGE_LIBOGG_OPENIPC=y
|
||||||
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
|
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
|
||||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
|
||||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
|
||||||
|
BR2_PACKAGE_AWS_WEBRTC=y
|
||||||
BR2_PACKAGE_MAJESTIC_FONTS=y
|
BR2_PACKAGE_MAJESTIC_FONTS=y
|
||||||
BR2_PACKAGE_MAJESTIC_WEBUI=y
|
BR2_PACKAGE_MAJESTIC_WEBUI=y
|
||||||
BR2_PACKAGE_MAJESTIC=y
|
BR2_PACKAGE_MAJESTIC=y
|
||||||
|
|
|
@ -65,6 +65,7 @@ BR2_PACKAGE_LIBOGG_OPENIPC=y
|
||||||
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
|
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
|
||||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
|
||||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
|
||||||
|
BR2_PACKAGE_AWS_WEBRTC=y
|
||||||
BR2_PACKAGE_MAJESTIC_FONTS=y
|
BR2_PACKAGE_MAJESTIC_FONTS=y
|
||||||
BR2_PACKAGE_MAJESTIC_WEBUI=y
|
BR2_PACKAGE_MAJESTIC_WEBUI=y
|
||||||
BR2_PACKAGE_MAJESTIC=y
|
BR2_PACKAGE_MAJESTIC=y
|
||||||
|
|
|
@ -11,6 +11,7 @@ BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3=y
|
||||||
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
|
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
|
||||||
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
|
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
|
||||||
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
||||||
|
BR2_GCC_VERSION_LEGACY=y
|
||||||
|
|
||||||
# Kernel
|
# Kernel
|
||||||
BR2_LINUX_KERNEL=y
|
BR2_LINUX_KERNEL=y
|
||||||
|
|
|
@ -11,6 +11,7 @@ BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3=y
|
||||||
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
|
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
|
||||||
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
|
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
|
||||||
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
||||||
|
BR2_GCC_VERSION_LEGACY=y
|
||||||
|
|
||||||
# Kernel
|
# Kernel
|
||||||
BR2_LINUX_KERNEL=y
|
BR2_LINUX_KERNEL=y
|
||||||
|
|
|
@ -67,6 +67,7 @@ BR2_PACKAGE_LIBOGG_OPENIPC=y
|
||||||
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
|
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
|
||||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
|
||||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
|
||||||
|
BR2_PACKAGE_AWS_WEBRTC=y
|
||||||
BR2_PACKAGE_MAJESTIC_FONTS=y
|
BR2_PACKAGE_MAJESTIC_FONTS=y
|
||||||
BR2_PACKAGE_MAJESTIC_WEBUI=y
|
BR2_PACKAGE_MAJESTIC_WEBUI=y
|
||||||
BR2_PACKAGE_MAJESTIC=y
|
BR2_PACKAGE_MAJESTIC=y
|
||||||
|
|
|
@ -67,6 +67,7 @@ BR2_PACKAGE_LIBOGG_OPENIPC=y
|
||||||
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
|
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
|
||||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
|
||||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
|
||||||
|
BR2_PACKAGE_AWS_WEBRTC=y
|
||||||
BR2_PACKAGE_MAJESTIC_FONTS=y
|
BR2_PACKAGE_MAJESTIC_FONTS=y
|
||||||
BR2_PACKAGE_MAJESTIC_WEBUI=y
|
BR2_PACKAGE_MAJESTIC_WEBUI=y
|
||||||
BR2_PACKAGE_MAJESTIC=y
|
BR2_PACKAGE_MAJESTIC=y
|
||||||
|
|
|
@ -65,6 +65,7 @@ BR2_PACKAGE_LIBOGG_OPENIPC=y
|
||||||
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
|
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
|
||||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
|
||||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
|
||||||
|
BR2_PACKAGE_AWS_WEBRTC=y
|
||||||
BR2_PACKAGE_MAJESTIC_FONTS=y
|
BR2_PACKAGE_MAJESTIC_FONTS=y
|
||||||
BR2_PACKAGE_MAJESTIC_WEBUI=y
|
BR2_PACKAGE_MAJESTIC_WEBUI=y
|
||||||
BR2_PACKAGE_MAJESTIC=y
|
BR2_PACKAGE_MAJESTIC=y
|
||||||
|
|
|
@ -67,6 +67,7 @@ BR2_PACKAGE_LIBOGG_OPENIPC=y
|
||||||
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
|
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
|
||||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
|
||||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
|
||||||
|
BR2_PACKAGE_AWS_WEBRTC=y
|
||||||
BR2_PACKAGE_MAJESTIC_FONTS=y
|
BR2_PACKAGE_MAJESTIC_FONTS=y
|
||||||
BR2_PACKAGE_MAJESTIC_WEBUI=y
|
BR2_PACKAGE_MAJESTIC_WEBUI=y
|
||||||
BR2_PACKAGE_MAJESTIC=y
|
BR2_PACKAGE_MAJESTIC=y
|
||||||
|
|
|
@ -70,6 +70,7 @@ BR2_PACKAGE_LIBOGG_OPENIPC=y
|
||||||
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
|
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
|
||||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
|
||||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
|
||||||
|
BR2_PACKAGE_AWS_WEBRTC=y
|
||||||
BR2_PACKAGE_MAJESTIC_FONTS=y
|
BR2_PACKAGE_MAJESTIC_FONTS=y
|
||||||
BR2_PACKAGE_MAJESTIC_WEBUI=y
|
BR2_PACKAGE_MAJESTIC_WEBUI=y
|
||||||
BR2_PACKAGE_MAJESTIC=y
|
BR2_PACKAGE_MAJESTIC=y
|
||||||
|
|
|
@ -73,6 +73,7 @@ BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
|
||||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
|
||||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
|
||||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_RTL_8188EU=y
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_RTL_8188EU=y
|
||||||
|
BR2_PACKAGE_AWS_WEBRTC=y
|
||||||
BR2_PACKAGE_MAJESTIC_FONTS=y
|
BR2_PACKAGE_MAJESTIC_FONTS=y
|
||||||
BR2_PACKAGE_MAJESTIC_WEBUI=y
|
BR2_PACKAGE_MAJESTIC_WEBUI=y
|
||||||
BR2_PACKAGE_MAJESTIC=y
|
BR2_PACKAGE_MAJESTIC=y
|
||||||
|
|
|
@ -67,6 +67,7 @@ BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
|
||||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
|
||||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
|
||||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_RTL_8188EU=y
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_RTL_8188EU=y
|
||||||
|
BR2_PACKAGE_AWS_WEBRTC=y
|
||||||
BR2_PACKAGE_MAJESTIC_FONTS=y
|
BR2_PACKAGE_MAJESTIC_FONTS=y
|
||||||
BR2_PACKAGE_MAJESTIC_WEBUI=y
|
BR2_PACKAGE_MAJESTIC_WEBUI=y
|
||||||
BR2_PACKAGE_MAJESTIC=y
|
BR2_PACKAGE_MAJESTIC=y
|
||||||
|
|
|
@ -71,6 +71,7 @@ BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
|
||||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
|
||||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
|
||||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_RTL_8188EU=y
|
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_RTL_8188EU=y
|
||||||
|
BR2_PACKAGE_AWS_WEBRTC=y
|
||||||
BR2_PACKAGE_MAJESTIC_FONTS=y
|
BR2_PACKAGE_MAJESTIC_FONTS=y
|
||||||
BR2_PACKAGE_MAJESTIC_WEBUI=y
|
BR2_PACKAGE_MAJESTIC_WEBUI=y
|
||||||
BR2_PACKAGE_MAJESTIC=y
|
BR2_PACKAGE_MAJESTIC=y
|
||||||
|
|
|
@ -15,6 +15,7 @@ BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-openipc-linux-musleabihf"
|
||||||
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y
|
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y
|
||||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
|
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
|
||||||
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
||||||
|
BR2_GCC_VERSION_LEGACY=y
|
||||||
|
|
||||||
# Kernel
|
# Kernel
|
||||||
BR2_LINUX_KERNEL=y
|
BR2_LINUX_KERNEL=y
|
||||||
|
|
|
@ -15,6 +15,7 @@ BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-openipc-linux-musleabihf"
|
||||||
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y
|
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y
|
||||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
|
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
|
||||||
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
||||||
|
BR2_GCC_VERSION_LEGACY=y
|
||||||
|
|
||||||
# Kernel
|
# Kernel
|
||||||
BR2_LINUX_KERNEL=y
|
BR2_LINUX_KERNEL=y
|
||||||
|
|
|
@ -10,6 +10,7 @@ BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-openipc-linux-musleabi"
|
||||||
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0=y
|
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0=y
|
||||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
|
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
|
||||||
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
||||||
|
BR2_GCC_VERSION_LEGACY=y
|
||||||
|
|
||||||
# Kernel
|
# Kernel
|
||||||
BR2_LINUX_KERNEL=y
|
BR2_LINUX_KERNEL=y
|
||||||
|
|
|
@ -11,6 +11,7 @@ BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-openipc-linux-musleabi"
|
||||||
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
|
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
|
||||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
|
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
|
||||||
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
||||||
|
BR2_GCC_VERSION_LEGACY=y
|
||||||
|
|
||||||
# Kernel
|
# Kernel
|
||||||
BR2_LINUX_KERNEL=y
|
BR2_LINUX_KERNEL=y
|
||||||
|
|
|
@ -11,6 +11,7 @@ BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-openipc-linux-musleabi"
|
||||||
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
|
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
|
||||||
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
|
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
|
||||||
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
||||||
|
BR2_GCC_VERSION_LEGACY=y
|
||||||
|
|
||||||
# Kernel
|
# Kernel
|
||||||
BR2_LINUX_KERNEL=y
|
BR2_LINUX_KERNEL=y
|
||||||
|
|
|
@ -0,0 +1,147 @@
|
||||||
|
comment "GCC Options"
|
||||||
|
|
||||||
|
choice
|
||||||
|
prompt "GCC compiler Version"
|
||||||
|
default BR2_GCC_VERSION_ARC if BR2_GCC_VERSION_4_8_ARC # legacy
|
||||||
|
default BR2_GCC_VERSION_ARC if BR2_arc
|
||||||
|
default BR2_GCC_VERSION_POWERPC_SPE if BR2_POWERPC_CPU_HAS_SPE
|
||||||
|
default BR2_GCC_VERSION_12_X
|
||||||
|
help
|
||||||
|
Select the version of gcc you wish to use.
|
||||||
|
|
||||||
|
config BR2_GCC_VERSION_ARC
|
||||||
|
bool "gcc arc (13.1)"
|
||||||
|
# Only supported architecture
|
||||||
|
depends on BR2_arc
|
||||||
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_13
|
||||||
|
|
||||||
|
config BR2_GCC_VERSION_POWERPC_SPE
|
||||||
|
bool "gcc powerpc spe"
|
||||||
|
# powerpc spe support has been deprecated since gcc 8.x.
|
||||||
|
# https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html
|
||||||
|
depends on BR2_POWERPC_CPU_HAS_SPE
|
||||||
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_8
|
||||||
|
|
||||||
|
config BR2_GCC_VERSION_LEGACY
|
||||||
|
bool "gcc 8.x"
|
||||||
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_8
|
||||||
|
|
||||||
|
config BR2_GCC_VERSION_11_X
|
||||||
|
bool "gcc 11.x"
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12
|
||||||
|
# powerpc spe support has been deprecated since gcc 8.x.
|
||||||
|
# https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html
|
||||||
|
depends on !BR2_POWERPC_CPU_HAS_SPE
|
||||||
|
# ARC HS48 rel 31 only supported by gcc arc fork.
|
||||||
|
depends on !BR2_archs4x_rel31
|
||||||
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_11
|
||||||
|
|
||||||
|
config BR2_GCC_VERSION_12_X
|
||||||
|
bool "gcc 12.x"
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13
|
||||||
|
# powerpc spe support has been deprecated since gcc 8.x.
|
||||||
|
# https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html
|
||||||
|
depends on !BR2_POWERPC_CPU_HAS_SPE
|
||||||
|
# ARC HS48 rel 31 only supported by gcc arc fork.
|
||||||
|
depends on !BR2_archs4x_rel31
|
||||||
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_12
|
||||||
|
|
||||||
|
config BR2_GCC_VERSION_13_X
|
||||||
|
bool "gcc 13.x"
|
||||||
|
# powerpc spe support has been deprecated since gcc 8.x.
|
||||||
|
# https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html
|
||||||
|
depends on !BR2_POWERPC_CPU_HAS_SPE
|
||||||
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_13
|
||||||
|
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
# libcilkrts was introduced in gcc 4.9 and removed in gcc 8.x
|
||||||
|
config BR2_GCC_SUPPORTS_LIBCILKRTS
|
||||||
|
bool
|
||||||
|
default y if !BR2_TOOLCHAIN_GCC_AT_LEAST_8
|
||||||
|
|
||||||
|
config BR2_GCC_SUPPORTS_DLANG
|
||||||
|
bool
|
||||||
|
default y if BR2_aarch64
|
||||||
|
default y if BR2_arm
|
||||||
|
default y if BR2_i386
|
||||||
|
default y if BR2_mips || BR2_mipsel
|
||||||
|
default y if BR2_mips64 || BR2_mips64el
|
||||||
|
default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
|
||||||
|
default y if BR2_x86_64
|
||||||
|
default y if BR2_riscv && !BR2_RISCV_64
|
||||||
|
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9
|
||||||
|
depends on BR2_TOOLCHAIN_USES_GLIBC
|
||||||
|
# "The D front-end is now itself written in D, in order to build GDC, you
|
||||||
|
# will need a working GDC compiler (GCC version 9.1 or later)."
|
||||||
|
# https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=5fee5ec362f7a243f459e6378fd49dfc89dc9fb5
|
||||||
|
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_12
|
||||||
|
|
||||||
|
config BR2_GCC_VERSION
|
||||||
|
string
|
||||||
|
default "8.4.0" if BR2_GCC_VERSION_LEGACY
|
||||||
|
default "11.4.0" if BR2_GCC_VERSION_11_X
|
||||||
|
default "12.4.0" if BR2_GCC_VERSION_12_X
|
||||||
|
default "13.3.0" if BR2_GCC_VERSION_13_X
|
||||||
|
default "arc-2023.09-release" if BR2_GCC_VERSION_ARC
|
||||||
|
|
||||||
|
config BR2_EXTRA_GCC_CONFIG_OPTIONS
|
||||||
|
string "Additional gcc options"
|
||||||
|
default ""
|
||||||
|
help
|
||||||
|
Any additional gcc configure options you may want to
|
||||||
|
include. Those options are applied for all of the gcc
|
||||||
|
initial, gcc intermediate and gcc final passes.
|
||||||
|
|
||||||
|
config BR2_TOOLCHAIN_BUILDROOT_CXX
|
||||||
|
bool "Enable C++ support"
|
||||||
|
select BR2_INSTALL_LIBSTDCPP
|
||||||
|
help
|
||||||
|
Enable this option if you want your toolchain to support the
|
||||||
|
C++ language and you want C++ libraries to be installed on
|
||||||
|
your target system.
|
||||||
|
|
||||||
|
comment "Fortran support needs a toolchain w/ wchar"
|
||||||
|
depends on BR2_TOOLCHAIN_HAS_LIBQUADMATH
|
||||||
|
depends on !BR2_USE_WCHAR # libquadmath
|
||||||
|
|
||||||
|
config BR2_TOOLCHAIN_BUILDROOT_FORTRAN
|
||||||
|
bool "Enable Fortran support"
|
||||||
|
# on architecture building libquadmath, wchar is required
|
||||||
|
depends on !BR2_TOOLCHAIN_HAS_LIBQUADMATH || \
|
||||||
|
(BR2_TOOLCHAIN_HAS_LIBQUADMATH && BR2_USE_WCHAR)
|
||||||
|
# internal compiler error: in gen_reg_rtx, at emit-rtl.cc:1167
|
||||||
|
# fixed in gcc 14.x, so disable gcc 12.x/13.x
|
||||||
|
depends on !(BR2_microblaze && \
|
||||||
|
(BR2_GCC_VERSION_12_X || BR2_GCC_VERSION_13_X))
|
||||||
|
select BR2_TOOLCHAIN_HAS_FORTRAN
|
||||||
|
help
|
||||||
|
Enable this option if you want your toolchain to support the
|
||||||
|
Fortran language and you want Fortran libraries to be
|
||||||
|
installed on your target system.
|
||||||
|
|
||||||
|
config BR2_TOOLCHAIN_BUILDROOT_DLANG
|
||||||
|
bool "Enable D language support"
|
||||||
|
depends on BR2_GCC_SUPPORTS_DLANG
|
||||||
|
select BR2_TOOLCHAIN_HAS_DLANG
|
||||||
|
help
|
||||||
|
Enable this option if you want your toolchain to support the
|
||||||
|
D language and you want D libraries to be installed on your
|
||||||
|
target system.
|
||||||
|
|
||||||
|
config BR2_GCC_ENABLE_OPENMP
|
||||||
|
bool "Enable compiler OpenMP support"
|
||||||
|
depends on !BR2_PTHREADS_NONE && !BR2_arc && !BR2_microblaze
|
||||||
|
select BR2_TOOLCHAIN_HAS_OPENMP
|
||||||
|
help
|
||||||
|
Enable OpenMP support for the compiler
|
||||||
|
|
||||||
|
config BR2_GCC_ENABLE_GRAPHITE
|
||||||
|
bool "Enable graphite support"
|
||||||
|
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5
|
||||||
|
help
|
||||||
|
This option enables the graphite optimizations in the
|
||||||
|
compiler.
|
||||||
|
|
||||||
|
comment "graphite support needs gcc >= 5.x"
|
||||||
|
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5
|
|
@ -5,11 +5,9 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/ambarella-osdrv-s3l/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/atbm60xx/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/atbm60xx/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/atbm-wifi/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/atbm-wifi/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/aura-httpd/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/aura-httpd/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/autonight/Config.in"
|
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/aws-producer/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/aws-producer/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/aws-webrtc/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/aws-webrtc/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/baresip-openipc/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/baresip-openipc/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/capjpeg/Config.in"
|
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/comgt/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/comgt/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/divinus/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/divinus/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/dropbear-openipc/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/dropbear-openipc/Config.in"
|
||||||
|
@ -25,7 +23,6 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/goke-osdrv-gk710x/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/goke-osdrv-gk7205v200/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/goke-osdrv-gk7205v200/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/goke-osdrv-gk7205v500/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/goke-osdrv-gk7205v500/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/grainmedia-osdrv-gm8136/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/grainmedia-osdrv-gm8136/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/gst1-plugins-bad-openipc/Config.in"
|
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/hisi-gpio/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/hisi-gpio/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/hisilicon-opensdk/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/hisilicon-opensdk/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/hisilicon-osdrv-hi3516av100/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/hisilicon-osdrv-hi3516av100/Config.in"
|
||||||
|
@ -36,8 +33,6 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/hisilicon-osdrv-hi3516cv500/Config.in
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/hisilicon-osdrv-hi3516ev200/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/hisilicon-osdrv-hi3516ev200/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/hisilicon-osdrv-hi3519v101/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/hisilicon-osdrv-hi3519v101/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/hisilicon-osdrv-hi3536dv100/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/hisilicon-osdrv-hi3536dv100/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/hisilicon-osdrv-serdes/Config.in"
|
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/hisilicon-osdrv1-sources/Config.in"
|
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/i2c-telemetry/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/i2c-telemetry/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/ingenic-opensdk/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/ingenic-opensdk/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/ingenic-osdrv-t20/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/ingenic-osdrv-t20/Config.in"
|
||||||
|
@ -59,14 +54,11 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/libsrtp-openipc/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/libwebsockets-openipc/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/libwebsockets-openipc/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/linux-firmware-openipc/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/linux-firmware-openipc/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/linux-patcher/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/linux-patcher/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/lshell/Config.in"
|
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/majestic-fonts/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/majestic-fonts/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/majestic-plugins/Config.in"
|
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/majestic-webui/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/majestic-webui/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/majestic/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/majestic/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/mavfwd/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/mavfwd/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/mbedtls-openipc/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/mbedtls-openipc/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/mini-snmpd-openipc/Config.in"
|
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/mini/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/mini/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/motors/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/motors/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/msposd/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/msposd/Config.in"
|
||||||
|
@ -78,7 +70,6 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/onvif-simple-server/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/opus-openipc/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/opus-openipc/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/osd-openipc/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/osd-openipc/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/quirc-openipc/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/quirc-openipc/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/rcjoystick/Config.in"
|
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/rockchip-osdrv-rv11xx/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/rockchip-osdrv-rv11xx/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/rtl88x2eu-openipc/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/rtl88x2eu-openipc/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/rtl8812au/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/rtl8812au/Config.in"
|
||||||
|
@ -120,8 +111,18 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/xmdp/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/yaml-cli/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/yaml-cli/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/zerotier-one/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/zerotier-one/Config.in"
|
||||||
|
|
||||||
|
# Legacy
|
||||||
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/autonight/Config.in"
|
||||||
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/capjpeg/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/datalink/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/datalink/Config.in"
|
||||||
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/gst1-plugins-bad-openipc/Config.in"
|
||||||
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/hisilicon-osdrv-serdes/Config.in"
|
||||||
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/hisilicon-osdrv1-sources/Config.in"
|
||||||
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/lshell/Config.in"
|
||||||
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/majestic-plugins/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/mavlink-router/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/mavlink-router/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/microsnander/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/microsnander/Config.in"
|
||||||
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/mini-snmpd-openipc/Config.in"
|
||||||
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/rcjoystick/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/webui/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/webui/Config.in"
|
||||||
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/wifibroadcast/Config.in"
|
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/wifibroadcast/Config.in"
|
||||||
|
|
|
@ -0,0 +1,64 @@
|
||||||
|
diff --git a/include/linux/compiler-gcc8.h b/include/linux/compiler-gcc8.h
|
||||||
|
new file mode 100644
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/include/linux/compiler-gcc8.h
|
||||||
|
@@ -0,0 +1,59 @@
|
||||||
|
+#ifndef __LINUX_COMPILER_H
|
||||||
|
+#error "Please don't include <linux/compiler-gcc8.h> directly, include <linux/compiler.h> instead."
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#define __used __attribute__((__used__))
|
||||||
|
+#define __must_check __attribute__((warn_unused_result))
|
||||||
|
+#define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
|
||||||
|
+
|
||||||
|
+/* 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]
|
||||||
|
+
|
||||||
|
+ 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__ */
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * Mark a position in code as unreachable. This can be used to
|
||||||
|
+ * suppress control flow warnings after asm blocks that transfer
|
||||||
|
+ * control elsewhere.
|
||||||
|
+ */
|
||||||
|
+#define unreachable() __builtin_unreachable()
|
||||||
|
+
|
||||||
|
+/* Mark a function definition as prohibited from being cloned. */
|
||||||
|
+#define __noclone __attribute__((__noclone__))
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * Tell the optimizer that something else uses this function or variable.
|
||||||
|
+ */
|
||||||
|
+#define __visible __attribute__((externally_visible))
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * 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
|
||||||
|
+#define __HAVE_BUILTIN_BSWAP32__
|
||||||
|
+#define __HAVE_BUILTIN_BSWAP64__
|
||||||
|
+#define __HAVE_BUILTIN_BSWAP16__
|
||||||
|
+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
|
||||||
|
+
|
||||||
|
+#define KASAN_ABI_VERSION 6
|
|
@ -0,0 +1,131 @@
|
||||||
|
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
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue