This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
You forget that there is a ton of code in the world that does:
void foo() { asm ( " rep; movsb", ...) }
Knowing that the direction flag is clear on entry to the function.
You propose auditing all the *existing* inline asm code active in the
world? I thought the issue here was that *user* space can't trust
that the direction flag is clear because of the kernel bug: if so,
this isn't just about inline asm in the kernel.
Such code was broken in the past anyway, no need to try to fix that now.
How so?
Because it relies on the direction flag clear which is neither guaranteed
by the ABI, nor was ensured by GCC in previous releases.
The flags register contains the system ïags, such as the direction flag and the carry flag. The direction flag must be set to the ââforwardââ (that is, zero) direction before entry and upon exit from a function. Other user flags have no specified role in the standard calling sequence and are not preserved. "
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |