Toolchain: Regenerate patches using the latest format rules

This commit is contained in:
Tim Schumacher 2022-09-16 21:21:19 +02:00 committed by Ali Mohammad Pur
parent 453323f3c1
commit cb2f0d9861
19 changed files with 87 additions and 107 deletions

View file

@ -7,8 +7,3 @@ Add support for SerenityOS
Teaches the assembler, BFD, and the linker about the SerenityOS target
triple.
On x86_64, we override the default base address of non-PIE executables,
because the default (0x400000) is too close to the beginning of the
address space, and DynamicLoader often ends up allocating internal data
at that address. See commit 292398b5857d0104f7c33fdb5d79f45fe8b395dd.

View file

@ -17,10 +17,10 @@ triple.
create mode 100644 gas/config/te-serenity.h
diff --git a/bfd/config.bfd b/bfd/config.bfd
index cfe58247..9a10e011 100644
index a4c6c8e8854f1e3841827150a900b2ce6aa0c88e..87c41563e201a75bba80a2d9f5057250b0aebcdd 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -277,6 +277,11 @@ case "${targ}" in
@@ -274,6 +274,11 @@ case "${targ}" in
targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec"
want64=true
;;
@ -32,7 +32,7 @@ index cfe58247..9a10e011 100644
aarch64-*-linux* | aarch64-*-netbsd*)
targ_defvec=aarch64_elf64_le_vec
targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec aarch64_pei_vec"
@@ -656,6 +661,11 @@ case "${targ}" in
@@ -655,6 +660,11 @@ case "${targ}" in
targ_selvecs=
targ64_selvecs=x86_64_elf64_vec
;;
@ -44,7 +44,7 @@ index cfe58247..9a10e011 100644
#ifdef BFD64
x86_64-*-cloudabi*)
targ_defvec=x86_64_elf64_cloudabi_vec
@@ -721,6 +731,11 @@ case "${targ}" in
@@ -720,6 +730,11 @@ case "${targ}" in
targ_selvecs=i386_elf32_vec
want64=true
;;
@ -57,10 +57,10 @@ index cfe58247..9a10e011 100644
i[3-7]86-*-lynxos*)
targ_defvec=i386_elf32_vec
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index e0632681..4e9ba9fd 100644
index 9cd33a91660695cfedad2a027434d44fb515e5b5..f2a02726b6d2b561b4cdaa2106c3a9fb6c3df750 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -481,7 +481,8 @@ const char extra_symbol_chars[] = "*%-([{}"
@@ -474,7 +474,8 @@ const char extra_symbol_chars[] = "*%-([{}"
&& !defined (TE_Haiku) \
&& !defined (TE_FreeBSD) \
&& !defined (TE_DragonFly) \
@ -72,7 +72,7 @@ index e0632681..4e9ba9fd 100644
--divide will remove '/' from this list. */
diff --git a/gas/config/te-serenity.h b/gas/config/te-serenity.h
new file mode 100644
index 00000000..f38faf59
index 0000000000000000000000000000000000000000..f38faf598cba7f561ed9528ee37328228ee55bdc
--- /dev/null
+++ b/gas/config/te-serenity.h
@@ -0,0 +1,3 @@
@ -80,7 +80,7 @@ index 00000000..f38faf59
+
+#define TE_SerenityOS 1
diff --git a/gas/configure.tgt b/gas/configure.tgt
index 62f806bd..67ca2445 100644
index 62f806bdfe8e9f281ab0d1f19e216c7662fcf8b1..67ca244530b87c981569053cc91e9171ec1796fb 100644
--- a/gas/configure.tgt
+++ b/gas/configure.tgt
@@ -134,6 +134,7 @@ case ${generic_target} in
@ -100,10 +100,10 @@ index 62f806bd..67ca2445 100644
ia16-*-elf*) fmt=elf ;;
diff --git a/ld/Makefile.am b/ld/Makefile.am
index b55a873d..760f328a 100644
index d31021c13e2e342cc82c2d49ac9c178f3a723d38..5f6f4d9a4c612691b7ea3d974cfe995a5ed80515 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -463,6 +463,7 @@ ALL_64_EMULATION_SOURCES = \
@@ -456,6 +456,7 @@ ALL_64_EMULATION_SOURCES = \
eelf_x86_64_cloudabi.c \
eelf_x86_64_fbsd.c \
eelf_x86_64_haiku.c \
@ -112,10 +112,10 @@ index b55a873d..760f328a 100644
ehppa64linux.c \
ei386pep.c \
diff --git a/ld/Makefile.in b/ld/Makefile.in
index 61e93eea..8b9ee2cf 100644
index ee0c98f65b0ff2dc9a1d4e8118e5bc8bea22ff68..170d9f090797d57814e701eb5089912bb000bd0d 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -953,6 +953,7 @@ ALL_64_EMULATION_SOURCES = \
@@ -952,6 +952,7 @@ ALL_64_EMULATION_SOURCES = \
eelf_x86_64_cloudabi.c \
eelf_x86_64_fbsd.c \
eelf_x86_64_haiku.c \
@ -124,10 +124,10 @@ index 61e93eea..8b9ee2cf 100644
ehppa64linux.c \
ei386pep.c \
diff --git a/ld/configure.tgt b/ld/configure.tgt
index c7acf3f1..d34b9ea3 100644
index 2bae9099b6aae1f23afa5be74e84aeb7626d1058..b96ae9d69f51141780510e3a366e0f4fcd93d5c5 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -59,6 +59,9 @@ aarch64-*-freebsd*) targ_emul=aarch64fbsd
@@ -96,6 +96,9 @@ aarch64-*-freebsd*) targ_emul=aarch64fbsd
aarch64-*-fuchsia*) targ_emul=aarch64elf
targ_extra_emuls="aarch64elfb armelf armelfb"
;;
@ -137,7 +137,7 @@ index c7acf3f1..d34b9ea3 100644
aarch64_be-*-linux-gnu_ilp32)
targ_emul=aarch64linux32b
targ_extra_libpath="aarch64linuxb aarch64linux aarch64linux32 armelfb_linux_eabi armelf_linux_eabi"
@@ -332,6 +335,9 @@ i[3-7]86-*-linux-*) targ_emul=elf_i386
@@ -369,6 +372,9 @@ i[3-7]86-*-linux-*) targ_emul=elf_i386
i[3-7]86-*-redox*) targ_emul=elf_i386
targ_extra_emuls=elf_x86_64
;;
@ -147,7 +147,7 @@ index c7acf3f1..d34b9ea3 100644
i[3-7]86-*-sysv[45]*) targ_emul=elf_i386
targ_extra_emuls=elf_iamcu
;;
@@ -970,6 +976,9 @@ x86_64-*-linux-*) targ_emul=elf_x86_64
@@ -1007,6 +1013,9 @@ x86_64-*-linux-*) targ_emul=elf_x86_64
x86_64-*-redox*) targ_emul=elf_x86_64
targ_extra_emuls=elf_i386
;;
@ -155,5 +155,5 @@ index c7acf3f1..d34b9ea3 100644
+ targ_extra_emuls="elf_i386"
+ ;;
x86_64-*-solaris2*) targ_emul=elf_x86_64_sol2
targ_extra_emuls="elf_x86_64 elf_i386_sol2 elf_i386_ldso elf_i386 elf_iamcu elf_l1om elf_k1om"
targ_extra_emuls="elf_x86_64 elf_i386_sol2 elf_i386_ldso elf_i386 elf_iamcu"
targ_extra_libpath=$targ_extra_emuls

