(The melody is Leapy Lee's "Little Arrows")
https://www.youtube.com/watch?v=cRCvTe-BsNc
,----
| There's a chip, an Intel chip
| Predicting branches in the CPU
| And it's aiming them at some place
| But the question is at where
| Is it here or is it there
| It's hard to tell until they're hit
| But you'll now it when they miss
| 'Cos they stall a little bit
|
| Here they come pouring out of GCC
| Retpolines for the kernel and for that JIT
| You've got to recompile it again
| Recompile it again
| Retpolines in your programs
| Retpolines in your tests
| After you run make you'll find
| Those retpolines everywhere
| Retpolines that will call and return once
| And call and return once again
| Retpolines that confuse that proof of concept
| Every now and then
|
| WOOOOOOOooooooohhhhhh the cache
|
| Some folks sell stock and others patch
| But there ain't nothing they can do
| And some folks put on lfences
| But the spectres go straight through
| So you see there's no escape
| So why not face it and admit
| That you love those retpolines
| When they slow you a little bit
|
| Here they come pouring out of GCC
| Retpolines for the kernel and for that JIT
| You've got to recompile it again
| Recompile it again
| Retpolines in your programs
| Retpolines in your tests
| After you run make you'll find
| Those retpolines everywhere
| Retpolines that will call and return once
| And call and return once again
| Retpolines that confuse that proof of concept
| Every now and then
|
| Retpolines in your programs
| Retpolines in your tests
| After you run make you'll find
| Those retpolines everywhere
| Retpolines that will call and return once
| And call and return once again
| Retpolines that confuse that proof of concept
| Every now and then
|
| Retpolines in your programs
| Retpolines in your tests
| After you run make you'll find
| Those retpolines everywhere
| Retpolines that will call and return once
| And call and return once again
| Retpolines that confuse that proof of concept
| Every now and then
`----