Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adjust linking order of static nobundle libraries #88227

Merged
merged 1 commit into from
Aug 27, 2021

Conversation

12101111
Copy link
Contributor

Link the static libraries with "-bundle" modifier from upstream rust crate right after linking this rust crate.
Some linker such as GNU linker ld.bdf treat order of linking as order of dependency.

After this change, static libraries with "-bundle" modifier is linked in the same order as "+bundle" modifier.
So we can change the value of "bundle" modifier without causing linking error.

fix: #87541

r? @petrochenkov

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Aug 22, 2021
@inquisitivecrystal inquisitivecrystal added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Aug 24, 2021
compiler/rustc_codegen_ssa/src/back/link.rs Outdated Show resolved Hide resolved
compiler/rustc_codegen_ssa/src/back/link.rs Outdated Show resolved Hide resolved
compiler/rustc_codegen_ssa/src/back/link.rs Outdated Show resolved Hide resolved
@petrochenkov
Copy link
Contributor

I think this is the right thing to do in general.
I have no idea what breaking effect it will have in practice, but we can do it because nobundle is still unstable.

The fact that it fixes the libunwind issue is accidental though, libunwind still doesn't specify in any way that it depends on libc, the libraries just happen to be linked in the right order to satisfy the dependency (just like before #85600).

add_upstream_rust_crates::<B>(cmd, sess, codegen_results, crate_type, tmpdir);

// Native libraries linked with `#[link]` attributes at and `-l` command line options.
// Upstream dymamic native libraries linked with `#[link]` attributes at and `-l`
// command line options.
Copy link
Contributor

Choose a reason for hiding this comment

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

It makes sense to move the dynamic libraries to the same place as well, but it's better to do it separately due to potential breakage on stable.

@petrochenkov
Copy link
Contributor

petrochenkov commented Aug 26, 2021

