ARM: use LOADADDR() to get load address of sections
commit 8d9d651ff2270a632e9dc497b142db31e8911315 upstream. Use the linker's LOADADDR() macro to get the load address of the sections, and provide a macro to set the start and end symbols. Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
46deb22468
commit
29d9b56df1
@@ -26,6 +26,11 @@
|
|||||||
#define ARM_MMU_DISCARD(x) x
|
#define ARM_MMU_DISCARD(x) x
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Set start/end symbol names to the LMA for the section */
|
||||||
|
#define ARM_LMA(sym, section) \
|
||||||
|
sym##_start = LOADADDR(section); \
|
||||||
|
sym##_end = LOADADDR(section) + SIZEOF(section)
|
||||||
|
|
||||||
#define PROC_INFO \
|
#define PROC_INFO \
|
||||||
. = ALIGN(4); \
|
. = ALIGN(4); \
|
||||||
__proc_info_begin = .; \
|
__proc_info_begin = .; \
|
||||||
@@ -110,19 +115,19 @@
|
|||||||
* only thing that matters is their relative offsets
|
* only thing that matters is their relative offsets
|
||||||
*/
|
*/
|
||||||
#define ARM_VECTORS \
|
#define ARM_VECTORS \
|
||||||
__vectors_start = .; \
|
__vectors_lma = .; \
|
||||||
.vectors 0xffff0000 : AT(__vectors_start) { \
|
.vectors 0xffff0000 : AT(__vectors_start) { \
|
||||||
*(.vectors) \
|
*(.vectors) \
|
||||||
} \
|
} \
|
||||||
. = __vectors_start + SIZEOF(.vectors); \
|
ARM_LMA(__vectors, .vectors); \
|
||||||
__vectors_end = .; \
|
. = __vectors_lma + SIZEOF(.vectors); \
|
||||||
\
|
\
|
||||||
__stubs_start = .; \
|
__stubs_lma = .; \
|
||||||
.stubs ADDR(.vectors) + 0x1000 : AT(__stubs_start) { \
|
.stubs ADDR(.vectors) + 0x1000 : AT(__stubs_lma) { \
|
||||||
*(.stubs) \
|
*(.stubs) \
|
||||||
} \
|
} \
|
||||||
. = __stubs_start + SIZEOF(.stubs); \
|
ARM_LMA(__stubs, .stubs); \
|
||||||
__stubs_end = .; \
|
. = __stubs_lma + SIZEOF(.stubs); \
|
||||||
\
|
\
|
||||||
PROVIDE(vector_fiq_offset = vector_fiq - ADDR(.vectors));
|
PROVIDE(vector_fiq_offset = vector_fiq - ADDR(.vectors));
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user