Home
last modified time | relevance | path

Searched hist:a3ba87a6 (Results 1 – 1 of 1) sorted by relevance

/openbmc/linux/arch/arm/kernel/
H A Dentry-common.Sa3ba87a6 Tue Aug 10 13:37:21 CDT 2010 Rabin Vincent <rabin@rab.in> ARM: 6316/1: ftrace: add Thumb-2 support

Fix the mcount routines to build and run on a kernel built with the
Thumb-2 instruction set by correcting the following errors using the
fixes suggested by Catalin Marinas:

- Problem: The following assembler errors appear at the "adr r0,
ftrace_stub" instruction:

entry-common.S: Assembler messages:
entry-common.S:179: Error: invalid immediate for address calculation (value = 0x00000004)

Fix: The errors don't occur with a non-global symbol, so use one.

- Problem: The "mov lr, pc" does not set the lsb when storing the pc in
lr. The called function returns with "bx lr", and the mode changes
to ARM.

Fix: Add a label on the return address and use "adr lr, BSYM(label)".

We don't modify the old mcount because it won't be built when using
Thumb-2.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Rabin Vincent <rabin@rab.in>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
a3ba87a6 Tue Aug 10 13:37:21 CDT 2010 Rabin Vincent <rabin@rab.in> ARM: 6316/1: ftrace: add Thumb-2 support

Fix the mcount routines to build and run on a kernel built with the
Thumb-2 instruction set by correcting the following errors using the
fixes suggested by Catalin Marinas:

- Problem: The following assembler errors appear at the "adr r0,
ftrace_stub" instruction:

entry-common.S: Assembler messages:
entry-common.S:179: Error: invalid immediate for address calculation (value = 0x00000004)

Fix: The errors don't occur with a non-global symbol, so use one.

- Problem: The "mov lr, pc" does not set the lsb when storing the pc in
lr. The called function returns with "bx lr", and the mode changes
to ARM.

Fix: Add a label on the return address and use "adr lr, BSYM(label)".

We don't modify the old mcount because it won't be built when using
Thumb-2.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Rabin Vincent <rabin@rab.in>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>