View file

@ -1,7 +1,7 @@
From 00ad6c7f79fffa5fe13a9e5b77ad06e987fde3e8 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Andreas Kling <awesomekling@gmail.com>
Date: Fri, 5 Apr 2019 03:02:52 +0200
Subject: [PATCH 1/6] Add a gcc driver for SerenityOS
Subject: [PATCH] Add a gcc driver for SerenityOS
This patch adds support for the `*-*-serenity` target to gcc.
@ -19,17 +19,17 @@ Co-Authored-By: Brian Gianforcaro <bgianf@serenityos.org>
Co-Authored-By: Philip Herron <herron.philip@googlemail.com>
Co-Authored-By: Shannon Booth <shannon.ml.booth@gmail.com>
---
gcc/config.gcc | 20 ++++++++++++++++
gcc/config.gcc | 20 +++++++++++++++
gcc/config/i386/serenity.h | 7 ++++++
gcc/config/serenity.h | 51 ++++++++++++++++++++++++++++++++++++++
gcc/config/serenity.opt | 35 ++++++++++++++++++++++++++++
4 files changed, 109 insertions(+)
gcc/config/serenity.opt | 35 ++++++++++++++++++++++++++
4 files changed, 113 insertions(+)
create mode 100644 gcc/config/i386/serenity.h
create mode 100644 gcc/config/serenity.h
create mode 100644 gcc/config/serenity.opt
diff --git a/gcc/config.gcc b/gcc/config.gcc
index c5064dd37..f8a468c6f 100644
index c5064dd376660c192d5573997b4fc86b6b3e3838..f8a468c6f86c559eda37f780cf592245e42c78ac 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -673,6 +673,13 @@ x86_cpus="generic intel"
@ -68,7 +68,7 @@ index c5064dd37..f8a468c6f 100644
tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-errata.h aarch64/aarch64-elf-raw.h"
diff --git a/gcc/config/i386/serenity.h b/gcc/config/i386/serenity.h
new file mode 100644
index 000000000..53a4b8e93
index 0000000000000000000000000000000000000000..53a4b8e93b74b4808a4bfed91c4d5558217c584a
--- /dev/null
+++ b/gcc/config/i386/serenity.h
@@ -0,0 +1,7 @@
@ -81,7 +81,7 @@ index 000000000..53a4b8e93
+#define PTRDIFF_TYPE (TARGET_64BIT ? "long int" : "int")
diff --git a/gcc/config/serenity.h b/gcc/config/serenity.h
new file mode 100644
index 000000000..dc2f5361e
index 0000000000000000000000000000000000000000..17551aaa1a07e6c0b7365f98899375122ba12529
--- /dev/null
+++ b/gcc/config/serenity.h
@@ -0,0 +1,51 @@
@ -138,7 +138,7 @@ index 000000000..dc2f5361e
+ } while(0);
diff --git a/gcc/config/serenity.opt b/gcc/config/serenity.opt
new file mode 100644
index 000000000..2756a5575
index 0000000000000000000000000000000000000000..2756a5575480449a2c46b9fdfde541ba2787a263
--- /dev/null
+++ b/gcc/config/serenity.opt
@@ -0,0 +1,35 @@
@ -177,6 +177,3 @@ index 000000000..2756a5575
+Driver
+
+; This comment is to ensure we retain the blank line above.
--
2.36.1

