parisc: Fix kernel memory layout regarding position of __gp

Architecturally we need to keep __gp below 0x1000000.

But because of ftrace and tracepoint support, the RO_DATA_SECTION now gets much
bigger than it was before. By moving the linkage tables before RO_DATA_SECTION
we can avoid that __gp gets positioned at a too high address.

Cc: stable@vger.kernel.org # 4.4+
Signed-off-by: Helge Deller <deller@gmx.de>
This commit is contained in:
Helge Deller 2016-10-09 11:12:34 +02:00
parent 65bf34f595
commit f8850abb7b

View File

@ -90,8 +90,9 @@ SECTIONS
/* Start of data section */ /* Start of data section */
_sdata = .; _sdata = .;
RO_DATA_SECTION(8) /* Architecturally we need to keep __gp below 0x1000000 and thus
* in front of RO_DATA_SECTION() which stores lots of tracepoint
* and ftrace symbols. */
#ifdef CONFIG_64BIT #ifdef CONFIG_64BIT
. = ALIGN(16); . = ALIGN(16);
/* Linkage tables */ /* Linkage tables */
@ -106,6 +107,8 @@ SECTIONS
} }
#endif #endif
RO_DATA_SECTION(8)
/* unwind info */ /* unwind info */
.PARISC.unwind : { .PARISC.unwind : {
__start___unwind = .; __start___unwind = .;