remove newer __ssp
field from ucontext_t
for earlier glib compat
Per discussion in #1410, this is necessary to avoid struct size mismatches between Rust and C on systems with glibc < 2.28.
This commit is contained in:
parent
40c73a6eed
commit
dba4138305
@ -1950,7 +1950,6 @@ fn test_linux(target: &str) {
|
||||
"syslog.h",
|
||||
"termios.h",
|
||||
"time.h",
|
||||
"ucontext.h",
|
||||
"unistd.h",
|
||||
"utime.h",
|
||||
"utmp.h",
|
||||
@ -1968,6 +1967,10 @@ fn test_linux(target: &str) {
|
||||
// <execinfo.h> is not supported by musl:
|
||||
// https://www.openwall.com/lists/musl/2015/04/09/3
|
||||
[!musl]: "execinfo.h",
|
||||
// ucontext_t added a new field as of glibc 2.28; our struct definition is
|
||||
// conservative and omits the field, but that means the size doesn't match for newer
|
||||
// glibcs
|
||||
[!gnu]: "ucontext.h",
|
||||
}
|
||||
|
||||
// Include linux headers at the end:
|
||||
|
@ -285,7 +285,6 @@ s_no_extra_traits! {
|
||||
pub uc_mcontext: mcontext_t,
|
||||
pub uc_sigmask: ::sigset_t,
|
||||
__private: [u8; 512],
|
||||
__ssp: [::c_ulonglong; 4],
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user