[parisc-linux] rpc.lockd hangs (was Re: portmap deb)

Ulrich Drepper drepper@redhat.com
10 Apr 2001 09:58:57 -0700


Richard Hirst <rhirst@linuxcare.com> writes:

> No, doesn't work, because INLINE_SYSCALL() does
> 
>                 asm volatile(                                   \
>                         "ble  0x100(%%sr2, %%r0)\n\t"   \
>                         " ldi %1, %%r20"                        \
>                         : "=r" (__res)                          \
>                         : "i" (SYS_ify(name)) ASM_ARGS_##nr     \
>                          );                                     \
> 
> while INLINE_SYSCALL_NR needs
> 
>                 asm volatile(                                   \
>                         "ble  0x100(%%sr2, %%r0)\n\t"   \
>                         " copy %1, %%r20"                       \
>                         : "=r" (__res)                          \
>                         : "r" (sysnum) ASM_ARGS_##nr            \
>                          );                                     \

Why should you need two macros?  The second one is not used on any
other architecture and therefore no non-machine specific code uses it.
Get rid of it.  If you only use it to implement syscall() do it right
and don't hide it in a macro.  Even though we have many macros this
does not mean this is the way code should always be written.

-- 
---------------.                          ,-.   1325 Chesapeake Terrace
Ulrich Drepper  \    ,-------------------'   \  Sunnyvale, CA 94089 USA
Red Hat          `--' drepper at redhat.com   `------------------------