]> git.lizzy.rs Git - rust.git/commit - src/tools/rust-analyzer
Rollup merge of #91381 - Amanieu:android_libdl, r=petrochenkov
authorMatthias Krüger <matthias.krueger@famsik.de>
Fri, 3 Dec 2021 05:24:15 +0000 (06:24 +0100)
committerGitHub <noreply@github.com>
Fri, 3 Dec 2021 05:24:15 +0000 (06:24 +0100)
commit63da52af4af185bcbe0e7bb5c70eb23b842c6706
treee4b6d6c307e0a21c6cc527b8fa2425c0e1574f38
parenta5ee722f1ea6f9519d213a2304cc8edcf53f4cc3
parent41e2a53c0007540cbb54e1f7b2980f0f886f8749
Rollup merge of #91381 - Amanieu:android_libdl, r=petrochenkov

Android: -ldl must appear after -lgcc when linking

#90846 accidentally broke Android builds because it causes the standard library to no longer use `dlsym` on Android. This results in `libdl` being ignored by the linker since no symbols are needed from it. However, we later import `libgcc` for unwinding which *does* depend on `libdl` for `dl_iterate_phdr`. Since linkers don't revisit previous libraries when resolving symbols, this causes a linker error due to an undefined reference to `dl_iterate_phdr`.

This is resolved by adding a second `-ldl` after `-lgcc` in the linker command-line.