Skip to content

Commit

Permalink
Build the powerpc64 kernel as a position-independent executable. At s…
Browse files Browse the repository at this point in the history
…tartup,

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


git-svn-id: svn+ssh://svn.freebsd.org/base/head@277990 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
  • Loading branch information
nwhitehorn committed Jan 31, 2015
1 parent 68cd9d5 commit 6826176
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 0 deletions.
5 changes: 5 additions & 0 deletions UPDATING
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11.x IS SLOW:
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
Expand Down
5 changes: 5 additions & 0 deletions sys/conf/Makefile.powerpc
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 6826176

Please sign in to comment.