IMO, binutils members can answer this better.
copying binutils list....
On Sat, May 23, 2009 at 12:06 AM, seshikanth varma
<[email protected]> wrote:
> Hi
> I googled out but i could not find these things:
>> .section .fixup
>> .previous
>> .align 4
> Can u please help me in finding the meaning of these things? Any document
> which gives elaborate explanation would be really helpful for me for
> future reference, I have seen some more things in linux source code like
> __extable ....
>
>
>
> On Sun, May 17, 2009 at 4:16 PM, SandeepKsinha <[email protected]>
> wrote:
>>
>> On Sun, May 17, 2009 at 3:18 PM, seshikanth varma
>> <[email protected]> wrote:
>> > Hi All,
>> > I am trying to understand the implementation of copy_from_user() and
>> > copy_to_user() implementation in linux. I know the basics of asm format.
>> > But
>> > i don't know what is
>> > .section .fixup
>> > .previous
>> > .align 4
>> > Can u please point me to a detailed documentation of asm details
>> > involving
>> > the above?
>>
>> Google for "inline assembly" and "assembly in C".
>>
>> > Thanks,
>> > Seshikanth
>> >
>> > 320 * Tell gcc we read from memory instead of writing: this is because
>> > 321 * we do not write to any memory gcc knows about, so there are no
>> > 322 * aliasing issues.
>> > 323 */
>> > 324#define __put_user_asm(x, addr, err, itype, rtype, ltype, errret)
>> > \
>> > 325 __asm__ __volatile__(
>> > \
>> > 326 "1: mov"itype" %"rtype"1,%2\n"
>> > \
>> > 327 "2:\n"
>> > \
>> > 328 ".section .fixup,\"ax\"\n"
>> > \
>> > 329 "3: movl %3,%0\n"
>> > \
>> > 330 " jmp 2b\n"
>> > \
>> > 331 ".previous\n"
>> > \
>> > 332 ".section __ex_table,\"a\"\n"
>> > \
>> > 333 " .align 4\n"
>> > \
>> > 334 " .long 1b,3b\n"
>> > \
>> > 335 ".previous"
>> > \
>> > 336 : "=r"(err)
>> > \
>> > 337 : ltype (x), "m"(__m(addr)), "i"(errret), "0"(err))
>> > 338
>> > 339
>> >
>> > --
>> > Regards,
>> > Seshikanth
>> >
>>
>>
>>
>> --
>> Regards,
>> Sandeep.
>>
>>
>>
>>
>>
>>
>> “To learn is to change. Education is a process that changes the learner.”
>
>
>
> --
> Regards,
> Seshikanth
>
--
Regards,
Sandeep.
“To learn is to change. Education is a process that changes the learner.”
--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to [email protected]
Please read the FAQ at http://kernelnewbies.org/FAQ