mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
arm: make .vectors section allocatable
A regression was introduced in commit41623c91
. The consequence of that is the non-relocation of the section .vectors symbols : _undefined_instruction, _software_interrupt, _prefetch_abort, _data_abort, _not_used, _irq and _fiq. Before commit41623c91
, the exception vectors were in a .text section. The .text section has the attributes allocatable and executable [1]. In commit41623c91
, a specific section is created, called .vectors, with the attribute executable only. What have changed between commit 41623c91^ and41623c91
is the attribute of the section which contains the exception vectors. An allocatable section is "a section [that] occupies memory during process execution" [1] which is the case of the section .vectors. Adding the lacking attribute (SHF_ALLOC or "a") for the definition of the section .vectors fixed the issue. To summarize, the fix has to mark .vectors as allocatable because the exception vectors reside in "memory during execution" and they need to be relocated. [1] http://man7.org/linux/man-pages/man5/elf.5.html Signed-off-by: Georges Savoundararadj <savoundg@gmail.com> Acked-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
This commit is contained in:
parent
2e07c249a6
commit
c57a642384
1 changed files with 1 additions and 1 deletions
|
@ -33,7 +33,7 @@
|
|||
*************************************************************************
|
||||
*/
|
||||
|
||||
.section ".vectors", "x"
|
||||
.section ".vectors", "ax"
|
||||
|
||||
/*
|
||||
*************************************************************************
|
||||
|
|
Loading…
Reference in a new issue