View file

@ -1,7 +1,7 @@
From e7d65e2c0943078214d9231cbb5c5e8eb9b5c726 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Andreas Kling <awesomekling@gmail.com>
Date: Fri, 5 Apr 2019 03:02:52 +0200
Subject: [PATCH 2/6] fixincludes: Skip for SerenityOS targets
Subject: [PATCH] fixincludes: Skip for SerenityOS targets
`fixincludes` is responsible for fixing mistakes in system headers that
rely in compiler extensions that GCC doesn't support or cause errors in
@ -13,7 +13,7 @@ Our headers don't have such problems, so this hack is of no use for us.
1 file changed, 1 insertion(+)
diff --git a/fixincludes/mkfixinc.sh b/fixincludes/mkfixinc.sh
index df90720b7..a45cdd0de 100755
index df90720b716f2386f343f5ba46a2d8d706188dd5..a45cdd0de6833a1e632292722387be453a079053 100755
--- a/fixincludes/mkfixinc.sh
+++ b/fixincludes/mkfixinc.sh
@@ -11,6 +11,7 @@ target=fixinc.sh
@ -24,6 +24,3 @@ index df90720b7..a45cdd0de 100755
i?86-*-cygwin* | \
i?86-*-mingw32* | \
x86_64-*-mingw32* | \
--
2.36.1

View file

@ -1,7 +1,7 @@
From 9297a27635e83df95c644b9f776d65078c97162e Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Andreas Kling <awesomekling@gmail.com>
Date: Mon, 16 May 2022 15:01:06 +0200
Subject: [PATCH 3/6] libgcc: Build for SerenityOS
Subject: [PATCH] libgcc: Build for SerenityOS
This patch enables building gcc's own C runtime files, and sets up
exception handling support.
@ -20,7 +20,7 @@ Co-Authored-By: Shannon Booth <shannon.ml.booth@gmail.com>
3 files changed, 25 insertions(+)
diff --git a/gcc/configure b/gcc/configure
index 5ce055771..2deaac5bc 100755
index 5ce0557719a9fe0acf9a0f0ffaf949e9eeba0eb1..2deaac5bc85815a7e3efc47a935fb81fca9b24da 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -31608,6 +31608,9 @@ case "$target" in
@ -34,7 +34,7 @@ index 5ce055771..2deaac5bc 100755
if test x$gcc_cv_target_dl_iterate_phdr = xyes; then
diff --git a/libgcc/config.host b/libgcc/config.host
index 8c56fcae5..f5855cfa6 100644
index 8c56fcae5d2fdfcc8d1f9b2614f0c41ad44f258f..f5855cfa66d7950c3d7565ad938b4e4727d7b46d 100644
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -1534,6 +1534,22 @@ nvptx-*)
@ -61,7 +61,7 @@ index 8c56fcae5..f5855cfa6 100644
echo "*** Configuration ${host} not supported" 1>&2
exit 1
diff --git a/libgcc/unwind-dw2-fde-dip.c b/libgcc/unwind-dw2-fde-dip.c
index 7f9be5e6b..817c3fe21 100644
index 7f9be5e6b021a539278570ad202f1f9c45311ca1..817c3fe219252ab3e1707913ebd53dfd97616b58 100644
--- a/libgcc/unwind-dw2-fde-dip.c
+++ b/libgcc/unwind-dw2-fde-dip.c
@@ -57,6 +57,12 @@
@ -77,6 +77,3 @@ index 7f9be5e6b..817c3fe21 100644
#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
&& defined(TARGET_DL_ITERATE_PHDR) \
&& defined(__linux__)
--
2.36.1

View file