One more annoying thing is that some upstream crates are wrapped into a group (see group_start/group_end), it's done to satisfy backward dependencies from libcore to libstd (or some other weak lang item provider).
(I'd like to get rid of this grouping #85805 (comment).)

If nobundle native libraries accidentally get caught into this group, then they may successfully link regardless of their dependency order.
Could you show how linker command line looks after applying this patch and "unbundling" libunwind.a and/or libc.a?

@petrochenkov petrochenkov 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 Aug 26, 2021
Link the static libraries with "-bundle" modifier from upstream rust crate
right after linking this rust crate. Some linker such as GNU linker
`ld.bdf` treat order of linking as order of dependency. After this change,
static libraries with "-bundle" modifier is linked in the same order as
"+bundle" modifier. So we can change the value of "bundle" modifier without
causing linking error.
@12101111 12101111 force-pushed the nobundle-link-order branch from f64bbe9 to 118df1c Compare August 26, 2021 14:08
@12101111
Copy link
Contributor Author

BFD:

ld.bfd: mode elf_x86_64
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/rcrt1.o succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/rcrt1.o
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crti.o succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crti.o
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtbeginS.o succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtbeginS.o
attempt to open /usr/obj/rust/debug/deps/hello-2fec299ec551489d.1709618yaq29j19p.rcgu.o succeeded
/usr/obj/rust/debug/deps/hello-2fec299ec551489d.1709618yaq29j19p.rcgu.o
attempt to open /usr/obj/rust/debug/deps/hello-2fec299ec551489d.17gbs855e98g8h9q.rcgu.o succeeded
/usr/obj/rust/debug/deps/hello-2fec299ec551489d.17gbs855e98g8h9q.rcgu.o
attempt to open /usr/obj/rust/debug/deps/hello-2fec299ec551489d.1byxd3uw17stajhl.rcgu.o succeeded
/usr/obj/rust/debug/deps/hello-2fec299ec551489d.1byxd3uw17stajhl.rcgu.o
attempt to open /usr/obj/rust/debug/deps/hello-2fec299ec551489d.347ibpq3q34abb5x.rcgu.o succeeded
/usr/obj/rust/debug/deps/hello-2fec299ec551489d.347ibpq3q34abb5x.rcgu.o
attempt to open /usr/obj/rust/debug/deps/hello-2fec299ec551489d.3meb5vpzpmcvj87p.rcgu.o succeeded
/usr/obj/rust/debug/deps/hello-2fec299ec551489d.3meb5vpzpmcvj87p.rcgu.o
attempt to open /usr/obj/rust/debug/deps/hello-2fec299ec551489d.4607i9scbxia5upb.rcgu.o succeeded
/usr/obj/rust/debug/deps/hello-2fec299ec551489d.4607i9scbxia5upb.rcgu.o
attempt to open /usr/obj/rust/debug/deps/hello-2fec299ec551489d.4czq115dc5ffq7vi.rcgu.o succeeded
/usr/obj/rust/debug/deps/hello-2fec299ec551489d.4czq115dc5ffq7vi.rcgu.o
attempt to open /usr/obj/rust/debug/deps/hello-2fec299ec551489d.k8ks9p3pr8nmwit.rcgu.o succeeded
/usr/obj/rust/debug/deps/hello-2fec299ec551489d.k8ks9p3pr8nmwit.rcgu.o
attempt to open /usr/obj/rust/debug/deps/hello-2fec299ec551489d.lisw5ez8w5e8cis.rcgu.o succeeded
/usr/obj/rust/debug/deps/hello-2fec299ec551489d.lisw5ez8w5e8cis.rcgu.o
attempt to open /usr/obj/rust/debug/deps/hello-2fec299ec551489d.u1kbvgb4saz46z1.rcgu.o succeeded
/usr/obj/rust/debug/deps/hello-2fec299ec551489d.u1kbvgb4saz46z1.rcgu.o
attempt to open /usr/obj/rust/debug/deps/hello-2fec299ec551489d.3x9n8dt8a94wtmjq.rcgu.o succeeded
/usr/obj/rust/debug/deps/hello-2fec299ec551489d.3x9n8dt8a94wtmjq.rcgu.o
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-e70d0f39ca934ccb.rlib succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-e70d0f39ca934ccb.rlib
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-e70d0f39ca934ccb.rlib)std-e70d0f39ca934ccb.std.f6eb0a50-cgu.3.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-e70d0f39ca934ccb.rlib)std-e70d0f39ca934ccb.std.f6eb0a50-cgu.4.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-e70d0f39ca934ccb.rlib)std-e70d0f39ca934ccb.std.f6eb0a50-cgu.5.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-e70d0f39ca934ccb.rlib)std-e70d0f39ca934ccb.std.f6eb0a50-cgu.6.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-e70d0f39ca934ccb.rlib)std-e70d0f39ca934ccb.std.f6eb0a50-cgu.7.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-e70d0f39ca934ccb.rlib)std-e70d0f39ca934ccb.std.f6eb0a50-cgu.8.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-e70d0f39ca934ccb.rlib)std-e70d0f39ca934ccb.std.f6eb0a50-cgu.9.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-e70d0f39ca934ccb.rlib)std-e70d0f39ca934ccb.std.f6eb0a50-cgu.0.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-e70d0f39ca934ccb.rlib)std-e70d0f39ca934ccb.std.f6eb0a50-cgu.1.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-e70d0f39ca934ccb.rlib)std-e70d0f39ca934ccb.std.f6eb0a50-cgu.10.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-e70d0f39ca934ccb.rlib)std-e70d0f39ca934ccb.std.f6eb0a50-cgu.11.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-e70d0f39ca934ccb.rlib)std-e70d0f39ca934ccb.std.f6eb0a50-cgu.12.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-e70d0f39ca934ccb.rlib)std-e70d0f39ca934ccb.std.f6eb0a50-cgu.13.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-e70d0f39ca934ccb.rlib)std-e70d0f39ca934ccb.std.f6eb0a50-cgu.14.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-e70d0f39ca934ccb.rlib)std-e70d0f39ca934ccb.std.f6eb0a50-cgu.15.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-e70d0f39ca934ccb.rlib)std-e70d0f39ca934ccb.std.f6eb0a50-cgu.2.rcgu.o
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libpanic_unwind-f3ca660437196a87.rlib succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libpanic_unwind-f3ca660437196a87.rlib
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libpanic_unwind-f3ca660437196a87.rlib)panic_unwind-f3ca660437196a87.panic_unwind.56c3a012-cgu.0.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libpanic_unwind-f3ca660437196a87.rlib)panic_unwind-f3ca660437196a87.panic_unwind.56c3a012-cgu.3.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libpanic_unwind-f3ca660437196a87.rlib)panic_unwind-f3ca660437196a87.panic_unwind.56c3a012-cgu.4.rcgu.o
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libminiz_oxide-0a3bafcb27d177cf.rlib succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libminiz_oxide-0a3bafcb27d177cf.rlib
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libminiz_oxide-0a3bafcb27d177cf.rlib)miniz_oxide-0a3bafcb27d177cf.miniz_oxide.b02e7ce7-cgu.1.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libminiz_oxide-0a3bafcb27d177cf.rlib)miniz_oxide-0a3bafcb27d177cf.miniz_oxide.b02e7ce7-cgu.14.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libminiz_oxide-0a3bafcb27d177cf.rlib)miniz_oxide-0a3bafcb27d177cf.miniz_oxide.b02e7ce7-cgu.15.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libminiz_oxide-0a3bafcb27d177cf.rlib)miniz_oxide-0a3bafcb27d177cf.miniz_oxide.b02e7ce7-cgu.9.rcgu.o
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libadler-bb2692663e0e03e9.rlib succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libadler-bb2692663e0e03e9.rlib
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libadler-bb2692663e0e03e9.rlib)adler-bb2692663e0e03e9.adler.c067f517-cgu.4.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libadler-bb2692663e0e03e9.rlib)adler-bb2692663e0e03e9.adler.c067f517-cgu.2.rcgu.o
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libobject-519d6604b992c06d.rlib succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libobject-519d6604b992c06d.rlib
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libobject-519d6604b992c06d.rlib)object-519d6604b992c06d.object.4118610a-cgu.10.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libobject-519d6604b992c06d.rlib)object-519d6604b992c06d.object.4118610a-cgu.9.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libobject-519d6604b992c06d.rlib)object-519d6604b992c06d.object.4118610a-cgu.8.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libobject-519d6604b992c06d.rlib)object-519d6604b992c06d.object.4118610a-cgu.11.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libobject-519d6604b992c06d.rlib)object-519d6604b992c06d.object.4118610a-cgu.5.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libobject-519d6604b992c06d.rlib)object-519d6604b992c06d.object.4118610a-cgu.7.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libobject-519d6604b992c06d.rlib)object-519d6604b992c06d.object.4118610a-cgu.0.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libobject-519d6604b992c06d.rlib)object-519d6604b992c06d.object.4118610a-cgu.13.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libobject-519d6604b992c06d.rlib)object-519d6604b992c06d.object.4118610a-cgu.15.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libobject-519d6604b992c06d.rlib)object-519d6604b992c06d.object.4118610a-cgu.2.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libobject-519d6604b992c06d.rlib)object-519d6604b992c06d.object.4118610a-cgu.3.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libobject-519d6604b992c06d.rlib)object-519d6604b992c06d.object.4118610a-cgu.1.rcgu.o
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libmemchr-f94a45ef2b2a975f.rlib succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libmemchr-f94a45ef2b2a975f.rlib
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libmemchr-f94a45ef2b2a975f.rlib)memchr-f94a45ef2b2a975f.memchr.49b38571-cgu.0.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libmemchr-f94a45ef2b2a975f.rlib)memchr-f94a45ef2b2a975f.memchr.49b38571-cgu.15.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libmemchr-f94a45ef2b2a975f.rlib)memchr-f94a45ef2b2a975f.memchr.49b38571-cgu.7.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libmemchr-f94a45ef2b2a975f.rlib)memchr-f94a45ef2b2a975f.memchr.49b38571-cgu.11.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libmemchr-f94a45ef2b2a975f.rlib)memchr-f94a45ef2b2a975f.memchr.49b38571-cgu.10.rcgu.o
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libaddr2line-02274546240e4a9b.rlib succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libaddr2line-02274546240e4a9b.rlib
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libaddr2line-02274546240e4a9b.rlib)addr2line-02274546240e4a9b.addr2line.59225ebb-cgu.1.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libaddr2line-02274546240e4a9b.rlib)addr2line-02274546240e4a9b.addr2line.59225ebb-cgu.4.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libaddr2line-02274546240e4a9b.rlib)addr2line-02274546240e4a9b.addr2line.59225ebb-cgu.5.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libaddr2line-02274546240e4a9b.rlib)addr2line-02274546240e4a9b.addr2line.59225ebb-cgu.7.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libaddr2line-02274546240e4a9b.rlib)addr2line-02274546240e4a9b.addr2line.59225ebb-cgu.13.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libaddr2line-02274546240e4a9b.rlib)addr2line-02274546240e4a9b.addr2line.59225ebb-cgu.12.rcgu.o
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libgimli-d36d2b29377a81f0.rlib succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libgimli-d36d2b29377a81f0.rlib
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libgimli-d36d2b29377a81f0.rlib)gimli-d36d2b29377a81f0.gimli.5fb42d9f-cgu.0.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libgimli-d36d2b29377a81f0.rlib)gimli-d36d2b29377a81f0.gimli.5fb42d9f-cgu.10.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libgimli-d36d2b29377a81f0.rlib)gimli-d36d2b29377a81f0.gimli.5fb42d9f-cgu.11.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libgimli-d36d2b29377a81f0.rlib)gimli-d36d2b29377a81f0.gimli.5fb42d9f-cgu.13.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libgimli-d36d2b29377a81f0.rlib)gimli-d36d2b29377a81f0.gimli.5fb42d9f-cgu.14.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libgimli-d36d2b29377a81f0.rlib)gimli-d36d2b29377a81f0.gimli.5fb42d9f-cgu.15.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libgimli-d36d2b29377a81f0.rlib)gimli-d36d2b29377a81f0.gimli.5fb42d9f-cgu.2.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libgimli-d36d2b29377a81f0.rlib)gimli-d36d2b29377a81f0.gimli.5fb42d9f-cgu.5.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libgimli-d36d2b29377a81f0.rlib)gimli-d36d2b29377a81f0.gimli.5fb42d9f-cgu.6.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libgimli-d36d2b29377a81f0.rlib)gimli-d36d2b29377a81f0.gimli.5fb42d9f-cgu.7.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libgimli-d36d2b29377a81f0.rlib)gimli-d36d2b29377a81f0.gimli.5fb42d9f-cgu.8.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libgimli-d36d2b29377a81f0.rlib)gimli-d36d2b29377a81f0.gimli.5fb42d9f-cgu.9.rcgu.o
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd_detect-9381942221b546a2.rlib succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd_detect-9381942221b546a2.rlib
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_demangle-d68c46f5fd9a46fb.rlib succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_demangle-d68c46f5fd9a46fb.rlib
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_demangle-d68c46f5fd9a46fb.rlib)rustc_demangle-d68c46f5fd9a46fb.rustc_demangle.0b206261-cgu.5.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_demangle-d68c46f5fd9a46fb.rlib)rustc_demangle-d68c46f5fd9a46fb.rustc_demangle.0b206261-cgu.7.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_demangle-d68c46f5fd9a46fb.rlib)rustc_demangle-d68c46f5fd9a46fb.rustc_demangle.0b206261-cgu.1.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_demangle-d68c46f5fd9a46fb.rlib)rustc_demangle-d68c46f5fd9a46fb.rustc_demangle.0b206261-cgu.12.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_demangle-d68c46f5fd9a46fb.rlib)rustc_demangle-d68c46f5fd9a46fb.rustc_demangle.0b206261-cgu.0.rcgu.o
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libhashbrown-e0516d07b77b88e9.rlib succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libhashbrown-e0516d07b77b88e9.rlib
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_std_workspace_alloc-1dde4a55e53252c9.rlib succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_std_workspace_alloc-1dde4a55e53252c9.rlib
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libunwind-b9a89f5e0fba8abc.rlib succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libunwind-b9a89f5e0fba8abc.rlib
attempt to open /usr/obj/rust/debug/deps/libunwind.a failed
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libunwind.a failed
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libunwind.a failed
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libunwind.a succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libunwind.a
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libunwind.a)UnwindLevel1-gcc-ext.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libunwind.a)UnwindLevel1.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libunwind.a)UnwindRegistersSave.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libunwind.a)libunwind.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libunwind.a)UnwindRegistersRestore.o
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcfg_if-4fdb4e509ba80972.rlib succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcfg_if-4fdb4e509ba80972.rlib
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/liblibc-31f1926f234f4eb8.rlib succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/liblibc-31f1926f234f4eb8.rlib
attempt to open /usr/obj/rust/debug/deps/libc.a failed
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libc.a failed
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libc.a failed
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)sysconf.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)closedir.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)dirfd.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)opendir.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)readdir_r.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__environ.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__libc_start_main.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)getenv.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)setenv.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)unsetenv.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__errno_location.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)abort.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)abort_lock.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)assert.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)exit.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)fcntl.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)open.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)defsysinfo.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)libc.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)syscall_ret.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)dl_iterate_phdr.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)dladdr.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)dlsym.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)chroot.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)prctl.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)sendfile.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)setgroups.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)sysinfo.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)calloc.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)free.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)lite_malloc.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)free.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)malloc.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)posix_memalign.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)realloc.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)replaced.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)getrlimit.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)ioctl.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)realpath.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)syscall.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)madvise.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)mmap.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)mprotect.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)munmap.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)accept4.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)bind.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)connect.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)freeaddrinfo.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)gai_strerror.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)getaddrinfo.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)getpeername.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)getsockname.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)getsockopt.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)htons.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)listen.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)lookup_name.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)lookup_serv.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)recv.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)recvfrom.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)recvmsg.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)res_mkquery.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)res_msend.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)resolvconf.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)send.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)sendmsg.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)sendto.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)setsockopt.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)shutdown.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)socket.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)socketpair.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)getpw_r.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)execvp.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)fork.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)posix_spawn_file_actions_adddup2.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)posix_spawn_file_actions_destroy.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)posix_spawn_file_actions_init.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)posix_spawnattr_destroy.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)posix_spawnattr_init.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)posix_spawnattr_setflags.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)posix_spawnattr_setsigdefault.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)posix_spawnattr_setsigmask.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)posix_spawnp.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)waitpid.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)sched_yield.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)poll.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)block.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)kill.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)raise.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)sigaction.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)sigaddset.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)sigaltstack.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)sigemptyset.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)signal.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)restore.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)chmod.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)fchmod.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)fstat.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)fstatat.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)lstat.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)mkdir.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)stat.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__fclose_ca.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__fopen_rb_ca.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__stdio_close.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__stdio_read.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__stdio_seek.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)fflush.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)fgets.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)fprintf.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)fwrite.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)getc.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)ofl.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)rename.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)snprintf.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)stderr.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)vfprintf.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)vsnprintf.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)qsort.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)strtol.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)bcmp.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)memchr.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)memcmp.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)memrchr.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)strchr.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)strchrnul.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)strcpy.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)strdup.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)strerror_r.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)strlen.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)strncmp.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)strnlen.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)strstr.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)memcpy.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)memmove.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)memset.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__lock.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__syscall_cp.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__tls_get_addr.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)lock_ptc.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_attr_destroy.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_attr_get.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_attr_init.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_attr_setstacksize.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_cleanup_push.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_cond_broadcast.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_cond_destroy.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_cond_init.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_cond_signal.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_cond_timedwait.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_cond_wait.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_condattr_destroy.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_condattr_init.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_condattr_setclock.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_create.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_detach.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_getattr_np.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_getspecific.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_join.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_key_create.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_mutex_destroy.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_mutex_init.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_mutex_lock.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_mutex_timedlock.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_mutex_trylock.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_mutex_unlock.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_mutexattr_destroy.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_mutexattr_init.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_mutexattr_settype.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_rwlock_destroy.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_rwlock_rdlock.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_rwlock_timedrdlock.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_rwlock_tryrdlock.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_rwlock_unlock.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_rwlock_wrlock.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_self.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_setcancelstate.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_setspecific.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_sigmask.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_testcancel.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)synccall.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)vmlock.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__unmapself.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)clone.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)clock_gettime.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)nanosleep.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)_exit.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)chdir.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)close.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)dup2.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)fdatasync.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)fsync.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)ftruncate.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)getcwd.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)getpid.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)getppid.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)getuid.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)linkat.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)lseek.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pipe2.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pread.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pwrite.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)read.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)readlink.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)readv.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)rmdir.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)setgid.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)setuid.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)setxid.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)symlink.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)unlink.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)write.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)writev.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)isalnum.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)readdir.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__init_tls.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)putenv.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)strerror.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)_Exit.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)intscan.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)procfdname.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)shgetc.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)vdso.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__dlsym.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)dlerror.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__lctrans.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)aligned_alloc.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)realloc.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__fpclassifyl.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__signbitl.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)frexpl.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)mremap.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)mbstowcs.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)wctomb.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)accept.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)dn_expand.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)dns_parse.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)lookup_ipliteral.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)getpw_a.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)getpwent_a.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)nscd_query.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)_Fork.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)execve.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)posix_spawn.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)sigismember.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__fdopen.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__lockfile.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__stdio_write.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__towrite.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__uflow.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)fclose.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)ferror.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)fopen.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)fread.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)getline.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)ofl_add.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)stpcpy.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)strcmp.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__timedwait.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__wait.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)default_attr.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_rwlock_timedwrlock.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pthread_rwlock_trywrlock.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)sem_destroy.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)sem_init.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)sem_post.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)sem_wait.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__set_thread_area.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)clock_nanosleep.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)pipe.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)mbsrtowcs.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)wcrtomb.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)if_nametoindex.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)inet_aton.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)inet_pton.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__fmodeflags.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__stdio_exit.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)__toread.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)getdelim.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)strncpy.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)sem_timedwait.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)sem_trywait.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)internal.lo
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a)stpncpy.lo
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/liballoc-25164b9d9d12f76a.rlib succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/liballoc-25164b9d9d12f76a.rlib
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/liballoc-25164b9d9d12f76a.rlib)alloc-25164b9d9d12f76a.alloc.15c2f257-cgu.0.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/liballoc-25164b9d9d12f76a.rlib)alloc-25164b9d9d12f76a.alloc.15c2f257-cgu.1.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/liballoc-25164b9d9d12f76a.rlib)alloc-25164b9d9d12f76a.alloc.15c2f257-cgu.10.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/liballoc-25164b9d9d12f76a.rlib)alloc-25164b9d9d12f76a.alloc.15c2f257-cgu.12.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/liballoc-25164b9d9d12f76a.rlib)alloc-25164b9d9d12f76a.alloc.15c2f257-cgu.13.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/liballoc-25164b9d9d12f76a.rlib)alloc-25164b9d9d12f76a.alloc.15c2f257-cgu.15.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/liballoc-25164b9d9d12f76a.rlib)alloc-25164b9d9d12f76a.alloc.15c2f257-cgu.2.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/liballoc-25164b9d9d12f76a.rlib)alloc-25164b9d9d12f76a.alloc.15c2f257-cgu.7.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/liballoc-25164b9d9d12f76a.rlib)alloc-25164b9d9d12f76a.alloc.15c2f257-cgu.9.rcgu.o
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_std_workspace_core-8456af2ee6e6c76c.rlib succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_std_workspace_core-8456af2ee6e6c76c.rlib
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-8a30025bdf8cd6ce.rlib succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-8a30025bdf8cd6ce.rlib
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-8a30025bdf8cd6ce.rlib)core-8a30025bdf8cd6ce.core.c234287f-cgu.1.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-8a30025bdf8cd6ce.rlib)core-8a30025bdf8cd6ce.core.c234287f-cgu.10.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-8a30025bdf8cd6ce.rlib)core-8a30025bdf8cd6ce.core.c234287f-cgu.11.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-8a30025bdf8cd6ce.rlib)core-8a30025bdf8cd6ce.core.c234287f-cgu.12.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-8a30025bdf8cd6ce.rlib)core-8a30025bdf8cd6ce.core.c234287f-cgu.14.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-8a30025bdf8cd6ce.rlib)core-8a30025bdf8cd6ce.core.c234287f-cgu.15.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-8a30025bdf8cd6ce.rlib)core-8a30025bdf8cd6ce.core.c234287f-cgu.2.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-8a30025bdf8cd6ce.rlib)core-8a30025bdf8cd6ce.core.c234287f-cgu.3.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-8a30025bdf8cd6ce.rlib)core-8a30025bdf8cd6ce.core.c234287f-cgu.4.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-8a30025bdf8cd6ce.rlib)core-8a30025bdf8cd6ce.core.c234287f-cgu.5.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-8a30025bdf8cd6ce.rlib)core-8a30025bdf8cd6ce.core.c234287f-cgu.6.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-8a30025bdf8cd6ce.rlib)core-8a30025bdf8cd6ce.core.c234287f-cgu.7.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-8a30025bdf8cd6ce.rlib)core-8a30025bdf8cd6ce.core.c234287f-cgu.8.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-8a30025bdf8cd6ce.rlib)core-8a30025bdf8cd6ce.core.c234287f-cgu.9.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-8a30025bdf8cd6ce.rlib)core-8a30025bdf8cd6ce.core.c234287f-cgu.13.rcgu.o
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-e70d0f39ca934ccb.rlib
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libpanic_unwind-f3ca660437196a87.rlib
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libminiz_oxide-0a3bafcb27d177cf.rlib
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libadler-bb2692663e0e03e9.rlib
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libobject-519d6604b992c06d.rlib
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libmemchr-f94a45ef2b2a975f.rlib
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libaddr2line-02274546240e4a9b.rlib
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libgimli-d36d2b29377a81f0.rlib
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd_detect-9381942221b546a2.rlib
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_demangle-d68c46f5fd9a46fb.rlib
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libhashbrown-e0516d07b77b88e9.rlib
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_std_workspace_alloc-1dde4a55e53252c9.rlib
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libunwind-b9a89f5e0fba8abc.rlib
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libunwind.a
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcfg_if-4fdb4e509ba80972.rlib
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/liblibc-31f1926f234f4eb8.rlib
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/liballoc-25164b9d9d12f76a.rlib
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_std_workspace_core-8456af2ee6e6c76c.rlib
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-8a30025bdf8cd6ce.rlib
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcompiler_builtins-d7f5eb74f1e33e2a.rlib succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcompiler_builtins-d7f5eb74f1e33e2a.rlib
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcompiler_builtins-d7f5eb74f1e33e2a.rlib)compiler_builtins-d7f5eb74f1e33e2a.compiler_builtins.8eb398b9-cgu.113.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcompiler_builtins-d7f5eb74f1e33e2a.rlib)compiler_builtins-d7f5eb74f1e33e2a.compiler_builtins.8eb398b9-cgu.114.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcompiler_builtins-d7f5eb74f1e33e2a.rlib)compiler_builtins-d7f5eb74f1e33e2a.compiler_builtins.8eb398b9-cgu.2.rcgu.o
(/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcompiler_builtins-d7f5eb74f1e33e2a.rlib)compiler_builtins-d7f5eb74f1e33e2a.compiler_builtins.8eb398b9-cgu.61.rcgu.o
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtendS.o succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtendS.o
attempt to open /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtn.o succeeded
/home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtn.o

