Skip to content

Commit

Permalink
Merge pull request #1899 from joshtriplett/support-static-glibc
Browse files Browse the repository at this point in the history
  • Loading branch information
JohnTitor committed Sep 30, 2020
2 parents b3f8975 + 5bf6ee5 commit 9c17cad
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 4 deletions.
2 changes: 1 addition & 1 deletion src/lib.rs
Expand Up @@ -19,7 +19,7 @@
// Attributes needed when building as part of the standard library
#![cfg_attr(
feature = "rustc-dep-of-std",
feature(cfg_target_vendor, link_cfg, no_core)
feature(cfg_target_vendor, link_cfg, no_core, static_nobundle)
)]
#![cfg_attr(libc_thread_local, feature(thread_local))]
// Enable extra lints:
Expand Down
1 change: 0 additions & 1 deletion src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs
Expand Up @@ -410,7 +410,6 @@ pub const SYS_pkey_alloc: ::c_long = 330;
pub const SYS_pkey_free: ::c_long = 331;
pub const SYS_statx: ::c_long = 332;

#[link(name = "util")]
extern "C" {
pub fn sysctl(
name: *mut ::c_int,
Expand Down
2 changes: 0 additions & 2 deletions src/unix/linux_like/linux/gnu/mod.rs
Expand Up @@ -1362,7 +1362,6 @@ extern "C" {
) -> ::c_int;
}

#[link(name = "util")]
extern "C" {
pub fn ioctl(fd: ::c_int, request: ::c_ulong, ...) -> ::c_int;
pub fn backtrace(buf: *mut *mut ::c_void, sz: ::c_int) -> ::c_int;
Expand Down Expand Up @@ -1436,7 +1435,6 @@ extern "C" {
) -> ::c_int;
}

#[link(name = "dl")]
extern "C" {
pub fn dlmopen(
lmid: Lmid_t,
Expand Down
26 changes: 26 additions & 0 deletions src/unix/mod.rs
Expand Up @@ -298,6 +298,32 @@ cfg_if! {
} else if #[cfg(feature = "std")] {
// cargo build, don't pull in anything extra as the libstd dep
// already pulls in all libs.
} else if #[cfg(all(target_os = "linux",
target_env = "gnu",
feature = "rustc-dep-of-std"))] {
#[link(name = "util", kind = "static-nobundle",
cfg(target_feature = "crt-static"))]
#[link(name = "rt", kind = "static-nobundle",
cfg(target_feature = "crt-static"))]
#[link(name = "pthread", kind = "static-nobundle",
cfg(target_feature = "crt-static"))]
#[link(name = "m", kind = "static-nobundle",
cfg(target_feature = "crt-static"))]
#[link(name = "dl", kind = "static-nobundle",
cfg(target_feature = "crt-static"))]
#[link(name = "c", kind = "static-nobundle",
cfg(target_feature = "crt-static"))]
#[link(name = "gcc_eh", kind = "static-nobundle",
cfg(target_feature = "crt-static"))]
#[link(name = "gcc", kind = "static-nobundle",
cfg(target_feature = "crt-static"))]
#[link(name = "util", cfg(not(target_feature = "crt-static")))]
#[link(name = "rt", cfg(not(target_feature = "crt-static")))]
#[link(name = "pthread", cfg(not(target_feature = "crt-static")))]
#[link(name = "m", cfg(not(target_feature = "crt-static")))]
#[link(name = "dl", cfg(not(target_feature = "crt-static")))]
#[link(name = "c", cfg(not(target_feature = "crt-static")))]
extern {}
} else if #[cfg(target_env = "musl")] {
#[cfg_attr(feature = "rustc-dep-of-std",
link(name = "c", kind = "static",
Expand Down

0 comments on commit 9c17cad

Please sign in to comment.