SerenityOS: Tracking Compiler Upstreaming Progress
This issue is a mirror of the SerenityOS issue tracking the same status. Current OS patches for Toolchain projects live here:
In order to upstream SerenityOS patches into llvm-project, binutils, and gcc, the following steps need taken:
In SerenityOS/serenity:
Loader/Kernel/LibELF:
-
(Optional) Support tls-model other than initial-exec: Will remove a patch from each llvm and gcc
LibC:
-
Make <ctype.h>
POSIX and C standard compliant. Remove hax from libc++ and libstdc++ patches pretending to be newlib. -
(Optional) Unify libdl, libpthread, libc and libm into a mega-library to avoid cyclic dependencies in libstdc++ -
scanf improperly reads some integer types on x86_64 (Tim has patch in the works) -
Remove _aligned_alloc and _aligned_free
GNU Autotools:
-
config.sub -
config.guess -
libtool.m4
Binutils:
-
Possibly find a way to remove the changed default base address of non-PIE executables? Ask on binutils mailing list if the patch is reasonable (Tim has patch in the works) -
Upstream the patch
GCC/libstdc++:
-
Split patch up -
Upstream patches
LLVM:
-
Remove _aligned_alloc patches from libc++ -
Remove patches from libc++ in <initializer_list>
-
Upstream patches
Edited by Andrew Kaster