Radix cross Linux Toolchains

Toolchains for all supported by Radix cross Linux devices

42 Commits   1 Branch   8 Tags
Index: binutils/2.40/Makefile
===================================================================
--- binutils/2.40/Makefile	(revision 9)
+++ binutils/2.40/Makefile	(revision 10)
@@ -28,6 +28,7 @@
 COMPONENT_TARGETS += $(TOOLCHAIN_A311X_GLIBC)
 COMPONENT_TARGETS += $(TOOLCHAIN_RK33XX_GLIBC)
 COMPONENT_TARGETS += $(TOOLCHAIN_RK339X_GLIBC)
+COMPONENT_TARGETS += $(TOOLCHAIN_RK358X_GLIBC)
 COMPONENT_TARGETS += $(TOOLCHAIN_A33XX_GLIBC)
 
 COMPONENT_TARGETS += $(TOOLCHAIN_POWER8_GLIBC)
@@ -341,6 +342,23 @@
 extra_configure_switches += --with-sysroot=$(sysroot_dir)
 endif
 
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_RK358X_GLIBC)),)
+extra_configure_switches  = '--with-pkgversion=Radix $(TOOLCHAINS_VERSION)'
+extra_configure_switches += '--with-bugurl=https://radix.pro'
+# experimental gold linker( DEFAULT_LD=ld.bfd ):
+extra_configure_switches += --enable-gold=yes
+extra_configure_switches += --enable-ld=default
+extra_configure_switches += --enable-werror=no
+# standard options:
+extra_configure_switches += --disable-multilib
+extra_configure_switches += --with-cpu=cortex-a75
+extra_configure_switches += --with-arch=armv8-a
+extra_configure_switches += --with-fpu=neon-fp-armv8
+extra_configure_switches += --with-abi=lp64
+extra_configure_switches += --disable-compressed-debug-sections
+extra_configure_switches += --with-sysroot=$(sysroot_dir)
+endif
+
 ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_A33XX_GLIBC)),)
 extra_configure_switches  = '--with-pkgversion=Radix $(TOOLCHAINS_VERSION)'
 extra_configure_switches += '--with-bugurl=https://radix.pro'
Index: gcc/12.2.0/Makefile
===================================================================
--- gcc/12.2.0/Makefile	(revision 9)
+++ gcc/12.2.0/Makefile	(revision 10)
@@ -28,6 +28,7 @@
 COMPONENT_TARGETS += $(TOOLCHAIN_A311X_GLIBC)
 COMPONENT_TARGETS += $(TOOLCHAIN_RK33XX_GLIBC)
 COMPONENT_TARGETS += $(TOOLCHAIN_RK339X_GLIBC)
+COMPONENT_TARGETS += $(TOOLCHAIN_RK358X_GLIBC)
 COMPONENT_TARGETS += $(TOOLCHAIN_A33XX_GLIBC)
 
 COMPONENT_TARGETS += $(TOOLCHAIN_POWER8_GLIBC)
@@ -116,6 +117,7 @@
                              $(TOOLCHAIN_A311X_GLIBC)  \
                              $(TOOLCHAIN_RK33XX_GLIBC) \
                              $(TOOLCHAIN_RK339X_GLIBC) \
+                             $(TOOLCHAIN_RK358X_GLIBC) \
                              $(TOOLCHAIN_M1000_GLIBC)),)
 PATCHES = PATCHES.aarch64
 else
@@ -1114,6 +1116,72 @@
 extra_configure_switches += --disable-libssp
 extra_configure_switches += --enable-shared
 extra_configure_switches += --enable-plugin
