Compare commits

..

3 Commits

Author SHA1 Message Date
Nolan Leake
9ea9ad65e6 Add symbols/cfi for assembly functions.
This is needed for some binary analysis programs (BOLT, in this case) to
find all the code.  A little ugly since we're putting labels that are
named as if they are local only in the global symbol table, but whatever,
there is plenty ugly and weird stuff in these assembly functions...
2019-02-22 23:19:28 -08:00
Nolan Leake
9da699f981 On x86_64, put constants in .rodata
Previously, they were in .text, which while not ideal, works just fine.  The
wrinkle is that since they were all in the same segment, no relocations were
generated for references to them.  Which again works just fine, until you
try to rewrite binaries.  In our case, using BOLT to add Spectre V1/V2
mitigations.  Moving them to .rodata is cleaner and forces the assembler
to generate the relocations that BOLT needs.
2019-02-22 23:19:28 -08:00
Jeffrey Griffin
7e80345321 SGX compatibility 2019-02-22 23:19:28 -08:00

View File

@ -26,7 +26,6 @@ pub(crate) struct Features(());
pub(crate) fn features() -> Features {
// We don't do runtime feature detection on iOS. instead some features are
// assumed to be present; see `arm::Feature`.
#[cfg(not(target_env = "sgx"))]
#[cfg(not(target_os = "ios"))]
{
static INIT: spin::Once<()> = spin::Once::new();