Linus Torvalds wrote:
>
> Hmm. If I read this correctly, I don't think this can be right.
>
> Why? You don't mark %edx as possibly corrupted by the asm any more.
>
> The "=dm" means that quite often (probably effectively always), gcc will
> allocate %edx to be the output register for %0, but at least in theory, it
> could easily decide that it's going to put %0 in memory, and in that case,
> it may well decide that %edx is not modified by the asm statement. Which
> may or may not be true - I'd bet that there are BIOSes out there that *do*
> modify it.
>
Yes indeed.
>
> IOW, I think you need to either (a) _force_ gcc to use %edx for the "err"
> return, avoiding this issue, or (b) mark edx clobbered (which in turn
> means that you need to remove it from the output constraint for "err"). I
> suspect (a) is simpler/more straightforward.
>
> I haven't pulled this, so maybe you can just amend the commit in-place,
> and we can avoid?
>
Will do.
-hpa
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]