Rust fmt fixes

This commit is contained in:
Carlo Kok
2020-06-08 19:56:21 +02:00
parent 04492983d2
commit 38531b8f42
3 changed files with 35 additions and 27 deletions

View File

@@ -211,7 +211,7 @@ impl Backend for FaerieBackend {
ref data_decls, ref data_decls,
ref function_relocs, ref function_relocs,
ref data_relocs, ref data_relocs,
section: ref datasection section: ref datasection,
} = data_ctx.description(); } = data_ctx.description();
assert!(datasection.is_none(), "Custom sections not supported"); assert!(datasection.is_none(), "Custom sections not supported");

View File

@@ -47,7 +47,7 @@ pub struct DataDescription {
/// Data addresses to write at specified offsets. /// Data addresses to write at specified offsets.
pub data_relocs: Vec<(CodeOffset, ir::GlobalValue, Addend)>, pub data_relocs: Vec<(CodeOffset, ir::GlobalValue, Addend)>,
/// Object file section /// Object file section
pub section: Option<(std::string::String, std::string::String)> pub section: Option<(std::string::String, std::string::String)>,
} }
/// This is to data objects what cranelift_codegen::Context is to functions. /// This is to data objects what cranelift_codegen::Context is to functions.
@@ -65,7 +65,7 @@ impl DataContext {
data_decls: PrimaryMap::new(), data_decls: PrimaryMap::new(),
function_relocs: vec![], function_relocs: vec![],
data_relocs: vec![], data_relocs: vec![],
section: None section: None,
}, },
} }
} }
@@ -95,7 +95,10 @@ impl DataContext {
/// Override the segment/section for data, only supported on Object backend /// Override the segment/section for data, only supported on Object backend
pub fn set_section(&mut self, seg: &str, sec: &str) { pub fn set_section(&mut self, seg: &str, sec: &str) {
self.description.section = Some((std::string::String::from(seg), std::string::String::from(sec))) self.description.section = Some((
std::string::String::from(seg),
std::string::String::from(sec),
))
} }
/// Declare an external function import. /// Declare an external function import.

View File

@@ -234,7 +234,7 @@ impl Backend for ObjectBackend {
ref data_decls, ref data_decls,
ref function_relocs, ref function_relocs,
ref data_relocs, ref data_relocs,
section: ref datasection section: ref datasection,
} = data_ctx.description(); } = data_ctx.description();
let reloc_size = match self.isa.triple().pointer_width().unwrap() { let reloc_size = match self.isa.triple().pointer_width().unwrap() {
@@ -265,31 +265,36 @@ impl Backend for ObjectBackend {
} }
let symbol = self.data_objects[data_id].unwrap(); let symbol = self.data_objects[data_id].unwrap();
let section = let section = if datasection.is_none() {
if datasection.is_none() { let section_kind = if let Init::Zeros { .. } = *init {
let section_kind = if let Init::Zeros { .. } = *init { if tls {
if tls { StandardSection::UninitializedTls
StandardSection::UninitializedTls
} else {
StandardSection::UninitializedData
}
} else if tls {
StandardSection::Tls
} else if writable {
StandardSection::Data
} else if relocs.is_empty() {
StandardSection::ReadOnlyData
} else { } else {
StandardSection::ReadOnlyDataWithRel StandardSection::UninitializedData
}; }
self.object.section_id(section_kind) } else if tls {
StandardSection::Tls
} else if writable {
StandardSection::Data
} else if relocs.is_empty() {
StandardSection::ReadOnlyData
} else { } else {
assert!(!tls, "Tls data cannot be in named section"); StandardSection::ReadOnlyDataWithRel
let (seg, sec) = &datasection.as_ref().unwrap();
self.object.add_section(seg.clone().into_bytes(), sec.clone().into_bytes(),
if writable { SectionKind::Data } else { SectionKind::ReadOnlyData }
)
}; };
self.object.section_id(section_kind)
} else {
assert!(!tls, "Tls data cannot be in named section");
let (seg, sec) = &datasection.as_ref().unwrap();
self.object.add_section(
seg.clone().into_bytes(),
sec.clone().into_bytes(),
if writable {
SectionKind::Data
} else {
SectionKind::ReadOnlyData
},
)
};
let align = u64::from(align.unwrap_or(1)); let align = u64::from(align.unwrap_or(1));
let offset = match *init { let offset = match *init {