mirror of
https://github.com/EnderIce2/Fennix.git
synced 2025-05-28 15:34:31 +00:00
Compile the OS specific toolchain
This commit is contained in:
parent
59dfe30d64
commit
0f11f3f70c
49
.github/workflows/makefile.yml
vendored
49
.github/workflows/makefile.yml
vendored
@ -81,6 +81,41 @@ jobs:
|
|||||||
if: steps.cache-cross.outputs.cache-hit != 'true'
|
if: steps.cache-cross.outputs.cache-hit != 'true'
|
||||||
run: make --quiet -C tools do_gccarm64
|
run: make --quiet -C tools do_gccarm64
|
||||||
|
|
||||||
|
buildtoolchaincompiler:
|
||||||
|
name: Build Toolchain Cross-Compiler (GCC)
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
- name: Cache cross Folder
|
||||||
|
id: cache-cross
|
||||||
|
uses: actions/cache@v3.0.10
|
||||||
|
with:
|
||||||
|
path: tools/cross
|
||||||
|
key: ${{ runner.os }}-cross-${{ hashFiles('tools/Makefile') }}
|
||||||
|
|
||||||
|
- name: Update System
|
||||||
|
if: steps.cache-cross.outputs.cache-hit != 'true'
|
||||||
|
run: sudo apt-get update
|
||||||
|
|
||||||
|
- name: Install GCC Dependencies
|
||||||
|
if: steps.cache-cross.outputs.cache-hit != 'true'
|
||||||
|
run: sudo apt install build-essential bison flex libgmp3-dev libmpc-dev libmpfr-dev texinfo libzstd-dev libisl-dev autoconf m4 automake gettext gperf dejagnu guile-3.0 guile-3.0-dev expect tcl autogen tex-common sphinx-common git ssh diffutils patch -y
|
||||||
|
|
||||||
|
- name: Prepare Toolchain
|
||||||
|
if: steps.cache-cross.outputs.cache-hit != 'true'
|
||||||
|
run: make --quiet -C tools do_prep_toolchain
|
||||||
|
|
||||||
|
- name: Compile Toolchain Binutils
|
||||||
|
if: steps.cache-cross.outputs.cache-hit != 'true'
|
||||||
|
run: make --quiet -C tools do_toolchain_binutils64
|
||||||
|
|
||||||
|
- name: Compile Toolchain GCC
|
||||||
|
if: steps.cache-cross.outputs.cache-hit != 'true'
|
||||||
|
run: make --quiet -C tools do_toolchain_gcc64
|
||||||
|
|
||||||
compilegnuefi:
|
compilegnuefi:
|
||||||
name: Build GNU-EFI
|
name: Build GNU-EFI
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@ -111,7 +146,7 @@ jobs:
|
|||||||
analyze:
|
analyze:
|
||||||
name: Analyze with CodeQL
|
name: Analyze with CodeQL
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [buildcompiler, compilegnuefi]
|
needs: [buildcompiler, compilegnuefi, buildtoolchaincompiler]
|
||||||
permissions:
|
permissions:
|
||||||
actions: read
|
actions: read
|
||||||
contents: read
|
contents: read
|
||||||
@ -171,7 +206,7 @@ jobs:
|
|||||||
compile64:
|
compile64:
|
||||||
name: Build amd64
|
name: Build amd64
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [buildcompiler, compilegnuefi]
|
needs: [buildcompiler, compilegnuefi, buildtoolchaincompiler]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
@ -180,7 +215,7 @@ jobs:
|
|||||||
- name: Update & Install Required Packages
|
- name: Update & Install Required Packages
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install xorriso mtools genisoimage ovmf nasm doxygen make gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 -y
|
sudo apt-get install rustc xorriso mtools genisoimage ovmf nasm doxygen make gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 -y
|
||||||
make --quiet -C tools do_limine
|
make --quiet -C tools do_limine
|
||||||
make --quiet -C Drivers prepare
|
make --quiet -C Drivers prepare
|
||||||
make --quiet -C Userspace prepare
|
make --quiet -C Userspace prepare
|
||||||
@ -216,7 +251,7 @@ jobs:
|
|||||||
compile32:
|
compile32:
|
||||||
name: Build i686
|
name: Build i686
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [buildcompiler, compilegnuefi]
|
needs: [buildcompiler, compilegnuefi, buildtoolchaincompiler]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
@ -225,7 +260,7 @@ jobs:
|
|||||||
- name: Update & Install Required Packages
|
- name: Update & Install Required Packages
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install xorriso mtools genisoimage ovmf nasm doxygen make gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 -y
|
sudo apt-get install rustc xorriso mtools genisoimage ovmf nasm doxygen make gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 -y
|
||||||
make --quiet -C tools do_limine
|
make --quiet -C tools do_limine
|
||||||
make --quiet -C Drivers prepare
|
make --quiet -C Drivers prepare
|
||||||
make --quiet -C Userspace prepare
|
make --quiet -C Userspace prepare
|
||||||
@ -267,7 +302,7 @@ jobs:
|
|||||||
compilearm64:
|
compilearm64:
|
||||||
name: Build aarch64
|
name: Build aarch64
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [buildcompiler, compilegnuefi]
|
needs: [buildcompiler, compilegnuefi, buildtoolchaincompiler]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
@ -276,7 +311,7 @@ jobs:
|
|||||||
- name: Update & Install Required Packages
|
- name: Update & Install Required Packages
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install xorriso mtools genisoimage ovmf nasm doxygen make gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 -y
|
sudo apt-get install rustc xorriso mtools genisoimage ovmf nasm doxygen make gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 -y
|
||||||
make --quiet -C tools do_limine
|
make --quiet -C tools do_limine
|
||||||
make --quiet -C Drivers prepare
|
make --quiet -C Drivers prepare
|
||||||
make --quiet -C Userspace prepare
|
make --quiet -C Userspace prepare
|
||||||
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -12,6 +12,8 @@ tools/*
|
|||||||
!tools/*.c
|
!tools/*.c
|
||||||
!tools/*.cpp
|
!tools/*.cpp
|
||||||
!tools/*.cfg
|
!tools/*.cfg
|
||||||
|
!tools/toolchain-binutils-gdb.patch
|
||||||
|
!tools/toolchain-gcc.patch
|
||||||
doxygen-doc
|
doxygen-doc
|
||||||
initrd.tar.gz
|
initrd.tar.gz
|
||||||
.dccache
|
.dccache
|
||||||
|
@ -25,10 +25,13 @@
|
|||||||
"kernel.h": "c"
|
"kernel.h": "c"
|
||||||
},
|
},
|
||||||
"cSpell.words": [
|
"cSpell.words": [
|
||||||
|
"AABBCC",
|
||||||
"AAFFAA",
|
"AAFFAA",
|
||||||
|
"ACPINVS",
|
||||||
"AHCI",
|
"AHCI",
|
||||||
"apic",
|
"apic",
|
||||||
"APICID",
|
"APICID",
|
||||||
|
"archaux",
|
||||||
"auxv",
|
"auxv",
|
||||||
"binfo",
|
"binfo",
|
||||||
"Bootloader",
|
"Bootloader",
|
||||||
@ -36,14 +39,21 @@
|
|||||||
"COMNULL",
|
"COMNULL",
|
||||||
"cpudata",
|
"cpudata",
|
||||||
"CPUID",
|
"CPUID",
|
||||||
|
"crashdata",
|
||||||
|
"cutlim",
|
||||||
"Didx",
|
"Didx",
|
||||||
"DLAB",
|
"DLAB",
|
||||||
"Drivermemcpy",
|
"Drivermemcpy",
|
||||||
"Drivermemset",
|
"Drivermemset",
|
||||||
"drvdir",
|
"drvdir",
|
||||||
"DUID",
|
"DUID",
|
||||||
|
"EFER",
|
||||||
|
"Ehdr",
|
||||||
|
"ELFCLASS",
|
||||||
|
"EXECFN",
|
||||||
"exobyte",
|
"exobyte",
|
||||||
"FAFAFA",
|
"FAFAFA",
|
||||||
|
"FAFAFAI",
|
||||||
"Fargc",
|
"Fargc",
|
||||||
"Fargv",
|
"Fargv",
|
||||||
"fctprintf",
|
"fctprintf",
|
||||||
@ -53,34 +63,56 @@
|
|||||||
"filestatus",
|
"filestatus",
|
||||||
"Framebuffer",
|
"Framebuffer",
|
||||||
"fxrstor",
|
"fxrstor",
|
||||||
|
"fxsave",
|
||||||
"geopbyte",
|
"geopbyte",
|
||||||
"hwaddress",
|
"hwaddress",
|
||||||
"inportb",
|
"inportb",
|
||||||
|
"invlpg",
|
||||||
"ioapic",
|
"ioapic",
|
||||||
"IPCID",
|
"IPCID",
|
||||||
|
"iretq",
|
||||||
|
"isdelim",
|
||||||
"itrfb",
|
"itrfb",
|
||||||
"KAPI",
|
"KAPI",
|
||||||
"kfree",
|
"kfree",
|
||||||
"kmalloc",
|
"kmalloc",
|
||||||
|
"kproc",
|
||||||
|
"kthrd",
|
||||||
"lapic",
|
"lapic",
|
||||||
|
"lgdt",
|
||||||
"liballoc",
|
"liballoc",
|
||||||
|
"limine",
|
||||||
"LMSLE",
|
"LMSLE",
|
||||||
|
"LSTAR",
|
||||||
"MADT",
|
"MADT",
|
||||||
|
"memmap",
|
||||||
|
"memsz",
|
||||||
|
"movw",
|
||||||
|
"MSRID",
|
||||||
"MWAIT",
|
"MWAIT",
|
||||||
"OEMID",
|
"OEMID",
|
||||||
"OSFXSR",
|
"OSFXSR",
|
||||||
"OSXMMEXCPT",
|
"OSXMMEXCPT",
|
||||||
"OSXSAVE",
|
"OSXSAVE",
|
||||||
"outportb",
|
"outportb",
|
||||||
|
"PAGESZ",
|
||||||
"PCIDE",
|
"PCIDE",
|
||||||
"PDBR",
|
"PDBR",
|
||||||
|
"PDPTE",
|
||||||
"PEXIT",
|
"PEXIT",
|
||||||
"PFLA",
|
"PFLA",
|
||||||
|
"pheader",
|
||||||
|
"PHENT",
|
||||||
|
"phentsize",
|
||||||
|
"phnum",
|
||||||
|
"phoff",
|
||||||
|
"pushfq",
|
||||||
"rdmsr",
|
"rdmsr",
|
||||||
"readcr",
|
"readcr",
|
||||||
"Rodata",
|
"Rodata",
|
||||||
"serialports",
|
"serialports",
|
||||||
"sgdt",
|
"sgdt",
|
||||||
|
"showbuf",
|
||||||
"sidt",
|
"sidt",
|
||||||
"SMAP",
|
"SMAP",
|
||||||
"SMBIOSBIOS",
|
"SMBIOSBIOS",
|
||||||
@ -89,6 +121,7 @@
|
|||||||
"SVME",
|
"SVME",
|
||||||
"swapgs",
|
"swapgs",
|
||||||
"TEXIT",
|
"TEXIT",
|
||||||
|
"tlbi",
|
||||||
"tracepagetable",
|
"tracepagetable",
|
||||||
"ttbr",
|
"ttbr",
|
||||||
"ubsan",
|
"ubsan",
|
||||||
@ -96,6 +129,7 @@
|
|||||||
"UMIP",
|
"UMIP",
|
||||||
"Unswap",
|
"Unswap",
|
||||||
"UPID",
|
"UPID",
|
||||||
|
"vfctprintf",
|
||||||
"vfsdbg",
|
"vfsdbg",
|
||||||
"Vidx",
|
"Vidx",
|
||||||
"VMXE",
|
"VMXE",
|
||||||
|
@ -9,6 +9,10 @@
|
|||||||
"files.associations": {
|
"files.associations": {
|
||||||
"fex.hpp": "c",
|
"fex.hpp": "c",
|
||||||
"types.h": "c"
|
"types.h": "c"
|
||||||
}
|
},
|
||||||
|
"cSpell.words": [
|
||||||
|
"FENNIX",
|
||||||
|
"preinit"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ export PATH := $(CROSS_DIR):$(PATH)
|
|||||||
|
|
||||||
QEMU_VERSION = qemu-7.1.0
|
QEMU_VERSION = qemu-7.1.0
|
||||||
|
|
||||||
all: do_rep do_ep do_fex do_limine clone_all do_binutils64 do_binutils32 do_binutilsarm64 do_gcc64 do_gcc32 do_gccarm64 do_qemu
|
all: do_rep do_ep do_fex do_limine clone_all do_binutils64 do_binutils32 do_binutilsarm64 do_gcc64 do_gcc32 do_gccarm64 do_qemu do_prep_toolchain do_toolchain_binutils64 do_toolchain_gcc64
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f rep ep fex
|
rm -f rep ep fex
|
||||||
@ -74,3 +74,28 @@ do_gccarm64:
|
|||||||
cd build-gccarm64 && \
|
cd build-gccarm64 && \
|
||||||
../gcc/configure --target=aarch64-elf --prefix="$(CROSS_DIR)" --enable-languages=c,c++ --without-headers && \
|
../gcc/configure --target=aarch64-elf --prefix="$(CROSS_DIR)" --enable-languages=c,c++ --without-headers && \
|
||||||
make all-gcc -j$(shell nproc) && make install-gcc -j$(shell nproc)
|
make all-gcc -j$(shell nproc) && make install-gcc -j$(shell nproc)
|
||||||
|
|
||||||
|
do_binutils64:
|
||||||
|
cd build-binutilsamd64 && \
|
||||||
|
../binutils-gdb/configure --target=amd64-elf --prefix="$(CROSS_DIR)" --with-sysroot --enable-shared --disable-werror && \
|
||||||
|
make all -j$(shell nproc) && make install
|
||||||
|
|
||||||
|
do_prep_toolchain:
|
||||||
|
mkdir -p build-toolchain-binutils
|
||||||
|
mkdir -p build-toolchain-gcc
|
||||||
|
mkdir -p toolchain-binutils-gdb
|
||||||
|
mkdir -p toolchain-gcc
|
||||||
|
cp -r binutils-gdb/* toolchain-binutils-gdb
|
||||||
|
cp -r gcc/* toolchain-gcc
|
||||||
|
cd toolchain-binutils-gdb && git apply ../toolchain-binutils-gdb.patch && cd ..
|
||||||
|
cd toolchain-gcc && git apply ../toolchain-gcc.patch && cd ..
|
||||||
|
|
||||||
|
do_toolchain_binutils64:
|
||||||
|
cd build-toolchain-binutils && \
|
||||||
|
../toolchain-binutils-gdb/configure --target=x86_64-fennix --prefix="$(CROSS_DIR)/toolchain" --with-sysroot --enable-shared --disable-werror && \
|
||||||
|
make all -j$(shell nproc) && make install
|
||||||
|
|
||||||
|
do_toolchain_gcc64:
|
||||||
|
cd build-toolchain-gcc && \
|
||||||
|
../toolchain-gcc/configure --target=x86_64-fennix --prefix="$(CROSS_DIR)/toolchain" --enable-languages=c,c++ --enable-shared --without-headers && \
|
||||||
|
make all-gcc -j$(shell nproc) && make install-gcc -j$(shell nproc)
|
||||||
|
233
tools/toolchain-binutils-gdb.patch
Normal file
233
tools/toolchain-binutils-gdb.patch
Normal file
@ -0,0 +1,233 @@
|
|||||||
|
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
|
||||||
|
;;
|
6122
tools/toolchain-gcc.patch
Normal file
6122
tools/toolchain-gcc.patch
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user