diff options
author | Tom Hughes <tomhughes@chromium.org> | 2021-10-12 23:44:25 +0000 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-11-16 00:49:55 +0000 |
commit | 613294b31937124638b43f8adb18a82efc3d5807 (patch) | |
tree | 8b2a502e058530e2b4544c485858c13f8d352875 | |
parent | 57abb1f109899f7a0a06397a91b956e0adf66e5e (diff) | |
download | chrome-ec-613294b31937124638b43f8adb18a82efc3d5807.tar.gz |
core/cortex-m: Include subsections in bss
The FPC library used on bloonchipper has bss subsections (e.g.,
bss.sensor_config). These subsections must be put within __bss_start and
__bss_end or the initialization performed in core/cortex-m/init.S will
not clear it, resulting in potentially random values in the variables
rather than zero.
Before this change:
arm-none-eabi-objdump -h build/bloonchipper/RW/ec.RW.elf
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00022eee 08060000 08060000 00010000 2**5
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .rodata 00008ab8 08082ef0 08082ef0 00032ef0 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 .bss 000134b0 20000000 20000000 00050000 2**3
ALLOC
...
13 .bss.sensor_config 00000004 200134f0 200134f0 00050000 2**2
ALLOC
...
22 .data 000000b8 20013508 0808b9a8 00043508 2**3
CONTENTS, ALLOC, LOAD, DATA
...
After this change:
arm-none-eabi-objdump -h build/bloonchipper/RW/ec.RW.elf
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00022eee 08060000 08060000 00010000 2**5
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .rodata 00008ab8 08082ef0 08082ef0 00032ef0 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 .bss 00013508 20000000 20000000 00050000 2**3
ALLOC
3 .data 000000b8 20013508 0808b9a8 00043508 2**3
CONTENTS, ALLOC, LOAD, DATA
...
BRANCH=none
BUG=b:172020503, b:201113851
TEST=On dragonclaw with servo_micro attached:
> fpenroll
> fpmatch
TEST=make buildall
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I9a9187e05b8e734f9513ff27c49571ccb12d86df
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3219872
Reviewed-by: Patryk Duda <patrykd@google.com>
Reviewed-by: Keith Short <keithshort@chromium.org>
-rw-r--r-- | core/cortex-m/ec.lds.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/core/cortex-m/ec.lds.S b/core/cortex-m/ec.lds.S index dd3811bb78..f85b262c18 100644 --- a/core/cortex-m/ec.lds.S +++ b/core/cortex-m/ec.lds.S @@ -396,7 +396,7 @@ SECTIONS *(.bss.Tpm2_common) __bss_libtpm2_end = .; - *(.bss) + *(.bss*) /* * Reserve space for deferred function firing times. |