This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: p{read,write}{,64} mips n64 changes
Alexandre Oliva <aoliva at redhat dot com> writes:
> On Mar 15, 2003, Andreas Jaeger <aj at suse dot de> wrote:
>
>> 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?
>
> I suppose I could just redefine __LONG_LONG_PAIR such that it returned
> its second argument in the n64 case, in these 4 files. How does this
> sound? We'd still need the special case in the prototype. Do you see
> any way to clean this up further?
>
> Would you prefer a different macro, or is redefining __LONG_LONG_PAIR
> ok?
I prefer a different macro since __LONG_LONG_PAIR is used also outside
of the MIPS port.
Andreas
--
Andreas Jaeger
SuSE Labs aj at suse dot de
private aj at arthur dot inka dot de
http://www.suse.de/~aj