Seems like this will be useful as an integration test to make sure e.g. our
CacheSideChannel flush+reload code is working. Next tests to add will be
others that work across most/all platforms.
For now, I added a very quick and dirty test runner that just probes for
all the places the built Spectre V1 demo could be.
I had to add 32-bit runtime files for the Linux x86_64 worker. It's obvious
in hindsight why they're necessary, but the error message you get when
they're not present is just "file not found" which is a bit obscure. Turns
out the binary's header points to an ELF interpreter (/lib/ld-linux.so.2)
that doesn't exist until libc6:i386 is installed.
Once that's in place, the binary can actually try to load and get far enough
to complain about the missing libstdc++.
Seems like this will be useful as an integration test to make sure e.g. our CacheSideChannel flush+reload code is working. Next tests to add will be others that work across most/all platforms.
For now, I added a very quick and dirty test runner that just probes for all the places the built Spectre V1 demo could be.
I had to add 32-bit runtime files for the Linux x86_64 worker. It's obvious in hindsight why they're necessary, but the error message you get when they're not present is just "file not found" which is a bit obscure. Turns out the binary's header points to an ELF interpreter (
/lib/ld-linux.so.2
) that doesn't exist untillibc6:i386
is installed.Once that's in place, the binary can actually try to load and get far enough to complain about the missing
libstdc++
.