linux/arch/arm/mach-rockchip
Russell King 1abd350237 ARM: align .data section
Robert Jarzmik reports that his PXA25x system fails to boot with 4.12,
failing at __flush_whole_cache in arch/arm/mm/proc-xscale.S:215:

   0xc0019e20 <+0>:     ldr     r1, [pc, #788]
   0xc0019e24 <+4>:     ldr     r0, [r1]	<== here

with r1 containing 0xc06f82cd, which is the address of "clean_addr".
Examination of the System.map shows:

c06f22c8 D user_pmd_table
c06f22cc d __warned.19178
c06f22cd d clean_addr

indicating that a .data.unlikely section has appeared just before the
.data section from proc-xscale.S.  According to objdump -h, it appears
that our assembly files default their .data alignment to 2**0, which
is bad news if the preceding .data section size is not power-of-2
aligned at link time.

Add the appropriate .align directives to all assembly files in arch/arm
that are missing them where we require an appropriate alignment.

Reported-by: Robert Jarzmik <robert.jarzmik@free.fr>
Tested-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2017-08-14 16:22:55 +01:00
..
core.h ARM: v7 setup function should invalidate L1 cache 2015-06-01 11:30:26 +01:00
headsmp.S ARM: v7 setup function should invalidate L1 cache 2015-06-01 11:30:26 +01:00
Kconfig ARM: do away with ARCH_[WANT_OPTIONAL|REQUIRE]_GPIOLIB 2016-06-03 12:18:13 -07:00
Makefile ARM: rockchip: add suspend and resume for RK3288 2014-12-31 16:16:50 +01:00
platsmp.c ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
pm.c ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
pm.h ARM: rockchip: enable PMU_GPIOINT_WAKEUP_EN when entering shallow suspend 2015-08-06 13:05:14 +02:00
rockchip.c ARM: rockchip: drop rk3288 jtag/mmc switch handling 2017-01-06 10:29:16 +01:00
sleep.S ARM: align .data section 2017-08-14 16:22:55 +01:00