On Sun, 19 Mar 2017 13:04:50 +1100 (EST) Bruce Evans <b...@optusnet.com.au> 
wrote:
> On Sun, 19 Mar 2017, Ed Maste wrote:
>> Log:
>>  use INT3 instead of NOP for x86 binary padding
>>
>>  We should never end up executing the inter-function padding, so we
>>  are better off faulting than silently carrying on to whatever function
>>  happens to be next.
>>
>>  Note that LLD will soon do this by default (although it currently pads
>>  with zeros).
>>
>>  Reviewed by:        dim, kib
>>  MFC after:  1 month
>>  Sponsored by:       The FreeBSD Foundation
>>  Differential Revision:      https://reviews.freebsd.org/D10047  
> 
> Is this a pessimization?  Instruction prefetch near the end of almost
> every function now fetches INT3 instead of NOP.  Both have to be
> decoded to decoded whether to speculatively execute them.  INT3 is
> unlikely to be speculatively executed, but it takes extra work to
> decide not to do so.

I seem to vaguely remember that ud2 should be used to stop speculative
execution (and the instruction fetching and possible cache invalidation
because of it).
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to