-
Notifications
You must be signed in to change notification settings - Fork 1.2k
openbsd update map sigcontext for amd64 #2189
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
Conversation
|
r? @Amanieu (rust-highfive has picked a reviewer for you, use r? to override) |
semarie
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
struct definitions are corrects, but it doesn't pass the test on OpenBSD:
+ cargo test --features extra_traits --manifest-path libc-test/Cargo.toml --target x86_64-unknown-openbsd
+ RUST_BACKTRACE=1
Compiling libc v0.2.94 (/data/semarie/repos/rust/libc-rs)
Compiling libc-test v0.2.94 (/data/semarie/repos/rust/libc-rs/libc-test)
error: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
--> src/macros.rs:76:57
|
76 | #[cfg_attr(feature = "extra_traits", derive(Debug, Eq, Hash, PartialEq))]
| ^^^^^
|
::: src/unix/bsd/netbsdlike/openbsd/x86_64.rs:8:1
|
8 | / s! {
9 | | #[repr(packed)]
10 | | pub struct fxsave64 {
11 | | pub fx_fcw: u16,
... |
56 | | }
57 | | }
| |_- in this macro invocation
|
note: the lint level is defined here
--> src/lib.rs:24:39
|
24 | #![deny(missing_copy_implementations, safe_packed_borrows)]
| ^^^^^^^^^^^^^^^^^^^
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
= note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
--> src/macros.rs:76:68
|
76 | #[cfg_attr(feature = "extra_traits", derive(Debug, Eq, Hash, PartialEq))]
| ^^^^
|
::: src/unix/bsd/netbsdlike/openbsd/x86_64.rs:8:1
|
8 | / s! {
9 | | #[repr(packed)]
10 | | pub struct fxsave64 {
11 | | pub fx_fcw: u16,
... |
56 | | }
57 | | }
| |_- in this macro invocation
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
= note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
--> src/macros.rs:76:74
|
76 | #[cfg_attr(feature = "extra_traits", derive(Debug, Eq, Hash, PartialEq))]
| ^^^^^^^^^
|
::: src/unix/bsd/netbsdlike/openbsd/x86_64.rs:8:1
|
8 | / s! {
9 | | #[repr(packed)]
10 | | pub struct fxsave64 {
11 | | pub fx_fcw: u16,
... |
56 | | }
57 | | }
| |_- in this macro invocation
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #46043 <https://github.com/rust-lang/rust/issues/46043>
= note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: aborting due to 3 previous errors
error: could not compile `libc`
To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: build failed
|
|
it is fine now, LGTM. thanks ! |
|
@bors r+ |
|
📌 Commit 9ebc4f6 has been approved by |
openbsd update map sigcontext for amd64
|
💔 Test failed - checks-actions |
|
@bors retry |
openbsd update map sigcontext for amd64
|
💔 Test failed - checks-actions |
|
@bors r+ |
|
📌 Commit 8b59b86 has been approved by |
openbsd update map sigcontext for amd64
|
💔 Test failed - checks-actions |
|
Friendly-ping @devnexen this one still fails. Feel free to reach out if you need help. |
|
I still do not know how to solve nightly vs older release cases. facts that are fields are unaligned make things complicated. If there is plan for release this PR is still not a blocker. |
|
@bors r+ |
|
📌 Commit e146747 has been approved by |
openbsd update map sigcontext for amd64
|
💔 Test failed - checks-actions |
|
|
||
| s_no_extra_traits! { | ||
| #[repr(C, packed)] | ||
| pub struct __c_anonymous_fxsave64 { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the struct isn't anonymous, it is called struct fxsave64 in OpenBSD code source.
if you need to not not test it because it is failing, please just explicitly not test it (and comment why in test_openbsd())
|
I have this kind of error with 1.54.0 on OpenBSD (for : |
|
I still have the same errors, and some additionnals warnings: full error messages (on OpenBSD with 1.54.0): |
|
are you working with a snapshot ? with 6.9 it s only rust 1.51 |
|
@devnexen yes, I am working on OpenBSD -current version (so 7.0-beta currently). if you agree, I could take the work and look to provide |
|
sure why not |
openbsd: export `struct sigcontext` for x86_64 based on initial work from `@devnexen` (see #2189) tested on OpenBSD (7.0-beta) with rustc 1.54.0
openbsd: export `struct sigcontext` for x86_64 based on initial work from `@devnexen` (see #2189) tested on OpenBSD (7.0-beta) with rustc 1.54.0
No description provided.