linux/arch
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
..
alpha osf_wait4(): fix infoleak 2017-05-21 13:10:07 -04:00
arc arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
arm ARM: align .data section 2017-08-14 16:22:55 +01:00
arm64 arm64/vdso: Fix nsec handling for CLOCK_MONOTONIC_RAW 2017-06-20 10:41:51 +02:00
blackfin arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
c6x arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
cris arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
frv arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
h8300 arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
hexagon arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
ia64 arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
m32r arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
m68k arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
metag devicetree: Move include prefixes from arch to separate directory 2017-05-18 23:55:48 -07:00
microblaze arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
mips MIPS: Avoid accidental raw backtrace 2017-06-30 04:42:15 +02:00
mn10300 arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
nios2 arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
openrisc arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
parisc arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
powerpc powerpc fixes for 4.12 #8 2017-06-30 10:55:34 -07:00
s390 arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
score arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
sh mm: larger stack guard gap, between vmas 2017-06-19 21:50:20 +08:00
sparc arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
tile arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
um arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
unicore32 Kbuild UAPI header export updates for v4.12 2017-05-10 20:45:36 -07:00
x86 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-07-01 09:10:17 -07:00
xtensa arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
.gitignore
Kconfig Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-05-10 10:30:46 -07:00