oxidecomputer / oxidecomputer/hubris

Linker script fails to warn on missing section

Open
#1,358 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
3.6k
Forks
239
Avg merge
1d 12h
Merged PRs (30d)
23

Description

We put BOOTSTATE into a special section of memory:

#[used]
#[link_section = ".bootstate"]
static BOOTSTATE: MaybeUninit<[u8; 0x1000]> = MaybeUninit::uninit();

Despite this fact, if sections is missing in the lpc55xpresso TOML file, it will build without complaints:

[tasks.update_server]
# ...
sections = {bootstate = "usbsram"} # <- delete this line

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the lpc55xpresso TOML configuration and the handling of the tasks.update_server sections setting. Reproduce the build with sections = {bootstate = "usbsram"} removed, then trace why the .bootstate section is not reported. Done means the missing configuration produces a warning or build failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system, embedded-iot
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.