File tree 1 file changed +3
-10
lines changed 1 file changed +3
-10
lines changed Original file line number Diff line number Diff line change @@ -11,8 +11,6 @@ mod t {
11
11
12
12
extern "C" {
13
13
pub fn cmsg_firsthdr ( msgh : * const msghdr ) -> * mut cmsghdr ;
14
- // see below
15
- #[ cfg( not( target_arch = "sparc64" ) ) ]
16
14
pub fn cmsg_nxthdr ( mhdr : * const msghdr , cmsg : * const cmsghdr ) -> * mut cmsghdr ;
17
15
pub fn cmsg_space ( length : c_uint ) -> usize ;
18
16
pub fn cmsg_len ( length : c_uint ) -> usize ;
@@ -51,21 +49,16 @@ mod t {
51
49
}
52
50
}
53
51
54
- // Skip on sparc64
55
- // https://github.com/rust-lang/libc/issues/1239
56
- #[ cfg( not( target_arch = "sparc64" ) ) ]
57
52
#[ test]
58
- // FIXME: This triggers alignment checks for pointer dereferences:
59
- // https://github.com/rust-lang/libc/issues/3181
60
- #[ ignore]
61
53
fn test_cmsg_nxthdr ( ) {
62
54
use std:: ptr;
63
55
64
- let mut buffer = [ 0u8 ; 256 ] ;
56
+ const CAPACITY : usize = 64 + 196 / mem:: size_of :: < usize > ( ) ;
57
+ let mut buffer = [ 0_usize ; CAPACITY ] ;
65
58
let mut mhdr: msghdr = unsafe { mem:: zeroed ( ) } ;
66
59
let pmhdr = & mhdr as * const msghdr ;
67
60
for start_ofs in 0 ..64 {
68
- let pcmsghdr = & mut buffer[ start_ofs] as * mut u8 as * mut cmsghdr ;
61
+ let pcmsghdr = & mut buffer[ start_ofs] as * mut usize as * mut cmsghdr ;
69
62
mhdr. msg_control = pcmsghdr as * mut c_void ;
70
63
mhdr. msg_controllen = ( 160 - start_ofs) as _ ;
71
64
for cmsg_len in 0 ..64 {
You can’t perform that action at this time.
0 commit comments