bump kernel headers to 4.4.2-2
This commit is contained in:
parent
1cbc523e50
commit
2543b7c8ed
|
@ -9,7 +9,7 @@ RUN mkdir /toolchain
|
|||
# Note that this originally came from:
|
||||
# https://downloads.openwrt.org/snapshots/targets/ar71xx/generic/openwrt-sdk-ar71xx-generic_gcc-7.4.0_musl.Linux-x86_64.tar.xz
|
||||
RUN curl --retry 5 -L https://downloads.openwrt.org/snapshots/targets/ar71xx/generic/openwrt-sdk-ar71xx-generic_gcc-7.4.0_musl.Linux-x86_64.tar.xz | \
|
||||
tar xf - -C /toolchain --strip-components=1
|
||||
tar xf -J - -C /toolchain --strip-components=1
|
||||
|
||||
ENV PATH=$PATH:/rust/bin:/toolchain/staging_dir/toolchain-mips_34kc_gcc-7.4.0_musl.Linux-x86_64/bin \
|
||||
CC_mips_unknown_linux_musl=mips-openwrt-linux-gcc \
|
||||
|
|
|
@ -58,11 +58,12 @@ cd ..
|
|||
rm -rf $MUSL
|
||||
|
||||
# Download, configure, build, and install musl-sanitized kernel headers:
|
||||
KERNEL_HEADER_VER="4.4.2-2"
|
||||
curl --retry 5 -L \
|
||||
https://github.com/sabotage-linux/kernel-headers/archive/v4.4.2-1.tar.gz | \
|
||||
"https://github.com/sabotage-linux/kernel-headers/archive/v${KERNEL_HEADER_VER}.tar.gz" | \
|
||||
tar xzf -
|
||||
(
|
||||
cd kernel-headers-4.4.2-1
|
||||
cd kernel-headers-${KERNEL_HEADER_VER}
|
||||
make ARCH="${kernel_arch}" prefix="/musl-${musl_arch}" install -j4
|
||||
)
|
||||
rm -rf kernel-headers-4.4.2-1
|
||||
rm -rf kernel-headers-${KERNEL_HEADER_VER}
|
||||
|
|
|
@ -2130,6 +2130,7 @@ fn test_linux(target: &str) {
|
|||
"linux/fs.h",
|
||||
"linux/futex.h",
|
||||
"linux/genetlink.h",
|
||||
"linux/if.h",
|
||||
"linux/if_addr.h",
|
||||
"linux/if_alg.h",
|
||||
"linux/if_ether.h",
|
||||
|
@ -2152,11 +2153,6 @@ fn test_linux(target: &str) {
|
|||
"sys/auxv.h",
|
||||
}
|
||||
|
||||
// FIXME: https://github.com/sabotage-linux/kernel-headers/issues/16
|
||||
if !musl {
|
||||
headers!{ cfg: "linux/if.h" }
|
||||
}
|
||||
|
||||
// note: aio.h must be included before sys/mount.h
|
||||
headers! { cfg:
|
||||
"sys/xattr.h",
|
||||
|
@ -2305,6 +2301,9 @@ fn test_linux(target: &str) {
|
|||
// `linux_termios.rs` below:
|
||||
"BOTHER" => true,
|
||||
|
||||
// FIXME: on musl the pthread types are defined a little differently
|
||||
// - these constants are used by the glibc implementation.
|
||||
n if musl && n.contains("__SIZEOF_PTHREAD") => true,
|
||||
_ => false,
|
||||
}
|
||||
});
|
||||
|
@ -2332,6 +2331,12 @@ fn test_linux(target: &str) {
|
|||
// test the XSI version below.
|
||||
"strerror_r" => true,
|
||||
|
||||
// FIXME: Our API is unsound. The Rust API allows aliasing
|
||||
// pointers, but the C API requires pointers not to alias.
|
||||
// We should probably be at least using `&`/`&mut` here, see:
|
||||
// https://github.com/gnzlbg/ctest/issues/68
|
||||
"lio_listio" if musl => true,
|
||||
|
||||
_ => false,
|
||||
}
|
||||
});
|
||||
|
|
|
@ -1924,6 +1924,10 @@ f! {
|
|||
}
|
||||
|
||||
extern {
|
||||
pub fn getrlimit64(resource: ::c_int,
|
||||
rlim: *mut rlimit64) -> ::c_int;
|
||||
pub fn setrlimit64(resource: ::c_int,
|
||||
rlim: *const rlimit64) -> ::c_int;
|
||||
pub fn getrlimit(resource: ::c_int, rlim: *mut ::rlimit) -> ::c_int;
|
||||
pub fn setrlimit(resource: ::c_int, rlim: *const ::rlimit) -> ::c_int;
|
||||
pub fn strerror_r(errnum: ::c_int, buf: *mut c_char,
|
||||
|
|
|
@ -1688,6 +1688,10 @@ f! {
|
|||
}
|
||||
|
||||
extern {
|
||||
pub fn getrlimit64(resource: ::c_int,
|
||||
rlim: *mut rlimit64) -> ::c_int;
|
||||
pub fn setrlimit64(resource: ::c_int,
|
||||
rlim: *const rlimit64) -> ::c_int;
|
||||
pub fn getrlimit(resource: ::c_int, rlim: *mut ::rlimit) -> ::c_int;
|
||||
pub fn setrlimit(resource: ::c_int, rlim: *const ::rlimit) -> ::c_int;
|
||||
pub fn strerror_r(errnum: ::c_int, buf: *mut c_char,
|
||||
|
|
|
@ -6,6 +6,7 @@ pub type fsblkcnt_t = ::c_ulong;
|
|||
pub type fsfilcnt_t = ::c_ulong;
|
||||
pub type rlim_t = c_ulong;
|
||||
pub type __priority_which_t = ::c_uint;
|
||||
pub type __rlimit_resource_t = ::c_uint;
|
||||
|
||||
s! {
|
||||
pub struct glob64_t {
|
||||
|
@ -906,6 +907,21 @@ f! {
|
|||
|
||||
#[link(name = "util")]
|
||||
extern {
|
||||
pub fn getrlimit64(resource: ::__rlimit_resource_t,
|
||||
rlim: *mut ::rlimit64) -> ::c_int;
|
||||
pub fn setrlimit64(resource: ::__rlimit_resource_t,
|
||||
rlim: *const ::rlimit64) -> ::c_int;
|
||||
pub fn getrlimit(resource: ::__rlimit_resource_t,
|
||||
rlim: *mut ::rlimit) -> ::c_int;
|
||||
pub fn setrlimit(resource: ::__rlimit_resource_t,
|
||||
rlim: *const ::rlimit) -> ::c_int;
|
||||
pub fn prlimit(pid: ::pid_t,
|
||||
resource: ::__rlimit_resource_t, new_limit: *const ::rlimit,
|
||||
old_limit: *mut ::rlimit) -> ::c_int;
|
||||
pub fn prlimit64(pid: ::pid_t,
|
||||
resource: ::__rlimit_resource_t,
|
||||
new_limit: *const ::rlimit64,
|
||||
old_limit: *mut ::rlimit64) -> ::c_int;
|
||||
pub fn sysctl(name: *mut ::c_int,
|
||||
namelen: ::c_int,
|
||||
oldp: *mut ::c_void,
|
||||
|
|
|
@ -2265,17 +2265,6 @@ extern {
|
|||
flags: ::c_int) -> ::c_int;
|
||||
pub fn pthread_setschedprio(native: ::pthread_t,
|
||||
priority: ::c_int) -> ::c_int;
|
||||
pub fn getrlimit(resource: ::__rlimit_resource_t,
|
||||
rlim: *mut ::rlimit) -> ::c_int;
|
||||
pub fn setrlimit(resource: ::__rlimit_resource_t,
|
||||
rlim: *const ::rlimit) -> ::c_int;
|
||||
pub fn prlimit(pid: ::pid_t,
|
||||
resource: ::__rlimit_resource_t, new_limit: *const ::rlimit,
|
||||
old_limit: *mut ::rlimit) -> ::c_int;
|
||||
pub fn prlimit64(pid: ::pid_t,
|
||||
resource: ::__rlimit_resource_t,
|
||||
new_limit: *const ::rlimit64,
|
||||
old_limit: *mut ::rlimit64) -> ::c_int;
|
||||
pub fn getloadavg(loadavg: *mut ::c_double, nelem: ::c_int) -> ::c_int;
|
||||
pub fn process_vm_readv(pid: ::pid_t,
|
||||
local_iov: *const ::iovec,
|
||||
|
|
|
@ -332,6 +332,22 @@ pub const SO_PEEK_OFF: ::c_int = 42;
|
|||
pub const SO_BUSY_POLL: ::c_int = 46;
|
||||
|
||||
extern {
|
||||
pub fn getrlimit64(resource: ::c_int,
|
||||
rlim: *mut ::rlimit64) -> ::c_int;
|
||||
pub fn setrlimit64(resource: ::c_int,
|
||||
rlim: *const ::rlimit64) -> ::c_int;
|
||||
pub fn getrlimit(resource: ::c_int,
|
||||
rlim: *mut ::rlimit) -> ::c_int;
|
||||
pub fn setrlimit(resource: ::c_int,
|
||||
rlim: *const ::rlimit) -> ::c_int;
|
||||
pub fn prlimit(pid: ::pid_t,
|
||||
resource: ::c_int, new_limit: *const ::rlimit,
|
||||
old_limit: *mut ::rlimit) -> ::c_int;
|
||||
pub fn prlimit64(pid: ::pid_t,
|
||||
resource: ::c_int,
|
||||
new_limit: *const ::rlimit64,
|
||||
old_limit: *mut ::rlimit64) -> ::c_int;
|
||||
|
||||
pub fn gettimeofday(tp: *mut ::timeval,
|
||||
tz: *mut ::c_void) -> ::c_int;
|
||||
pub fn ptrace(request: ::c_int, ...) -> ::c_long;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
pub type pthread_t = c_ulong;
|
||||
pub type __priority_which_t = ::c_uint;
|
||||
pub type __rlimit_resource_t = ::c_uint;
|
||||
|
||||
s! {
|
||||
pub struct aiocb {
|
||||
|
@ -949,6 +950,21 @@ f! {
|
|||
}
|
||||
|
||||
extern {
|
||||
pub fn getrlimit64(resource: ::__rlimit_resource_t,
|
||||
rlim: *mut ::rlimit64) -> ::c_int;
|
||||
pub fn setrlimit64(resource: ::__rlimit_resource_t,
|
||||
rlim: *const ::rlimit64) -> ::c_int;
|
||||
pub fn getrlimit(resource: ::__rlimit_resource_t,
|
||||
rlim: *mut ::rlimit) -> ::c_int;
|
||||
pub fn setrlimit(resource: ::__rlimit_resource_t,
|
||||
rlim: *const ::rlimit) -> ::c_int;
|
||||
pub fn prlimit(pid: ::pid_t,
|
||||
resource: ::__rlimit_resource_t, new_limit: *const ::rlimit,
|
||||
old_limit: *mut ::rlimit) -> ::c_int;
|
||||
pub fn prlimit64(pid: ::pid_t,
|
||||
resource: ::__rlimit_resource_t,
|
||||
new_limit: *const ::rlimit64,
|
||||
old_limit: *mut ::rlimit64) -> ::c_int;
|
||||
pub fn utmpxname(file: *const ::c_char) -> ::c_int;
|
||||
pub fn getutxent() -> *mut utmpx;
|
||||
pub fn getutxid(ut: *const utmpx) -> *mut utmpx;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
use ::pthread_mutex_t;
|
||||
|
||||
pub type __rlimit_resource_t = ::c_uint;
|
||||
pub type pthread_t = c_ulong;
|
||||
pub type blkcnt_t = i64;
|
||||
pub type blksize_t = i64;
|
||||
|
@ -1316,6 +1317,22 @@ pub const SYS_newfstatat: ::c_long = 293;
|
|||
|
||||
#[link(name = "util")]
|
||||
extern {
|
||||
pub fn getrlimit64(resource: ::__rlimit_resource_t,
|
||||
rlim: *mut ::rlimit64) -> ::c_int;
|
||||
pub fn setrlimit64(resource: ::__rlimit_resource_t,
|
||||
rlim: *const ::rlimit64) -> ::c_int;
|
||||
pub fn getrlimit(resource: ::__rlimit_resource_t,
|
||||
rlim: *mut ::rlimit) -> ::c_int;
|
||||
pub fn setrlimit(resource: ::__rlimit_resource_t,
|
||||
rlim: *const ::rlimit) -> ::c_int;
|
||||
pub fn prlimit(pid: ::pid_t,
|
||||
resource: ::__rlimit_resource_t, new_limit: *const ::rlimit,
|
||||
old_limit: *mut ::rlimit) -> ::c_int;
|
||||
pub fn prlimit64(pid: ::pid_t,
|
||||
resource: ::__rlimit_resource_t,
|
||||
new_limit: *const ::rlimit64,
|
||||
old_limit: *mut ::rlimit64) -> ::c_int;
|
||||
|
||||
pub fn sysctl(name: *mut ::c_int,
|
||||
namelen: ::c_int,
|
||||
oldp: *mut ::c_void,
|
||||
|
|
|
@ -4,7 +4,6 @@ pub type tcflag_t = ::c_uint;
|
|||
pub type clockid_t = ::c_int;
|
||||
pub type key_t = ::c_int;
|
||||
pub type id_t = ::c_uint;
|
||||
pub type __rlimit_resource_t = ::c_uint;
|
||||
|
||||
#[cfg_attr(feature = "extra_traits", derive(Debug))]
|
||||
pub enum timezone {}
|
||||
|
@ -1305,8 +1304,6 @@ extern {
|
|||
pub fn fstatat64(dirfd: ::c_int, pathname: *const c_char,
|
||||
buf: *mut stat64, flags: ::c_int) -> ::c_int;
|
||||
pub fn ftruncate64(fd: ::c_int, length: off64_t) -> ::c_int;
|
||||
pub fn getrlimit64(resource: ::__rlimit_resource_t,
|
||||
rlim: *mut rlimit64) -> ::c_int;
|
||||
pub fn lseek64(fd: ::c_int, offset: off64_t, whence: ::c_int) -> off64_t;
|
||||
pub fn lstat64(path: *const c_char, buf: *mut stat64) -> ::c_int;
|
||||
pub fn mmap64(addr: *mut ::c_void,
|
||||
|
@ -1335,8 +1332,6 @@ extern {
|
|||
pub fn readdir64(dirp: *mut ::DIR) -> *mut ::dirent64;
|
||||
pub fn readdir64_r(dirp: *mut ::DIR, entry: *mut ::dirent64,
|
||||
result: *mut *mut ::dirent64) -> ::c_int;
|
||||
pub fn setrlimit64(resource: ::__rlimit_resource_t,
|
||||
rlim: *const rlimit64) -> ::c_int;
|
||||
pub fn stat64(path: *const c_char, buf: *mut stat64) -> ::c_int;
|
||||
pub fn truncate64(path: *const c_char, length: off64_t) -> ::c_int;
|
||||
|
||||
|
|
Loading…
Reference in a new issue