Consider read-only data when determining where flash starts
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 18
- Forks
- 42
- PR merge metrics
- No merged PRs in 30d
Description
The current logic to determine flash start address finds the first executable segment and considers that as the start of data that goes into flash. This breaks if the CRT0 header goes into a data segment instead. The easiest fix seems to be to consider all read-only segments, not just executable ones, as flash.
This works for all the use cases I have, but there may be unintended consequences if I missed something?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Locate the logic that determines the flash start address from ELF segments, then inspect how it distinguishes executable and read-only segments. Verify the change against the reported CRT0-in-a-data-segment case and check existing ELF-to-Tock bundle behavior for unintended consequences.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- embedded-iot, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100