On 11/28/17 08:23, Justin Hibbits wrote:
On Tue, Nov 28, 2017 at 10:13 AM, Nathan Whitehorn
<nwhiteh...@freebsd.org> wrote:
On 11/28/17 07:27, Justin Hibbits wrote:
On Sat, Nov 25, 2017 at 3:45 PM, Nathan Whitehorn
<nwhiteh...@freebsd.org> wrote:
Author: nwhitehorn
Date: Sat Nov 25 21:45:51 2017
New Revision: 326203
URL: https://svnweb.freebsd.org/changeset/base/326203
Log:
Avoid emitting a PT_INTERP section for powerpc64 kernels and arrange
for
the first instruction to be at the start of the text segment. This
allows
the kernel to be booted correctly by stock kexec-lite.
MFC after: 2 weeks
Modified:
head/sys/conf/ldscript.powerpc64
Modified: head/sys/conf/ldscript.powerpc64
==============================================================================
--- head/sys/conf/ldscript.powerpc64 Sat Nov 25 21:44:23 2017
(r326202)
+++ head/sys/conf/ldscript.powerpc64 Sat Nov 25 21:45:51 2017
(r326203)
@@ -10,7 +10,7 @@ SECTIONS
{
/* Read-only sections, merged into text segment: */
- . = kernbase + SIZEOF_HEADERS;
+ . = kernbase;
PROVIDE (begin = . - SIZEOF_HEADERS);
.text :
@@ -24,7 +24,10 @@ SECTIONS
_etext = .;
PROVIDE (etext = .);
- .interp : { *(.interp) }
+ /* Do not emit PT_INTERP section, which confuses some loaders
(kexec-lite) */
+ .interpX : { *(.interp) } : NONE
+ /DISCARD/ : { *(.interp) }
+
.hash : { *(.hash) }
.dynsym : { *(.dynsym) }
.dynstr : { *(.dynstr) }
This broke powerpc64 Book-E kernels. It now puts a 1MB blank space
ahead of the kernel data (ELF header + 1MB - sizeof(header) of 0's),
meaning that now the kernel needs to be loaded by uboot 1MB earlier in
memory, rather than straight on the 64MB boundary as it has been.
- Justin
How on Earth? It doesn't do that on my system. What binutils are you using?
-Nathan
This is using base binutils (2.17.50...) I don't know why it's doing
this, but readelf shows that file offset 0x0000000000100000 maps to
0xc000000000000000, and it goes from there.
- Justin
Bizarre. Why don't you just revert for now (I need to run) and I can
figure out what went wrong later?
-Nathan
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"