Browse Source

lm32: some more hacks

Waldemar Brodkorb 8 months ago
parent
commit
789bb2ef63

+ 2 - 2
target/lm32/uclibc-ng.config

@@ -51,7 +51,7 @@ ARCH_HAS_NO_MMU=y
 # Target CPU lacks a memory management unit (MMU)
 #
 UCLIBC_HAS_FLOATS=y
-UCLIBC_HAS_FPU=y
+# UCLIBC_HAS_FPU is not set
 DO_C99_MATH=y
 DO_XSI_MATH=y
 # UCLIBC_HAS_FENV is not set
@@ -66,7 +66,7 @@ HAVE_DOT_CONFIG=y
 HAVE_NO_PIC=y
 ARCH_HAS_NO_SHARED=y
 ARCH_HAS_NO_LDSO=y
-UCLIBC_CTOR_DTOR=y
+# UCLIBC_CTOR_DTOR is not set
 # HAS_NO_THREADS is not set
 UCLIBC_HAS_LINUXTHREADS=y
 UCLIBC_HAS_THREADS=y

+ 24 - 0
toolchain/binutils/patches/2.28/lm32.patch

@@ -0,0 +1,24 @@
+diff -Nur binutils-2.28.orig/bfd/config.bfd binutils-2.28/bfd/config.bfd
+--- binutils-2.28.orig/bfd/config.bfd	2017-03-02 09:23:53.000000000 +0100
++++ binutils-2.28/bfd/config.bfd	2023-08-27 11:54:08.526040118 +0200
+@@ -924,7 +924,7 @@
+     ;;
+ 
+   lm32-*-*linux*)
+-    targ_defvec=lm32_elf32_fdpic_vec
++    targ_defvec=lm32_elf32_vec
+     targ_selvecs=lm32_elf32_vec
+     ;;
+ 
+diff -Nur binutils-2.28.orig/ld/configure.tgt binutils-2.28/ld/configure.tgt
+--- binutils-2.28.orig/ld/configure.tgt	2017-03-02 09:23:54.000000000 +0100
++++ binutils-2.28/ld/configure.tgt	2023-08-27 11:54:43.882874903 +0200
+@@ -416,7 +416,7 @@
+ 			;;
+ iq2000-*-elf)           targ_emul=elf32iq2000 ; targ_extra_emuls="elf32iq10"
+ 			;;
+-lm32-*-*linux*)         targ_emul=elf32lm32fd ;;
++lm32-*-*linux*)         targ_emul=elf32lm32 ;;
+ lm32-*-*)               targ_emul=elf32lm32 ; targ_extra_emuls="elf32lm32fd"
+                         ;;
+ m32c-*-elf | m32c-*-rtems*)

+ 33 - 0
toolchain/elf2flt/patches/3051fec89bbd30de6f952dc3100712feff3ca076/0001-.rofixup-fix.patch

@@ -0,0 +1,33 @@
+From 270b461e88b47781b3ef9bba2779074d0eb4996b Mon Sep 17 00:00:00 2001
+From: Waldemar Brodkorb <wbx@openadk.org>
+Date: Fri, 25 Aug 2023 05:04:53 +0200
+Subject: [PATCH] .rofixup fix
+
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+---
+ elf2flt.ld.in | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/elf2flt.ld.in b/elf2flt.ld.in
+index c7e01a6..c69531e 100644
+--- a/elf2flt.ld.in
++++ b/elf2flt.ld.in
+@@ -31,6 +31,7 @@ W_RODAT		*(.rodata)
+ W_RODAT		*(.rodata1)
+ W_RODAT		*(.rodata.*)
+ W_RODAT		*(.gnu.linkonce.r*)
++W_RODAT		*(.rofixup)
+ 
+ 		/* This is special code area at the end of the normal
+ 		   text section.  It contains a small lookup table at
+@@ -60,6 +61,7 @@ R_RODAT		*(.rodata)
+ R_RODAT		*(.rodata1)
+ R_RODAT		*(.rodata.*)
+ R_RODAT		*(.gnu.linkonce.r*)
++R_RODAT		*(.rofixup)
+ 		*(.data)
+ 		*(.data1)
+ 		*(.data.*)
+-- 
+2.30.2
+