@ -1,7 +1,7 @@
From c4e0f7d997b3f7cd5c5465a636e097e43170d609 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Andreas Kling <awesomekling@gmail.com>
Date: Mon, 16 May 2022 15:03:14 +0200
Subject: [PATCH 4/6] libgcc: Do not link libgcc_s to LibC
Subject: [PATCH] libgcc: Do not link libgcc_s to LibC
The toolchain is built before LibC, so linking to the C runtime library
would fail.
@ -17,7 +17,7 @@ Co-Authored-By: Shannon Booth <shannon.ml.booth@gmail.com>
1 file changed, 1 deletion(-)
diff --git a/libgcc/config/t-slibgcc b/libgcc/config/t-slibgcc
index 4efd7b43d..932fa0cfb 100644
index 4efd7b43dff96b6adb87993e4c66cbcb5ae144dc..932fa0cfbdeff6bb029fcf4b44d93d126d1ecd5f 100644
--- a/libgcc/config/t-slibgcc
+++ b/libgcc/config/t-slibgcc
@@ -26,7 +26,6 @@ SHLIB_MAP = @shlib_map_file@
@ -28,6 +28,3 @@ index 4efd7b43d..932fa0cfb 100644
SHLIB_MAKE_SOLINK = $(LN_S) $(SHLIB_SONAME) $(SHLIB_DIR)/$(SHLIB_SOLINK)
SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_SONAME) \
$(DESTDIR)$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)
--
2.36.1

View file

@ -1,7 +1,7 @@
From 7cb91a236863aa5c582d25a920ffbb7408c10e2f Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Daniel Bertalan <dani@danielbertalan.dev>
Date: Mon, 16 May 2022 15:04:33 +0200
Subject: [PATCH 5/6] i386: Disable math errno for SerenityOS
Subject: [PATCH] i386: Disable math errno for SerenityOS
SerenityOS uses exceptions for math error handling, which allows the
compiler to do more optimizations on calls to math functions. This patch
@ -11,7 +11,7 @@ has the effect of setting -fno-math-errno by default.
1 file changed, 4 insertions(+)
diff --git a/gcc/common/config/i386/i386-common.cc b/gcc/common/config/i386/i386-common.cc
index 07fdd045f..6e2419563 100644
index 07fdd045f3032a445a0be45fa62eab9636c3ce2f..6e241956311fbcee3d7e04c7a30f4b73cd61877f 100644
--- a/gcc/common/config/i386/i386-common.cc
+++ b/gcc/common/config/i386/i386-common.cc
@@ -1707,6 +1707,10 @@ ix86_option_init_struct (struct gcc_options *opts)
@ -25,6 +25,3 @@ index 07fdd045f..6e2419563 100644
opts->x_flag_pcc_struct_return = 2;
opts->x_flag_asynchronous_unwind_tables = 2;
}
--
2.36.1

View file

