[parisc-linux] Does it lakes some cloberred r1 in __put_kernel_asm() 64bit?

Joel Soete soete.joel at tiscali.be
Sun Apr 16 14:14:35 MDT 2006


Hello all,


I tried to apply my 'beautify' asm template to some uaccess.h and figure out that
this hunk din't mentioned that "r1" was cloberred (iirc in fixup text) while
the 32bit one did:

#ifdef __LP64__
#define __put_kernel_asm(stx,x,ptr)                         \
         __asm__ __volatile__ (                              \
                 "\n1:\t" stx "\t%2,0(%1)\n"                 \
                 "\t.section __ex_table,\"aw\"\n"            \
                 "\t.dword\t1b,fixup_put_user_skip_1\n"      \
                 "\t.previous"                               \
                 : "=r"(__pu_err)                            \
                 : "r"(ptr), "r"(x), "0"(__pu_err))
[snip]
#else
#define __put_kernel_asm(stx,x,ptr)                         \
         __asm__ __volatile__ (                              \
                "\n1:\t" stx "\t%2,0(%1)\n"                 \
                "\t.section __ex_table,\"aw\"\n"            \
                 "\t.word\t1b,fixup_put_user_skip_1\n"      \
                 "\t.previous"                              \
                : "=r"(__pu_err)                            \
                : "r"(ptr), "r"(x), "0"(__pu_err)           \
                : "r1")
[snip]

mmm, doesn't seems to change anything (I just check sys_parisc32.s) but may be elsewhere?

Thanks,
	Joel




More information about the parisc-linux mailing list