+extra_configure_switches += --enable-lto
+extra_configure_switches += --enable-nls
+extra_configure_switches += --with-included-gettext
+endif
+endif
+
+
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_RK358X_GLIBC)),)
+extra_configure_switches  = '--with-pkgversion=Radix $(TOOLCHAINS_VERSION)'
+extra_configure_switches += '--with-bugurl=https://radix.pro'
+extra_configure_switches += --libdir=$(TOOLCHAIN_PATH)/lib$(LIBSUFFIX)
+extra_configure_switches += --disable-multiarch
+extra_configure_switches += --disable-multilib
+extra_configure_switches += --with-arch=armv8-a
+extra_configure_switches += --with-cpu=cortex-a75.cortex-a55
+extra_configure_switches += --with-abi=lp64
+# add
+extra_configure_switches += --enable-gold
+extra_configure_switches += --enable-c99
+extra_configure_switches += --enable-long-long
+extra_configure_switches += --disable-isl-version-check
+ifeq ($(FLAVOUR),static)
+extra_configure_switches += --disable-libatomic
+extra_configure_switches += --disable-libgomp
+extra_configure_switches += --disable-libitm
+extra_configure_switches += --disable-libmudflap
+extra_configure_switches += --disable-libquadmath
+extra_configure_switches += --disable-libsanitizer
+extra_configure_switches += --disable-libssp
+extra_configure_switches += --disable-libstdc++-v3
+extra_configure_switches += --disable-threads
+extra_configure_switches += --enable-languages=c
+extra_configure_switches += --disable-shared
+extra_configure_switches += --disable-nls
+# without-headers replacement, to make libgcc independed from glibc:
+extra_configure_switches += --with-newlib
+endif
+ifeq ($(FLAVOUR),second)
+extra_configure_switches += --with-sysroot=$(sysroot_dir)
+extra_configure_switches += --disable-libatomic
+extra_configure_switches += --disable-libgomp
+extra_configure_switches += --disable-libitm
+extra_configure_switches += --disable-libmudflap
+extra_configure_switches += --disable-libquadmath
+extra_configure_switches += --disable-libsanitizer
+extra_configure_switches += --disable-libssp
+extra_configure_switches += --disable-libstdc++-v3
+extra_configure_switches += --enable-languages=c
+extra_configure_switches += --disable-nls
+endif
+ifeq ($(FLAVOUR),full)
+extra_configure_switches += --with-sysroot=$(sysroot_dir)
+extra_configure_switches += --enable-languages=c,c++,d,objc,obj-c++,fortran,go,lto,ada
+extra_configure_switches += --enable-libstdcxx-dual-abi
+extra_configure_switches += --with-default-libstdcxx-abi=new
+extra_configure_switches += --disable-libstdcxx-pch
+extra_configure_switches += --disable-libunwind-exceptions
+extra_configure_switches += --with-linker-hash-style=gnu
+extra_configure_switches += --enable-gnu-unique-object
+extra_configure_switches += --enable-clocale=gnu
+extra_configure_switches += --enable-__cxa_atexit
+extra_configure_switches += --enable-threads=posix
+extra_configure_switches += --enable-default-ssp
+extra_configure_switches += --disable-libssp
+extra_configure_switches += --enable-shared
+extra_configure_switches += --enable-plugin
 extra_configure_switches += --enable-lto
 extra_configure_switches += --enable-nls
 extra_configure_switches += --with-included-gettext
Index: gdb/12.1/Makefile
===================================================================
--- gdb/12.1/Makefile	(revision 9)
+++ gdb/12.1/Makefile	(revision 10)
@@ -27,6 +27,7 @@
 COMPONENT_TARGETS += $(TOOLCHAIN_A311X_GLIBC)
 COMPONENT_TARGETS += $(TOOLCHAIN_RK33XX_GLIBC)
 COMPONENT_TARGETS += $(TOOLCHAIN_RK339X_GLIBC)
+COMPONENT_TARGETS += $(TOOLCHAIN_RK358X_GLIBC)
 COMPONENT_TARGETS += $(TOOLCHAIN_A33XX_GLIBC)
 
 COMPONENT_TARGETS += $(TOOLCHAIN_POWER8_GLIBC)
@@ -309,6 +310,15 @@
 extra_configure_switches += --with-build-sysroot=$(sysroot_dir)
 endif
 
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_RK358X_GLIBC)),)
+extra_configure_switches  = --disable-multilib
+extra_configure_switches += --with-arch=armv8-a
+extra_configure_switches += --with-cpu=cortex-a75
+extra_configure_switches += --with-fpu=neon-fp-armv8
+extra_configure_switches += --with-abi=lp64
+extra_configure_switches += --with-build-sysroot=$(sysroot_dir)
+endif
+
 ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_A33XX_GLIBC)),)
 extra_configure_switches  = --disable-multilib
 extra_configure_switches += --with-arch=armv8-a
Index: glibc/2.36/Makefile
===================================================================
--- glibc/2.36/Makefile	(revision 9)
+++ glibc/2.36/Makefile	(revision 10)
@@ -18,6 +18,7 @@
 COMPONENT_TARGETS += $(TOOLCHAIN_A311X_GLIBC)
 COMPONENT_TARGETS += $(TOOLCHAIN_RK33XX_GLIBC)
 COMPONENT_TARGETS += $(TOOLCHAIN_RK339X_GLIBC)
+COMPONENT_TARGETS += $(TOOLCHAIN_RK358X_GLIBC)
 COMPONENT_TARGETS += $(TOOLCHAIN_A33XX_GLIBC)
 
 COMPONENT_TARGETS += $(TOOLCHAIN_POWER8_GLIBC)
@@ -75,6 +76,7 @@
 ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_RK328X_GLIBC) \
                              $(TOOLCHAIN_RK33XX_GLIBC) \
                              $(TOOLCHAIN_RK339X_GLIBC) \
+                             $(TOOLCHAIN_RK358X_GLIBC) \
                              $(TOOLCHAIN_A33XX_GLIBC)),)
 REQUIRES  = core/linux/6.0.7
 endif
@@ -243,6 +245,10 @@
 environment += CFLAGS="-g -O3 -march=armv8-a -mcpu=cortex-a72.cortex-a53 -mabi=lp64"
 endif
 
