Skip to content

Commit 292856a

Browse files
authored
Move todo function stub reorganization. (#116)
- Move `dl*` stubs into their own module. - Move more functions that can be wrappers around `rustix` to their section in todo.rs - Move `initgroups` to the NSS category. - Move `if_*` functions to the NSS categorry.
1 parent e9138e9 commit 292856a

File tree

3 files changed

+57
-62
lines changed

3 files changed

+57
-62
lines changed

c-scape/src/process_.rs

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -264,24 +264,6 @@ unsafe extern "C" fn dlsym(handle: *mut c_void, symbol: *const c_char) -> *mut c
264264
}
265265
}
266266

267-
#[no_mangle]
268-
unsafe extern "C" fn dlclose() {
269-
//libc!(libc::dlclose());
270-
unimplemented!("dlclose")
271-
}
272-
273-
#[no_mangle]
274-
unsafe extern "C" fn dlerror() {
275-
//libc!(libc::dlerror());
276-
unimplemented!("dlerror")
277-
}
278-
279-
#[no_mangle]
280-
unsafe extern "C" fn dlopen() {
281-
//libc!(libc::dlopen());
282-
unimplemented!("dlopen")
283-
}
284-
285267
#[no_mangle]
286268
unsafe extern "C" fn sched_yield() -> c_int {
287269
libc!(libc::sched_yield());

c-scape/src/todo.rs

Lines changed: 41 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
44
mod aio;
55
mod cat;
6+
mod dl;
67
mod fenv;
78
mod jmp;
89
mod locale;
@@ -52,6 +53,26 @@ unsafe extern "C" fn eaccess() {
5253
unsafe extern "C" fn timerfd_gettime() {
5354
todo!("timerfd_gettime")
5455
}
56+
#[no_mangle]
57+
unsafe extern "C" fn preadv2() {
58+
todo!("preadv2")
59+
}
60+
#[no_mangle]
61+
unsafe extern "C" fn pwritev2() {
62+
todo!("pwritev2")
63+
}
64+
#[no_mangle]
65+
unsafe extern "C" fn preadv64v2() {
66+
todo!("preadv64v2")
67+
}
68+
#[no_mangle]
69+
unsafe extern "C" fn pwritev64v2() {
70+
todo!("pwritev64v2")
71+
}
72+
#[no_mangle]
73+
unsafe extern "C" fn reboot() {
74+
todo!("reboot")
75+
}
5576

5677
// `_chk` versions of functions we have implemented, so we just need to add
5778
// wrappers with extra checks.
@@ -237,10 +258,6 @@ unsafe extern "C" fn gethostbyname() {
237258
todo!("gethostbyname")
238259
}
239260
#[no_mangle]
240-
unsafe extern "C" fn if_indextoname() {
241-
todo!("if_indextoname")
242-
}
243-
#[no_mangle]
244261
unsafe extern "C" fn getgrent_r() {
245262
todo!("getgrent_r")
246263
}
@@ -256,6 +273,26 @@ unsafe extern "C" fn getspent_r() {
256273
unsafe extern "C" fn gethostbyname_r() {
257274
todo!("gethostbyname_r")
258275
}
276+
#[no_mangle]
277+
unsafe extern "C" fn initgroups() {
278+
todo!("initgroups")
279+
}
280+
#[no_mangle]
281+
unsafe extern "C" fn if_indextoname() {
282+
todo!("if_indextoname")
283+
}
284+
#[no_mangle]
285+
unsafe extern "C" fn if_nametoindex() {
286+
todo!("if_nametoindex")
287+
}
288+
#[no_mangle]
289+
unsafe extern "C" fn if_nameindex() {
290+
todo!("if_nameindex")
291+
}
292+
#[no_mangle]
293+
unsafe extern "C" fn if_freenameindex() {
294+
todo!("if_freenameindex")
295+
}
259296

260297
// Additional functions.
261298

@@ -280,10 +317,6 @@ unsafe extern "C" fn setfsgid() {
280317
todo!("setfsgid")
281318
}
282319
#[no_mangle]
283-
unsafe extern "C" fn initgroups() {
284-
todo!("initgroups")
285-
}
286-
#[no_mangle]
287320
unsafe extern "C" fn strftime() {
288321
todo!("strftime")
289322
}
@@ -320,10 +353,6 @@ unsafe extern "C" fn getresuid() {
320353
todo!("getresuid")
321354
}
322355
#[no_mangle]
323-
unsafe extern "C" fn if_nametoindex() {
324-
todo!("if_nametoindex")
325-
}
326-
#[no_mangle]
327356
unsafe extern "C" fn ppoll() {
328357
todo!("ppoll")
329358
}
@@ -1069,22 +1098,6 @@ unsafe extern "C" fn wait4() {
10691098
todo!("wait4")
10701099
}
10711100
#[no_mangle]
1072-
unsafe extern "C" fn preadv2() {
1073-
todo!("preadv2")
1074-
}
1075-
#[no_mangle]
1076-
unsafe extern "C" fn pwritev2() {
1077-
todo!("pwritev2")
1078-
}
1079-
#[no_mangle]
1080-
unsafe extern "C" fn preadv64v2() {
1081-
todo!("preadv64v2")
1082-
}
1083-
#[no_mangle]
1084-
unsafe extern "C" fn pwritev64v2() {
1085-
todo!("pwritev64v2")
1086-
}
1087-
#[no_mangle]
10881101
unsafe extern "C" fn profil() {
10891102
todo!("profil")
10901103
}
@@ -1097,10 +1110,6 @@ unsafe extern "C" fn readahead() {
10971110
todo!("readahead")
10981111
}
10991112
#[no_mangle]
1100-
unsafe extern "C" fn reboot() {
1101-
todo!("reboot")
1102-
}
1103-
#[no_mangle]
11041113
unsafe extern "C" fn remap_file_pages() {
11051114
todo!("remap_file_pages")
11061115
}
@@ -1133,18 +1142,6 @@ unsafe extern "C" fn __open_2() {
11331142
todo!("__open_2")
11341143
}
11351144
#[no_mangle]
1136-
unsafe extern "C" fn if_nameindex() {
1137-
todo!("if_nameindex")
1138-
}
1139-
#[no_mangle]
1140-
unsafe extern "C" fn if_freenameindex() {
1141-
todo!("if_freenameindex")
1142-
}
1143-
#[no_mangle]
1144-
unsafe extern "C" fn dladdr() {
1145-
todo!("dladdr")
1146-
}
1147-
#[no_mangle]
11481145
unsafe extern "C" fn wordexp() {
11491146
todo!("wordexp")
11501147
}

c-scape/src/todo/dl.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#[no_mangle]
2+
unsafe extern "C" fn dladdr() {
3+
todo!("dladdr")
4+
}
5+
#[no_mangle]
6+
unsafe extern "C" fn dlclose() {
7+
todo!("dlclose")
8+
}
9+
#[no_mangle]
10+
unsafe extern "C" fn dlerror() {
11+
todo!("dlerror")
12+
}
13+
#[no_mangle]
14+
unsafe extern "C" fn dlopen() {
15+
todo!("dlopen")
16+
}

0 commit comments

Comments
 (0)