u-boot/arch/arm/lib
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
..
_ashldi3.S Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
_ashrdi3.S Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
_divsi3.S cosmetic: remove empty lines at the top of file 2013-11-08 09:41:37 -05:00
_lshrdi3.S Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
_modsi3.S cosmetic: remove empty lines at the top of file 2013-11-08 09:41:37 -05:00
_udivsi3.S Move lib_$ARCH directories to arch/$ARCH/lib 2010-04-13 09:13:03 +02:00
_umodsi3.S Move lib_$ARCH directories to arch/$ARCH/lib 2010-04-13 09:13:03 +02:00
asm-offsets.c kbuild: move asm-offsets.c from SoC directory to arch/$(ARCH)/lib 2014-03-28 15:06:29 -04:00
board.c leds: missing include 2014-10-25 15:27:35 -04:00
bootm-fdt.c ARM: HYP/non-sec/PSCI: emit DT nodes 2014-07-28 17:19:52 +02:00
bootm.c Merge branch 'master' of git://git.denx.de/u-boot-imx 2014-10-27 09:08:42 -04:00
cache-cp15.c arm: cache: Add support for write-allocate D-Cache 2014-10-06 17:40:21 +02:00
cache-pl310.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cache.c ARM: cache_v7: use __weak 2014-07-04 19:57:22 +02:00
crt0.S arm: Support pre-relocation malloc() 2014-08-04 05:24:35 -06:00
crt0_64.S arm64: core support 2014-01-09 16:08:44 +01:00
div0.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
eabi_compat.c eabi_compat: add __aeabi_memcpy __aeabi_memset 2014-09-09 13:51:11 +02:00
gic_64.S armv8/fsl-lsch3: Release secondary cores from boot hold off with Boot Page 2014-09-25 08:36:19 -07:00
interrupts.c arm: vectors: provide protypes from vectors.S 2014-10-25 15:27:36 -04:00
interrupts_64.c arm64: core support 2014-01-09 16:08:44 +01:00
Makefile arm: Add support for semihosting for armv8 fastmodel targets. 2014-07-03 08:35:45 +02:00
memcpy.S arm: lib: memcpy: Do not copy to same address 2011-09-03 22:40:45 +02:00
memset.S arm: Use optimized memcpy and memset from linux 2011-04-27 19:38:07 +02:00
relocate.S Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
relocate_64.S armv8/cache: Flush D-cache, invalidate I-cache for relocation 2014-04-07 17:43:36 +02:00
reset.c arm:reset: call the reset_misc() before the cpu reset 2014-09-05 13:58:49 +09:00
sections.c ARM: HYP/non-sec: add separate section for secure code 2014-07-28 17:07:23 +02:00
semihosting.c arm: Add support for semihosting for armv8 fastmodel targets. 2014-07-03 08:35:45 +02:00
spl.c Revert "ARM: SPL: do not set gd again" 2014-09-16 12:24:00 -04:00
vectors.S arm: make .vectors section allocatable 2014-10-29 09:02:17 -04:00