zephyr/include/linker
Jordan Yates 28b2e55321 cmake: rework linker script generation and linker prebuilt stages
This commit reworks the linker script generation and linking stages in
order to better support fixed section location as required by #38836.

Today we have the following generated linker scripts and the elf output
depending on the system configuration:
- linker_app_smem_unaligned.cmd --> app_smem_unaligned_prebuilt.elf
- linker_zephyr_prebuilt.cmd    --> zephyr_prebuilt.elf
- linker.cmd                    --> zephyr.elf

as not all linker scripts may be created and as there is a need for the
possibility to move gen handles earlier then those stages has been
renamed into more generic names so that with this commit we have:
- linker_zephyr_pre0.cmd --> zephyr_pre0.elf
- linker_zephyr_pre1.cmd --> zephyr_pre1.elf
- linker.cmd             --> zephyr.elf

This also means that is the stage zephyr_pre1 is not needed, then build
can go from `zephyr_pre0.elf` to `zephyr.elf`.

The gen_handles.py has been changed so it now uses `zephyr_pre0.elf` as
input. This ensures that the handles array are final when invoking the
next build and linking stages.

To keep the current behavior of generating the isr table and kobj hash
of what was `zephyr_prebuilt` stage the code blocks contolling isr
generation and kobj hash has been relocated to be located after
app_smem and device handle generation.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2021-11-16 10:41:59 +01:00
..
app_smem_aligned.ld
app_smem_pinned_aligned.ld kernel: app_smem: allowing pinning memory partitions 2021-08-26 21:16:22 -04:00
app_smem_pinned_unaligned.ld kernel: app_smem: allowing pinning memory partitions 2021-08-26 21:16:22 -04:00
app_smem_pinned.ld kernel: app_smem: allowing pinning memory partitions 2021-08-26 21:16:22 -04:00
app_smem_unaligned.ld
app_smem.ld
common-noinit.ld kernel: generate placeholders for kobj tables before final build 2021-04-27 13:32:00 -04:00
common-ram.ld ztest: Add register functionality 2021-10-28 16:57:51 -04:00
common-rom.ld cmake: rework linker script generation and linker prebuilt stages 2021-11-16 10:41:59 +01:00
cplusplus-ram.ld linker: cpp: Fix C++ exception handling info section linking 2021-06-08 11:45:28 -05:00
cplusplus-rom.ld linker: cpp: Fix C++ exception handling info section linking 2021-06-08 11:45:28 -05:00
debug-sections.ld linker: add DWARF-5 debug sections 2021-11-15 14:52:25 -05:00
devicetree_regions.h linker: rename DT_REGION_FROM_NODE_STATUS_OKAY 2021-08-07 20:24:13 -04:00
devicetree_reserved.h reserved-memory: Fix layering violation 2021-09-28 14:01:36 -04:00
intlist.ld
kobject-data.ld kernel: fix kobj table if having .sdata section. 2021-07-22 07:29:21 -05:00
kobject-priv-stacks.ld toolchain: arcmwdt: linker: fix placeholders for arcmwdt toolchain 2021-05-20 07:50:38 -05:00
kobject-rom.ld toolchain: arcmwdt: linker: fix placeholders for arcmwdt toolchain 2021-05-20 07:50:38 -05:00
kobject-text.ld linker: clarify CONFIG_KOBJECT_TEXT_AREA too small message 2021-04-20 08:29:22 -04:00
linker-defs.h arch: arm: core: aarch32: support for On-Chip Memory (OCM) areas in aarch32 2021-10-28 15:26:50 +02:00
linker-tool-gcc.h ARC: prepare for building for ARCv3 HS6x 2021-05-07 14:55:49 -05:00
linker-tool-mwdt.h ARC: MWDT: drop LOG2CEIL macro as it's defined now for all toolchains 2021-10-13 17:44:51 -04:00
linker-tool.h
rel-sections.ld
section_tags.h arch: arm: core: aarch32: support for On-Chip Memory (OCM) areas in aarch32 2021-10-28 15:26:50 +02:00
sections.h arch: arm: core: aarch32: support for On-Chip Memory (OCM) areas in aarch32 2021-10-28 15:26:50 +02:00
thread-local-storage.ld