LLD:

ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/rcrt1.o
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crti.o
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtbeginS.o
ld.lld: /usr/obj/rust/debug/deps/hello-2fec299ec551489d.1709618yaq29j19p.rcgu.o
ld.lld: /usr/obj/rust/debug/deps/hello-2fec299ec551489d.17gbs855e98g8h9q.rcgu.o
ld.lld: /usr/obj/rust/debug/deps/hello-2fec299ec551489d.1byxd3uw17stajhl.rcgu.o
ld.lld: /usr/obj/rust/debug/deps/hello-2fec299ec551489d.347ibpq3q34abb5x.rcgu.o
ld.lld: /usr/obj/rust/debug/deps/hello-2fec299ec551489d.3meb5vpzpmcvj87p.rcgu.o
ld.lld: /usr/obj/rust/debug/deps/hello-2fec299ec551489d.4607i9scbxia5upb.rcgu.o
ld.lld: /usr/obj/rust/debug/deps/hello-2fec299ec551489d.4czq115dc5ffq7vi.rcgu.o
ld.lld: /usr/obj/rust/debug/deps/hello-2fec299ec551489d.k8ks9p3pr8nmwit.rcgu.o
ld.lld: /usr/obj/rust/debug/deps/hello-2fec299ec551489d.lisw5ez8w5e8cis.rcgu.o
ld.lld: /usr/obj/rust/debug/deps/hello-2fec299ec551489d.u1kbvgb4saz46z1.rcgu.o
ld.lld: /usr/obj/rust/debug/deps/hello-2fec299ec551489d.3x9n8dt8a94wtmjq.rcgu.o
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-e70d0f39ca934ccb.rlib
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libpanic_unwind-f3ca660437196a87.rlib
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libminiz_oxide-0a3bafcb27d177cf.rlib
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libadler-bb2692663e0e03e9.rlib
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libobject-519d6604b992c06d.rlib
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libmemchr-f94a45ef2b2a975f.rlib
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libaddr2line-02274546240e4a9b.rlib
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libgimli-d36d2b29377a81f0.rlib
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd_detect-9381942221b546a2.rlib
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_demangle-d68c46f5fd9a46fb.rlib
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libhashbrown-e0516d07b77b88e9.rlib
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_std_workspace_alloc-1dde4a55e53252c9.rlib
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libunwind-b9a89f5e0fba8abc.rlib
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libunwind.a
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcfg_if-4fdb4e509ba80972.rlib
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/liblibc-31f1926f234f4eb8.rlib
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/liballoc-25164b9d9d12f76a.rlib
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_std_workspace_core-8456af2ee6e6c76c.rlib
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-8a30025bdf8cd6ce.rlib
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/libcompiler_builtins-d7f5eb74f1e33e2a.rlib
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtendS.o
ld.lld: /home/han/rust/build/x86_64-unknown-linux-musl/stage1/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtn.o

