From 6abe0b52182afc56ac9cb8f09055f80eb4db2bb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Linus=20F=C3=A4rnstrand?= <faern@faern.net> Date: Tue, 17 Jul 2018 20:12:59 +0200 Subject: [PATCH] Add align feature and use on in6_addr --- Cargo.toml | 1 + src/fuchsia/mod.rs | 2 ++ src/redox/net.rs | 2 ++ src/unix/mod.rs | 2 ++ src/unix/uclibc/x86_64/mod.rs | 1 + 5 files changed, 8 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index 662d0ad6..c1ff5da2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,6 +20,7 @@ appveyor = { repository = "rust-lang/libc", project_name = "rust-lang-libs/libc" [features] default = ["use_std"] use_std = [] +align = [] [workspace] members = ["libc-test"] diff --git a/src/fuchsia/mod.rs b/src/fuchsia/mod.rs index 0aac9853..267b98ad 100644 --- a/src/fuchsia/mod.rs +++ b/src/fuchsia/mod.rs @@ -166,8 +166,10 @@ s! { pub s_addr: in_addr_t, } + #[cfg_attr(feature = "align", repr(align(4)))] pub struct in6_addr { pub s6_addr: [u8; 16], + #[cfg(not(feature = "align"))] __align: [u32; 0], } diff --git a/src/redox/net.rs b/src/redox/net.rs index a545ba47..fcbb181c 100644 --- a/src/redox/net.rs +++ b/src/redox/net.rs @@ -9,8 +9,10 @@ s! { pub s_addr: in_addr_t, } + #[cfg_attr(feature = "align", repr(align(4)))] pub struct in6_addr { pub s6_addr: [u8; 16], + #[cfg(not(feature = "align"))] __align: [u32; 0], } diff --git a/src/unix/mod.rs b/src/unix/mod.rs index 89cc1e33..d0e054cc 100644 --- a/src/unix/mod.rs +++ b/src/unix/mod.rs @@ -104,8 +104,10 @@ s! { pub s_addr: in_addr_t, } + #[cfg_attr(feature = "align", repr(align(4)))] pub struct in6_addr { pub s6_addr: [u8; 16], + #[cfg(not(feature = "align"))] __align: [u32; 0], } diff --git a/src/unix/uclibc/x86_64/mod.rs b/src/unix/uclibc/x86_64/mod.rs index bfd46447..a8d58543 100644 --- a/src/unix/uclibc/x86_64/mod.rs +++ b/src/unix/uclibc/x86_64/mod.rs @@ -133,6 +133,7 @@ s! { // // pub struct in6_addr { // pub s6_addr: [u8; 16], +// #[cfg(not(feature = "align"))] // __align: [u32; 0], // } -- GitLab