Fix posix_fadvise on powerpc32
Ulrich Drepper
drepper@redhat.com
Mon Aug 25 18:40:00 GMT 2003
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Andreas Jaeger wrote:
> ============================================================
> Index: sysdeps/unix/sysv/linux/posix_fadvise64.c
> --- sysdeps/unix/sysv/linux/posix_fadvise64.c 17 Aug 2003 00:36:42 -0000 1.1
> +++ sysdeps/unix/sysv/linux/posix_fadvise64.c 25 Aug 2003 08:19:40 -0000
> @@ -33,8 +33,8 @@ __posix_fadvise64_l64 (int fd, off64_t o
> #ifdef __NR_fadvise64_64
> INTERNAL_SYSCALL_DECL (err);
> int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd,
> - __LONG_LONG_PAIR (offset >> 32, offset),
> - __LONG_LONG_PAIR (len >> 32, len),
> + __LONG_LONG_PAIR ((long)offset >> 32, (long)offset),
> + __LONG_LONG_PAIR ((long)len >> 32, (long)len),
> advise);
> if (!INTERNAL_SYSCALL_ERROR_P (ret, err))
> return 0;
> @@ -50,7 +50,7 @@ __posix_fadvise64_l64 (int fd, off64_t o
>
> INTERNAL_SYSCALL_DECL (err2);
> int ret2 = INTERNAL_SYSCALL (fadvise64, err2, 5, fd,
> - __LONG_LONG_PAIR (offset >> 32, offset),
> + __LONG_LONG_PAIR ((long)offset >> 32, (long)offset),
This code isn't correct either. The cast has a higher precedence than
the shift. You'll always get zeor as the result.
- --
- --------------. ,-. 444 Castro Street
Ulrich Drepper \ ,-----------------' \ Mountain View, CA 94041 USA
Red Hat `--' drepper at redhat.com `---------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQE/SlgX2ijCOnn/RHQRAtLnAKCXRWiLFch5VJEa42XNHbAz6Z8HdwCgpa/R
BDb3EpjkGLRLnbjHIPY4FBI=
=WxFz
-----END PGP SIGNATURE-----
More information about the Libc-hacker
mailing list