+ifeq ($(TOOLCHAIN),$(TOOLCHAIN_RK358X_GLIBC))
+environment += CFLAGS="-g -O3 -march=armv8-a -mcpu=cortex-a75.cortex-a55 -mabi=lp64"
+endif
+
 ifeq ($(TOOLCHAIN),$(TOOLCHAIN_A33XX_GLIBC))
 environment += CFLAGS="-g -O3 -march=armv8-a -mfpu=neon-fp-armv8 -mfloat-abi=hard"
 endif
@@ -304,6 +310,7 @@
                              $(TOOLCHAIN_A311X_GLIBC)  \
                              $(TOOLCHAIN_RK33XX_GLIBC) \
                              $(TOOLCHAIN_RK339X_GLIBC) \
+                             $(TOOLCHAIN_RK358X_GLIBC) \
                              $(TOOLCHAIN_M1000_GLIBC)),)
 LIB_NAMES_SUFFIX = lp64
 endif
@@ -602,6 +609,27 @@
 endif
 endif
 
+ifeq ($(TOOLCHAIN),$(TOOLCHAIN_RK358X_GLIBC))
+extra_configure_switches   = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches  += --with-headers=$(sysroot_dir)/usr/include
+ifeq ($(FLAVOUR),headers)
+extra_configure_switches  += --with-binutils=$(TOOLCHAIN_PATH)/bin
+extra_configure_switches  += --enable-kernel=3.14.29
+extra_configure_switches  += --disable-profile
+extra_configure_switches  += --enable-bind-now
+extra_configure_switches  += --without-gd
+extra_configure_switches  += --without-cvs
+endif
+ifeq ($(FLAVOUR),full)
+extra_configure_switches  += --with-binutils=$(TOOLCHAIN_PATH)/bin
+extra_configure_switches  += --enable-kernel=3.14.29
+extra_configure_switches  += --disable-profile
+extra_configure_switches  += --enable-bind-now
+extra_configure_switches  += --without-gd
+extra_configure_switches  += --without-cvs
+endif
+endif
+
 ifeq ($(TOOLCHAIN),$(TOOLCHAIN_A33XX_GLIBC))
 extra_configure_switches   = --libdir=/usr/lib$(LIBSUFFIX)
 extra_configure_switches  += --with-headers=$(sysroot_dir)/usr/include
Index: linux/5.19.14/Makefile
===================================================================
--- linux/5.19.14/Makefile	(revision 9)
+++ linux/5.19.14/Makefile	(revision 10)
@@ -17,6 +17,7 @@
 COMPONENT_TARGETS += $(TOOLCHAIN_A311X_GLIBC)
 COMPONENT_TARGETS += $(TOOLCHAIN_RK33XX_GLIBC)
 COMPONENT_TARGETS += $(TOOLCHAIN_RK339X_GLIBC)
+COMPONENT_TARGETS += $(TOOLCHAIN_RK358X_GLIBC)
 COMPONENT_TARGETS += $(TOOLCHAIN_A33XX_GLIBC)
 
 COMPONENT_TARGETS += $(TOOLCHAIN_POWER8_GLIBC)
@@ -65,7 +66,7 @@
 ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_H5_GLIBC) \
                              $(TOOLCHAIN_S9XX_GLIBC) $(TOOLCHAIN_A311X_GLIBC) \
                              $(TOOLCHAIN_RK33XX_GLIBC) $(TOOLCHAIN_RK339X_GLIBC) \
-                             $(TOOLCHAIN_M1000_GLIBC)),)
+                             $(TOOLCHAIN_RK358X_GLIBC) $(TOOLCHAIN_M1000_GLIBC)),)
 arch = arm64
 endif
 
Index: linux/6.0.7/Makefile
===================================================================
--- linux/6.0.7/Makefile	(revision 9)
+++ linux/6.0.7/Makefile	(revision 10)
@@ -17,6 +17,7 @@
 COMPONENT_TARGETS += $(TOOLCHAIN_A311X_GLIBC)
 COMPONENT_TARGETS += $(TOOLCHAIN_RK33XX_GLIBC)
 COMPONENT_TARGETS += $(TOOLCHAIN_RK339X_GLIBC)
+COMPONENT_TARGETS += $(TOOLCHAIN_RK358X_GLIBC)
 COMPONENT_TARGETS += $(TOOLCHAIN_A33XX_GLIBC)
 
 COMPONENT_TARGETS += $(TOOLCHAIN_POWER8_GLIBC)
@@ -65,7 +66,7 @@
 ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_H5_GLIBC) \
                              $(TOOLCHAIN_S9XX_GLIBC) $(TOOLCHAIN_A311X_GLIBC) \
                              $(TOOLCHAIN_RK33XX_GLIBC) $(TOOLCHAIN_RK339X_GLIBC) \
-                             $(TOOLCHAIN_M1000_GLIBC)),)
+                             $(TOOLCHAIN_RK358X_GLIBC) $(TOOLCHAIN_M1000_GLIBC)),)
 arch = arm64
 endif