@@ -143,6 +143,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
143143 this. write_scalar ( result, dest) ?;
144144 }
145145 "getcwd" => {
146+ // FIXME: This does not have a direct test (#3179).
146147 let [ buf, size] = this. check_shim_sig (
147148 shim_sig ! ( extern "C" fn ( * mut _, usize ) -> * mut _) ,
148149 link_name,
@@ -153,6 +154,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
153154 this. write_pointer ( result, dest) ?;
154155 }
155156 "chdir" => {
157+ // FIXME: This does not have a direct test (#3179).
156158 let [ path] = this. check_shim_sig (
157159 shim_sig ! ( extern "C" fn ( * const _) -> i32 ) ,
158160 link_name,
@@ -209,6 +211,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
209211 this. write ( fd, buf, count, None , dest) ?;
210212 }
211213 "pread" => {
214+ // FIXME: This does not have a direct test (#3179).
212215 let [ fd, buf, count, offset] = this. check_shim_sig (
213216 shim_sig ! ( extern "C" fn ( i32 , * mut _, usize , libc:: off_t) -> isize ) ,
214217 link_name,
@@ -222,6 +225,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
222225 this. read ( fd, buf, count, Some ( offset) , dest) ?;
223226 }
224227 "pwrite" => {
228+ // FIXME: This does not have a direct test (#3179).
225229 let [ fd, buf, n, offset] = this. check_shim_sig (
226230 shim_sig ! ( extern "C" fn ( i32 , * const _, usize , libc:: off_t) -> isize ) ,
227231 link_name,
@@ -299,6 +303,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
299303 this. write_scalar ( result, dest) ?;
300304 }
301305 "unlink" => {
306+ // FIXME: This does not have a direct test (#3179).
302307 let [ path] = this. check_shim_sig (
303308 shim_sig ! ( extern "C" fn ( * const _) -> i32 ) ,
304309 link_name,
@@ -309,6 +314,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
309314 this. write_scalar ( result, dest) ?;
310315 }
311316 "symlink" => {
317+ // FIXME: This does not have a direct test (#3179).
312318 let [ target, linkpath] = this. check_shim_sig (
313319 shim_sig ! ( extern "C" fn ( * const _, * const _) -> i32 ) ,
314320 link_name,
@@ -324,6 +330,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
324330 this. write_scalar ( result, dest) ?;
325331 }
326332 "rename" => {
333+ // FIXME: This does not have a direct test (#3179).
327334 let [ oldpath, newpath] = this. check_shim_sig (
328335 shim_sig ! ( extern "C" fn ( * const _, * const _) -> i32 ) ,
329336 link_name,
@@ -334,6 +341,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
334341 this. write_scalar ( result, dest) ?;
335342 }
336343 "mkdir" => {
344+ // FIXME: This does not have a direct test (#3179).
337345 let [ path, mode] = this. check_shim_sig (
338346 shim_sig ! ( extern "C" fn ( * const _, libc:: mode_t) -> i32 ) ,
339347 link_name,
@@ -344,6 +352,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
344352 this. write_scalar ( result, dest) ?;
345353 }
346354 "rmdir" => {
355+ // FIXME: This does not have a direct test (#3179).
347356 let [ path] = this. check_shim_sig (
348357 shim_sig ! ( extern "C" fn ( * const _) -> i32 ) ,
349358 link_name,
@@ -354,6 +363,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
354363 this. write_scalar ( result, dest) ?;
355364 }
356365 "opendir" => {
366+ // FIXME: This does not have a direct test (#3179).
357367 let [ name] = this. check_shim_sig (
358368 shim_sig ! ( extern "C" fn ( * const _) -> * mut _) ,
359369 link_name,
@@ -364,6 +374,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
364374 this. write_scalar ( result, dest) ?;
365375 }
366376 "closedir" => {
377+ // FIXME: This does not have a direct test (#3179).
367378 let [ dirp] = this. check_shim_sig (
368379 shim_sig ! ( extern "C" fn ( * mut _) -> i32 ) ,
369380 link_name,
@@ -374,6 +385,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
374385 this. write_scalar ( result, dest) ?;
375386 }
376387 "lseek" => {
388+ // FIXME: This does not have a direct test (#3179).
377389 let [ fd, offset, whence] = this. check_shim_sig (
378390 shim_sig ! ( extern "C" fn ( i32 , libc:: off_t, i32 ) -> libc:: off_t) ,
379391 link_name,
@@ -398,6 +410,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
398410 this. write_scalar ( result, dest) ?;
399411 }
400412 "fsync" => {
413+ // FIXME: This does not have a direct test (#3179).
401414 let [ fd] = this. check_shim_sig (
402415 shim_sig ! ( extern "C" fn ( i32 ) -> i32 ) ,
403416 link_name,
@@ -408,6 +421,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
408421 this. write_scalar ( result, dest) ?;
409422 }
410423 "fdatasync" => {
424+ // FIXME: This does not have a direct test (#3179).
411425 let [ fd] = this. check_shim_sig (
412426 shim_sig ! ( extern "C" fn ( i32 ) -> i32 ) ,
413427 link_name,
@@ -659,20 +673,23 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
659673 this. write_null ( dest) ?;
660674 }
661675 "pthread_key_delete" => {
676+ // FIXME: This does not have a direct test (#3179).
662677 let [ key] = this. check_shim_sig_lenient ( abi, CanonAbi :: C , link_name, args) ?;
663678 let key = this. read_scalar ( key) ?. to_bits ( key. layout . size ) ?;
664679 this. machine . tls . delete_tls_key ( key) ?;
665680 // Return success (0)
666681 this. write_null ( dest) ?;
667682 }
668683 "pthread_getspecific" => {
684+ // FIXME: This does not have a direct test (#3179).
669685 let [ key] = this. check_shim_sig_lenient ( abi, CanonAbi :: C , link_name, args) ?;
670686 let key = this. read_scalar ( key) ?. to_bits ( key. layout . size ) ?;
671687 let active_thread = this. active_thread ( ) ;
672688 let ptr = this. machine . tls . load_tls ( key, active_thread, this) ?;
673689 this. write_scalar ( ptr, dest) ?;
674690 }
675691 "pthread_setspecific" => {
692+ // FIXME: This does not have a direct test (#3179).
676693 let [ key, new_ptr] =
677694 this. check_shim_sig_lenient ( abi, CanonAbi :: C , link_name, args) ?;
678695 let key = this. read_scalar ( key) ?. to_bits ( key. layout . size ) ?;
@@ -833,6 +850,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
833850 this. write_scalar ( res, dest) ?;
834851 }
835852 "sched_yield" => {
853+ // FIXME: This does not have a direct test (#3179).
836854 let [ ] = this. check_shim_sig_lenient ( abi, CanonAbi :: C , link_name, args) ?;
837855 this. sched_yield ( ) ?;
838856 this. write_null ( dest) ?;
@@ -941,6 +959,7 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
941959 this. write_scalar ( result, dest) ?;
942960 }
943961 "pthread_atfork" => {
962+ // FIXME: This does not have a direct test (#3179).
944963 let [ prepare, parent, child] =
945964 this. check_shim_sig_lenient ( abi, CanonAbi :: C , link_name, args) ?;
946965 this. read_pointer ( prepare) ?;
0 commit comments