This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: p{read,write}{,64} mips n64 changes


Alexandre Oliva <aoliva at redhat dot com> writes:

> @@ -59,8 +65,13 @@ __libc_pread (fd, buf, count, offset)
>      {
>       /* First try the syscall.  */
>       assert (sizeof (offset) == 4);
> +#if defined _ABI64 && _MIPS_SIM == _ABI64
> +     result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count, 0,
> +			      offset);
> +#else
>       result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count, 0,
>  			      __LONG_LONG_PAIR (offset >> 31, offset));

Can't we use a macro here that does the right thing?

E.g. __LONG_LONG_ARGUMENT (offset) which extends on n64 to just offset
and on other ABIs to __LONG_LONG_PAIR ?

Andreas
-- 
 Andreas Jaeger
  SuSE Labs aj at suse dot de
   private aj at arthur dot inka dot de
    http://www.suse.de/~aj


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]