[parisc-linux] Need help to improve uaccess.h patch
John David Anglin
dave@hiauly1.hia.nrc.ca
Sat, 5 Oct 2002 18:10:12 -0400 (EDT)
> >>+ "\t.section __ex_table,\"a\"\n" \
> >>+ "\t.word\t1b\n" \
> >>+ "\t.word\t(3b-1b)+1\n" \
> >>+ "\t.word\t2b\n" \
> >>+ "\t.word\t(3b-2b)+1\n" \
> >
> >
> > what's with the +1?
>
> That is my main doubt :(
> In this uaccess.h, I read (but i am not quit sure to have understand all
> fine aspect) that we have to 'jump' after the erronious code (for me
> 3b-[12]b + 1 ? am i wrong? ). And understand +3 in get_user_asm because
> we would have to jump after the cast "(x) = (__typeof__(*(ptr)))
> __gu_val;". Is it wrong?
I may be wrong but I think the code is trying to build a PLABEL. In
which case, the value should be 2 or 3. The least significant bit is
not used. See the runtime architecture manual for more info on PLABELs.
Dave
--
J. David Anglin dave.anglin@nrc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6605)