Skip to content

Commit

Permalink
test case for single segment mode
Browse files Browse the repository at this point in the history
  • Loading branch information
AngheloAlf committed Apr 24, 2024
1 parent 6aca2b2 commit 35169d7
Show file tree
Hide file tree
Showing 5 changed files with 42,907 additions and 2 deletions.
2 changes: 0 additions & 2 deletions slinky/src/linker_writer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,6 @@ impl<'a> LinkerWriter<'a> {
self.writeln("");
}

/*
pub fn add_single_segment(&mut self, segment: &Segment) {
assert!(self.buffer.is_empty());

Expand Down Expand Up @@ -252,7 +251,6 @@ impl<'a> LinkerWriter<'a> {

self.end_sections();
}
*/

pub fn save_linker_script(&self, path: &Path) -> Result<(), SlinkyError> {
let mut f = utils::create_file_and_parents(path)?;
Expand Down
19 changes: 19 additions & 0 deletions slinky/src/settings.rs
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ pub struct Settings {
pub sections_denylist: Vec<String>,
pub discard_wildcard_section: bool,

pub single_segment_mode: bool,

pub partial_scripts_path: Option<PathBuf>,
pub partial_build_segments_path: Option<PathBuf>,

Expand Down Expand Up @@ -100,6 +102,10 @@ const fn settings_default_discard_wildcard_section() -> bool {
true
}

const fn settings_default_single_segment_mode() -> bool {
false
}

const fn settings_default_partial_scripts_path() -> Option<PathBuf> {
None
}
Expand Down Expand Up @@ -166,6 +172,8 @@ impl Default for Settings {
sections_denylist: settings_default_sections_denylist(),
discard_wildcard_section: settings_default_discard_wildcard_section(),

single_segment_mode: settings_default_single_segment_mode(),

partial_scripts_path: settings_default_partial_scripts_path(),
partial_build_segments_path: settings_default_partial_build_segments_path(),

Expand Down Expand Up @@ -215,7 +223,12 @@ pub(crate) struct SettingsSerial {
#[serde(default)]
pub discard_wildcard_section: AbsentNullable<bool>,

#[serde(default)]
pub single_segment_mode: AbsentNullable<bool>,

#[serde(default)]
pub partial_scripts_path: AbsentNullable<PathBuf>,
#[serde(default)]
pub partial_build_segments_path: AbsentNullable<PathBuf>,

// Options passed down to each Segment
Expand Down Expand Up @@ -285,6 +298,10 @@ impl SettingsSerial {
settings_default_discard_wildcard_section,
)?;

let single_segment_mode = self
.single_segment_mode
.get_non_null("single_segment_mode", settings_default_single_segment_mode)?;

let partial_scripts_path = self.partial_scripts_path.get_optional_nullable(
"partial_scripts_path",
settings_default_partial_scripts_path,
Expand Down Expand Up @@ -345,6 +362,8 @@ impl SettingsSerial {
sections_denylist,
discard_wildcard_section,

single_segment_mode,

partial_scripts_path,
partial_build_segments_path,

Expand Down
Loading

0 comments on commit 35169d7

Please sign in to comment.