[U-Boot] [PATCH v4 2/4] arm: make .vectors section allocatable
Albert ARIBAUD
albert.u.boot at aribaud.net
Wed Oct 29 13:49:03 CET 2014
Hello Georges,
On Tue, 28 Oct 2014 23:16:10 +0100, Georges Savoundararadj <savoundg at gmail.com> wrote:
> 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
>
Acked-by: Albert ARIBAUD <albert.u.boot at aribaud.net>
Amicalement,
--
Albert.
More information about the U-Boot
mailing list