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:
parent
65bf34f595
commit
f8850abb7b
|
@ -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 = .;
|
||||||
|
|
Loading…
Reference in New Issue