u-boot-brain/arch
Georges Savoundararadj c57a642384 arm: make .vectors section allocatable
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@gmail.com>
Acked-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
2014-10-29 09:02:17 -04:00
..
arc kconfig: remove redundant "string" type in arch and board Kconfigs 2014-09-13 16:43:55 -04:00
arm arm: make .vectors section allocatable 2014-10-29 09:02:17 -04:00
avr32 kconfig: remove redundant "string" type in arch and board Kconfigs 2014-09-13 16:43:55 -04:00
blackfin kconfig: remove redundant "string" type in arch and board Kconfigs 2014-09-13 16:43:55 -04:00
m68k kconfig: remove redundant "string" type in arch and board Kconfigs 2014-09-13 16:43:55 -04:00
microblaze kconfig: add CONFIG_SUPPORT_SPL 2014-10-27 17:54:10 -04:00
mips mips: enable CONFIG_USE_PRIVATE_LIBGCC by default 2014-10-23 13:19:15 -04:00
nds32 kconfig: remove redundant "string" type in arch and board Kconfigs 2014-09-13 16:43:55 -04:00
nios2 kconfig: remove redundant "string" type in arch and board Kconfigs 2014-09-13 16:43:55 -04:00
openrisc kconfig: remove redundant "string" type in arch and board Kconfigs 2014-09-13 16:43:55 -04:00
powerpc ppc/arm: zap EMK boards 2014-10-28 12:48:31 -04:00
sandbox Provide option to avoid defining a custom version of uintptr_t. 2014-10-27 11:04:01 -04:00
sh kconfig: remove redundant "string" type in arch and board Kconfigs 2014-09-13 16:43:55 -04:00
sparc kconfig: remove redundant "string" type in arch and board Kconfigs 2014-09-13 16:43:55 -04:00
x86 x86: Use correct printf() format string for uintptr_t 2014-10-27 11:04:01 -04:00
.gitignore .gitignore: drop include/asm/proc from ignore pattern 2014-06-19 11:18:54 -04:00
Kconfig kconfig: move CONFIG_USE_PRIVATE_LIBGCC to Kconfig 2014-10-23 13:19:09 -04:00