What does %P1 mean in gcc inline assembly?

Adam Lee adam8157 at gmail.com
Sun Mar 6 21:51:58 EST 2016


On Sat, Mar 05, 2016 at 11:37:21AM +0800, 张云 wrote:
> 
>     On Mar 4, 2016, at 11:59 PM, Dave Tian <dave.jing.tian at gmail.com> wrote:
> 
>     This ‘P’ is used to make gcc happy and work.
>     Without ‘P’, this inline would be interpreted as:
>     leal $-512(%esp), %eax
>     With ‘P’, this inline is the thing we really want:
>     leal -512(%esp), %eax
> 
>     Eventually, my gcc 4.9.2 does not compile with ‘P’ is missing. I am not
>     sure if this is still the case for newer gcc (5/6). But you get the point.
> 
>     -daveti
> 
> Thank you for your detailed answer !
> 
> By the way, If someone have the problems alike, I suggest them to write some
> inline assembly and check the compiler’s assembly output.

Didn't get different outputs here, do you have updates?

-- 
Adam Lee
http://adam8157.info



More information about the Kernelnewbies mailing list