diff options
author | 2019-04-02 21:06:56 +0000 | |
---|---|---|
committer | 2019-04-02 21:06:56 +0000 | |
commit | 0dac1b162f5e18a3011b0660bba0ab9fc0b81fd1 (patch) | |
tree | 7d3a313bf5b40e2c7862557fbe9bc410130e32b6 /cortex-m-rt/src/lib.rs | |
parent | a7e8ab6c73967c0e50239c47f82b028a480b598c (diff) | |
parent | 142b48b0ce73e3ed0483414168b97bea8fc5b660 (diff) | |
download | cortex-m-0dac1b162f5e18a3011b0660bba0ab9fc0b81fd1.tar.gz cortex-m-0dac1b162f5e18a3011b0660bba0ab9fc0b81fd1.tar.zst cortex-m-0dac1b162f5e18a3011b0660bba0ab9fc0b81fd1.zip |
Merge #186
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>
Diffstat (limited to 'cortex-m-rt/src/lib.rs')
0 files changed, 0 insertions, 0 deletions