powerpc64le -fpic dynamically linked binary support

Update stub for -fpic support
 Handle 64K page in p_lx_elf.cpp

Signed-off-by: Thierry Fauck <tfauck@free.fr>
This commit is contained in:
Thierry Fauck
2016-11-08 18:29:10 +01:00
parent 5c0340f9ae
commit b1c07c22ce
3 changed files with 162 additions and 169 deletions
+4 -1
View File
@@ -2327,7 +2327,10 @@ PackLinuxElf64::generateElfHdr(
// However, somebody might complain because (.p_vaddr - .p_offset)
// is divisible only by phdr[1].p_align, and not by phdr[0].p_align.
set_te64(&h2->phdr[1].p_align, 0x1000);
set_te64(&h2->phdr[1].p_offset, /*~page_mask*/ 0xfff & brkb);
if ( ~page_mask == 0xffff ) /* 64K specific case */
set_te64(&h2->phdr[1].p_offset, /*~page_mask*/ 0xffff & brkb);
else
set_te64(&h2->phdr[1].p_offset, /*~page_mask*/ 0xfff & brkb);
set_te64(&h2->phdr[1].p_vaddr, brkb);
set_te64(&h2->phdr[1].p_paddr, brkb);