u-boot-brain/arch/arm/lib
Stephen Warren b2f1858455 arm: lib: fix push/pop-section directives
With the existing code, function symbols are defined in .text, and the
body is defined in .text.xxx. This causes (at least some version of) the
linker not to emit the function body into the final binary, since it's
part of a different section to the symbols being referenced. This of
course causes a wide variety of failures.

This change moves the push/pop-section directives before the function
symbols, and after any relate ENDPROC macro invocations, so that symbols
and bodies are all in the "pushed" sections, and thus the function bodies
are emitted into the binary.

This solves (at least) the boot problems currently seen on Tegra systems
that use SPL (i.e. all ARMv7 Tegras).

Fixes: 13b0a91a6d ("arm: lib: Split asm symbols into different .text subsections")
Cc: Marek Vasut <marex@denx.de>
Cc: Tom Warren <twarren@nvidia.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2016-06-03 15:14:11 -04:00
..
ashldi3.S arm: lib: fix push/pop-section directives 2016-06-03 15:14:11 -04:00
ashrdi3.S arm: lib: fix push/pop-section directives 2016-06-03 15:14:11 -04:00
asm-offsets.c ARM: remove jadecpu board support 2015-02-24 17:06:51 -05:00
bootm-fdt.c arch/arm/lib/bootm-fdt.c: Guard the include of <asm/armv7.h> 2015-05-14 11:07:03 -04:00
bootm.c ARM: bootm: Try to use relocated ramdisk 2016-01-21 20:03:59 -07:00
cache-cp15.c arm: Add support for HYP mode and LPAE page tables 2016-03-27 09:12:17 -04: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: support Thumb-1 with CONFIG_SYS_THUMB_BUILD 2015-11-10 15:03:48 +01:00
ccn504.S armv8: lsch3: Enable WUO config for RNI-20 node 2016-03-21 12:42:10 -07:00
cmd_boot.c common/cmd_boot: keep ARM v7M in thumb mode during do_go_exec() 2015-05-28 08:18:23 -04:00
crt0_64.S arm: initialize gd for AArch64 2016-01-14 16:27:13 -05:00
crt0.S arm: make sure board_init_r() is being called using the right mode (ARM / THUMB) 2016-02-15 12:04:45 -05:00
debug.S arm: debug: adjust for U-Boot 2014-10-26 22:23:40 +01:00
div64.S arm: lib: fix push/pop-section directives 2016-06-03 15:14:11 -04: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/gic: Fix GIC v2 initialization 2015-10-15 14:47:03 +02:00
interrupts_64.c arm64: Allow EFI payload code to take exceptions 2016-03-15 21:30:11 -04:00
interrupts_m.c Change e-mail address of Kamil Lulko 2015-12-05 18:22:32 -05:00
interrupts.c arm: Allow EFI payload code to take exceptions 2016-03-15 21:30:13 -04:00
lib1funcs.S arm: lib: fix push/pop-section directives 2016-06-03 15:14:11 -04:00
lshrdi3.S arm: lib: fix push/pop-section directives 2016-06-03 15:14:11 -04:00
Makefile arm: lib: import muldi3.S from Linux 2016-06-02 21:21:46 -04:00
memcpy.S arm: include: Import unified.h from Linux kernel 2016-06-02 21:21:43 -04:00
memset.S arm: support Thumb-1 with CONFIG_SYS_THUMB_BUILD 2015-11-10 15:03:48 +01:00
muldi3.S arm: lib: fix push/pop-section directives 2016-06-03 15:14:11 -04:00
relocate_64.S armv8/cache: Flush D-cache, invalidate I-cache for relocation 2014-04-07 17:43:36 +02:00
relocate.S ARM: Add ARMv7-M support 2015-04-22 12:14:55 -04:00
reset.c arm:reset: call the reset_misc() before the cpu reset 2014-09-05 13:58:49 +09:00
sections.c efi_loader: Add runtime services 2016-03-15 18:03:10 -04:00
semihosting.c arm: fix compile warnings when semihosting is enabled on ARMv7M target. 2015-11-10 09:45:36 +01:00
spl.c arm: spl: Align default board_init_f comment with code 2016-04-01 17:17:57 -04:00
stack.c Change my mailaddress 2016-05-02 18:37:09 -04:00
uldivmod.S arm: lib: fix push/pop-section directives 2016-06-03 15:14:11 -04:00
vectors_m.S Change e-mail address of Kamil Lulko 2015-12-05 18:22:32 -05:00
vectors.S arm: make .vectors section allocatable 2014-10-29 09:02:17 -04:00