[U-Boot] [PATCH v4 2/4] arm: make .vectors section allocatable
Georges Savoundararadj
savoundg at gmail.com
Tue Oct 28 23:16:10 CET 2014
A regression was introduced in commit 41623c91. 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 commit 41623c91, the exception vectors were in a .text section.
The .text section has the attributes allocatable and executable [1].
In commit 41623c91, a specific section is created, called .vectors, with
the attribute executable only.
What have changed between commit 41623c91^ and 41623c91 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 at gmail.com>
Cc: Albert Aribeau <albert.u.boot at aribaud.net>
Acked-by: Albert ARIBEAU <albert.u.boot at aribaud.net>
---
Changes in v4:
- Add Acked-by from Albert
Changes in v3:
- None
Changes in v2:
- Reword the commit message
arch/arm/lib/vectors.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/lib/vectors.S b/arch/arm/lib/vectors.S
index 0cb87ce..49238ed 100644
--- a/arch/arm/lib/vectors.S
+++ b/arch/arm/lib/vectors.S
@@ -33,7 +33,7 @@
*************************************************************************
*/
- .section ".vectors", "x"
+ .section ".vectors", "ax"
/*
*************************************************************************
--
2.1.2
More information about the U-Boot
mailing list