arch: arm: aarch64: linker.ld: move vector table to text segment
Following changes are done: - The vector table should be placed in text segment. - Removed Vector relay table related entries as it is only applicable to aarch32. - irq_vector_table contains ISR pointers - should be placed in rodata segment. - put openocd_dbg in rodata and skip adding <linker_relocate.ld> as CONFIG_CODE_DATA_RELOCATION is not defined for aarch64 currently (add later if needed). Fixes: #22673 Signed-off-by: Abhishek Shah <abhishek.shah@broadcom.com>
This commit is contained in:
parent
1d59d3afed
commit
6429dd81bf
1 changed files with 7 additions and 23 deletions
|
@ -114,39 +114,18 @@ SECTIONS
|
||||||
|
|
||||||
_image_rom_start = ROM_ADDR;
|
_image_rom_start = ROM_ADDR;
|
||||||
|
|
||||||
SECTION_PROLOGUE(rom_start,,)
|
SECTION_PROLOGUE(_TEXT_SECTION_NAME,,)
|
||||||
{
|
{
|
||||||
|
_image_text_start = .;
|
||||||
#if defined(CONFIG_SW_VECTOR_RELAY)
|
|
||||||
KEEP(*(.vector_relay_table))
|
|
||||||
KEEP(*(".vector_relay_table.*"))
|
|
||||||
KEEP(*(.vector_relay_handler))
|
|
||||||
KEEP(*(".vector_relay_handler.*"))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_vector_start = .;
|
_vector_start = .;
|
||||||
KEEP(*(.exc_vector_table))
|
KEEP(*(.exc_vector_table))
|
||||||
KEEP(*(".exc_vector_table.*"))
|
KEEP(*(".exc_vector_table.*"))
|
||||||
|
|
||||||
KEEP(*(IRQ_VECTOR_TABLE))
|
|
||||||
|
|
||||||
KEEP(*(.vectors))
|
KEEP(*(.vectors))
|
||||||
|
|
||||||
_vector_end = .;
|
_vector_end = .;
|
||||||
|
|
||||||
KEEP(*(.openocd_dbg))
|
|
||||||
KEEP(*(".openocd_dbg.*"))
|
|
||||||
} GROUP_LINK_IN(ROMABLE_REGION)
|
|
||||||
|
|
||||||
#ifdef CONFIG_CODE_DATA_RELOCATION
|
|
||||||
|
|
||||||
#include <linker_relocate.ld>
|
|
||||||
|
|
||||||
#endif /* CONFIG_CODE_DATA_RELOCATION */
|
|
||||||
|
|
||||||
SECTION_PROLOGUE(_TEXT_SECTION_NAME,,)
|
|
||||||
{
|
|
||||||
_image_text_start = .;
|
|
||||||
*(.text)
|
*(.text)
|
||||||
*(".text.*")
|
*(".text.*")
|
||||||
*(.gnu.linkonce.t.*)
|
*(.gnu.linkonce.t.*)
|
||||||
|
@ -195,6 +174,11 @@ SECTIONS
|
||||||
|
|
||||||
SECTION_PROLOGUE(_RODATA_SECTION_NAME,,)
|
SECTION_PROLOGUE(_RODATA_SECTION_NAME,,)
|
||||||
{
|
{
|
||||||
|
KEEP(*(IRQ_VECTOR_TABLE))
|
||||||
|
|
||||||
|
KEEP(*(.openocd_dbg))
|
||||||
|
KEEP(*(".openocd_dbg.*"))
|
||||||
|
|
||||||
*(.rodata)
|
*(.rodata)
|
||||||
*(".rodata.*")
|
*(".rodata.*")
|
||||||
*(.gnu.linkonce.r.*)
|
*(.gnu.linkonce.r.*)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue