1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
diff -Naur binutils-2.38/bfd/config.bfd binutils-patched/bfd/config.bfd
--- binutils-2.38/bfd/config.bfd 2022-01-22 15:14:07.000000000 +0300
+++ binutils-patched/bfd/config.bfd 2025-05-20 13:53:59.007878617 +0300
@@ -656,11 +656,21 @@
targ_selvecs=
targ64_selvecs=x86_64_elf64_vec
;;
+ i[3-7]86-*-orange*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs=
+ targ64_selvecs=x86_64_elf64_vec
+ ;;
#ifdef BFD64
x86_64-*-cloudabi*)
targ_defvec=x86_64_elf64_cloudabi_vec
want64=true
;;
+ x86_64-*-orange*)
+ targ_defvec=x86_64_elf64_vec
+ targ_selvecs=i386_elf32_vec
+ want64=true
+ ;;
x86_64-*-darwin*)
targ_defvec=x86_64_mach_o_vec
targ_selvecs="i386_mach_o_vec mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
diff -Naur binutils-2.38/config.sub binutils-patched/config.sub
--- binutils-2.38/config.sub 2022-01-22 15:14:07.000000000 +0300
+++ binutils-patched/config.sub 2025-05-20 13:51:16.721951465 +0300
@@ -1750,7 +1750,7 @@
| os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \
| scout* | superux* | sysv* | rtmk* | tpf* | windiss* \
| powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
- | skyos* | haiku* | rdos* | toppers* | drops* | es* \
+ | skyos* | orange* | haiku* | rdos* | toppers* | drops* | es* \
| onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
| midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
| nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
diff -Naur binutils-2.38/gas/configure.tgt binutils-patched/gas/configure.tgt
--- binutils-2.38/gas/configure.tgt 2022-01-22 15:14:08.000000000 +0300
+++ binutils-patched/gas/configure.tgt 2025-05-20 13:55:11.117623594 +0300
@@ -233,6 +233,7 @@
i386-*-knetbsd*-gnu | \
i386-*-netbsd* | \
i386-*-openbsd*) fmt=elf em=nbsd ;;
+ i386-*-orange*) fmt=elf em=gnu ;;
i386-*-linux-*) fmt=elf em=linux
case ${cpu}-${os} in
x86_64*-linux-gnux32) arch=x86_64:32 ;;
diff -Naur binutils-2.38/ld/configure.tgt binutils-patched/ld/configure.tgt
--- binutils-2.38/ld/configure.tgt 2022-01-22 17:19:36.000000000 +0300
+++ binutils-patched/ld/configure.tgt 2025-05-20 13:58:35.200562165 +0300
@@ -403,6 +403,15 @@
;;
i[3-7]86-*-haiku*) targ_emul=elf_i386_haiku
;;
+i[3-7]86-*-orange*)
+ targ_emul=elf_i386_orange
+ targ_extra_emuls=elf_i386
+ targ64_extra_emuls="elf_x86_64_orange elf_x86_64"
+ ;;
+x86_64-*-orange*)
+ targ_emul=elf_x86_64_orange
+ targ_extra_emuls="elf_i386_orange elf_x86_64 elf_i386"
+ ;;
i[3-7]86-*-vxworks*) targ_emul=elf_i386_vxworks
;;
i[3-7]86-*-chaos) targ_emul=elf_i386_chaos
diff -Naur binutils-2.38/ld/emulparams/elf_i386_orange.sh binutils-patched/ld/emulparams/elf_i386_orange.sh
--- binutils-2.38/ld/emulparams/elf_i386_orange.sh 1970-01-01 03:00:00.000000000 +0300
+++ binutils-patched/ld/emulparams/elf_i386_orange.sh 2025-05-20 13:58:57.848110210 +0300
@@ -0,0 +1,2 @@
+source_sh ${srcdir}/emulparams/elf_i386.sh
+TEXT_START_ADDR=0x08000000
diff -Naur binutils-2.38/ld/emulparams/elf_x86_64_orange.sh binutils-patched/ld/emulparams/elf_x86_64_orange.sh
--- binutils-2.38/ld/emulparams/elf_x86_64_orange.sh 1970-01-01 03:00:00.000000000 +0300
+++ binutils-patched/ld/emulparams/elf_x86_64_orange.sh 2025-05-20 13:59:14.619516061 +0300
@@ -0,0 +1 @@
+source_sh ${srcdir}/emulparams/elf_x86_64.sh
diff -Naur binutils-2.38/ld/Makefile.am binutils-patched/ld/Makefile.am
--- binutils-2.38/ld/Makefile.am 2022-01-22 15:14:09.000000000 +0300
+++ binutils-patched/ld/Makefile.am 2025-05-20 14:00:18.033050595 +0300
@@ -281,6 +281,7 @@
eelf_i386_be.c \
eelf_i386_fbsd.c \
eelf_i386_haiku.c \
+ eelf_i386_orange.c \
eelf_i386_ldso.c \
eelf_i386_sol2.c \
eelf_i386_vxworks.c \
@@ -463,6 +464,7 @@
eelf_x86_64_cloudabi.c \
eelf_x86_64_fbsd.c \
eelf_x86_64_haiku.c \
+ eelf_x86_64_orange.c \
eelf_x86_64_sol2.c \
ehppa64linux.c \
ei386pep.c \
|