On 2/10/20 11:20 AM, Adhemerval Zanella wrote: > It changes the nios INTERNAL_SYSCALL_RAW macro to return a negative > value instead of 'r2' register value on 'err' macro argument. > > The macro INTERNAL_SYSCALL_DECL is no longer required, and the > INTERNAL_SYSCALL_ERROR_P follows the other Linux kABIS. > > Checked with a build against nios2-linux-gnu. > --- > sysdeps/unix/sysv/linux/nios2/sysdep.h | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/sysdeps/unix/sysv/linux/nios2/sysdep.h b/sysdeps/unix/sysv/linux/nios2/sysdep.h > index b02730bd23..eab888df32 100644 > --- a/sysdeps/unix/sysv/linux/nios2/sysdep.h > +++ b/sysdeps/unix/sysv/linux/nios2/sysdep.h > @@ -157,13 +157,14 @@ > (int) result_var; }) > > #undef INTERNAL_SYSCALL_DECL > -#define INTERNAL_SYSCALL_DECL(err) unsigned int err __attribute__((unused)) > +#define INTERNAL_SYSCALL_DECL(err) do { } while (0) > > #undef INTERNAL_SYSCALL_ERROR_P > -#define INTERNAL_SYSCALL_ERROR_P(val, err) ((void) (val), (unsigned int) (err)) > +#define INTERNAL_SYSCALL_ERROR_P(val, err) \ > + ((unsigned long) (val) >= (unsigned long) -4095) > > #undef INTERNAL_SYSCALL_ERRNO > -#define INTERNAL_SYSCALL_ERRNO(val, err) ((void) (err), val) > +#define INTERNAL_SYSCALL_ERRNO(val, err) (-(val)) > > #undef INTERNAL_SYSCALL_RAW > #define INTERNAL_SYSCALL_RAW(name, err, nr, args...) \ > @@ -180,8 +181,7 @@ > : "+r" (_r2), "=r" (_err) \ > : ASM_ARGS_##nr \ > : __SYSCALL_CLOBBERS); \ > - _sys_result = _r2; \ > - err = _err; \ > + _sys_result = _err != 0 ? -_r2 : -_r2; \ Is there a typo here ? both cases seem to be -ve > } \ > (int) _sys_result; }) > > _______________________________________________ linux-snps-arc mailing list linux-snps-arc@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/linux-snps-arc