@@ -3,9 +3,9 @@ Date: Mon, 19 May 2025 16:42:07 +0200
33Subject: [PATCH] Add L4Re as a target
44
55diff -Nurp a/bfd/config.bfd b/bfd/config.bfd
6- --- a/bfd/config.bfd 2025-11-10 01:00:00.000000000 +0100
7- +++ b/bfd/config.bfd 2025-12-12 11:43:46.804841462 +0100
8- @@ -274 ,6 +274 ,11 @@ case "${targ}" in
6+ --- a/bfd/config.bfd 2026-04-14 08:42:29.142350168 +0200
7+ +++ b/bfd/config.bfd 2026-04-14 08:44:24.743876516 +0200
8+ @@ -270 ,6 +270 ,11 @@ case "${targ}" in
99 targ_selvecs="aarch64_elf64_be_vec arm_elf32_le_vec arm_elf32_be_vec"
1010 want64=true
1111 ;;
@@ -14,21 +14,21 @@ diff -Nurp a/bfd/config.bfd b/bfd/config.bfd
1414+ targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec aarch64_pei_le_vec aarch64_pe_le_vec"
1515+ want64=true
1616+ ;;
17- aarch64-*-cloudabi *)
18- targ_defvec=aarch64_elf64_le_cloudabi_vec
19- targ_selvecs=aarch64_elf64_be_cloudabi_vec
20- @@ -376 ,6 +381 ,10 @@ case "${targ}" in
17+ aarch64-*-openbsd *)
18+ targ_defvec=aarch64_elf64_le_vec
19+ targ_selvecs="aarch64_elf64_be_vec arm_elf32_le_vec arm_elf32_be_vec"
20+ @@ -377 ,6 +382 ,10 @@ case "${targ}" in
2121 targ_defvec=arm_elf32_le_vec
2222 targ_selvecs="arm_elf32_fdpic_le_vec arm_elf32_be_vec arm_elf32_fdpic_be_vec arm_pe_le_vec arm_pe_be_vec arm_pei_le_vec arm_pei_be_vec"
2323 ;;
2424+ arm-*-l4re*)
2525+ targ_defvec=arm_elf32_le_vec
2626+ targ_selvecs="arm_elf32_be_vec"
2727+ ;;
28- arm -*-nacl *)
29- targ_defvec=arm_elf32_nacl_le_vec
30- targ_selvecs="arm_elf32_nacl_be_vec "
31- @@ -587 ,7 +596 ,7 @@ case "${targ}" in
28+ armeb -*-netbsd *)
29+ targ_defvec=arm_elf32_be_vec
30+ targ_selvecs="arm_elf32_le_vec "
31+ @@ -590 ,7 +599 ,7 @@ case "${targ}" in
3232 targ_selvecs=hppa_elf32_vec
3333 ;;
3434
@@ -37,7 +37,7 @@ diff -Nurp a/bfd/config.bfd b/bfd/config.bfd
3737 targ_defvec=i386_elf32_vec
3838 targ_selvecs="iamcu_elf32_vec i386_coff_vec"
3939 ;;
40- @@ -681 ,11 +690 ,11 @@ case "${targ}" in
40+ @@ -678 ,11 +687 ,11 @@ case "${targ}" in
4141 targ_selvecs="i386_elf32_vec iamcu_elf32_vec"
4242 want64=true
4343 ;;
@@ -52,8 +52,8 @@ diff -Nurp a/bfd/config.bfd b/bfd/config.bfd
5252 esac
5353 want64=true
5454diff -Nurp a/gas/config/tc-i386.c b/gas/config/tc-i386.c
55- --- a/gas/config/tc-i386.c 2025-11-10 01:00:00.000000000 +0100
56- +++ b/gas/config/tc-i386.c 2025-12-11 14:19:35.383263645 +0100
55+ --- a/gas/config/tc-i386.c 2026-04-14 08:42:29.325490263 +0200
56+ +++ b/gas/config/tc-i386.c 2026-04-14 08:43:05.448330751 +0200
5757@@ -574,7 +574,8 @@ const char extra_symbol_chars[] = "*%-([
5858 && !defined (TE_Haiku) \
5959 && !defined (TE_FreeBSD) \
@@ -66,7 +66,7 @@ diff -Nurp a/gas/config/tc-i386.c b/gas/config/tc-i386.c
6666 --divide will remove '/' from this list. */
6767diff -Nurp a/gas/config/te-arml4reeabi.h b/gas/config/te-arml4reeabi.h
6868--- a/gas/config/te-arml4reeabi.h 1970-01-01 01:00:00.000000000 +0100
69- +++ b/gas/config/te-arml4reeabi.h 2025-12-11 14:15:11.115733180 +0100
69+ +++ b/gas/config/te-arml4reeabi.h 2026-04-14 08:43:05.449628334 +0200
7070@@ -0,0 +1,25 @@
7171+ /* Copyright (C) 2004-2025 Free Software Foundation, Inc.
7272+
@@ -95,7 +95,7 @@ diff -Nurp a/gas/config/te-arml4reeabi.h b/gas/config/te-arml4reeabi.h
9595+
9696diff -Nurp a/gas/config/te-l4re.h b/gas/config/te-l4re.h
9797--- a/gas/config/te-l4re.h 1970-01-01 01:00:00.000000000 +0100
98- +++ b/gas/config/te-l4re.h 2025-12-11 14:14:06.976941014 +0100
98+ +++ b/gas/config/te-l4re.h 2026-04-14 08:43:05.449686223 +0200
9999@@ -0,0 +1,31 @@
100100+ /* te-l4re.h -- L4Re target environment declarations.
101101+ Copyright (C) 2000-2025 Free Software Foundation, Inc.
@@ -129,8 +129,8 @@ diff -Nurp a/gas/config/te-l4re.h b/gas/config/te-l4re.h
129129+ #include "obj-format.h"
130130+
131131diff -Nurp a/gas/configure.tgt b/gas/configure.tgt
132- --- a/gas/configure.tgt 2025-11-10 01:00:00.000000000 +0100
133- +++ b/gas/configure.tgt 2025-12-11 14:17:04.656682621 +0100
132+ --- a/gas/configure.tgt 2026-04-14 08:42:29.328635985 +0200
133+ +++ b/gas/configure.tgt 2026-04-14 08:43:05.449746727 +0200
134134@@ -130,6 +130,7 @@ case ${generic_target} in
135135 aarch64*-*-fuchsia*) fmt=elf;;
136136 aarch64*-*-haiku*) fmt=elf em=haiku ;;
@@ -139,15 +139,15 @@ diff -Nurp a/gas/configure.tgt b/gas/configure.tgt
139139 aarch64*-*-linux*) fmt=elf em=linux
140140 case ${cpu}-${os} in
141141 aarch64*-linux-gnu_ilp32) arch=aarch64:32 ;;
142- @@ -169 ,6 +170 ,7 @@ case ${generic_target} in
142+ @@ -168 ,6 +169 ,7 @@ case ${generic_target} in
143143 arm-*-pe) fmt=coff em=pe ;;
144144 arm-*-fuchsia*) fmt=elf ;;
145145 arm-*-haiku*) fmt=elf em=haiku ;;
146146+ arm-*-l4re*) fmt=elf em=arml4reeabi ;;
147147
148148 avr-*-*) fmt=elf bfd_gas=yes ;;
149149
150- @@ -232 ,6 +234 ,7 @@ case ${generic_target} in
150+ @@ -231 ,6 +233 ,7 @@ case ${generic_target} in
151151 i386-*-fuchsia*) fmt=elf ;;
152152 i386-*-haiku*) fmt=elf em=haiku ;;
153153 i386-*-genode*) fmt=elf ;;
@@ -156,9 +156,9 @@ diff -Nurp a/gas/configure.tgt b/gas/configure.tgt
156156 i386-*-netbsd*-gnu* | \
157157 i386-*-knetbsd*-gnu | \
158158diff -Nurp a/ld/configure.tgt b/ld/configure.tgt
159- --- a/ld/configure.tgt 2025-11-10 01:00:00.000000000 +0100
160- +++ b/ld/configure.tgt 2025-12-11 13:34:38.706376257 +0100
161- @@ -98 ,6 +98 ,9 @@ aarch64-*-freebsd*) targ_emul=aarch64fbs
159+ --- a/ld/configure.tgt 2026-04-14 08:42:29.182666614 +0200
160+ +++ b/ld/configure.tgt 2026-04-14 08:43:05.449914102 +0200
161+ @@ -95 ,6 +95 ,9 @@ aarch64-*-freebsd*) targ_emul=aarch64fbs
162162 aarch64-*-fuchsia*) targ_emul=aarch64elf
163163 targ_extra_emuls="aarch64elfb armelf armelfb"
164164 ;;
@@ -168,7 +168,7 @@ diff -Nurp a/ld/configure.tgt b/ld/configure.tgt
168168 aarch64_be-*-linux-gnu_ilp32)
169169 targ_emul=aarch64linux32b
170170 targ_extra_libpath="aarch64linuxb aarch64linux aarch64linux32 armelfb_linux_eabi armelf_linux_eabi"
171- @@ -257 ,6 +260 ,9 @@ arm*-*-fuchsia*) targ_emul=armelf_fuchsi
171+ @@ -242 ,6 +245 ,9 @@ arm*-*-fuchsia*) targ_emul=armelf_fuchsi
172172 arm*-*-haiku*) targ_emul=armelf_haiku
173173 targ_extra_emuls=armelf
174174 ;;
@@ -178,7 +178,7 @@ diff -Nurp a/ld/configure.tgt b/ld/configure.tgt
178178 avr-*-*) targ_emul=avr2
179179 targ_extra_emuls="avr1 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6 avrxmega1 avrxmega2 avrxmega2_flmap avrxmega3 avrxmega4 avrxmega4_flmap avrxmega5 avrxmega6 avrxmega7 avrtiny"
180180 ;;
181- @@ -402 ,7 +408 ,7 @@ i[3-7]86-*-openbsd*)
181+ @@ -383 ,7 +389 ,7 @@ i[3-7]86-*-openbsd*)
182182 i[3-7]86-*-elfiamcu) targ_emul=elf_iamcu
183183 targ_extra_emuls=elf_i386
184184 ;;
@@ -187,26 +187,26 @@ diff -Nurp a/ld/configure.tgt b/ld/configure.tgt
187187 targ_emul=elf_i386
188188 targ_extra_emuls=elf_iamcu
189189 ;;
190- @@ -1032 ,7 +1038 ,7 @@ x86_64-*-netbsd* | x86_64-*-openbsd*)
190+ @@ -978 ,7 +984 ,7 @@ x86_64-*-netbsd* | x86_64-*-openbsd*)
191191 tdir_elf_i386=`echo ${targ_alias} | \
192192 sed -e 's/x86_64/i386/' -e 's/aout//'`
193193 ;;
194194- x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia* | x86_64-*-genode*)
195195+ x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia* | x86_64-*-genode* | x86_64-*-l4re*)
196196 targ_emul=elf_x86_64
197- targ_extra_emuls="elf_i386 elf_iamcu elf32_x86_64"
198197 targ_extra_libpath="elf_i386 elf_iamcu elf32_x86_64"
198+ tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'`
199199diff -Nurp a/ld/emulparams/armelf_l4re.sh b/ld/emulparams/armelf_l4re.sh
200200--- a/ld/emulparams/armelf_l4re.sh 1970-01-01 01:00:00.000000000 +0100
201- +++ b/ld/emulparams/armelf_l4re.sh 2025-12-11 13:34:38.706376257 +0100
201+ +++ b/ld/emulparams/armelf_l4re.sh 2026-04-14 08:43:05.450041794 +0200
202202@@ -0,0 +1,3 @@
203203+ source_sh ${srcdir}/emulparams/armelf_linux_eabi.sh
204204+
205205+ TEXT_START_ADDR=0x01000000
206206diff -Nurp a/ld/Makefile.am b/ld/Makefile.am
207- --- a/ld/Makefile.am 2025-11-10 01:00:00.000000000 +0100
208- +++ b/ld/Makefile.am 2025-12-11 13:34:38.706376257 +0100
209- @@ -168 ,6 +168 ,7 @@ ALL_EMULATION_SOURCES = \
207+ --- a/ld/Makefile.am 2026-04-14 08:42:29.182334512 +0200
208+ +++ b/ld/Makefile.am 2026-04-14 08:43:05.450099038 +0200
209+ @@ -169 ,6 +169 ,7 @@ ALL_EMULATION_SOURCES = \
210210 earmelf_fbsd.c \
211211 earmelf_fuchsia.c \
212212 earmelf_haiku.c \
@@ -215,17 +215,17 @@ diff -Nurp a/ld/Makefile.am b/ld/Makefile.am
215215 earmelf_linux_eabi.c \
216216 earmelf_linux_fdpiceabi.c \
217217diff -Nurp a/ld/Makefile.in b/ld/Makefile.in
218- --- a/ld/Makefile.in 2025-11-10 01:00:00.000000000 +0100
219- +++ b/ld/Makefile.in 2025-12-11 13:34:38.706376257 +0100
220- @@ -679 ,6 +679 ,7 @@ ALL_EMULATION_SOURCES = \
218+ --- a/ld/Makefile.in 2026-04-14 08:42:29.182351623 +0200
219+ +++ b/ld/Makefile.in 2026-04-14 08:43:05.450281272 +0200
220+ @@ -684 ,6 +684 ,7 @@ ALL_EMULATION_SOURCES = \
221221 earmelf_fbsd.c \
222222 earmelf_fuchsia.c \
223223 earmelf_haiku.c \
224224+ earmelf_l4re.c \
225225 earmelf_linux.c \
226226 earmelf_linux_eabi.c \
227227 earmelf_linux_fdpiceabi.c \
228- @@ -1301 ,6 +1302 ,7 @@ distclean-compile:
228+ @@ -1298 ,6 +1299 ,7 @@ distclean-compile:
229229 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_fbsd.Po@am__quote@
230230 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_fuchsia.Po@am__quote@
231231 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_haiku.Po@am__quote@
0 commit comments