Permalink
Browse files

Fix build on OpenBSD systems with PIE enabled by default in the C com…

…piler.
  • Loading branch information...
1 parent 266ccb3 commit 79a85a298ab6cd6d7ba8087d6a67e4902788a034 @jre jre committed Sep 22, 2012
@@ -0,0 +1,21 @@
+# -*- makefile -*- for the C-level run-time support for SBCL
+
+# This software is part of the SBCL system. See the README file for
+# more information.
+#
+# This software is derived from the CMU CL system, which was
+# written at Carnegie Mellon University and released into the
+# public domain. The software is in the public domain and is
+# provided with absolutely no warranty. See the COPYING and CREDITS
+# files for more information.
+
+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
@@ -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
@@ -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
@@ -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

0 comments on commit 79a85a2

Please sign in to comment.