@petrochenkov
Copy link
Contributor

Something like -Z print-link-args would be more useful because it would show the --start-group/--end-group options.

But from the linker logs it also looks like libunwind.a and libc.a will indeed get into the group, sigh.
At least this is an unstable internal detail that shouldn't affect user-specified libraries.

@petrochenkov
Copy link
Contributor

Thanks!
@bors r+

@bors
Copy link
Contributor

bors commented Aug 26, 2021

📌 Commit 118df1c has been approved by petrochenkov

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Aug 26, 2021
Dylan-DPC-zz pushed a commit to Dylan-DPC-zz/rust that referenced this pull request Aug 26, 2021
…rochenkov

Adjust linking order of static nobundle libraries

Link the static libraries with "-bundle" modifier from upstream rust crate right after linking this rust crate.
Some linker such as GNU linker `ld.bdf` treat order of linking as order of dependency.

After this change, static libraries with "-bundle" modifier is linked in the same order as "+bundle" modifier.
So we can change the value of "bundle" modifier without causing linking error.

fix: rust-lang#87541

r? `@petrochenkov`
Manishearth added a commit to Manishearth/rust that referenced this pull request Aug 27, 2021
…rochenkov

Adjust linking order of static nobundle libraries

Link the static libraries with "-bundle" modifier from upstream rust crate right after linking this rust crate.
Some linker such as GNU linker `ld.bdf` treat order of linking as order of dependency.

