Browse Source

lm32: add back old gcc, fixes ld segfault when linking kernel

Waldemar Brodkorb 8 months ago
parent
commit
4975cdba82

+ 2 - 0
target/config/Config.in.binutils

@@ -7,6 +7,7 @@ default ADK_TOOLCHAIN_BINUTILS_AVR32 if ADK_TARGET_ARCH_AVR32
 default ADK_TOOLCHAIN_BINUTILS_KVX if ADK_TARGET_ARCH_KVX
 default ADK_TOOLCHAIN_BINUTILS_2_28 if ADK_TARGET_CPU_SH_J2
 default ADK_TOOLCHAIN_BINUTILS_2_38 if ADK_TARGET_ARCH_NDS32
+default ADK_TOOLCHAIN_BINUTILS_2_40 if ADK_TARGET_ARCH_LM32
 default ADK_TOOLCHAIN_BINUTILS_2_41
 
 config ADK_TOOLCHAIN_BINUTILS_GIT
@@ -17,6 +18,7 @@ config ADK_TOOLCHAIN_BINUTILS_GIT
 config ADK_TOOLCHAIN_BINUTILS_2_41
 	bool "2.41"
 	depends on !ADK_TARGET_ARCH_AVR32
+	depends on !ADK_TARGET_ARCH_LM32
 	depends on !ADK_TARGET_ARCH_KVX
 
 config ADK_TOOLCHAIN_BINUTILS_2_40

+ 5 - 0
target/config/Config.in.compiler

@@ -14,6 +14,7 @@ prompt "GCC version"
 depends on ADK_BUILD_COMPILER_GCC
 default ADK_TOOLCHAIN_GCC_AVR32 if ADK_TARGET_ARCH_AVR32
 default ADK_TOOLCHAIN_GCC_KVX if ADK_TARGET_ARCH_KVX
+default ADK_TOOLCHAIN_GCC_LM32 if ADK_TARGET_ARCH_LM32
 default ADK_TOOLCHAIN_GCC_METAG if ADK_TARGET_ARCH_METAG
 default ADK_TOOLCHAIN_GCC_7 if ADK_TARGET_ARCH_C6X # ICE with newer GCC
 default ADK_TOOLCHAIN_GCC_9 if ADK_TARGET_ARCH_BFIN && ADK_TARGET_BINFMT_FDPIC
@@ -93,6 +94,10 @@ config ADK_TOOLCHAIN_GCC_AVR32
 	bool "4.4.7-avr32"
 	depends on ADK_TARGET_ARCH_AVR32
 
+config ADK_TOOLCHAIN_GCC_LM32
+	bool "4.5.4-lm32"
+	depends on ADK_TARGET_ARCH_LM32
+
 config ADK_TOOLCHAIN_GCC_METAG
 	bool "4.2.4-metag"
 	depends on ADK_TARGET_ARCH_METAG

+ 8 - 0
toolchain/gcc/Makefile.inc

@@ -66,6 +66,14 @@ PKG_RELEASE:=		1
 DISTFILES:=		${PKG_NAME}-${PKG_VERSION}.tar.gz
 LIBSTDCXXVER:=		19
 endif
+ifeq ($(ADK_TOOLCHAIN_GCC_LM32),y)
+PKG_VERSION:=		4.5.4
+PKG_HASH:=		33fb968907ef7b6c528f6395ba049eb34c4df859bf5aa6c2bc3856268801e078
+PKG_SITES:=		https://ftp.gnu.org/gnu/gcc/gcc-$(PKG_VERSION)/
+PKG_RELEASE:=		1
+DISTFILES:=		${PKG_NAME}-${PKG_VERSION}.tar.gz
+LIBSTDCXXVER:=		19
+endif
 ifeq ($(ADK_TOOLCHAIN_GCC_METAG),y)
 PKG_VERSION:=		4.2.4
 PKG_HASH:=		7cb75c5183bd18f415860084440377016dc78feeee2852227b831f2e4fcaa5d6

+ 1 - 1
toolchain/gcc/patches/4.5.4/gcc.lm32

@@ -114,7 +114,7 @@ diff -Nur gcc-4.5.4.orig/libgcc/config.host gcc-4.5.4/libgcc/config.host
          tmake_file="lm32/t-lm32 lm32/t-elf t-softfp"
  	;;
 -lm32-*-uclinux*)
-+lm32-*-linux*)
++lm32-*-*linux*)
          extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
 -        tmake_file="lm32/t-lm32 lm32/t-uclinux t-softfp"
 +        tmake_file="lm32/t-lm32 t-softfp"