mirror of
https://github.com/EnderIce2/Fennix.git
synced 2025-05-28 15:34:31 +00:00
234 lines
9.8 KiB
Diff
234 lines
9.8 KiB
Diff
diff --git a/bfd/config.bfd b/bfd/config.bfd
|
|
index 0bc27fdce97..10ce9c9aea2 100644
|
|
--- a/bfd/config.bfd
|
|
+++ b/bfd/config.bfd
|
|
@@ -1481,6 +1481,19 @@ case "${targ}" in
|
|
;;
|
|
#endif
|
|
|
|
+ i[3-7]86-*-fennix*)
|
|
+ targ_defvec=i386_elf32_vec
|
|
+ targ_selvecs=
|
|
+ targ64_selvecs=x86_64_elf64_vec
|
|
+ ;;
|
|
+#ifdef BFD64
|
|
+ x86_64-*-fennix*)
|
|
+ targ_defvec=x86_64_elf64_vec
|
|
+ targ_selvecs=i386_elf32_vec
|
|
+ want64=true
|
|
+ ;;
|
|
+#endif
|
|
+
|
|
# END OF targmatch.h
|
|
bpf-*-*)
|
|
echo "*** Configuration $targ is not fully supported." >&2
|
|
diff --git a/config.sub b/config.sub
|
|
index dba16e84c77..4eedac1fbdc 100755
|
|
--- a/config.sub
|
|
+++ b/config.sub
|
|
@@ -1754,7 +1754,7 @@ case $os in
|
|
| onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
|
|
| midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
|
|
| nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
|
|
- | fiwix* )
|
|
+ | fiwix* | fennix* )
|
|
;;
|
|
# This one is extra strict with allowed versions
|
|
sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
|
|
diff --git a/gas/configure.tgt b/gas/configure.tgt
|
|
index 82f2d44f418..61c73a61034 100644
|
|
--- a/gas/configure.tgt
|
|
+++ b/gas/configure.tgt
|
|
@@ -264,6 +264,7 @@ case ${generic_target} in
|
|
i386-*-*nt*) fmt=coff em=pe ;;
|
|
i386-*-rdos*) fmt=elf ;;
|
|
i386-*-darwin*) fmt=macho ;;
|
|
+ i386-*-fennix*) fmt=elf em=gnu ;;
|
|
|
|
ia16-*-elf*) fmt=elf ;;
|
|
|
|
diff --git a/ld/Makefile.am b/ld/Makefile.am
|
|
index 65fef4e1690..8d541d2dc54 100644
|
|
--- a/ld/Makefile.am
|
|
+++ b/ld/Makefile.am
|
|
@@ -277,6 +277,7 @@ ALL_EMULATION_SOURCES = \
|
|
eelf_i386.c \
|
|
eelf_i386_be.c \
|
|
eelf_i386_fbsd.c \
|
|
+ eelf_i386_fennix.c \
|
|
eelf_i386_haiku.c \
|
|
eelf_i386_ldso.c \
|
|
eelf_i386_sol2.c \
|
|
@@ -456,6 +457,7 @@ ALL_64_EMULATION_SOURCES = \
|
|
eelf_x86_64.c \
|
|
eelf_x86_64_cloudabi.c \
|
|
eelf_x86_64_fbsd.c \
|
|
+ eelf_x86_64_fennix.c \
|
|
eelf_x86_64_haiku.c \
|
|
eelf_x86_64_sol2.c \
|
|
ehppa64linux.c \
|
|
@@ -771,6 +773,7 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS)
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386.Pc@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_be.Pc@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_fbsd.Pc@am__quote@
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_fennix.Pc@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_haiku.Pc@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_ldso.Pc@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_sol2.Pc@am__quote@
|
|
@@ -947,6 +950,7 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS)
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64.Pc@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_cloudabi.Pc@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_fbsd.Pc@am__quote@
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_fennix.Pc@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_haiku.Pc@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_sol2.Pc@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ehppa64linux.Pc@am__quote@
|
|
diff --git a/ld/Makefile.in b/ld/Makefile.in
|
|
index ff4c916c27b..11593eda435 100644
|
|
--- a/ld/Makefile.in
|
|
+++ b/ld/Makefile.in
|
|
@@ -778,6 +778,7 @@ ALL_EMULATION_SOURCES = \
|
|
eelf_i386.c \
|
|
eelf_i386_be.c \
|
|
eelf_i386_fbsd.c \
|
|
+ eelf_i386_fennix.c \
|
|
eelf_i386_haiku.c \
|
|
eelf_i386_ldso.c \
|
|
eelf_i386_sol2.c \
|
|
@@ -956,6 +957,7 @@ ALL_64_EMULATION_SOURCES = \
|
|
eelf_x86_64.c \
|
|
eelf_x86_64_cloudabi.c \
|
|
eelf_x86_64_fbsd.c \
|
|
+ eelf_x86_64_fennix.c \
|
|
eelf_x86_64_haiku.c \
|
|
eelf_x86_64_sol2.c \
|
|
ehppa64linux.c \
|
|
@@ -1453,6 +1455,7 @@ distclean-compile:
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_be.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_fbsd.Po@am__quote@
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_fennix.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_haiku.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_ldso.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_sol2.Po@am__quote@
|
|
@@ -1463,6 +1466,7 @@ distclean-compile:
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_cloudabi.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_fbsd.Po@am__quote@
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_fennix.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_haiku.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_sol2.Po@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eh8300elf.Po@am__quote@
|
|
@@ -2445,6 +2449,7 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS)
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386.Pc@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_be.Pc@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_fbsd.Pc@am__quote@
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_fennix.Pc@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_haiku.Pc@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_ldso.Pc@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_sol2.Pc@am__quote@
|
|
@@ -2621,6 +2626,7 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS)
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64.Pc@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_cloudabi.Pc@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_fbsd.Pc@am__quote@
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_fennix.Pc@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_haiku.Pc@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_sol2.Pc@am__quote@
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ehppa64linux.Pc@am__quote@
|
|
diff --git a/ld/configure b/ld/configure
|
|
index a4d30abfb1c..abdc71568cd 100755
|
|
--- a/ld/configure
|
|
+++ b/ld/configure
|
|
@@ -15165,7 +15165,7 @@ else
|
|
We can't simply define LARGE_OFF_T to be 9223372036854775807,
|
|
since some C++ compilers masquerading as C compilers
|
|
incorrectly reject 9223372036854775807. */
|
|
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
|
|
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
|
|
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
|
|
&& LARGE_OFF_T % 2147483647 == 1)
|
|
? 1 : -1];
|
|
@@ -15211,7 +15211,7 @@ else
|
|
We can't simply define LARGE_OFF_T to be 9223372036854775807,
|
|
since some C++ compilers masquerading as C compilers
|
|
incorrectly reject 9223372036854775807. */
|
|
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
|
|
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
|
|
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
|
|
&& LARGE_OFF_T % 2147483647 == 1)
|
|
? 1 : -1];
|
|
@@ -15235,7 +15235,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
We can't simply define LARGE_OFF_T to be 9223372036854775807,
|
|
since some C++ compilers masquerading as C compilers
|
|
incorrectly reject 9223372036854775807. */
|
|
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
|
|
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
|
|
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
|
|
&& LARGE_OFF_T % 2147483647 == 1)
|
|
? 1 : -1];
|
|
@@ -15280,7 +15280,7 @@ else
|
|
We can't simply define LARGE_OFF_T to be 9223372036854775807,
|
|
since some C++ compilers masquerading as C compilers
|
|
incorrectly reject 9223372036854775807. */
|
|
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
|
|
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
|
|
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
|
|
&& LARGE_OFF_T % 2147483647 == 1)
|
|
? 1 : -1];
|
|
@@ -15304,7 +15304,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
We can't simply define LARGE_OFF_T to be 9223372036854775807,
|
|
since some C++ compilers masquerading as C compilers
|
|
incorrectly reject 9223372036854775807. */
|
|
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
|
|
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
|
|
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
|
|
&& LARGE_OFF_T % 2147483647 == 1)
|
|
? 1 : -1];
|
|
@@ -16952,6 +16952,8 @@ main ()
|
|
if (*(data + i) != *(data3 + i))
|
|
return 14;
|
|
close (fd);
|
|
+ free (data);
|
|
+ free (data3);
|
|
return 0;
|
|
}
|
|
_ACEOF
|
|
diff --git a/ld/configure.tgt b/ld/configure.tgt
|
|
index 741b246f67e..fd37e8cb34c 100644
|
|
--- a/ld/configure.tgt
|
|
+++ b/ld/configure.tgt
|
|
@@ -408,6 +408,11 @@ i[3-7]86-*-elf* | i[3-7]86-*-rtems* | i[3-7]86-*-genode*)
|
|
i[3-7]86-*-dragonfly*) targ_emul=elf_i386
|
|
targ_extra_emuls="elf_iamcu i386bsd"
|
|
;;
|
|
+i[3-7]86-*-fennix*)
|
|
+ targ_emul=elf_i386_fennix
|
|
+ targ_extra_emuls=elf_i386
|
|
+ targ64_extra_emuls="elf_x86_64_fennix elf_x86_64"
|
|
+ ;;
|
|
i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu)
|
|
targ_emul=elf_i386_fbsd
|
|
targ_extra_emuls="elf_i386 elf_iamcu i386bsd"
|
|
@@ -991,6 +996,10 @@ vax-*-linux-*) targ_emul=elf32vax
|
|
;;
|
|
visium-*-elf) targ_emul=elf32visium
|
|
;;
|
|
+x86_64-*-fennix*)
|
|
+ targ_emul=elf_x86_64_fennix
|
|
+ targ_extra_emuls="elf_i386_fennix elf_x86_64 elf_i386"
|
|
+ ;;
|
|
x86_64-*-rdos*) targ_emul=elf64rdos
|
|
;;
|
|
x86_64-*-cloudabi*) targ_emul=elf_x86_64_cloudabi
|
|
@@ -1100,6 +1109,10 @@ case "${target}" in
|
|
NATIVE_LIB_DIRS='/lib /usr/lib /usr/local/lib'
|
|
;;
|
|
|
|
+*-*-fennix*)
|
|
+ NATIVE_LIB_DIRS='/system/lib'
|
|
+ ;;
|
|
+
|
|
hppa*64*-*-hpux11*)
|
|
NATIVE_LIB_DIRS=/usr/lib/pa20_64
|
|
;;
|