Skip to content

Upgrade to LLVM 12#81451

Merged
bors merged 12 commits intorust-lang:masterfrom
nikic:llvm-12
Mar 4, 2021
Merged

Upgrade to LLVM 12#81451
bors merged 12 commits intorust-lang:masterfrom
nikic:llvm-12

Conversation

@nikic
Copy link
Contributor

@nikic nikic commented Jan 27, 2021

This implements the necessary adjustments to make rustc work with LLVM 12. I didn't encounter any major issues so far.

r? @cuviper

@rust-highfive
Copy link
Contributor

⚠️ Warning ⚠️

  • These commits modify submodules.

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jan 27, 2021
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The NewPM support has turned into a big mess because there were major API changes in all of the recent releases. After the LLVM 12 upgrade, we should probably look into switching to NewPM by default (as clang will be doing so soon as well), and drop support for NewPM on older LLVM versions to reduce the mess.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-Z split-dwarf=split no longer automatically implies that debuginfo is enabled. This is in line with changes in GCC and clang (https://reviews.llvm.org/D80391), though I'm not sure what changed to affect rustc (the referenced revision only affects the frontend).

@nikic
Copy link
Contributor Author

nikic commented Jan 27, 2021

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion.

@bors
Copy link
Collaborator

bors commented Jan 27, 2021

⌛ Trying commit 9d6d477232c745d961b5610be3e0c2c22672b901 with merge dea4d1f65a5c24b55d88ff3ce5d3c78bab1b270d...

@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Collaborator

bors commented Jan 27, 2021

💔 Test failed - checks-actions

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 27, 2021
@nikic
Copy link
Contributor Author

nikic commented Jan 27, 2021

After updating the python version, the next issue is a linker error:

   Compiling rustc_driver v0.0.0 (/checkout/compiler/rustc_driver)
error: linking with `clang` failed: exit code: 1
  |
  = note: "clang" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-Wl,--eh-frame-hdr" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_driver-803a3283019c3250.rustc_driver.48a3f2f3-cgu.0.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_driver-803a3283019c3250.rustc_driver.48a3f2f3-cgu.1.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_driver-803a3283019c3250.rustc_driver.48a3f2f3-cgu.10.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_driver-803a3283019c3250.rustc_driver.48a3f2f3-cgu.11.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_driver-803a3283019c3250.rustc_driver.48a3f2f3-cgu.12.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_driver-803a3283019c3250.rustc_driver.48a3f2f3-cgu.13.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_driver-803a3283019c3250.rustc_driver.48a3f2f3-cgu.14.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_driver-803a3283019c3250.rustc_driver.48a3f2f3-cgu.15.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_driver-803a3283019c3250.rustc_driver.48a3f2f3-cgu.2.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_driver-803a3283019c3250.rustc_driver.48a3f2f3-cgu.3.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_driver-803a3283019c3250.rustc_driver.48a3f2f3-cgu.4.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_driver-803a3283019c3250.rustc_driver.48a3f2f3-cgu.5.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_driver-803a3283019c3250.rustc_driver.48a3f2f3-cgu.6.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_driver-803a3283019c3250.rustc_driver.48a3f2f3-cgu.7.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_driver-803a3283019c3250.rustc_driver.48a3f2f3-cgu.8.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_driver-803a3283019c3250.rustc_driver.48a3f2f3-cgu.9.rcgu.o" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_driver-803a3283019c3250.so" "-Wl,--version-script=/tmp/rustctDvrLl/list" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_driver-803a3283019c3250.180pwzs91guk7zoi.rcgu.o" "-shared" "-Wl,-zrelro" "-Wl,-znow" "-Wl,-O1" "-nodefaultlibs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/release/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/build/psm-0801fd907fc2a593/out" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/build/rustc_llvm-c0295b76b348a5b0/out" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build/lib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_error_codes-108ab703a6a12107.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_save_analysis-75299ceb9d2631f5.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librls_data-79f662c6d6c25eb6.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librls_span-c3a339b60b9cce7b.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_interface-a72c738a72dbc57b.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_codegen_llvm-921cb72ff26d5544.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_llvm-a802e48348212683.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_ty_utils-f050c6e88b8f4230.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_traits-62c304e71758d83a.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libchalk_engine-1f6d0c5c327106f3.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libchalk_solve-c36f04743ba26866.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libtracing_tree-0bdaaee91a038413.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libtracing_subscriber-5fa280303fed095c.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libchrono-373462484257b956.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libnum_integer-5458bf6ab6ab57dc.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libnum_traits-648965f692821750.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libtime-b1f93a9fce5ff7a9.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libsharded_slab-fb1e2ce08980229e.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libtracing_serde-a4424abfefa9a1f2.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libserde_json-7ce81f26dd83834e.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libryu-1c226879b83fa082.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libitoa-719922463ba2f3a8.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libtracing_log-537c9fddce3bde7d.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libansi_term-d8e319c34434fadf.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libmatchers-ec4983281b9516ce.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libregex_automata-86b702cc1b6a7442.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libbyteorder-adc043a4817bec4e.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libpetgraph-f82b516ab2416466.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libfixedbitset-717dc48d9dd4586a.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_privacy-330d5150b43ef911.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_builtin_macros-3412b9b9b1c676ba.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_typeck-3aafac25e234958c.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_resolve-0a0815cea1556729.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_ast_lowering-2326916978280e3a.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_passes-6eef348c4ffb7ec5.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_mir_build-4700c894c2d1be4e.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_mir-295bf9d8f2add87e.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libgsgdt-a3a943b8ea4ff768.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libserde-f5107fa8559ffa93.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libregex-5e3dd9f10ca543e1.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libthread_local-bb357e762f8f5d5b.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libregex_syntax-09b8a4bd3b646678.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libaho_corasick-9cfc41274b3b13a6.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libmemchr-d01564ba87d0a5ca.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_codegen_ssa-1a5fecd806220ec9.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_symbol_mangling-d3adcec3cf63cef1.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_demangle-f67a272ec1d52a1d.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libpunycode-53ca5325ecabf3de.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_incremental-b92ddc8ccdf31044.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libpathdiff-e657bf930d1cfec4.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libcc-94440b142fd9e7a4.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_plugin_impl-b78f87706941feae.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_metadata-5e5a9cb9112e6f82.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libmemmap-25724d711f9d6546.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_hir_pretty-d0ad046be77b756d.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libsnap-feefb2f98cdca65e.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_expand-aa6cbacb1da31e72.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_ast_passes-eb18dd3dd779d6d2.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libitertools-ec6674229f408fce.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libeither-13d4d3e96f5a7655.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_parse-6652ace5180316b4.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libproc_macro-88b64a19ba4aaf13.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_lint-58ce7bc438c56653.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libunicode_security-639d62e2f5036b01.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libunicode_script-690faff5f3646e02.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libunicode_normalization-62e46184083935a3.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libtinyvec-13c828c93eead851.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_trait_selection-04d15e4019769acd.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_parse_format-863b8cceb53b79f0.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_infer-2ed1f13b23fcae04.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_middle-44c80c2e5f31b5d3.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libchalk_ir-3b8ad39983f9d713.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_type_ir-862e5a350f336b35.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_apfloat-66a6efed91bd61d7.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libpolonius_engine-2ba170dc23050433.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libdatafrog-3d92208ddcc91c9b.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_attr-9962e85347afc455.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_ast_pretty-33f46d9dd61f5f36.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_session-fb197c7d2b49ed74.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libnum_cpus-4828c2710ff74acc.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libgetopts-f44e9553f3238d63.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_fs_util-ac9a59dccb79280a.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_query_system-598288bb7f1522f9.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_errors-b0938dbb5d61e2e8.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libtermize-c1c9cd501c4adb7f.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libatty-c2c3f2e092700d1b.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libannotate_snippets-b98649c50555b3fa.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libtermcolor-c313456a787c43fd.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_lint_defs-3cc9e3102bed9dcd.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_hir-5a47e1023e3be1b3.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_feature-ba39846bf55e5a74.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_target-4939ddf5c2b3a524.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_ast-e46af1e9bfbcde06.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_lexer-4e0cc48b9fc01025.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libunicode_xid-9fa13c2f0967ff93.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_span-9e9c70e7522e28e3.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libscoped_tls-0173009bf925a26d.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libsha2-387d3c3c7d2d3d6f.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libsha1-e279ed0bda2ad105.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libcpuid_bool-347202a6285d34b5.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libmd5-66b2622e7216e752.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libopaque_debug-16aa257b7d402894.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libblock_buffer-c517ae731947f0ac.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libdigest-9df7703f52590e69.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libgeneric_array-2e92de094187d870.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libtypenum-e69f89fd766c59ee.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libunicode_width-a8efbcb0a8d1037b.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_arena-539e1434d42ba071.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_data_structures-61891046c663ebde.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libstacker-9f128c7c44f79ae8.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libpsm-4226eacdbae4eb1a.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libtempfile-8763e639a311289f.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librand-0802f7ff60a7e0ee.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librand_chacha-f4dec9916d0bf4ac.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libppv_lite86-a03cd9d174baa317.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librand_core-8b2561ba5dac234b.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libgetrandom-3d38d7c781928140.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libremove_dir_all-4fe4bc8a3d60e1cd.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libmeasureme-f586eaeed7ca3333.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libparking_lot-cdb5c7dc9160f999.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libparking_lot_core-9c70284cfec406d6.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/liblock_api-559ced9336e3526e.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libscopeguard-eef96432f28bfbd2.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libinstant-27e73bba5825c421.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libena-798fee0e53e8afef.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/liblog-b818126360b12ec6.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libstable_deref_trait-62655a21a24658ca.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_graphviz-2546ba261051f767.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libjobserver-a21042ee7181e7ca.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/liblibc-5699d7c29e760bdc.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_hash-60d53594785b6d3d.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_index-cf8d53cf2eba7f7c.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/librustc_serialize-9c2cc8e17ec86e2d.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libindexmap-88f4542643e3b49b.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libhashbrown-22b69c1f10ebe375.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libsmallvec-98512b34b8e021a2.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libarrayvec-ef62f5836968cf92.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libbitflags-66e589df87b48b01.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libtracing-e29fe3150b13d051.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libtracing_core-876406930194b3a6.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/liblazy_static-8ce37108b53282f0.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustctDvrLl/libcfg_if-f07b2fe3241cbdcb.rlib" "-Wl,--no-whole-archive" "-Wl,--start-group" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bdynamic" "-lstd-9eb0c8cf98e98fb9" "-Wl,--end-group" "-Wl,-Bstatic" "/tmp/rustctDvrLl/libcompiler_builtins-f132e8c76b384258.rlib" "-Wl,-Bdynamic" "-lLLVM-12-rust-1.51.0-nightly" "-lstdc++" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,-rpath,$ORIGIN/../lib"
  = note: /rustroot/bin/ld: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build/lib/libLLVM-12-rust-1.51.0-nightly.so: __morestack: invalid needed version 2
          /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build/lib/libLLVM-12-rust-1.51.0-nightly.so: error adding symbols: Bad value
          clang-11: error: linker command failed with exit code 1 (use -v to see invocation)

@nagisa
Copy link
Member

nagisa commented Jan 28, 2021

The python3 thing will definitely need changes to the readme and possibly a relnotes tag. The __morestack dependency in LLVM is curious, I would've expected it to not exist, but it its necessary now, I suspect changes to our compiler-builtins will be necessary.

@nikic
Copy link
Contributor Author

nikic commented Jan 28, 2021

Looks like using LLD as the linker instead avoids the error, so possibly it's a binutils linker bug?

@cuviper
Copy link
Member

cuviper commented Jan 28, 2021

That builder also uses a custom binutils, so that version could be updated if needed.

@nikic
Copy link
Contributor Author

nikic commented Jan 28, 2021

@cuviper Just tried that, but updating to the latest binutils version didn't help.

@klensy
Copy link
Contributor

klensy commented Jan 28, 2021

Found similar error https://bugs.gentoo.org/760324 , solved with -fuse-ld=lld in LDFLAGS

@nikic
Copy link
Contributor Author

nikic commented Jan 28, 2021

@bors try

@bors
Copy link
Collaborator

bors commented Jan 28, 2021

⌛ Trying commit 5b736302e6fdb2ddd3ec89fad263131d13255e70 with merge a40b38546f6f09e9b2a6592ef391c84f74ab536d...

@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Collaborator

bors commented Jan 28, 2021

💔 Test failed - checks-actions

@nikic
Copy link
Contributor Author

nikic commented Jan 28, 2021

@bors try

@bors
Copy link
Collaborator

bors commented Jan 28, 2021

⌛ Trying commit 157e1062795b17758c9174c3925d366dc5e69199 with merge be3777f1a4bdb0417cca87d7c31d9fa85596bbad...

@nagisa
Copy link
Member

nagisa commented Mar 5, 2021

Yes, it does.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. merged-by-bors This PR was explicitly merged by bors. relnotes Marks issues that should be documented in the release notes of the next release. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.

Projects

None yet

Development

Successfully merging this pull request may close these issues.