1*4882a593SmuzhiyunFrom 5126732d73aa75a0bc84f898042bfe35640624b8 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Thomas Huth <thuth@redhat.com> 3*4882a593SmuzhiyunDate: Wed, 13 May 2020 13:14:46 +0200 4*4882a593SmuzhiyunSubject: [PATCH] Fix powerpc issue with the linker from Fedora 32 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunThe linker from Fedora 32 complains: 7*4882a593Smuzhiyun 8*4882a593Smuzhiyunpowerpc64-linux-gnu-ld: powerpc/selftest.elf: error: PHDR segment not 9*4882a593Smuzhiyun covered by LOAD segment 10*4882a593Smuzhiyun 11*4882a593SmuzhiyunLet's introduce some fake PHDRs to the linker script to get this 12*4882a593Smuzhiyunworking again. 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunMessage-Id: <20200514192626.9950-7-thuth@redhat.com> 15*4882a593SmuzhiyunSigned-off-by: Thomas Huth <thuth@redhat.com> 16*4882a593SmuzhiyunSigned-off-by: Matthew Weber <matthew.weber@collins.com> 17*4882a593Smuzhiyun--- 18*4882a593Smuzhiyun powerpc/flat.lds | 19 ++++++++++++++++--- 19*4882a593Smuzhiyun 1 file changed, 16 insertions(+), 3 deletions(-) 20*4882a593Smuzhiyun 21*4882a593Smuzhiyundiff --git a/powerpc/flat.lds b/powerpc/flat.lds 22*4882a593Smuzhiyunindex 53221e8..5eed368 100644 23*4882a593Smuzhiyun--- a/powerpc/flat.lds 24*4882a593Smuzhiyun+++ b/powerpc/flat.lds 25*4882a593Smuzhiyun@@ -1,7 +1,17 @@ 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun+PHDRS 28*4882a593Smuzhiyun+{ 29*4882a593Smuzhiyun+ text PT_LOAD FLAGS(5); 30*4882a593Smuzhiyun+ data PT_LOAD FLAGS(6); 31*4882a593Smuzhiyun+} 32*4882a593Smuzhiyun+ 33*4882a593Smuzhiyun SECTIONS 34*4882a593Smuzhiyun { 35*4882a593Smuzhiyun- .text : { *(.init) *(.text) *(.text.*) } 36*4882a593Smuzhiyun+ .text : { 37*4882a593Smuzhiyun+ *(.init) 38*4882a593Smuzhiyun+ *(.text) 39*4882a593Smuzhiyun+ *(.text.*) 40*4882a593Smuzhiyun+ } :text 41*4882a593Smuzhiyun . = ALIGN(64K); 42*4882a593Smuzhiyun etext = .; 43*4882a593Smuzhiyun .opd : { *(.opd) } 44*4882a593Smuzhiyun@@ -19,9 +29,12 @@ SECTIONS 45*4882a593Smuzhiyun .data : { 46*4882a593Smuzhiyun *(.data) 47*4882a593Smuzhiyun *(.data.rel*) 48*4882a593Smuzhiyun- } 49*4882a593Smuzhiyun+ } :data 50*4882a593Smuzhiyun . = ALIGN(16); 51*4882a593Smuzhiyun- .rodata : { *(.rodata) *(.rodata.*) } 52*4882a593Smuzhiyun+ .rodata : { 53*4882a593Smuzhiyun+ *(.rodata) 54*4882a593Smuzhiyun+ *(.rodata.*) 55*4882a593Smuzhiyun+ } :data 56*4882a593Smuzhiyun . = ALIGN(16); 57*4882a593Smuzhiyun .bss : { *(.bss) } 58*4882a593Smuzhiyun . = ALIGN(256); 59*4882a593Smuzhiyun-- 60*4882a593Smuzhiyun2.17.1 61*4882a593Smuzhiyun 62