summaryrefslogtreecommitdiff
path: root/Toolchain/Patches
diff options
context:
space:
mode:
Diffstat (limited to 'Toolchain/Patches')
-rw-r--r--Toolchain/Patches/binutils.patch34
-rw-r--r--Toolchain/Patches/gcc/0001-Add-a-gcc-driver-for-SerenityOS.patch21
-rw-r--r--Toolchain/Patches/gcc/0002-fixincludes-Skip-for-SerenityOS-targets.patch9
-rw-r--r--Toolchain/Patches/gcc/0003-libgcc-Build-for-SerenityOS.patch13
-rw-r--r--Toolchain/Patches/gcc/0004-libgcc-Do-not-link-libgcc_s-to-LibC.patch9
-rw-r--r--Toolchain/Patches/gcc/0005-i386-Disable-math-errno-for-SerenityOS.patch9
-rw-r--r--Toolchain/Patches/gcc/0006-libstdc-Support-SerenityOS.patch18
-rw-r--r--Toolchain/Patches/gcc/ReadMe.md4
-rw-r--r--Toolchain/Patches/llvm/0001-Support-Add-support-for-building-LLVM-on-SerenityOS.patch6
-rw-r--r--Toolchain/Patches/llvm/0002-Triple-Add-triple-for-SerenityOS.patch4
-rw-r--r--Toolchain/Patches/llvm/0003-Driver-Add-support-for-SerenityOS.patch20
-rw-r--r--Toolchain/Patches/llvm/0004-Driver-Default-to-ftls-model-initial-exec-on-Serenit.patch2
-rw-r--r--Toolchain/Patches/llvm/0005-libc-Add-support-for-SerenityOS.patch12
-rw-r--r--Toolchain/Patches/llvm/0006-compiler-rt-Build-crtbegin.o-crtend.o-for-SerenityOS.patch2
-rw-r--r--Toolchain/Patches/llvm/0007-cmake-Allow-undefined-symbols-on-SerenityOS.patch2
-rw-r--r--Toolchain/Patches/llvm/0008-cmake-Support-building-shared-libLLVM-and-libClang-f.patch4
-rw-r--r--Toolchain/Patches/llvm/0009-compiler-rt-llvm-Enable-profile-instrumentation-for-.patch8
-rw-r--r--Toolchain/Patches/llvm/ReadMe.md12
18 files changed, 87 insertions, 102 deletions
diff --git a/Toolchain/Patches/binutils.patch b/Toolchain/Patches/binutils.patch
index be6713987d..05805bc6ac 100644
--- a/Toolchain/Patches/binutils.patch
+++ b/Toolchain/Patches/binutils.patch
@@ -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
diff --git a/Toolchain/Patches/gcc/0001-Add-a-gcc-driver-for-SerenityOS.patch b/Toolchain/Patches/gcc/0001-Add-a-gcc-driver-for-SerenityOS.patch
index 073338ff0a..8bb93a480e 100644
--- a/Toolchain/Patches/gcc/0001-Add-a-gcc-driver-for-SerenityOS.patch
+++ b/Toolchain/Patches/gcc/0001-Add-a-gcc-driver-for-SerenityOS.patch
@@ -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
-
diff --git a/Toolchain/Patches/gcc/0002-fixincludes-Skip-for-SerenityOS-targets.patch b/Toolchain/Patches/gcc/0002-fixincludes-Skip-for-SerenityOS-targets.patch
index 926f4664d3..21bd5de027 100644
--- a/Toolchain/Patches/gcc/0002-fixincludes-Skip-for-SerenityOS-targets.patch
+++ b/Toolchain/Patches/gcc/0002-fixincludes-Skip-for-SerenityOS-targets.patch
@@ -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
-
diff --git a/Toolchain/Patches/gcc/0003-libgcc-Build-for-SerenityOS.patch b/Toolchain/Patches/gcc/0003-libgcc-Build-for-SerenityOS.patch
index d615a4e848..63926b1763 100644
--- a/Toolchain/Patches/gcc/0003-libgcc-Build-for-SerenityOS.patch
+++ b/Toolchain/Patches/gcc/0003-libgcc-Build-for-SerenityOS.patch
@@ -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
-
diff --git a/Toolchain/Patches/gcc/0004-libgcc-Do-not-link-libgcc_s-to-LibC.patch b/Toolchain/Patches/gcc/0004-libgcc-Do-not-link-libgcc_s-to-LibC.patch
index 221330925b..ac13a3c45f 100644
--- a/Toolchain/Patches/gcc/0004-libgcc-Do-not-link-libgcc_s-to-LibC.patch
+++ b/Toolchain/Patches/gcc/0004-libgcc-Do-not-link-libgcc_s-to-LibC.patch
@@ -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
-
diff --git a/Toolchain/Patches/gcc/0005-i386-Disable-math-errno-for-SerenityOS.patch b/Toolchain/Patches/gcc/0005-i386-Disable-math-errno-for-SerenityOS.patch
index 404eeecbbe..ca550a63ae 100644
--- a/Toolchain/Patches/gcc/0005-i386-Disable-math-errno-for-SerenityOS.patch
+++ b/Toolchain/Patches/gcc/0005-i386-Disable-math-errno-for-SerenityOS.patch
@@ -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
-
diff --git a/Toolchain/Patches/gcc/0006-libstdc-Support-SerenityOS.patch b/Toolchain/Patches/gcc/0006-libstdc-Support-SerenityOS.patch
index 96bb013a0d..ad5a3930b6 100644
--- a/Toolchain/Patches/gcc/0006-libstdc-Support-SerenityOS.patch
+++ b/Toolchain/Patches/gcc/0006-libstdc-Support-SerenityOS.patch
@@ -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
-
diff --git a/Toolchain/Patches/gcc/ReadMe.md b/Toolchain/Patches/gcc/ReadMe.md
index 0dbae0a2ab..0347faaea4 100644
--- a/Toolchain/Patches/gcc/ReadMe.md
+++ b/Toolchain/Patches/gcc/ReadMe.md
@@ -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.
+
diff --git a/Toolchain/Patches/llvm/0001-Support-Add-support-for-building-LLVM-on-SerenityOS.patch b/Toolchain/Patches/llvm/0001-Support-Add-support-for-building-LLVM-on-SerenityOS.patch
index a49051da5c..6b97ed9452 100644
--- a/Toolchain/Patches/llvm/0001-Support-Add-support-for-building-LLVM-on-SerenityOS.patch
+++ b/Toolchain/Patches/llvm/0001-Support-Add-support-for-building-LLVM-on-SerenityOS.patch
@@ -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,
diff --git a/Toolchain/Patches/llvm/0002-Triple-Add-triple-for-SerenityOS.patch b/Toolchain/Patches/llvm/0002-Triple-Add-triple-for-SerenityOS.patch
index dd4b1a0e2b..dcb961459c 100644
--- a/Toolchain/Patches/llvm/0002-Triple-Add-triple-for-SerenityOS.patch
+++ b/Toolchain/Patches/llvm/0002-Triple-Add-triple-for-SerenityOS.patch
@@ -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) {
diff --git a/Toolchain/Patches/llvm/0003-Driver-Add-support-for-SerenityOS.patch b/Toolchain/Patches/llvm/0003-Driver-Add-support-for-SerenityOS.patch
index 90d254f249..6f281360f1 100644
--- a/Toolchain/Patches/llvm/0003-Driver-Add-support-for-SerenityOS.patch
+++ b/Toolchain/Patches/llvm/0003-Driver-Add-support-for-SerenityOS.patch
@@ -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 @@
diff --git a/Toolchain/Patches/llvm/0004-Driver-Default-to-ftls-model-initial-exec-on-Serenit.patch b/Toolchain/Patches/llvm/0004-Driver-Default-to-ftls-model-initial-exec-on-Serenit.patch
index 970138bdeb..8baa8cf7f3 100644
--- a/Toolchain/Patches/llvm/0004-Driver-Default-to-ftls-model-initial-exec-on-Serenit.patch
+++ b/Toolchain/Patches/llvm/0004-Driver-Default-to-ftls-model-initial-exec-on-Serenit.patch
@@ -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,
diff --git a/Toolchain/Patches/llvm/0005-libc-Add-support-for-SerenityOS.patch b/Toolchain/Patches/llvm/0005-libc-Add-support-for-SerenityOS.patch
index 44a7a77751..dd16bbadb3 100644
--- a/Toolchain/Patches/llvm/0005-libc-Add-support-for-SerenityOS.patch
+++ b/Toolchain/Patches/llvm/0005-libc-Add-support-for-SerenityOS.patch
@@ -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 @@
diff --git a/Toolchain/Patches/llvm/0006-compiler-rt-Build-crtbegin.o-crtend.o-for-SerenityOS.patch b/Toolchain/Patches/llvm/0006-compiler-rt-Build-crtbegin.o-crtend.o-for-SerenityOS.patch
index 80dfa44dec..dd720d213e 100644
--- a/Toolchain/Patches/llvm/0006-compiler-rt-Build-crtbegin.o-crtend.o-for-SerenityOS.patch
+++ b/Toolchain/Patches/llvm/0006-compiler-rt-Build-crtbegin.o-crtend.o-for-SerenityOS.patch
@@ -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)
diff --git a/Toolchain/Patches/llvm/0007-cmake-Allow-undefined-symbols-on-SerenityOS.patch b/Toolchain/Patches/llvm/0007-cmake-Allow-undefined-symbols-on-SerenityOS.patch
index 60787f69d6..90829690bc 100644
--- a/Toolchain/Patches/llvm/0007-cmake-Allow-undefined-symbols-on-SerenityOS.patch
+++ b/Toolchain/Patches/llvm/0007-cmake-Allow-undefined-symbols-on-SerenityOS.patch
@@ -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()
diff --git a/Toolchain/Patches/llvm/0008-cmake-Support-building-shared-libLLVM-and-libClang-f.patch b/Toolchain/Patches/llvm/0008-cmake-Support-building-shared-libLLVM-and-libClang-f.patch
index 6e1ca4d879..89206a96b4 100644
--- a/Toolchain/Patches/llvm/0008-cmake-Support-building-shared-libLLVM-and-libClang-f.patch
+++ b/Toolchain/Patches/llvm/0008-cmake-Support-building-shared-libLLVM-and-libClang-f.patch
@@ -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)
diff --git a/Toolchain/Patches/llvm/0009-compiler-rt-llvm-Enable-profile-instrumentation-for-.patch b/Toolchain/Patches/llvm/0009-compiler-rt-llvm-Enable-profile-instrumentation-for-.patch
index f44069188a..0569f01e63 100644
--- a/Toolchain/Patches/llvm/0009-compiler-rt-llvm-Enable-profile-instrumentation-for-.patch
+++ b/Toolchain/Patches/llvm/0009-compiler-rt-llvm-Enable-profile-instrumentation-for-.patch
@@ -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) {
diff --git a/Toolchain/Patches/llvm/ReadMe.md b/Toolchain/Patches/llvm/ReadMe.md
index 54dfdca6cc..e4db6102c5 100644
--- a/Toolchain/Patches/llvm/ReadMe.md
+++ b/Toolchain/Patches/llvm/ReadMe.md
@@ -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.
+