Le 06/04/2018 à 03:36, Max Filippov a écrit : > preadv/pwritev accept low and high parts of file offset in two separate > parameters. When host bitness doesn't match guest bitness these parts > must be appropriately recombined. > Introduce target_to_host_low_high that does this recombination and use > it in preadv/pwritev syscalls. > > This fixes glibc testsuite test misc/tst-preadvwritev64. > > Signed-off-by: Max Filippov <jcmvb...@gmail.com> > --- > Changes v3->v4: > - recombine offset into unsigned long long and split it into two longs. > > Changes v2->v3: > - rename helper to target_to_host_low_high; > - handle cases TARGET_LONG_BITS * 2 > HOST_LONG_BITS and > TARGET_LONG_BITS < 2 * HOST_LONG_BITS correctly. > > Changes v1->v2: > - fix host high computation in TARGET_LONG_BITS > HOST_LONG_BITS case > > linux-user/syscall.c | 24 ++++++++++++++++++++++-- > 1 file changed, 22 insertions(+), 2 deletions(-) >
Reviewed-by: Laurent Vivier <laur...@vivier.eu>