libc: The signature of "execv" | "execve" | "execvp" | "fexecve" is incorrect

The type of argv is *const *const c_char but should be *const *mut c_char. With the current incorrect signatures, libc-test fails for these APIs, but this does not surface because these tests are skipped. With the fixed signatures, all tests pass.

AFAICT, this affects all unix targets.

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 15 (14 by maintainers)

Commits related to this issue

Most upvoted comments

I suppose it wouldn’t hurt if libc were breaking many more things at the same time. But it would have to be a major version bump.

I tend to think that you should stick with the current wrong, but really right, rust definition. That will certainly cause less pain for Rust users, at least.