Add TLS support for ELF and MachO (#1174)

* Add TLS support
* Add binemit and legalize tests
* Spill all caller-saved registers when necessary
This commit is contained in:
bjorn3
2020-02-26 02:50:04 +01:00
committed by GitHub
parent 0a11736fbf
commit 0a1bb3ba6c
27 changed files with 354 additions and 19 deletions

View File

@@ -136,8 +136,10 @@ impl Backend for FaerieBackend {
name: &str,
linkage: Linkage,
writable: bool,
tls: bool,
align: Option<u8>,
) {
assert!(!tls, "Faerie doesn't yet support TLS");
self.artifact
.declare(name, translate_data_linkage(linkage, writable, align))
.expect("inconsistent declarations");
@@ -231,10 +233,12 @@ impl Backend for FaerieBackend {
_id: DataId,
name: &str,
_writable: bool,
tls: bool,
_align: Option<u8>,
data_ctx: &DataContext,
namespace: &ModuleNamespace<Self>,
) -> ModuleResult<FaerieCompiledData> {
assert!(!tls, "Faerie doesn't yet support TLS");
let &DataDescription {
ref init,
ref function_decls,