sync ports with The Matrix

This commit is contained in:
purplerain 2023-09-14 00:49:35 +00:00
parent 9d4d2e721a
commit 79bc6d9d97
Signed by: purplerain
GPG key ID: F42C07F07E2E35B7
846 changed files with 10693 additions and 8131 deletions

View file

@ -2,7 +2,7 @@ LLVM_MAJOR = 13
LLVM_VERSION = ${LLVM_MAJOR}.0.0
LLVM_PKGSPEC = >=13,<14
REVISION-main = 11
REVISION-main = 13
REVISION-lldb = 4
REVISION-python = 3

View file

@ -4,11 +4,35 @@ internals.
Index: lld/CMakeLists.txt
--- lld/CMakeLists.txt.orig
+++ lld/CMakeLists.txt
@@ -206,7 +206,6 @@ endif()
@@ -155,6 +155,20 @@ list (APPEND CMAKE_MODULE_PATH "${LLD_SOURCE_DIR}/cmak
include(AddLLD)
+option(LLD_ENABLE_WASM
+ "Enable support for WASM."
+ OFF)
+if (LLD_ENABLE_WASM)
+ add_definitions("-DLLD_ENABLE_WASM=1")
+endif()
+
+option(LLD_ENABLE_MACHO
+ "Enable support for MachO."
+ OFF)
+if (LLD_ENABLE_MACHO)
+ add_definitions("-DLLD_ENABLE_MACHO=1")
+endif()
+
option(LLD_USE_VTUNE
"Enable VTune user task tracking."
OFF)
@@ -206,7 +220,9 @@ endif()
add_subdirectory(docs)
add_subdirectory(COFF)
add_subdirectory(ELF)
-add_subdirectory(MachO)
+if (LLD_ENABLE_MACHO)
+ add_subdirectory(MachO)
+endif()
add_subdirectory(MinGW)
add_subdirectory(wasm)

View file

@ -4,7 +4,7 @@ internals.
Index: lld/tools/lld/CMakeLists.txt
--- lld/tools/lld/CMakeLists.txt.orig
+++ lld/tools/lld/CMakeLists.txt
@@ -15,7 +15,6 @@ target_link_libraries(lld
@@ -15,10 +15,15 @@ target_link_libraries(lld
lldCOFF
lldDriver
lldELF
@ -12,3 +12,12 @@ Index: lld/tools/lld/CMakeLists.txt
lldMinGW
lldWasm
)
+
+if (LLD_ENABLE_MACHO)
+ target_link_libraries(lld
+ lldMachO2
+ )
+endif()
install(TARGETS lld
RUNTIME DESTINATION bin)

View file

@ -4,16 +4,20 @@ internals.
Index: lld/tools/lld/lld.cpp
--- lld/tools/lld/lld.cpp.orig
+++ lld/tools/lld/lld.cpp
@@ -148,10 +148,12 @@ static int lldMain(int argc, const char **argv, llvm::
@@ -148,12 +148,16 @@ static int lldMain(int argc, const char **argv, llvm::
return !elf::link(args, exitEarly, stdoutOS, stderrOS);
case WinLink:
return !coff::link(args, exitEarly, stdoutOS, stderrOS);
+#if 0
+#ifdef LLD_ENABLE_MACHO
case Darwin:
return !macho::link(args, exitEarly, stdoutOS, stderrOS);
case DarwinOld:
return !mach_o::link(args, exitEarly, stdoutOS, stderrOS);
+#endif
+#ifdef LLD_ENABLE_WASM
case Wasm:
return !lld::wasm::link(args, exitEarly, stdoutOS, stderrOS);
+#endif
default:
die("lld is a generic driver.\n"
"Invoke ld.lld (Unix), ld64.lld (macOS), lld-link (Windows), wasm-ld"

View file

@ -2783,7 +2783,7 @@ ${CLANG_INCLUDE_PATH}/cuda_wrappers/new
${CLANG_INCLUDE_PATH}/emmintrin.h
${CLANG_INCLUDE_PATH}/enqcmdintrin.h
${CLANG_INCLUDE_PATH}/f16cintrin.h
${CLANG_INCLUDE_PATH}/float.h
@comment ${CLANG_INCLUDE_PATH}/float.h
${CLANG_INCLUDE_PATH}/fma4intrin.h
${CLANG_INCLUDE_PATH}/fmaintrin.h
${CLANG_INCLUDE_PATH}/fxsrintrin.h
@ -2798,11 +2798,11 @@ ${CLANG_INCLUDE_PATH}/hvx_hexagon_protos.h
${CLANG_INCLUDE_PATH}/ia32intrin.h
${CLANG_INCLUDE_PATH}/immintrin.h
${CLANG_INCLUDE_PATH}/intrin.h
${CLANG_INCLUDE_PATH}/inttypes.h
@comment ${CLANG_INCLUDE_PATH}/inttypes.h
${CLANG_INCLUDE_PATH}/invpcidintrin.h
${CLANG_INCLUDE_PATH}/iso646.h
@comment ${CLANG_INCLUDE_PATH}/iso646.h
${CLANG_INCLUDE_PATH}/keylockerintrin.h
${CLANG_INCLUDE_PATH}/limits.h
@comment ${CLANG_INCLUDE_PATH}/limits.h
${CLANG_INCLUDE_PATH}/lwpintrin.h
${CLANG_INCLUDE_PATH}/lzcntintrin.h
${CLANG_INCLUDE_PATH}/mm3dnow.h
@ -2846,21 +2846,21 @@ ${CLANG_INCLUDE_PATH}/sgxintrin.h
${CLANG_INCLUDE_PATH}/shaintrin.h
${CLANG_INCLUDE_PATH}/smmintrin.h
${CLANG_INCLUDE_PATH}/stdalign.h
${CLANG_INCLUDE_PATH}/stdarg.h
@comment ${CLANG_INCLUDE_PATH}/stdarg.h
${CLANG_INCLUDE_PATH}/stdatomic.h
${CLANG_INCLUDE_PATH}/stdbool.h
${CLANG_INCLUDE_PATH}/stddef.h
${CLANG_INCLUDE_PATH}/stdint.h
@comment ${CLANG_INCLUDE_PATH}/stdbool.h
@comment ${CLANG_INCLUDE_PATH}/stddef.h
@comment ${CLANG_INCLUDE_PATH}/stdint.h
${CLANG_INCLUDE_PATH}/stdnoreturn.h
${CLANG_INCLUDE_PATH}/tbmintrin.h
${CLANG_INCLUDE_PATH}/tgmath.h
@comment ${CLANG_INCLUDE_PATH}/tgmath.h
${CLANG_INCLUDE_PATH}/tmmintrin.h
${CLANG_INCLUDE_PATH}/tsxldtrkintrin.h
${CLANG_INCLUDE_PATH}/uintrintrin.h
${CLANG_INCLUDE_PATH}/unwind.h
${CLANG_INCLUDE_PATH}/vadefs.h
${CLANG_INCLUDE_PATH}/vaesintrin.h
${CLANG_INCLUDE_PATH}/varargs.h
@comment ${CLANG_INCLUDE_PATH}/varargs.h
${CLANG_INCLUDE_PATH}/vecintrin.h
${CLANG_INCLUDE_PATH}/vpclmulqdqintrin.h
${CLANG_INCLUDE_PATH}/waitpkgintrin.h

View file

@ -2,7 +2,7 @@ LLVM_MAJOR = 16
LLVM_VERSION = ${LLVM_MAJOR}.0.6
LLVM_PKGSPEC = >=16,<17
REVISION-main = 5
REVISION-main = 7
REVISION-lldb = 1
REVISION-python = 0

View file

@ -0,0 +1,35 @@
Index: lld/CMakeLists.txt
--- lld/CMakeLists.txt.orig
+++ lld/CMakeLists.txt
@@ -161,6 +161,20 @@ list(INSERT CMAKE_MODULE_PATH 0
include(AddLLD)
+option(LLD_ENABLE_WASM
+ "Enable support for WASM."
+ OFF)
+if (LLD_ENABLE_WASM)
+ add_definitions("-DLLD_ENABLE_WASM=1")
+endif()
+
+option(LLD_ENABLE_MACHO
+ "Enable support for MachO."
+ OFF)
+if (LLD_ENABLE_MACHO)
+ add_definitions("-DLLD_ENABLE_MACHO=1")
+endif()
+
option(LLD_USE_VTUNE
"Enable VTune user task tracking."
OFF)
@@ -210,7 +224,9 @@ endif()
add_subdirectory(docs)
add_subdirectory(COFF)
add_subdirectory(ELF)
-add_subdirectory(MachO)
+if (LLD_ENABLE_MACHO)
+ add_subdirectory(MachO)
+endif()
add_subdirectory(MinGW)
add_subdirectory(wasm)

View file

@ -0,0 +1,20 @@
Index: lld/tools/lld/CMakeLists.txt
--- lld/tools/lld/CMakeLists.txt.orig
+++ lld/tools/lld/CMakeLists.txt
@@ -23,10 +23,15 @@ lld_target_link_libraries(lld
lldCommon
lldCOFF
lldELF
- lldMachO
lldMinGW
lldWasm
)
+
+if (LLD_ENABLE_MACHO)
+ target_link_libraries(lld
+ lldMachO
+ )
+endif()
install(TARGETS lld
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")

View file

@ -1,35 +1,15 @@
Index: lld/tools/lld/lld.cpp
--- lld/tools/lld/lld.cpp.orig
+++ lld/tools/lld/lld.cpp
@@ -70,6 +70,7 @@ static Flavor getFlavor(StringRef s) {
.Default(Invalid);
}
+#ifndef __OpenBSD__
static cl::TokenizerCallback getDefaultQuotingStyle() {
if (Triple(sys::getProcessTriple()).getOS() == Triple::Win32)
return cl::TokenizeWindowsCommandLine;
@@ -106,6 +107,7 @@ static bool isPETarget(std::vector<const char *> &v) {
return false;
#endif
}
+#endif
static Flavor parseProgname(StringRef progname) {
// Use GNU driver for "ld" by default.
@@ -149,6 +151,10 @@ static int lldMain(int argc, const char **argv, llvm::
std::vector<const char *> args(argv, argv + argc);
auto link = [&args]() {
Flavor f = parseFlavor(args);
+#ifdef __OpenBSD__
+ if (f == Gnu)
+ return elf::link;
+#else
if (f == Gnu && isPETarget(args))
return mingw::link;
else if (f == Gnu)
@@ -159,6 +165,7 @@ static int lldMain(int argc, const char **argv, llvm::
@@ -155,10 +155,14 @@ static int lldMain(int argc, const char **argv, llvm::
return elf::link;
else if (f == WinLink)
return coff::link;
+#ifdef LLD_ENABLE_MACHO
else if (f == Darwin)
return macho::link;
+#endif
+#ifdef LLD_ENABLE_WASM
else if (f == Wasm)
return lld::wasm::link;
+#endif

View file

@ -3059,7 +3059,7 @@ ${CLANG_INCLUDE_PATH}/cuda_wrappers/new
${CLANG_INCLUDE_PATH}/emmintrin.h
${CLANG_INCLUDE_PATH}/enqcmdintrin.h
${CLANG_INCLUDE_PATH}/f16cintrin.h
${CLANG_INCLUDE_PATH}/float.h
@comment ${CLANG_INCLUDE_PATH}/float.h
${CLANG_INCLUDE_PATH}/fma4intrin.h
${CLANG_INCLUDE_PATH}/fmaintrin.h
${CLANG_INCLUDE_PATH}/fxsrintrin.h
@ -3074,12 +3074,12 @@ ${CLANG_INCLUDE_PATH}/hvx_hexagon_protos.h
${CLANG_INCLUDE_PATH}/ia32intrin.h
${CLANG_INCLUDE_PATH}/immintrin.h
${CLANG_INCLUDE_PATH}/intrin.h
${CLANG_INCLUDE_PATH}/inttypes.h
@comment ${CLANG_INCLUDE_PATH}/inttypes.h
${CLANG_INCLUDE_PATH}/invpcidintrin.h
${CLANG_INCLUDE_PATH}/iso646.h
@comment ${CLANG_INCLUDE_PATH}/iso646.h
${CLANG_INCLUDE_PATH}/keylockerintrin.h
${CLANG_INCLUDE_PATH}/larchintrin.h
${CLANG_INCLUDE_PATH}/limits.h
@comment ${CLANG_INCLUDE_PATH}/limits.h
${CLANG_INCLUDE_PATH}/lwpintrin.h
${CLANG_INCLUDE_PATH}/lzcntintrin.h
${CLANG_INCLUDE_PATH}/mm3dnow.h
@ -3131,21 +3131,21 @@ ${CLANG_INCLUDE_PATH}/sgxintrin.h
${CLANG_INCLUDE_PATH}/shaintrin.h
${CLANG_INCLUDE_PATH}/smmintrin.h
${CLANG_INCLUDE_PATH}/stdalign.h
${CLANG_INCLUDE_PATH}/stdarg.h
@comment ${CLANG_INCLUDE_PATH}/stdarg.h
${CLANG_INCLUDE_PATH}/stdatomic.h
${CLANG_INCLUDE_PATH}/stdbool.h
${CLANG_INCLUDE_PATH}/stddef.h
${CLANG_INCLUDE_PATH}/stdint.h
@comment ${CLANG_INCLUDE_PATH}/stdbool.h
@comment ${CLANG_INCLUDE_PATH}/stddef.h
@comment ${CLANG_INCLUDE_PATH}/stdint.h
${CLANG_INCLUDE_PATH}/stdnoreturn.h
${CLANG_INCLUDE_PATH}/tbmintrin.h
${CLANG_INCLUDE_PATH}/tgmath.h
@comment ${CLANG_INCLUDE_PATH}/tgmath.h
${CLANG_INCLUDE_PATH}/tmmintrin.h
${CLANG_INCLUDE_PATH}/tsxldtrkintrin.h
${CLANG_INCLUDE_PATH}/uintrintrin.h
${CLANG_INCLUDE_PATH}/unwind.h
${CLANG_INCLUDE_PATH}/vadefs.h
${CLANG_INCLUDE_PATH}/vaesintrin.h
${CLANG_INCLUDE_PATH}/varargs.h
@comment ${CLANG_INCLUDE_PATH}/varargs.h
${CLANG_INCLUDE_PATH}/vecintrin.h
${CLANG_INCLUDE_PATH}/velintrin.h
${CLANG_INCLUDE_PATH}/velintrin_approx.h
@ -3459,7 +3459,6 @@ ${LLVM_BASE}/lib/libear/ear.c
@static-lib ${LLVM_BASE}/lib/liblldCOFF.a
@static-lib ${LLVM_BASE}/lib/liblldCommon.a
@static-lib ${LLVM_BASE}/lib/liblldELF.a
@static-lib ${LLVM_BASE}/lib/liblldMachO.a
@static-lib ${LLVM_BASE}/lib/liblldMinGW.a
@static-lib ${LLVM_BASE}/lib/liblldWasm.a
${LLVM_BASE}/lib/libscanbuild/

View file

@ -90,6 +90,11 @@ CONFIGURE_ARGS += \
-DSPHINX_WARNINGS_AS_ERRORS=OFF \
-DSPHINX_OUTPUT_MAN=ON
# OpenBSD specific options
CONFIGURE_ARGS += \
-DLLD_ENABLE_MACHO=OFF \
-DLLD_ENABLE_WASM=ON
# Disable some protections in the compiler to regain performance.
CXXFLAGS-aarch64 = -fno-ret-protector
CXXFLAGS-amd64 = -fno-ret-protector -mno-retpoline
@ -177,7 +182,15 @@ post-install:
rm ${PREFIX}/man/man1/FileCheck-${LLVM_MAJOR}.1
rm -rf ${PREFIX}/${LLVM_BASE}/man
diff-to-base:
# search and remove headers that might conflict with base
cd ${PREFIX}/${CLANG_INCLUDE_PATH} && \
find . -name '*.h' | sed "s,./,,g" | while read h; \
do \
if test -e /usr/include/$${h}; then rm $${h}; fi; \
done
diff-to-base: ${_PATCH_COOKIE}
.for _subdir in clang lld lldb llvm
@_d=/tmp/llvm${LLVM_MAJOR}_${_subdir}.diff && echo "Creating $${_d} ..." && \
diff -ruN -x CVS -x test -x '*${PATCHORIG}' -x '*.beforesubst' \