From: Joshua E. <jo...@us...> - 2012-09-22 18:44:47
|
The branch "master" has been updated in SBCL: via 79a85a298ab6cd6d7ba8087d6a67e4902788a034 (commit) from 266ccb364ef5379abd1c0c7b0a2aa81c41753de6 (commit) - Log ----------------------------------------------------------------- commit 79a85a298ab6cd6d7ba8087d6a67e4902788a034 Author: Joshua Elsasser <jo...@el...> Date: Sat Sep 22 11:40:50 2012 -0700 Fix build on OpenBSD systems with PIE enabled by default in the C compiler. --- ...onfig.x86-64-openbsd => Config.generic-openbsd} | 14 +++++++++----- src/runtime/Config.ppc-openbsd | 3 +-- src/runtime/Config.x86-64-openbsd | 4 +--- src/runtime/Config.x86-openbsd | 4 +--- 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/runtime/Config.x86-64-openbsd b/src/runtime/Config.generic-openbsd similarity index 67% copy from src/runtime/Config.x86-64-openbsd copy to src/runtime/Config.generic-openbsd index 2077ec1..b63d298 100644 --- a/src/runtime/Config.x86-64-openbsd +++ b/src/runtime/Config.generic-openbsd @@ -9,9 +9,13 @@ # provided with absolutely no warranty. See the COPYING and CREDITS # files for more information. -include Config.x86-64-bsd - -ASSEM_SRC += ldso-stubs.S -OS_LIBS += -lutil - LINKFLAGS += -export-dynamic +OS_LIBS += -lutil + +# If the compiler recognizes a -nopie flag then we're building on a +# PIE-by-default system, so disable PIE. +ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e -nopie),) +CFLAGS += -fno-pie +LINKFLAGS += -nopie +LDFLAGS += -nopie +endif diff --git a/src/runtime/Config.ppc-openbsd b/src/runtime/Config.ppc-openbsd index fd165fb..1918e37 100644 --- a/src/runtime/Config.ppc-openbsd +++ b/src/runtime/Config.ppc-openbsd @@ -9,13 +9,12 @@ # provided with absolutely no warranty. See the COPYING and CREDITS # files for more information. -LINKFLAGS += -export-dynamic +include Config.generic-openbsd ASSEM_SRC = ppc-assem.S ldso-stubs.S ARCH_SRC = ppc-arch.c OS_SRC = bsd-os.c ppc-bsd-os.c -OS_LIBS = -lutil ifdef LISP_FEATURE_SB_CORE_COMPRESSION OS_LIBS += -lz diff --git a/src/runtime/Config.x86-64-openbsd b/src/runtime/Config.x86-64-openbsd index 2077ec1..c2847e2 100644 --- a/src/runtime/Config.x86-64-openbsd +++ b/src/runtime/Config.x86-64-openbsd @@ -10,8 +10,6 @@ # files for more information. include Config.x86-64-bsd +include Config.generic-openbsd ASSEM_SRC += ldso-stubs.S -OS_LIBS += -lutil - -LINKFLAGS += -export-dynamic diff --git a/src/runtime/Config.x86-openbsd b/src/runtime/Config.x86-openbsd index 40f6fc9..56b741f 100644 --- a/src/runtime/Config.x86-openbsd +++ b/src/runtime/Config.x86-openbsd @@ -10,14 +10,12 @@ # files for more information. include Config.x86-bsd +include Config.generic-openbsd ASSEM_SRC += ldso-stubs.S -OS_LIBS += -lutil # The -Z linker flag conflicts with the default address space # locations used. If you wish to link the runtime using -Z option then # please see the comments in src/compiler/x86/parms.lisp -LINKFLAGS += -export-dynamic - CFLAGS += -fno-omit-frame-pointer ----------------------------------------------------------------------- hooks/post-receive -- SBCL |