diff --git a/.gitmodules b/.gitmodules index 214fc15f7..26ba6aee2 100644 --- a/.gitmodules +++ b/.gitmodules @@ -123,7 +123,7 @@ url = https://chromium.googlesource.com/chromium/src/base/trace_event/common.git [submodule "protobuf"] path = lib-protocol/protobuf - url = https://chromium.googlesource.com/external/github.com/google/protobuf + url = https://github.com/protocolbuffers/protobuf.git [submodule "jinja2"] path = min-v8/jinja2 url = https://chromium.googlesource.com/chromium/src/third_party/jinja2.git @@ -259,3 +259,6 @@ [submodule "simdutf"] path = srv-worker/simdutf url = https://github.com/simdutf/simdutf.git +[submodule "fast_float"] + path = min-v8/fast_float + url = https://github.com/fastfloat/fast_float.git diff --git a/env/output.mk b/env/output.mk index 4f914f4c7..c4ebe3c7c 100644 --- a/env/output.mk +++ b/env/output.mk @@ -69,7 +69,7 @@ $(output)/%.cc.o: $$(specific) $$(folder).cc $$(code) $(specific) @mkdir -p $(dir $@) @echo [CC] $(target)/$(arch) $< - $(call compile,cxx,c++,-std=c++17) + $(call compile,cxx,c++,-std=c++20) $(output)/%.c++.o: $$(specific) $$(folder).c++ $$(code) $(specific) diff --git a/lib-protocol/boringtun b/lib-protocol/boringtun index e183afa09..b07142b38 160000 --- a/lib-protocol/boringtun +++ b/lib-protocol/boringtun @@ -1 +1 @@ -Subproject commit e183afa0953d0b40d531f35e4af35a79d4ba9346 +Subproject commit b07142b38d51095ab7d7830db42d5f7e91c2bacf diff --git a/lib-protocol/c-ares b/lib-protocol/c-ares index 67abe5c57..a8c091750 160000 --- a/lib-protocol/c-ares +++ b/lib-protocol/c-ares @@ -1 +1 @@ -Subproject commit 67abe5c5737fffad25ef7eec477e67dc610119ef +Subproject commit a8c091750d4db206ead3555b9a18e238525d7ca8 diff --git a/lib-protocol/curl b/lib-protocol/curl index b723f6a44..24085b53c 160000 --- a/lib-protocol/curl +++ b/lib-protocol/curl @@ -1 +1 @@ -Subproject commit b723f6a445b4d5757db915fe9946158e4158def4 +Subproject commit 24085b53c632c131a5a5da755fb2687cda365b3f diff --git a/lib-protocol/protobuf.mk b/lib-protocol/protobuf.mk index 6ef28dfdb..971dd68cb 100644 --- a/lib-protocol/protobuf.mk +++ b/lib-protocol/protobuf.mk @@ -30,7 +30,7 @@ protoc := $(output)/protoc $(output)/protobuf/%.o: $(pwd/protobuf)/src/google/protobuf/%.cc @mkdir -p $(dir $@) - clang++ -stdlib=libc++ -c -std=c++11 -o $@ -DHAVE_PTHREAD -I$(pwd/protobuf)/src -Isrc $< + clang++ -stdlib=libc++ -c -std=c++20 -o $@ -DHAVE_PTHREAD -I$(pwd/protobuf)/src -Isrc $< $(protoc): $(patsubst $(pwd/protobuf)/src/google/protobuf/%.cc,$(output)/protobuf/%.o,$(shell echo $(pwd/protobuf)/src/google/protobuf/{,compiler/{,cpp/,csharp/,java/,js/,objectivec/,php/,python/,ruby/},io/,stubs/}!(*test*|*mock*).cc)) @mkdir -p $(dir $@) @@ -46,3 +46,6 @@ $(foreach ext,cc h,$$(output)/pb$(1)/%.pb.$(ext)): $(2)/%.proto $$(protoc) pflags += -I$(2) cflags += -I$(output)/pb$(1) endef + +# XXX: this is only because I'm using an old protobuf +cflags/$(pwd/protobuf)/ += -Wno-deprecated-pragma diff --git a/lib-shared/abseil-cpp b/lib-shared/abseil-cpp index 27a0c7308..917bfee46 160000 --- a/lib-shared/abseil-cpp +++ b/lib-shared/abseil-cpp @@ -1 +1 @@ -Subproject commit 27a0c7308f04e4560fabe5a7beca837e8f3f2c5b +Subproject commit 917bfee46514a1da47df74265571f47700922c0a diff --git a/min-boringssl/boringssl b/min-boringssl/boringssl index 76968bb3d..83fc0d94d 160000 --- a/min-boringssl/boringssl +++ b/min-boringssl/boringssl @@ -1 +1 @@ -Subproject commit 76968bb3d53982560bcf08bcd0ba3e1865fe15cd +Subproject commit 83fc0d94d7040544480d42db01554f2421cfc081 diff --git a/min-http3/ngtcp2 b/min-http3/ngtcp2 index 14b980930..7698761e1 160000 --- a/min-http3/ngtcp2 +++ b/min-http3/ngtcp2 @@ -1 +1 @@ -Subproject commit 14b9809301c25ed6d361cc4da8c14863bab5a37d +Subproject commit 7698761e13af544f03b8da8c35eefced013c32ee diff --git a/min-icu4c/icu b/min-icu4c/icu index 44ea9278b..06a23f8d3 160000 --- a/min-icu4c/icu +++ b/min-icu4c/icu @@ -1 +1 @@ -Subproject commit 44ea9278b97768ee8c5df9d247f9afd43be1ed52 +Subproject commit 06a23f8d37ce0c3a985bb676cbc05eb7bd5f3573 diff --git a/min-jinja2cpp/expected-lite b/min-jinja2cpp/expected-lite index 5b5caad7c..48e5e2294 160000 --- a/min-jinja2cpp/expected-lite +++ b/min-jinja2cpp/expected-lite @@ -1 +1 @@ -Subproject commit 5b5caad7cd57d5ba3ca796bf1521b131d73ca405 +Subproject commit 48e5e2294689eac07fc5ae6784355941e9add475 diff --git a/min-pcre2/pcre2 b/min-pcre2/pcre2 index 82ebebfd0..3284ccce2 160000 --- a/min-pcre2/pcre2 +++ b/min-pcre2/pcre2 @@ -1 +1 @@ -Subproject commit 82ebebfd0dad4f84c4d8ac5a9dd267add1272315 +Subproject commit 3284ccce22e4d7d12c4c915332ed5eff587e65e3 diff --git a/min-v8/extra/third_party/fast_float/src b/min-v8/extra/third_party/fast_float/src new file mode 120000 index 000000000..8f322d2b5 --- /dev/null +++ b/min-v8/extra/third_party/fast_float/src @@ -0,0 +1 @@ +../../../fast_float \ No newline at end of file diff --git a/min-v8/fast_float b/min-v8/fast_float new file mode 160000 index 000000000..e800cabe4 --- /dev/null +++ b/min-v8/fast_float @@ -0,0 +1 @@ +Subproject commit e800cabe48831775b401816cf1f72fdc432f40ae diff --git a/min-v8/target.mk b/min-v8/target.mk index a341ed829..11a3665af 100644 --- a/min-v8/target.mk +++ b/min-v8/target.mk @@ -29,6 +29,7 @@ v8all := $(patsubst ./%,$(pwd/v8)/src/%,$(shell cd $(pwd/v8)/src && find . \ -path "./third_party" -prune -o \ -path "./tracing" -prune -o \ -path "./wasm/fuzzing" -prune -o \ + -path "./wasm/interpreter" -prune -o \ \ ! -path "./builtins/generate-bytecodes-builtins-list.cc" \ ! -path "./regexp/gen-regexp-special-case.cc" \ @@ -73,6 +74,7 @@ v8src := $(filter-out \ %_win.cc \ %-win.cc \ %-win64.cc \ + %_zos.cc \ ,$(v8all)) # XXX: this is a mess that I need to clean up @@ -145,7 +147,7 @@ vflags += -DV8_WIN64_UNWINDING_INFO ifeq ($(bits/$(machine)),64) #vflags += -DV8_COMPRESS_POINTERS -#vflags += -DV8_COMPRESS_POINTERS_IN_ISOLATE_CAGE +#vflags += -DV8_COMPRESS_POINTERS_IN_MULTIPLE_CAGES #vflags += -DV8_SHORT_BUILTIN_CALLS endif @@ -184,7 +186,7 @@ vflags += -include cstdint $(output)/$(pwd/v8)/gen-regexp-special-case: $(pwd)/v8/src/regexp/gen-regexp-special-case.cc $(pwd)/fatal.cc $(output)/icu4c/lib/libicuuc.a $(output)/icu4c/lib/libicudata.a @mkdir -p $(dir $@) - clang++ -std=c++17 -pthread -o $@ $^ $(vflags) $(icu4c) -ldl -m$(bits/$(machine)) + clang++ -std=c++20 -pthread -o $@ $^ $(vflags) $(icu4c) -ldl -m$(bits/$(machine)) $(output)/$(pwd/v8)/special-case.cc: $(output)/$(pwd/v8)/gen-regexp-special-case @mkdir -p $(dir $@) @@ -197,7 +199,7 @@ source += $(output)/$(pwd/v8)/special-case.cc $(output)/$(pwd/v8)/generate-bytecodes-builtins-list: $(pwd)/v8/src/builtins/generate-bytecodes-builtins-list.cc $(pwd)/v8/src/interpreter/bytecodes.cc $(pwd)/v8/src/interpreter/bytecode-operands.cc $(pwd)/fatal.cc @mkdir -p $(dir $@) - clang++ -std=c++17 -pthread -o $@ $^ $(vflags) -m$(bits/$(machine)) + clang++ -std=c++20 -pthread -o $@ $^ $(vflags) -m$(bits/$(machine)) $(output)/$(pwd/v8)/builtins-generated/bytecodes-builtins-list.h: $(output)/$(pwd/v8)/generate-bytecodes-builtins-list @mkdir -p $(dir $@) @@ -216,7 +218,7 @@ torque := $(patsubst ./%,%,$(sort $(shell cd $(pwd)/v8 && find . -name '*.tq'))) $(output)/$(pwd/v8)/torque: $(wildcard $(pwd)/v8/src/torque/*.cc) $(pwd)/fatal.cc @rm -rf $(dir $@) @mkdir -p $(dir $@) - clang++ -std=c++17 -pthread -o $@ $^ $(vflags) -m$(bits/$(machine)) + clang++ -std=c++20 -pthread -o $@ $^ $(vflags) -m$(bits/$(machine)) tqsrc := $(patsubst %.tq,%-tq-csa.cc,$(torque)) tqsrc += class-debug-readers.cc @@ -276,6 +278,8 @@ cflags/$(pwd/v8)/ += -Wno-builtin-assume-aligned-alignment # XXX: they might have already changed many of these cases cflags/$(pwd/v8)/ += -Wno-unused-but-set-variable +cflags/$(pwd/v8)/ += -Wno-unneeded-internal-declaration + cflags += -Wno-invalid-offsetof archive += $(pwd/v8)/ diff --git a/min-v8/v8 b/min-v8/v8 index 6e6fa86d3..7075674f2 160000 --- a/min-v8/v8 +++ b/min-v8/v8 @@ -1 +1 @@ -Subproject commit 6e6fa86d3390564ffcc140df5d97a10ce9cb1cec +Subproject commit 7075674f24f09d3b30913710a31e8793c131000a diff --git a/min-webrtc/webrtc b/min-webrtc/webrtc index 849549d40..9ab2ac126 160000 --- a/min-webrtc/webrtc +++ b/min-webrtc/webrtc @@ -1 +1 @@ -Subproject commit 849549d40304890255f6033d13c2646e3bfb6ebb +Subproject commit 9ab2ac126dfee8270dd9221ad181a0661cfada89 diff --git a/min-zlib/libz b/min-zlib/libz index c7678ba8a..7e2e4d7c6 160000 --- a/min-zlib/libz +++ b/min-zlib/libz @@ -1 +1 @@ -Subproject commit c7678ba8af4577e45023b35ae96b6b71efa0acf7 +Subproject commit 7e2e4d7c659e9e9d1080587c75c786fe207f2e71 diff --git a/modules b/modules index 521ebabd6..a2a4d22bb 100755 --- a/modules +++ b/modules @@ -30,6 +30,7 @@ head[min-v8/v8]=$(sed -e '/url = "https:\/\/github.com\/v8\/v8\//!d;s/^.*\///;s/ # XXX: https://github.com/jinja2cpp/Jinja2Cpp/issues/257 # llvm-project (libcxx/libcxxabi) is stuck due to me being bored of this # openvpn3 is stuck due to external transport factory breaking OPENVPN_LOG +# protobuf is stuck due to their build system being extremely annoying :/ git submodule foreach -q 'echo $displaypath' | while read -r sub; do ( cd "${sub}" diff --git a/srv-worker/simdutf b/srv-worker/simdutf index d5d3ec212..e620e4354 160000 --- a/srv-worker/simdutf +++ b/srv-worker/simdutf @@ -1 +1 @@ -Subproject commit d5d3ec21205b9ef32807785497332e34baca95b9 +Subproject commit e620e4354be165222eb71f2da8fdb0ed8e4d0ed3 diff --git a/srv-worker/workerd b/srv-worker/workerd index d77b0fa08..a8c1bf917 160000 --- a/srv-worker/workerd +++ b/srv-worker/workerd @@ -1 +1 @@ -Subproject commit d77b0fa083318952e6f6d556040e7a1d5eeb9b84 +Subproject commit a8c1bf917d59128c3ba680faa1fb44a05c9c5a20 diff --git a/vpn-shared/libssh b/vpn-shared/libssh index 861590192..d2e5b69b0 160000 --- a/vpn-shared/libssh +++ b/vpn-shared/libssh @@ -1 +1 @@ -Subproject commit 861590192fed3627e80605be080f79aa2678a005 +Subproject commit d2e5b69b025fce75fb67a0135c4febd9711834e0