Skip to content
This repository has been archived by the owner on Jan 24, 2022. It is now read-only.

Commit

Permalink
Merge #186
Browse files Browse the repository at this point in the history
186: do not KEEP the .stack_sizes section r=therealprof a=japaric

this undoes PR #118

I found a problem with keeping this section. Turns out that the input
`.stack_sizes` sections contain references to all functions compiled with `-Z
emit-stack-sizes` (the section contains the addresses of all those functions
after all) so keeping those section prevents the linker from removing *any* of
those functions. This is not a problem today because `-Z emit-stack-sizes` is
*opt-in* and only used to analyze a program.

However, I am proposing a rust-lang/rust PR to build the `compiler-builtins`
crate with `-Z emit-stack-sizes`. That change will cause *all* the functions in
that crate to be kept in binaries that link to `cortex-m-rt`, regardless of
whether the crate author uses `-Z emit-stack-sizes` or not, leading a increase
in binary size of about 14 KB (`.text` section).

To prevent issues with that rust-lang/rust PR I propose we undo PR #118. On the
bright side, the tools that were depending on this (`cargo-stack-sizes` and
`cargo-call-stack`) no longer do so in their latest releases so nothing is lost
on the tooling front with this change.

r? @rust-embedded/cortex-m

Co-authored-by: Jorge Aparicio <jorge@japaric.io>
  • Loading branch information
bors[bot] and japaric committed Apr 2, 2019
2 parents 2e32bfa + 8ff305b commit 39115fc
Showing 1 changed file with 0 additions and 6 deletions.
6 changes: 0 additions & 6 deletions link.x.in
Original file line number Diff line number Diff line change
Expand Up @@ -131,12 +131,6 @@ SECTIONS
/* Place the heap right after `.bss` */
__sheap = ADDR(.bss) + SIZEOF(.bss);

/* Stack usage metadata emitted by LLVM */
.stack_sizes (INFO) :
{
KEEP(*(.stack_sizes));
}

/* ## .got */
/* Dynamic relocations are unsupported. This section is only used to detect relocatable code in
the input files and raise an error if relocatable code is found */
Expand Down

0 comments on commit 39115fc

Please sign in to comment.