@ -1,7 +1,10 @@
From b581fd421af5691bdafda7d30b20723f77d0cc88 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Andreas Kling <awesomekling@gmail.com>
Date: Mon, 16 May 2022 15:08:53 +0200
Subject: [PATCH 6/6] libstdc++: Support SerenityOS
Subject: [PATCH] libstdc++: Support SerenityOS
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
During the toolchain build, SerenityOS libraries are not available, so
we have to manually tell libstdc++ about what our LibC supports.
@ -24,7 +27,7 @@ Co-Authored-By: Shannon Booth <shannon.ml.booth@gmail.com>
4 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index 138bd58d8..6cd7564b6 100644
index e3cc3a8e867d3428d34f2b4db9c47104a0385450..6e30c391dac74101321a52ca17d8215c05f87844 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -1374,7 +1374,7 @@ AC_DEFUN([GLIBCXX_ENABLE_LIBSTDCXX_TIME], [
@ -46,7 +49,7 @@ index 138bd58d8..6cd7564b6 100644
;;
*)
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 9b94fd71e..51e45878f 100755
index eac6039212168e1cd33e1b6c2b938324fd403f12..11d23dba48e5799c31335f71911e1c4dca65a245 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -11914,6 +11914,11 @@ else
@ -89,7 +92,7 @@ index 9b94fd71e..51e45878f 100755
$as_echo "#define HAVE_ASINF 1" >>confdefs.h
diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host
index ec32980aa..e060300f3 100644
index ec32980aa0db898623804980af65dad588e4d9f5..e060300f3777fbd38795954ca75e9c4809cfc4e3 100644
--- a/libstdc++-v3/configure.host
+++ b/libstdc++-v3/configure.host
@@ -297,6 +297,9 @@ case "${host_os}" in
@ -103,7 +106,7 @@ index ec32980aa..e060300f3 100644
os_include_dir="os/solaris"
;;
diff --git a/libstdc++-v3/crossconfig.m4 b/libstdc++-v3/crossconfig.m4
index ae5283b7a..b9fc96e94 100644
index ae5283b7ad378934b409455e7409ac9cac26a20a..b9fc96e942cba64aa76de1decc0daa9999fd53e9 100644
--- a/libstdc++-v3/crossconfig.m4
+++ b/libstdc++-v3/crossconfig.m4
@@ -9,7 +9,7 @@ case "${host}" in
@ -115,6 +118,3 @@ index ae5283b7a..b9fc96e94 100644
AC_DEFINE(HAVE_ACOSF)
AC_DEFINE(HAVE_ASINF)
AC_DEFINE(HAVE_ATAN2F)
--
2.36.1

View file

@ -10,6 +10,7 @@ It specifies which flags need to be passed to the linker, defines the
__serenity__ macro, sets the correct underlying type of `size_t` and
`ptrdiff_t`, and enables IFUNCs.
## `0002-fixincludes-Skip-for-SerenityOS-targets.patch`
fixincludes: Skip for SerenityOS targets
@ -27,6 +28,7 @@ libgcc: Build for SerenityOS
This patch enables building gcc's own C runtime files, and sets up
exception handling support.
## `0004-libgcc-Do-not-link-libgcc_s-to-LibC.patch`
libgcc: Do not link libgcc_s to LibC
@ -34,6 +36,7 @@ libgcc: Do not link libgcc_s to LibC
The toolchain is built before LibC, so linking to the C runtime library
would fail.
## `0005-i386-Disable-math-errno-for-SerenityOS.patch`
i386: Disable math errno for SerenityOS
@ -51,3 +54,4 @@ we have to manually tell libstdc++ about what our LibC supports.
In most places, we take the Newlib code paths.

View file

@ -14,7 +14,7 @@ process's resource usage information.
3 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/llvm/include/llvm/Support/SwapByteOrder.h b/llvm/include/llvm/Support/SwapByteOrder.h
index e8612ba66..f0109f4b3 100644
index e8612ba6654b5d950b2eb570c23ebbb79d4dc035..f0109f4b30e83cefc745e0575deaf89b1e51c35a 100644
--- a/llvm/include/llvm/Support/SwapByteOrder.h
+++ b/llvm/include/llvm/Support/SwapByteOrder.h
@@ -22,7 +22,7 @@
@ -27,7 +27,7 @@ index e8612ba66..f0109f4b3 100644
#elif defined(_AIX)
#include <sys/machine.h>
diff --git a/llvm/lib/Support/Unix/Path.inc b/llvm/lib/Support/Unix/Path.inc
index 2ae7c6dc4..bf173117b 100644
index 2ae7c6dc47e071a7801c346a6d40e0db45e49beb..bf173117bb9be72902597569dc94ff81efe5af38 100644
--- a/llvm/lib/Support/Unix/Path.inc
+++ b/llvm/lib/Support/Unix/Path.inc
@@ -112,7 +112,7 @@ typedef uint_t uint;
@ -50,7 +50,7 @@ index 2ae7c6dc4..bf173117b 100644
// statvfs::f_basetype contains a null-terminated FSType name of the mounted target
StringRef fstype(Vfs.f_basetype);
diff --git a/llvm/lib/Support/Unix/Program.inc b/llvm/lib/Support/Unix/Program.inc
index 089342030..3ffe064e5 100644
index 089342030b97e178d749a54b2d43ae5338b5b097..3ffe064e5f0de06ac76c34b218e44fe7a8d9eaf6 100644
--- a/llvm/lib/Support/Unix/Program.inc
+++ b/llvm/lib/Support/Unix/Program.inc
@@ -336,7 +336,7 @@ static bool Execute(ProcessInfo &PI, StringRef Program,

View file

@ -9,7 +9,7 @@ Subject: [PATCH] [Triple] Add triple for SerenityOS
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/llvm/include/llvm/ADT/Triple.h b/llvm/include/llvm/ADT/Triple.h
index ba4584dc6..7249849e8 100644
index ba4584dc60faf1b9a170493bbe3075c08d5ff2a8..56e793cc0c0afa7c5f6bdd2e019a61dc518964f4 100644
--- a/llvm/include/llvm/ADT/Triple.h
+++ b/llvm/include/llvm/ADT/Triple.h
@@ -219,7 +219,8 @@ public:
@ -35,7 +35,7 @@ index ba4584dc6..7249849e8 100644
bool isOSBinFormatELF() const {
return getObjectFormat() == Triple::ELF;
diff --git a/llvm/lib/Support/Triple.cpp b/llvm/lib/Support/Triple.cpp
index 6696d158b..5292164d7 100644
index 6696d158b2c1ae3d31f0819880ec0814f74a3a16..5292164d7aaed944c934a89fe3e809fc427218eb 100644
--- a/llvm/lib/Support/Triple.cpp
+++ b/llvm/lib/Support/Triple.cpp
@@ -234,6 +234,7 @@ StringRef Triple::getOSTypeName(OSType Kind) {

View file

@ -14,14 +14,14 @@ protection and position-independent code by default.
clang/lib/Driver/Driver.cpp | 4 +
clang/lib/Driver/ToolChain.cpp | 2 +
clang/lib/Driver/ToolChains/Arch/X86.cpp | 1 +
clang/lib/Driver/ToolChains/Serenity.cpp | 337 +++++++++++++++++++++++
clang/lib/Driver/ToolChains/Serenity.cpp | 336 +++++++++++++++++++++++
clang/lib/Driver/ToolChains/Serenity.h | 99 +++++++
8 files changed, 468 insertions(+)
8 files changed, 467 insertions(+)
create mode 100644 clang/lib/Driver/ToolChains/Serenity.cpp
create mode 100644 clang/lib/Driver/ToolChains/Serenity.h
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index 2d6ef9984..06abf1dfd 100644
index 2d6ef998485ae1404e561dc12f962ce1bef2996d..06abf1dfdd5b91c2a0051363e2f04ec9b3f3285f 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/lib/Basic/Targets.cpp
@@ -151,6 +151,8 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple,
@ -52,7 +52,7 @@ index 2d6ef9984..06abf1dfd 100644
return new X86_64TargetInfo(Triple, Opts);
}
diff --git a/clang/lib/Basic/Targets/OSTargets.h b/clang/lib/Basic/Targets/OSTargets.h
index a814f681b..927eeb664 100644
index a814f681b1468c7628daf6f5c9c6d723155821b0..927eeb66446a451b3cd9b08d9cdcfd6f8d4064ba 100644
--- a/clang/lib/Basic/Targets/OSTargets.h
+++ b/clang/lib/Basic/Targets/OSTargets.h
@@ -1013,6 +1013,24 @@ public:
@ -81,7 +81,7 @@ index a814f681b..927eeb664 100644
} // namespace clang
#endif // LLVM_CLANG_LIB_BASIC_TARGETS_OSTARGETS_H
diff --git a/clang/lib/Driver/CMakeLists.txt b/clang/lib/Driver/CMakeLists.txt
index 18c9b2d04..ed7178e51 100644
index 18c9b2d042f6c6e27382a4c72119250533e93482..ed7178e510584a465e695f64716bd399f3b131db 100644
--- a/clang/lib/Driver/CMakeLists.txt
+++ b/clang/lib/Driver/CMakeLists.txt
@@ -74,6 +74,7 @@ add_clang_library(clangDriver
@ -93,7 +93,7 @@ index 18c9b2d04..ed7178e51 100644
ToolChains/SPIRV.cpp
ToolChains/TCE.cpp
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
index 3f29afd35..184336551 100644
index 3f29afd359718a1c21e9c9911f0e6ad5f1002a3a..18433655172bc90a97a24b619f11a3d9eba0d327 100644
--- a/clang/lib/Driver/Driver.cpp
+++ b/clang/lib/Driver/Driver.cpp
@@ -45,6 +45,7 @@
@ -115,7 +115,7 @@ index 3f29afd35..184336551 100644
TC = std::make_unique<toolchains::Solaris>(*this, Target, Args);
break;
diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp
index 7a4319ea6..8db07d9dd 100644
index 7a4319ea680f97dde074b21afa2ee6f75c350091..8db07d9dd0754bffeddf00afe365fe7d011cc602 100644
--- a/clang/lib/Driver/ToolChain.cpp
+++ b/clang/lib/Driver/ToolChain.cpp
@@ -452,6 +452,8 @@ StringRef ToolChain::getOSLibName() const {
@ -128,7 +128,7 @@ index 7a4319ea6..8db07d9dd 100644
return getOS();
}
diff --git a/clang/lib/Driver/ToolChains/Arch/X86.cpp b/clang/lib/Driver/ToolChains/Arch/X86.cpp
index cd7c014fa..004185d28 100644
index cd7c014faa5e0d503adc9f2c30b83b3efbb7e315..004185d28816b8e8bb903612aa053cb883524fc5 100644
--- a/clang/lib/Driver/ToolChains/Arch/X86.cpp
+++ b/clang/lib/Driver/ToolChains/Arch/X86.cpp
@@ -113,6 +113,7 @@ std::string x86::getX86TargetCPU(const Driver &D, const ArgList &Args,
@ -141,7 +141,7 @@ index cd7c014fa..004185d28 100644
// Fallback to p4.
diff --git a/clang/lib/Driver/ToolChains/Serenity.cpp b/clang/lib/Driver/ToolChains/Serenity.cpp
new file mode 100644
index 000000000..6fc664a05
index 0000000000000000000000000000000000000000..4fdf45a19eb2704d00a03e7b2f34f87f63a0a074
--- /dev/null
+++ b/clang/lib/Driver/ToolChains/Serenity.cpp
@@ -0,0 +1,336 @@
@ -483,7 +483,7 @@ index 000000000..6fc664a05
+}
diff --git a/clang/lib/Driver/ToolChains/Serenity.h b/clang/lib/Driver/ToolChains/Serenity.h
new file mode 100644
index 000000000..d414f8366
index 0000000000000000000000000000000000000000..d414f836601c8ea8b43d64e9b111bffa2b71cd54
--- /dev/null
+++ b/clang/lib/Driver/ToolChains/Serenity.h
@@ -0,0 +1,99 @@

View file

@ -12,7 +12,7 @@ This patch should be removed when we implement proper TLS support.
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
index 3704ed858..cc7b59809 100644
index 3704ed8586682677882acb8e1b82bfc14b1d07a5..cc7b598090a8795e5906abc7341f798be7dd638f 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -6029,7 +6029,13 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,

View file

@ -24,7 +24,7 @@ LibC, namely:
create mode 100644 libcxx/include/__support/serenity/xlocale.h
diff --git a/libcxx/include/CMakeLists.txt b/libcxx/include/CMakeLists.txt
index f7c2d99e7..8d3cb754d 100644
index f7c2d99e78b08ff823b9d510a8608ebf50031b82..8d3cb754ddf4c599708b2be38fab1574ce3a4923 100644
--- a/libcxx/include/CMakeLists.txt
+++ b/libcxx/include/CMakeLists.txt
@@ -495,6 +495,7 @@ set(files
@ -36,7 +36,7 @@ index f7c2d99e7..8d3cb754d 100644
__support/solaris/wchar.h
__support/solaris/xlocale.h
diff --git a/libcxx/include/__config b/libcxx/include/__config
index 8c2f7614a..c7ebf50cb 100644
index 8c2f7614af537e71a76cb5292d5765d6ff8cd279..c7ebf50cb5ebb3a96029cd9a8a38d836cf19a01e 100644
--- a/libcxx/include/__config
+++ b/libcxx/include/__config
@@ -912,7 +912,8 @@ _LIBCPP_BEGIN_NAMESPACE_STD _LIBCPP_END_NAMESPACE_STD
@ -59,7 +59,7 @@ index 8c2f7614a..c7ebf50cb 100644
# endif
diff --git a/libcxx/include/__locale b/libcxx/include/__locale
index 40f9a3ff5..1c499c078 100644
index 40f9a3ff57c22635254be654227333b2a10eca6a..1c499c078b44a49abead17ce566801b4c34733f3 100644
--- a/libcxx/include/__locale
+++ b/libcxx/include/__locale
@@ -42,6 +42,8 @@
@ -73,7 +73,7 @@ index 40f9a3ff5..1c499c078 100644
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/__support/serenity/xlocale.h b/libcxx/include/__support/serenity/xlocale.h
new file mode 100644
index 000000000..0f939d2f6
index 0000000000000000000000000000000000000000..0f939d2f6989e2ad617145308d079776fe87b6ce
--- /dev/null
+++ b/libcxx/include/__support/serenity/xlocale.h
@@ -0,0 +1,24 @@
@ -102,7 +102,7 @@ index 000000000..0f939d2f6
+
+#endif
diff --git a/libcxx/include/locale b/libcxx/include/locale
index b01c66d04..da29b7d00 100644
index b01c66d0430f66ee74118e73296780bb864e920b..da29b7d00c709788facb049f417b6d5ccb5b70e1 100644
--- a/libcxx/include/locale
+++ b/libcxx/include/locale
@@ -217,7 +217,7 @@ template <class charT> class messages_byname;
@ -115,7 +115,7 @@ index b01c66d04..da29b7d00 100644
# include <nl_types.h>
# endif
diff --git a/libcxx/src/include/config_elast.h b/libcxx/src/include/config_elast.h
index bef26ec50..fbb2899b1 100644
index bef26ec5019eccab758733eb85a1f8a6fc404968..fbb2899b1939a2f9ce7a39337c99e48c7749f7f2 100644
--- a/libcxx/src/include/config_elast.h
+++ b/libcxx/src/include/config_elast.h
@@ -35,6 +35,8 @@

View file

@ -8,7 +8,7 @@ Subject: [PATCH] [compiler-rt] Build crtbegin.o/crtend.o for SerenityOS
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/compiler-rt/cmake/crt-config-ix.cmake b/compiler-rt/cmake/crt-config-ix.cmake
index 78d1a0de1..c8622c458 100644
index 78d1a0de1c8a7caab9d30cc8f445d5d8c485dfc0..c8622c458ea49c7ed656d2fb8d164576bba107f8 100644
--- a/compiler-rt/cmake/crt-config-ix.cmake
+++ b/compiler-rt/cmake/crt-config-ix.cmake
@@ -43,7 +43,7 @@ if(NOT APPLE)

View file

@ -11,7 +11,7 @@ are built.
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake b/llvm/cmake/modules/HandleLLVMOptions.cmake
index 56d05f5b5..8597d80d3 100644
index 56d05f5b5fcedf692cae22ffbe10a047d5532635..8597d80d3afd3e70e1306fdb7c36963f8e6aede4 100644
--- a/llvm/cmake/modules/HandleLLVMOptions.cmake
+++ b/llvm/cmake/modules/HandleLLVMOptions.cmake
@@ -228,7 +228,7 @@ endif()

View file

@ -16,7 +16,7 @@ it, and the ELF sections that store version data would just waste space.
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/clang/tools/libclang/CMakeLists.txt b/clang/tools/libclang/CMakeLists.txt
index c6b3b44a7..d43e0b4c1 100644
index c6b3b44a76334b86167971c48891db898d01f8d0..d43e0b4c1f7796c17c524626fba59e0dfaebf4b2 100644
--- a/clang/tools/libclang/CMakeLists.txt
+++ b/clang/tools/libclang/CMakeLists.txt
@@ -96,7 +96,7 @@ if(MSVC)
@ -29,7 +29,7 @@ index c6b3b44a7..d43e0b4c1 100644
set(USE_VERSION_SCRIPT ${LLVM_HAVE_LINK_VERSION_SCRIPT})
endif()
diff --git a/llvm/tools/llvm-shlib/CMakeLists.txt b/llvm/tools/llvm-shlib/CMakeLists.txt
index 8e2b78f1b..909018753 100644
index 8e2b78f1b85c0f2664f84e24d7588bb60e37fe77..909018753e2e09cb3a46bae35e9aaa45cc7703bc 100644
--- a/llvm/tools/llvm-shlib/CMakeLists.txt
+++ b/llvm/tools/llvm-shlib/CMakeLists.txt
@@ -39,6 +39,7 @@ if(LLVM_BUILD_LLVM_DYLIB)

View file

@ -17,7 +17,7 @@ OS ABI for userspace binaries to 3, or GNU/Linux.
4 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/compiler-rt/cmake/config-ix.cmake b/compiler-rt/cmake/config-ix.cmake
index cd45176cf..ebaa74f4b 100644
index cd45176cf2ba761667793903daccd5f02b0e690c..ebaa74f4b5a21c20459af911e2aaede3ac3a8184 100644
--- a/compiler-rt/cmake/config-ix.cmake
+++ b/compiler-rt/cmake/config-ix.cmake
@@ -756,7 +756,7 @@ else()
@ -30,7 +30,7 @@ index cd45176cf..ebaa74f4b 100644
else()
set(COMPILER_RT_HAS_PROFILE FALSE)
diff --git a/compiler-rt/lib/profile/InstrProfilingPlatformLinux.c b/compiler-rt/lib/profile/InstrProfilingPlatformLinux.c
index 3af61d249..ee46741d4 100644
index 3af61d24948e7c9b6e8f3950a418516c603457a2..ee46741d47ead6c9e6931c8d3a6f16e8cd6407ae 100644
--- a/compiler-rt/lib/profile/InstrProfilingPlatformLinux.c
+++ b/compiler-rt/lib/profile/InstrProfilingPlatformLinux.c
@@ -8,7 +8,7 @@
@ -43,7 +43,7 @@ index 3af61d249..ee46741d4 100644
#if !defined(_AIX)
#include <elf.h>
diff --git a/compiler-rt/lib/profile/InstrProfilingPlatformOther.c b/compiler-rt/lib/profile/InstrProfilingPlatformOther.c
index c7b6e842c..00fdf9ee6 100644
index c7b6e842c9fac27b2885242d6c2cd48797bfe799..00fdf9ee6adc8e5fffda50cd981c901f02fddaf2 100644
--- a/compiler-rt/lib/profile/InstrProfilingPlatformOther.c
+++ b/compiler-rt/lib/profile/InstrProfilingPlatformOther.c
@@ -8,7 +8,7 @@
@ -56,7 +56,7 @@ index c7b6e842c..00fdf9ee6 100644
#include <stdlib.h>
#include <stdio.h>
diff --git a/llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp b/llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
index 5b7aa304b..b3b037a6f 100644
index 5b7aa304b9876fc027e251547340df56dcf0c343..b3b037a6fdf5ea2dd749c8eb5329c9a29b44f75c 100644
--- a/llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
+++ b/llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
@@ -822,7 +822,8 @@ static bool needsRuntimeRegistrationOfSectionRange(const Triple &TT) {

View file

@ -43,14 +43,9 @@ LibC, namely:
* The number of errno constants defined by us is given by the value of
the `ELAST` macro.
* Multithreading is implemented though the pthread library.
* Aligned memory allocation is provided by the MSVCRT-like
`_aligned_{malloc,free}` functions.
Adds a hack for a header not found error when including
`<initializer_list>` inside the SerenityOS kernel.
Makes libc++ use its builtin character type table instead of the one
provided by LibC as it is incomplete.
* Use libc++'s builtin character type table instead of the one provided
by LibC as there's a lot of extra porting work to convince the rest of
locale.cpp to use our character type table properly.
## `0006-compiler-rt-Build-crtbegin.o-crtend.o-for-SerenityOS.patch`
@ -85,3 +80,4 @@ enough to linux to use the pre-canned InstrProfiling implementation.
Curiously, enabling profiling for the SerenityOS target changes the ELF
OS ABI for userspace binaries to 3, or GNU/Linux.