After this change, static libraries with "-bundle" modifier is linked in the same order as "+bundle" modifier.
So we can change the value of "bundle" modifier without causing linking error.

fix: rust-lang#87541

r? ``@petrochenkov``
@bors
Copy link
Contributor

bors commented Aug 27, 2021

⌛ Testing commit 118df1c with merge 4a6547c...

@bors
Copy link
Contributor

bors commented Aug 27, 2021

☀️ Test successful - checks-actions
Approved by: petrochenkov
Pushing 4a6547c to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Aug 27, 2021
@bors bors merged commit 4a6547c into rust-lang:master Aug 27, 2021
@rustbot rustbot added this to the 1.56.0 milestone Aug 27, 2021
@bors bors mentioned this pull request Aug 27, 2021
wip-sync pushed a commit to NetBSD/pkgsrc-wip that referenced this pull request Oct 22, 2021
Pkgsrc changes:
 * Remove one now-longer-applicable patch, adjust a few others
 * Bump bootstrap requirements to 1.55.0.

Upstream changes:

Version 1.56.0 (2021-10-21)
========================

Language
--------

- [The 2021 Edition is now stable.][rust#88100]
  See [the edition guide][rust-2021-edition-guide] for more details.
- [The pattern in `binding @ pattern` can now also introduce new bindings.]
  [rust#85305]
- [Union field access is permitted in `const fn`.][rust#85769]

[rust-2021-edition-guide]: https://doc.rust-lang.org/nightly/edition-guide/rust-2021/index.html

Compiler
--------

- [Upgrade to LLVM 13.][rust#87570]
- [Support memory, address, and thread sanitizers on
  aarch64-unknown-freebsd.][rust#88023]
- [Allow specifying a deployment target version for all iOS targets][rust#87699]
- [Warnings can be forced on with `--force-warn`.][rust#87472]
  This feature is primarily intended for usage by `cargo fix`,
  rather than end users.
- [Promote `aarch64-apple-ios-sim` to Tier 2\*.][rust#87760]
- [Add `powerpc-unknown-freebsd` at Tier 3\*.][rust#87370]
- [Add `riscv32imc-esp-espidf` at Tier 3\*.][rust#87666]

\* Refer to Rust's [platform support page][platform-support-doc] for more
information on Rust's tiered platform support.

Libraries
---------

- [Allow writing of incomplete UTF-8 sequences via stdout/stderr on Windows.]
  [rust#83342]
  The Windows console still requires valid Unicode, but this change allows
  splitting a UTF-8 character across multiple write calls. This allows, for
  instance, programs that just read and write data buffers (e.g. copying a file
  to stdout) without regard for Unicode or character boundaries.
- [Prefer `AtomicU{64,128}` over Mutex for Instant backsliding protection.]
  [rust#83093]
  For this use case, atomics scale much better under contention.
- [Implement `Extend<(A, B)>` for `(Extend<A>, Extend<B>)`][rust#85835]
- [impl Default, Copy, Clone for std::io::Sink and std::io::Empty][rust#86744]
- [`impl From<[(K, V); N]>` for all collections.][rust#84111]
- [Remove `P: Unpin` bound on impl Future for Pin.][rust#81363]
- [Treat invalid environment variable names as non-existent.][rust#86183]
  Previously, the environment functions would panic if given a
  variable name with an internal null character or equal sign (`=`).
  Now, these functions will just treat such names as non-existent
  variables, since the OS cannot represent the existence of a
  variable with such a name.

Stabilised APIs
---------------

- [`std::os::unix::fs::chroot`]
- [`UnsafeCell::raw_get`]
- [`BufWriter::into_parts`]
- [`core::panic::{UnwindSafe, RefUnwindSafe, AssertUnwindSafe}`]
  These APIs were previously stable in `std`, but are now also available
  in `core`.
- [`Vec::shrink_to`]
- [`String::shrink_to`]
- [`OsString::shrink_to`]
- [`PathBuf::shrink_to`]
- [`BinaryHeap::shrink_to`]
- [`VecDeque::shrink_to`]
- [`HashMap::shrink_to`]
- [`HashSet::shrink_to`]

These APIs are now usable in const contexts:

- [`std::mem::transmute`]
- [`[T]::first`][`slice::first`]
- [`[T]::split_first`][`slice::split_first`]
- [`[T]::last`][`slice::last`]
- [`[T]::split_last`][`slice::split_last`]

Cargo
-----

- [Cargo supports specifying a minimum supported Rust version in Cargo.toml.]
  [`rust-version`] This has no effect at present on dependency
  version selection.  We encourage crates to specify their minimum
  supported Rust version, and we encourage CI systems that support
  Rust code to include a crate's specified minimum version in the
  text matrix for that crate by default.

Compatibility notes
-------------------

- [Update to new argument parsing rules on Windows.][rust#87580]
  This adjusts Rust's standard library to match the behavior of the standard
  libraries for C/C++. The rules have changed slightly over time, and this PR
  brings us to the latest set of rules (changed in 2008).
- [Disallow the aapcs calling convention on aarch64][rust#88399]
  This was already not supported by LLVM; this change surfaces this lack of
  support with a better error message.
- [Make `SEMICOLON_IN_EXPRESSIONS_FROM_MACROS` warn by default][rust#87385]
- [Warn when an escaped newline skips multiple lines.][rust#87671]
- [Calls to `libc::getpid` / `std::process::id` from `Command::pre_exec`
  may return different values on glibc <= 2.24.][rust#81825] Rust
  now invokes the `clone3` system call directly, when available,
  to use new functionality available via that system call. Older
  versions of glibc cache the result of `getpid`, and only update
  that cache when calling glibc's clone/fork functions, so a direct
  system call bypasses that cache update. glibc 2.25 and newer no
  longer cache `getpid` for exactly this reason.

Internal changes
----------------
These changes provide no direct user facing benefits, but represent
significant improvements to the internals and overall performance
of rustc and related tools.

- [LLVM is compiled with PGO in published x86_64-unknown-linux-gnu
  artifacts.][rust#88069] This improves the performance of most Rust builds.

- [Unify representation of macros in internal data structures.][rust#88019]
  This change fixes a host of bugs with the handling of macros by the compiler,
  as well as rustdoc.

[`std::os::unix::fs::chroot`]: https://doc.rust-lang.org/stable/std/os/unix/fs/fn.chroot.html
[`Iterator::intersperse`]: https://doc.rust-lang.org/stable/std/iter/trait.Iterator.html#method.intersperse
[`Iterator::intersperse_with`]: https://doc.rust-lang.org/stable/std/iter/trait.Iterator.html#method.intersperse
[`UnsafeCell::raw_get`]: https://doc.rust-lang.org/stable/std/cell/struct.UnsafeCell.html#method.raw_get
[`BufWriter::into_parts`]: https://doc.rust-lang.org/stable/std/io/struct.BufWriter.html#method.into_parts
[`core::panic::{UnwindSafe, RefUnwindSafe, AssertUnwindSafe}`]: rust-lang/rust#84662
[`Vec::shrink_to`]: https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.shrink_to
[`String::shrink_to`]: https://doc.rust-lang.org/stable/std/string/struct.String.html#method.shrink_to
[`OsString::shrink_to`]: https://doc.rust-lang.org/stable/std/ffi/struct.OsString.html#method.shrink_to
[`PathBuf::shrink_to`]: https://doc.rust-lang.org/stable/std/path/struct.PathBuf.html#method.shrink_to
[`BinaryHeap::shrink_to`]: https://doc.rust-lang.org/stable/std/collections/struct.BinaryHeap.html#method.shrink_to
[`VecDeque::shrink_to`]: https://doc.rust-lang.org/stable/std/collections/struct.VecDeque.html#method.shrink_to
[`HashMap::shrink_to`]: https://doc.rust-lang.org/stable/std/collections/hash_map/struct.HashMap.html#method.shrink_to
[`HashSet::shrink_to`]: https://doc.rust-lang.org/stable/std/collections/hash_set/struct.HashSet.html#method.shrink_to
[`std::mem::transmute`]: https://doc.rust-lang.org/stable/std/mem/fn.transmute.html
[`slice::first`]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.first
[`slice::split_first`]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_first
[`slice::last`]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.last
[`slice::split_last`]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_last
[`rust-version`]: https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-rust-version-field
[rust#87671]: rust-lang/rust#87671
[rust#86183]: rust-lang/rust#86183
[rust#87385]: rust-lang/rust#87385
[rust#88100]: rust-lang/rust#88100
[rust#86860]: rust-lang/rust#86860
[rust#84039]: rust-lang/rust#84039
[rust#86492]: rust-lang/rust#86492
[rust#88363]: rust-lang/rust#88363
[rust#85305]: rust-lang/rust#85305
[rust#87832]: rust-lang/rust#87832
[rust#88069]: rust-lang/rust#88069
[rust#87472]: rust-lang/rust#87472
[rust#87699]: rust-lang/rust#87699
[rust#87570]: rust-lang/rust#87570
[rust#88023]: rust-lang/rust#88023
[rust#87760]: rust-lang/rust#87760
[rust#87370]: rust-lang/rust#87370
[rust#87580]: rust-lang/rust#87580
[rust#83342]: rust-lang/rust#83342
[rust#83093]: rust-lang/rust#83093
[rust#88177]: rust-lang/rust#88177
[rust#88548]: rust-lang/rust#88548
[rust#88551]: rust-lang/rust#88551
[rust#88299]: rust-lang/rust#88299
[rust#88220]: rust-lang/rust#88220
[rust#85835]: rust-lang/rust#85835
[rust#86879]: rust-lang/rust#86879
[rust#86744]: rust-lang/rust#86744
[rust#84662]: rust-lang/rust#84662
[rust#86593]: rust-lang/rust#86593
[rust#81050]: rust-lang/rust#81050
[rust#81363]: rust-lang/rust#81363
[rust#84111]: rust-lang/rust#84111
[rust#85769]: rust-lang/rust#85769 (comment)
[rust#88490]: rust-lang/rust#88490
[rust#88269]: rust-lang/rust#88269
[rust#84176]: rust-lang/rust#84176
[rust#88399]: rust-lang/rust#88399
[rust#88227]: rust-lang/rust#88227
[rust#88200]: rust-lang/rust#88200
[rust#82776]: rust-lang/rust#82776
[rust#88077]: rust-lang/rust#88077
[rust#87728]: rust-lang/rust#87728
[rust#87050]: rust-lang/rust#87050
[rust#87619]: rust-lang/rust#87619
[rust#81825]: rust-lang/rust#81825 (comment)
[rust#88019]: rust-lang/rust#88019
[rust#87666]: rust-lang/rust#87666
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Nov 20, 2021
Pkgsrc changes:
 * Bump bootstrap kit version to 1.55.0.
 * Adjust patches as needed, some no longer apply (so removed)
 * Update checksum adjustments.
 * Avoid rust-llvm on SunOS
 * Optionally build docs
 * Remove reference to closed/old PR#54621

Upstream changes:

Version 1.56.1 (2021-11-01)
===========================

- New lints to detect the presence of bidirectional-override Unicode
  codepoints in the compiled source code ([CVE-2021-42574])

[CVE-2021-42574]: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-42574

Version 1.56.0 (2021-10-21)
========================

Language
--------

- [The 2021 Edition is now stable.][rust#88100]
  See [the edition guide][rust-2021-edition-guide] for more details.
- [The pattern in `binding @ pattern` can now also introduce new bindings.]
  [rust#85305]
- [Union field access is permitted in `const fn`.][rust#85769]

[rust-2021-edition-guide]:
  https://doc.rust-lang.org/nightly/edition-guide/rust-2021/index.html

Compiler
--------

- [Upgrade to LLVM 13.][rust#87570]
- [Support memory, address, and thread sanitizers on aarch64-unknown-freebsd.]
  [rust#88023]
- [Allow specifying a deployment target version for all iOS targets][rust#87699]
- [Warnings can be forced on with `--force-warn`.][rust#87472]
  This feature is primarily intended for usage by `cargo fix`, rather than
  end users.
- [Promote `aarch64-apple-ios-sim` to Tier 2\*.][rust#87760]
- [Add `powerpc-unknown-freebsd` at Tier 3\*.][rust#87370]
- [Add `riscv32imc-esp-espidf` at Tier 3\*.][rust#87666]

\* Refer to Rust's [platform support page][platform-support-doc] for more
information on Rust's tiered platform support.

Libraries
---------

- [Allow writing of incomplete UTF-8 sequences via stdout/stderr on Windows.]
  [rust#83342]
  The Windows console still requires valid Unicode, but this change allows
  splitting a UTF-8 character across multiple write calls. This allows, for
  instance, programs that just read and write data buffers (e.g. copying a file
  to stdout) without regard for Unicode or character boundaries.
- [Prefer `AtomicU{64,128}` over Mutex for Instant backsliding protection.]
  [rust#83093]
  For this use case, atomics scale much better under contention.
- [Implement `Extend<(A, B)>` for `(Extend<A>, Extend<B>)`][rust#85835]
- [impl Default, Copy, Clone for std::io::Sink and std::io::Empty][rust#86744]
- [`impl From<[(K, V); N]>` for all collections.][rust#84111]
- [Remove `P: Unpin` bound on impl Future for Pin.][rust#81363]
- [Treat invalid environment variable names as non-existent.][rust#86183]
  Previously, the environment functions would panic if given a
  variable name with an internal null character or equal sign (`=`).
  Now, these functions will just treat such names as non-existent
  variables, since the OS cannot represent the existence of a
  variable with such a name.

Stabilised APIs
---------------

- [`std::os::unix::fs::chroot`]
- [`UnsafeCell::raw_get`]
- [`BufWriter::into_parts`]
- [`core::panic::{UnwindSafe, RefUnwindSafe, AssertUnwindSafe}`]
  These APIs were previously stable in `std`, but are now also available
  in `core`.
- [`Vec::shrink_to`]
- [`String::shrink_to`]
- [`OsString::shrink_to`]
- [`PathBuf::shrink_to`]
- [`BinaryHeap::shrink_to`]
- [`VecDeque::shrink_to`]
- [`HashMap::shrink_to`]
- [`HashSet::shrink_to`]

These APIs are now usable in const contexts:

- [`std::mem::transmute`]
- [`[T]::first`][`slice::first`]
- [`[T]::split_first`][`slice::split_first`]
- [`[T]::last`][`slice::last`]
- [`[T]::split_last`][`slice::split_last`]

Cargo
-----

- [Cargo supports specifying a minimum supported Rust version in Cargo.toml.]
  [`rust-version`]
  This has no effect at present on dependency version selection.
  We encourage crates to specify their minimum supported Rust
  version, and we encourage CI systems that support Rust code to
  include a crate's specified minimum version in the text matrix
  for that crate by default.

Compatibility notes
-------------------

- [Update to new argument parsing rules on Windows.][rust#87580]
  This adjusts Rust's standard library to match the behavior of the standard
  libraries for C/C++. The rules have changed slightly over time, and this PR
  brings us to the latest set of rules (changed in 2008).
- [Disallow the aapcs calling convention on aarch64][rust#88399]
  This was already not supported by LLVM; this change surfaces this lack of
  support with a better error message.
- [Make `SEMICOLON_IN_EXPRESSIONS_FROM_MACROS` warn by default][rust#87385]
- [Warn when an escaped newline skips multiple lines.][rust#87671]
- [Calls to `libc::getpid` / `std::process::id` from `Command::pre_exec`
  may return different values on glibc <= 2.24.][rust#81825]
  Rust now invokes the `clone3` system call directly, when available,
  to use new functionality available via that system call. Older
  versions of glibc cache the result of `getpid`, and only update
  that cache when calling glibc's clone/fork functions, so a direct
  system call bypasses that cache update. glibc 2.25 and newer no
  longer cache `getpid` for exactly this reason.

Internal changes
----------------
These changes provide no direct user facing benefits, but represent
significant improvements to the internals and overall performance
of rustc and related tools.

- [LLVM is compiled with PGO in published x86_64-unknown-linux-gnu artifacts.]
  [rust#88069]
  This improves the performance of most Rust builds.
- [Unify representation of macros in internal data structures.][rust#88019]
  This change fixes a host of bugs with the handling of macros by the compiler,
  as well as rustdoc.

[`std::os::unix::fs::chroot`]: https://doc.rust-lang.org/stable/std/os/unix/fs/fn.chroot.html
[`Iterator::intersperse`]: https://doc.rust-lang.org/stable/std/iter/trait.Iterator.html#method.intersperse
[`Iterator::intersperse_with`]: https://doc.rust-lang.org/stable/std/iter/trait.Iterator.html#method.intersperse
[`UnsafeCell::raw_get`]: https://doc.rust-lang.org/stable/std/cell/struct.UnsafeCell.html#method.raw_get
[`BufWriter::into_parts`]: https://doc.rust-lang.org/stable/std/io/struct.BufWriter.html#method.into_parts
[`core::panic::{UnwindSafe, RefUnwindSafe, AssertUnwindSafe}`]: rust-lang/rust#84662
[`Vec::shrink_to`]: https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.shrink_to
[`String::shrink_to`]: https://doc.rust-lang.org/stable/std/string/struct.String.html#method.shrink_to
[`OsString::shrink_to`]: https://doc.rust-lang.org/stable/std/ffi/struct.OsString.html#method.shrink_to
[`PathBuf::shrink_to`]: https://doc.rust-lang.org/stable/std/path/struct.PathBuf.html#method.shrink_to
[`BinaryHeap::shrink_to`]: https://doc.rust-lang.org/stable/std/collections/struct.BinaryHeap.html#method.shrink_to
[`VecDeque::shrink_to`]: https://doc.rust-lang.org/stable/std/collections/struct.VecDeque.html#method.shrink_to
[`HashMap::shrink_to`]: https://doc.rust-lang.org/stable/std/collections/hash_map/struct.HashMap.html#method.shrink_to
[`HashSet::shrink_to`]: https://doc.rust-lang.org/stable/std/collections/hash_set/struct.HashSet.html#method.shrink_to
[`std::mem::transmute`]: https://doc.rust-lang.org/stable/std/mem/fn.transmute.html
[`slice::first`]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.first
[`slice::split_first`]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_first
[`slice::last`]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.last
[`slice::split_last`]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_last
[`rust-version`]: https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-rust-version-field
[rust#87671]: rust-lang/rust#87671
[rust#86183]: rust-lang/rust#86183
[rust#87385]: rust-lang/rust#87385
[rust#88100]: rust-lang/rust#88100
[rust#86860]: rust-lang/rust#86860
[rust#84039]: rust-lang/rust#84039
[rust#86492]: rust-lang/rust#86492
[rust#88363]: rust-lang/rust#88363
[rust#85305]: rust-lang/rust#85305
[rust#87832]: rust-lang/rust#87832
[rust#88069]: rust-lang/rust#88069
[rust#87472]: rust-lang/rust#87472
[rust#87699]: rust-lang/rust#87699
[rust#87570]: rust-lang/rust#87570
[rust#88023]: rust-lang/rust#88023
[rust#87760]: rust-lang/rust#87760
[rust#87370]: rust-lang/rust#87370
[rust#87580]: rust-lang/rust#87580
[rust#83342]: rust-lang/rust#83342
[rust#83093]: rust-lang/rust#83093
[rust#88177]: rust-lang/rust#88177
[rust#88548]: rust-lang/rust#88548
[rust#88551]: rust-lang/rust#88551
[rust#88299]: rust-lang/rust#88299
[rust#88220]: rust-lang/rust#88220
[rust#85835]: rust-lang/rust#85835
[rust#86879]: rust-lang/rust#86879
[rust#86744]: rust-lang/rust#86744
[rust#84662]: rust-lang/rust#84662
[rust#86593]: rust-lang/rust#86593
[rust#81050]: rust-lang/rust#81050
[rust#81363]: rust-lang/rust#81363
[rust#84111]: rust-lang/rust#84111
[rust#85769]: rust-lang/rust#85769 (comment)
[rust#88490]: rust-lang/rust#88490
[rust#88269]: rust-lang/rust#88269
[rust#84176]: rust-lang/rust#84176
[rust#88399]: rust-lang/rust#88399
[rust#88227]: rust-lang/rust#88227
[rust#88200]: rust-lang/rust#88200
[rust#82776]: rust-lang/rust#82776
[rust#88077]: rust-lang/rust#88077
[rust#87728]: rust-lang/rust#87728
[rust#87050]: rust-lang/rust#87050
[rust#87619]: rust-lang/rust#87619
[rust#81825]: rust-lang/rust#81825 (comment)
[rust#88019]: rust-lang/rust#88019
[rust#87666]: rust-lang/rust#87666

Version 1.55.0 (2021-09-09)
============================

Language
--------
- [You can now write open "from" range patterns (`X..`), which will start
  at `X` and will end at the maximum value of the integer.][83918]
- [You can now explicitly import the prelude of different editions
  through `std::prelude` (e.g. `use std::prelude::rust_2021::*;`).][86294]

Compiler
--------
- [Added tier 3\* support for `powerpc64le-unknown-freebsd`.][83572]

\* Refer to Rust's [platform support page][platform-support-doc] for more
   information on Rust's tiered platform support.

Libraries
---------

- [Updated std's float parsing to use the Eisel-Lemire algorithm.][86761]
  These improvements should in general provide faster string parsing of floats,
  no longer reject certain valid floating point values, and reduce
  the produced code size for non-stripped artifacts.
- [`string::Drain` now implements `AsRef<str>` and `AsRef<[u8]>`.][86858]

Stabilised APIs
---------------

- [`Bound::cloned`]
- [`Drain::as_str`]
- [`IntoInnerError::into_error`]
- [`IntoInnerError::into_parts`]
- [`MaybeUninit::assume_init_mut`]
- [`MaybeUninit::assume_init_ref`]
- [`MaybeUninit::write`]
- [`array::map`]
- [`ops::ControlFlow`]
- [`x86::_bittest`]
- [`x86::_bittestandcomplement`]
- [`x86::_bittestandreset`]
- [`x86::_bittestandset`]
- [`x86_64::_bittest64`]
- [`x86_64::_bittestandcomplement64`]
- [`x86_64::_bittestandreset64`]
- [`x86_64::_bittestandset64`]

The following previously stable functions are now `const`.

- [`str::from_utf8_unchecked`]


Cargo
-----
- [Cargo will now deduplicate compiler diagnostics to the terminal when invoking
  rustc in parallel such as when using `cargo test`.][cargo/9675]
- [The package definition in `cargo metadata` now includes the `"default_run"`
  field from the manifest.][cargo/9550]
- [Added `cargo d` as an alias for `cargo doc`.][cargo/9680]
- [Added `{lib}` as formatting option for `cargo tree` to print the `"lib_name"`
  of packages.][cargo/9663]

Rustdoc
-------
- [Added "Go to item on exact match" search option.][85876]
- [The "Implementors" section on traits no longer shows redundant
  method definitions.][85970]
- [Trait implementations are toggled open by default.][86260] This should
  make the implementations more searchable by tools like `CTRL+F` in
  your browser.
- [Intra-doc links should now correctly resolve associated items (e.g. methods)
  through type aliases.][86334]
- [Traits which are marked with `#[doc(hidden)]` will no longer appear in the
  "Trait Implementations" section.][86513]


Compatibility Notes
-------------------
- [std functions that return an `io::Error` will no longer use the
  `ErrorKind::Other` variant.][85746] This is to better reflect that these
  kinds of errors could be categorised [into newer more specific `ErrorKind`
  variants][79965], and that they do not represent a user error.
- [Using environment variable names with `process::Command` on Windows now
  behaves as expected.][85270] Previously using envionment variables with
  `Command` would cause them to be ASCII-uppercased.
- [Rustdoc will now warn on using rustdoc lints that aren't prefixed
  with `rustdoc::`][86849]

[86849]: rust-lang/rust#86849
[86513]: rust-lang/rust#86513
[86334]: rust-lang/rust#86334
[86260]: rust-lang/rust#86260
[85970]: rust-lang/rust#85970
[85876]: rust-lang/rust#85876
[83572]: rust-lang/rust#83572
[86294]: rust-lang/rust#86294
[86858]: rust-lang/rust#86858
[86761]: rust-lang/rust#86761
[85769]: rust-lang/rust#85769
[85746]: rust-lang/rust#85746
[85305]: rust-lang/rust#85305
[85270]: rust-lang/rust#85270
[84111]: rust-lang/rust#84111
[83918]: rust-lang/rust#83918
[79965]: rust-lang/rust#79965
[87370]: rust-lang/rust#87370
[87298]: rust-lang/rust#87298
[cargo/9663]: rust-lang/cargo#9663
[cargo/9675]: rust-lang/cargo#9675
[cargo/9550]: rust-lang/cargo#9550
[cargo/9680]: rust-lang/cargo#9680
[cargo/9663]: rust-lang/cargo#9663
[`array::map`]: https://doc.rust-lang.org/stable/std/primitive.array.html#method.map
[`Bound::cloned`]: https://doc.rust-lang.org/stable/std/ops/enum.Bound.html#method.cloned
[`Drain::as_str`]: https://doc.rust-lang.org/stable/std/string/struct.Drain.html#method.as_str
[`IntoInnerError::into_error`]: https://doc.rust-lang.org/stable/std/io/struct.IntoInnerError.html#method.into_error
[`IntoInnerError::into_parts`]: https://doc.rust-lang.org/stable/std/io/struct.IntoInnerError.html#method.into_parts
[`MaybeUninit::assume_init_mut`]: https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.assume_init_mut
[`MaybeUninit::assume_init_ref`]: https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.assume_init_ref
[`MaybeUninit::write`]: https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.write
[`Seek::rewind`]: https://doc.rust-lang.org/stable/std/io/trait.Seek.html#method.rewind
[`ops::ControlFlow`]: https://doc.rust-lang.org/stable/std/ops/enum.ControlFlow.html
[`str::from_utf8_unchecked`]: https://doc.rust-lang.org/stable/std/str/fn.from_utf8_unchecked.html
[`x86::_bittest`]: https://doc.rust-lang.org/stable/core/arch/x86/fn._bittest.html
[`x86::_bittestandcomplement`]: https://doc.rust-lang.org/stable/core/arch/x86/fn._bittestandcomplement.html
[`x86::_bittestandreset`]: https://doc.rust-lang.org/stable/core/arch/x86/fn._bittestandreset.html
[`x86::_bittestandset`]: https://doc.rust-lang.org/stable/core/arch/x86/fn._bittestandset.html
[`x86_64::_bittest64`]: https://doc.rust-lang.org/stable/core/arch/x86_64/fn._bittest64.html
[`x86_64::_bittestandcomplement64`]: https://doc.rust-lang.org/stable/core/arch/x86_64/fn._bittestandcomplement64.html
[`x86_64::_bittestandreset64`]: https://doc.rust-lang.org/stable/core/arch/x86_64/fn._bittestandreset64.html
[`x86_64::_bittestandset64`]: https://doc.rust-lang.org/stable/core/arch/x86_64/fn._bittestandset64.html
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Link error when using native_link_modifiers_bundle and ld.bfd
6 participants