IMO, binutils members can answer this better. copying binutils list.... On Sat, May 23, 2009 at 12:06 AM, seshikanth varma <seshikanthvarma@xxxxxxxxx> 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 <sandeepksinha@xxxxxxxxx> > wrote: >> >> On Sun, May 17, 2009 at 3:18 PM, seshikanth varma >> <seshikanthvarma@xxxxxxxxx> 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 ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