* Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> [2011-03-19 00:19:22]: > * Roland McGrath <roland@xxxxxxxxxxxxx> [2011-03-18 11:36:29]: > > > > handle_riprel_insn() returns 0 if the instruction is not rip-relative > > > returns 1 if its rip-relative but can use XOL slots. > > > returns -1 if its rip-relative but cannot use XOL. > > > > > > We dont see any instructions that are rip-relative and cannot use XOL. > > > so the check and return are redundant and I will remove that in the next > > > patch. > > > > How is that? You can only adjust a rip-relative instruction correctly if > > the instruction copy is within 2GB of the original target address, which > > cannot be presumed to always be the case in user address space layout > > (unlike the kernel). > > > > So we rewrite the copy of instruction (stored in XOL) such that it > accesses its memory operand indirectly thro a scratch register. > The contents of the scratch register are stored before singlestep and > restored later. > > Can you please tell us if this doesnt work? > Infact we have tested using rip-relative addresses and it has worked very well. So we have verified that it does work. Can you please tell us why you dont think this works? -- Thanks and Regards Srikar -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>