Messages in this thread | | | Date | Sat, 17 Dec 2011 12:08:36 -0500 | Subject | Re: Question about missing "cld" in x86 string assembly code | From | Brian Gerst <> |
| |
On Sat, Dec 17, 2011 at 9:58 AM, Nai Xia <nai.xia@gmail.com> wrote: > Hi Andi, > > Seems I used a stale email address of you from a related git commit log, > so this is a resend, sorry. > > ======= > Hi, > > I notice that all x86 assembly code for string operations containing > "scasb, lodsb", etc does not have "cld" at the beginning. > Is this 100% safe? > Or in other words, how could we be sure that > there is no "std" generated by compiler somewhere just before > the string operations? > > > Thanks, > > Nai > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/
The i386 ELF ABI states "The direction flag must be set to the ‘‘forward’’ (that is, zero) direction before entry and upon exit from a function." Therefore it can be assumed to be clear, unless explicitly set.
-- Brian Gerst -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |