diff --git a/extra/mold/checksums b/extra/mold/checksums index d2efc84b..b8e9a88b 100644 --- a/extra/mold/checksums +++ b/extra/mold/checksums @@ -1,2 +1,2 @@ -cbaf99fe2691c16af9192d0e6abc6ed15664dd7b05312376c80dfa96712d19db91 -367332e5e2fafeef1851ef4ef1277188b5f90616fe7cee0c68606270baecbe6125 +10362d9e2c61beb7b6d66933ef37ca8548d4440958e9028de1069f14a9f480935e +680c898ed54f13e995b72df4b56f0978bca8c6463a3e7d53f0799f10e5d7bedb1f diff --git a/extra/mold/patches/amd64_only.patch b/extra/mold/patches/amd64_only.patch index 04c31666..1004c04e 100644 --- a/extra/mold/patches/amd64_only.patch +++ b/extra/mold/patches/amd64_only.patch @@ -1,44 +1,43 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index dcf935d..619874e 100644 +index d6d1500..9e831f7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -299,12 +299,9 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR}) +@@ -304,12 +304,9 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR}) # compiler instances. This is hacky but greatly reduces compile time # on a multicore machine. list(APPEND MOLD_ELF_TARGETS - X86_64 I386 ARM64 ARM32 RV32LE RV32BE RV64LE RV64BE PPC32 PPC64V1 PPC64V2 -- S390X SPARC64 M68K SH4 ALPHA LOONGARCH32 LOONGARCH64) +- S390X SPARC64 M68K SH4 LOONGARCH32 LOONGARCH64) + X86_64) list(APPEND MOLD_ELF_TEMPLATE_FILES -- elf/arch-loongarch.cc -- elf/arch-riscv.cc - elf/cmdline.cc - elf/gc-sections.cc - elf/gdb-index.cc -@@ -357,17 +354,6 @@ target_sources(mold PRIVATE - common/perf.cc - common/random.cc - common/tar.cc -- elf/arch-alpha.cc -- elf/arch-arm32.cc -- elf/arch-arm64.cc -- elf/arch-i386.cc -- elf/arch-m68k.cc -- elf/arch-ppc32.cc -- elf/arch-ppc64v1.cc -- elf/arch-ppc64v2.cc -- elf/arch-s390x.cc -- elf/arch-sh4.cc -- elf/arch-sparc64.cc - elf/arch-x86-64.cc - elf/config.cc - elf/elf.cc -diff --git a/elf/main.cc b/elf/main.cc -index daf7da5..bc8397c 100644 ---- a/elf/main.cc -+++ b/elf/main.cc -@@ -360,11 +360,6 @@ int elf_main(int argc, char **argv) { +- src/arch-loongarch.cc +- src/arch-riscv.cc + src/cmdline.cc + src/gc-sections.cc + src/gdb-index.cc +@@ -376,16 +373,6 @@ target_sources(mold PRIVATE + lib/perf.cc + lib/random.cc + lib/tar.cc +- src/arch-arm32.cc +- src/arch-arm64.cc +- src/arch-i386.cc +- src/arch-m68k.cc +- src/arch-ppc32.cc +- src/arch-ppc64v1.cc +- src/arch-ppc64v2.cc +- src/arch-s390x.cc +- src/arch-sh4.cc +- src/arch-sparc64.cc + src/arch-x86-64.cc + src/config.cc + src/elf.cc +diff --git a/src/main.cc b/src/main.cc +index ce94043..2373218 100644 +--- a/src/main.cc ++++ b/src/main.cc +@@ -361,11 +361,6 @@ int mold_main(int argc, char **argv) { if (ctx.arg.emulation.empty()) ctx.arg.emulation = detect_machine_type(ctx, file_args); @@ -50,11 +49,11 @@ index daf7da5..bc8397c 100644 Timer t_all(ctx, "all"); install_signal_handler(); -diff --git a/elf/mold.h b/elf/mold.h -index b775e4e..dc221c5 100644 ---- a/elf/mold.h -+++ b/elf/mold.h -@@ -1376,7 +1376,6 @@ std::vector parse_nonpositional_args(Context &ctx); +diff --git a/src/mold.h b/src/mold.h +index 322a0ea..9058295 100644 +--- a/src/mold.h ++++ b/src/mold.h +@@ -1563,7 +1563,6 @@ std::vector parse_nonpositional_args(Context &ctx); // passes.cc // @@ -62,62 +61,60 @@ index b775e4e..dc221c5 100644 template void create_internal_file(Context &); template void apply_exclude_libs(Context &); template void create_synthetic_sections(Context &); -diff --git a/elf/passes.cc b/elf/passes.cc -index 8b5f499..f055b8c 100644 ---- a/elf/passes.cc -+++ b/elf/passes.cc -@@ -13,50 +13,6 @@ +diff --git a/src/passes.cc b/src/passes.cc +index 807bb2b..0ef86a1 100644 +--- a/src/passes.cc ++++ b/src/passes.cc +@@ -14,48 +14,6 @@ - namespace mold::elf { + namespace mold { --// Since elf_main is a template, we can't run it without a type parameter. --// We speculatively run elf_main with X86_64, and if the speculation was +-// Since mold_main is a template, we can't run it without a type parameter. +-// We speculatively run mold_main with X86_64, and if the speculation was -// wrong, re-run it with an actual machine type. -template -int redo_main(Context &ctx, int argc, char **argv) { - std::string_view target = ctx.arg.emulation; - - if (target == I386::target_name) -- return elf_main(argc, argv); +- return mold_main(argc, argv); - if (target == ARM64::target_name) -- return elf_main(argc, argv); +- return mold_main(argc, argv); - if (target == ARM32::target_name) -- return elf_main(argc, argv); +- return mold_main(argc, argv); - if (target == RV64LE::target_name) -- return elf_main(argc, argv); +- return mold_main(argc, argv); - if (target == RV64BE::target_name) -- return elf_main(argc, argv); +- return mold_main(argc, argv); - if (target == RV32LE::target_name) -- return elf_main(argc, argv); +- return mold_main(argc, argv); - if (target == RV32BE::target_name) -- return elf_main(argc, argv); +- return mold_main(argc, argv); - if (target == PPC32::target_name) -- return elf_main(argc, argv); +- return mold_main(argc, argv); - if (target == PPC64V1::target_name) -- return elf_main(argc, argv); +- return mold_main(argc, argv); - if (target == PPC64V2::target_name) -- return elf_main(argc, argv); +- return mold_main(argc, argv); - if (target == S390X::target_name) -- return elf_main(argc, argv); +- return mold_main(argc, argv); - if (target == SPARC64::target_name) -- return elf_main(argc, argv); +- return mold_main(argc, argv); - if (target == M68K::target_name) -- return elf_main(argc, argv); +- return mold_main(argc, argv); - if (target == SH4::target_name) -- return elf_main(argc, argv); -- if (target == ALPHA::target_name) -- return elf_main(argc, argv); +- return mold_main(argc, argv); - if (target == LOONGARCH32::target_name) -- return elf_main(argc, argv); +- return mold_main(argc, argv); - if (target == LOONGARCH64::target_name) -- return elf_main(argc, argv); +- return mold_main(argc, argv); - unreachable(); -} - template void apply_exclude_libs(Context &ctx) { Timer t(ctx, "apply_exclude_libs"); -@@ -3086,7 +3042,6 @@ void show_stats(Context &ctx) { +@@ -3210,7 +3168,6 @@ void show_stats(Context &ctx) { using E = MOLD_TARGET; diff --git a/extra/mold/sources b/extra/mold/sources index 5e854179..ff90eb72 100644 --- a/extra/mold/sources +++ b/extra/mold/sources @@ -1,2 +1,2 @@ -https://github.com/rui314/mold/archive/v2.33.0.tar.gz +https://github.com/rui314/mold/archive/v2.34.0.tar.gz patches/amd64_only.patch diff --git a/extra/mold/version b/extra/mold/version index 7f141576..4c2468d6 100644 --- a/extra/mold/version +++ b/extra/mold/version @@ -1 +1 @@ -2.33.0 1 +2.34.0 1