svn commit: r277990 - in head: . sys/conf

Nathan Whitehorn nwhitehorn at FreeBSD.org
Sat Jan 31 19:16:52 UTC 2015


Author: nwhitehorn
Date: Sat Jan 31 19:16:51 2015
New Revision: 277990
URL: https://svnweb.freebsd.org/changeset/base/277990

Log:
  Build the powerpc64 kernel as a position-independent executable. At startup,
  it processes its own ELF relocations and can be loaded and run in place at
  any physical/virtual address.
  
  NB: This requires an updated loader to boot!
  
  Relnotes:	yes

Modified:
  head/UPDATING
  head/sys/conf/Makefile.powerpc

Modified: head/UPDATING
==============================================================================
--- head/UPDATING	Sat Jan 31 18:57:45 2015	(r277989)
+++ head/UPDATING	Sat Jan 31 19:16:51 2015	(r277990)
@@ -31,6 +31,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11
 	disable the most expensive debugging functionality run
 	"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20150131:
+	The powerpc64 kernel has been changed to a position-independent
+	executable. This can only be booted with a new version of loader(8),
+	so make sure to update both world and kernel before rebooting.
+
 20150118:
 	Clang and llvm have been upgraded to 3.5.1 release.  This is a bugfix
 	only release, no new features have been added.  Please see the 20141231

Modified: head/sys/conf/Makefile.powerpc
==============================================================================
--- head/sys/conf/Makefile.powerpc	Sat Jan 31 18:57:45 2015	(r277989)
+++ head/sys/conf/Makefile.powerpc	Sat Jan 31 19:16:51 2015	(r277990)
@@ -37,6 +37,11 @@ INCLUDES+= -I$S/contrib/libfdt
 
 CFLAGS+= -msoft-float -Wa,-many
 
+.if ${MACHINE_ARCH} == "powerpc64"
+CFLAGS+= -fPIC
+LDFLAGS+= -pie
+.endif
+
 .if !empty(DDB_ENABLED)
 CFLAGS+=	-fno-omit-frame-pointer
 .endif


More information about the svn-src-head mailing list