Skip to content

Android: Add preadv and pwritev. #1832

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Oct 19, 2020
Merged

Android: Add preadv and pwritev. #1832

merged 1 commit into from
Oct 19, 2020

Conversation

qwandor-google
Copy link

From sys/uio.h. Note that preadv64/pwritev64 are already included in
src/unix/linux_like/mod.rs.

@JohnTitor
Copy link
Member

Hm, aarh64 test fails on CI.

@qwandor-google
Copy link
Author

Sorry, I was away for a bit and now can't see the CI results. How do I get it to re-run?

@JohnTitor JohnTitor closed this Aug 4, 2020
@JohnTitor JohnTitor reopened this Aug 4, 2020
@JohnTitor
Copy link
Member

Sorry, I was away for a bit and now can't see the CI results. How do I get it to re-run?

No worries! I also doesn't have the permission to re-run on Pipelines and usually close/re-open PRs to do it.

@qwandor-google
Copy link
Author

This looks like it might be #1765 again.

I do notice that the aarch64 Android build is using aarch64-linux-android21-clang, while the others use x86_64-linux-android28-clang and armv7a-linux-androideabi24-clang (note the different versions). The functions in question were introduced with API level 24, so this could be related. Where do these toolchains come from?

@qwandor-google
Copy link
Author

I might be wrong about that, digging some more. It looks like it comes from ci/android-install-ndk.sh calling build/tools/make_standalone_toolchain.py, but it always passes at least API 24, including on aarch64, so that shouldn't be the difference.

@qwandor-google qwandor-google marked this pull request as draft August 5, 2020 12:50
@qwandor-google qwandor-google marked this pull request as ready for review August 5, 2020 12:51
@JohnTitor
Copy link
Member

Hm, seems Pipelines couldn't find 07dbd45, it has just three checks on Cirrus CI.
image

@JohnTitor
Copy link
Member

This AArch64 issue is painful and I have no idea how to fix TBH, sorry. The only way we can do here is to skip the test for it. I could r=me if you drop 07dbd45 and skip the test.

@qwandor-google
Copy link
Author

Done, PTAL.

Comment on lines 2528 to 2543
pub fn process_vm_readv(
pid: ::pid_t,
local_iov: *const ::iovec,
local_iov_count: ::c_ulong,
remote_iov: *const ::iovec,
remote_iov_count: ::c_ulong,
flags: ::c_ulong,
) -> ::ssize_t;
pub fn process_vm_writev(
pid: ::pid_t,
local_iov: *const ::iovec,
local_iov_count: ::c_ulong,
remote_iov: *const ::iovec,
remote_iov_count: ::c_ulong,
flags: ::c_ulong,
) -> ::ssize_t;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops sorry, they're added by 582c5cf already.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess you mean #1878. Fixed.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, you're right :)

@JohnTitor JohnTitor self-assigned this Oct 16, 2020
@bors
Copy link
Contributor

bors commented Oct 16, 2020

☔ The latest upstream changes (presumably #1927) made this pull request unmergeable. Please resolve the merge conflicts.

Note that reviewers usually do not review pull requests until merge conflicts are resolved! Once you resolve the conflicts, you should change the labels applied by bors to indicate that your PR is ready for review. Post this as a comment to change the labels:

@rustbot modify labels: +S-waiting-on-review -S-waiting-on-author

From sys/uio.h. Note that preadv64/pwritev64 are already included in
src/unix/linux_like/mod.rs.
Also fix parameter names of process_vm_[readv,writev] to match Bionic
header.
@qwandor-google qwandor-google changed the title Android: Add preadv and friends. Android: Add preadv and pwritev. Oct 19, 2020
@qwandor-google
Copy link
Author

@rustbot modify labels: +S-waiting-on-review -S-waiting-on-author

Copy link
Member

@JohnTitor JohnTitor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! I'll r+ once CI is fixed.

@JohnTitor
Copy link
Member

@bors r+

@bors
Copy link
Contributor

bors commented Oct 19, 2020

📌 Commit d04bb8e has been approved by JohnTitor

bors added a commit that referenced this pull request Oct 19, 2020
Android: Add preadv and pwritev.

From sys/uio.h. Note that preadv64/pwritev64 are already included in
src/unix/linux_like/mod.rs.
@bors
Copy link
Contributor

bors commented Oct 19, 2020

⌛ Testing commit d04bb8e with merge 0748f2c...

@bors
Copy link
Contributor

bors commented Oct 19, 2020

💔 Test failed - checks-actions

@JohnTitor
Copy link
Member

@bors retry

warning: spurious network error (2 tries remaining): error inflating zlib stream; class=Zlib (5)
warning: spurious network error (1 tries remaining): error inflating zlib stream; class=Zlib (5)
error: failed to get `cc` as a dependency of package `libc-test v0.1.0 (D:\a\libc\libc\libc-test)`

@bors
Copy link
Contributor

bors commented Oct 19, 2020

⌛ Testing commit d04bb8e with merge 17b70c1...

@bors
Copy link
Contributor

bors commented Oct 19, 2020

☀️ Test successful - checks-actions, checks-cirrus-freebsd-11, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13
Approved by: JohnTitor
Pushing 17b70c1 to master...

@bors bors merged commit 17b70c1 into rust-lang:master Oct 19, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants