summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--target/lm32/uclibc-ng.config4
-rw-r--r--toolchain/binutils/patches/2.28/lm32.patch24
-rw-r--r--toolchain/elf2flt/patches/3051fec89bbd30de6f952dc3100712feff3ca076/0001-.rofixup-fix.patch33
3 files changed, 59 insertions, 2 deletions
diff --git a/target/lm32/uclibc-ng.config b/target/lm32/uclibc-ng.config
index 04fafd377..81e2779fb 100644
--- a/target/lm32/uclibc-ng.config
+++ b/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
diff --git a/toolchain/binutils/patches/2.28/lm32.patch b/toolchain/binutils/patches/2.28/lm32.patch
new file mode 100644
index 000000000..962281625
--- /dev/null
+++ b/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*)
diff --git a/toolchain/elf2flt/patches/3051fec89bbd30de6f952dc3100712feff3ca076/0001-.rofixup-fix.patch b/toolchain/elf2flt/patches/3051fec89bbd30de6f952dc3100712feff3ca076/0001-.rofixup-fix.patch
new file mode 100644
index 000000000..79186642e
--- /dev/null
+++ b/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
+