summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2019-02-24 21:57:44 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2019-02-24 21:57:44 +0000
commit8e32ad68593aeb3c9ffd664aabc421d2eddc0467 (patch)
tree6ab75529fe52fea40ca31b1b36e55fc090f6bd9b
parentee70dba9c499ad1f2536977f22eea2cbbfbbacd6 (diff)
downloads6-portable-utils-8e32ad68593aeb3c9ffd664aabc421d2eddc0467.tar.xz
Build everything as PIC by default
-rw-r--r--.gitignore43
-rw-r--r--COPYING2
-rw-r--r--NEWS1
-rwxr-xr-xconfigure21
-rw-r--r--doc/upgrade.html6
5 files changed, 55 insertions, 18 deletions
diff --git a/.gitignore b/.gitignore
index 180d04c..6b24cdd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,46 @@
*.so.*
/config.mak
/src/include/s6-portable-utils/config.h
+/s6-basename
+/s6-cat
+/s6-chmod
+/s6-chown
+/s6-clock
+/s6-cut
+/s6-dirname
+/s6-dumpenv
+/s6-echo
+/s6-env
+/s6-expr
+/s6-false
+/s6-format-filter
+/s6-grep
+/s6-head
+/s6-hiercopy
+/s6-linkname
+/s6-ln
+/s6-ls
+/s6-maximumtime
+/s6-mkdir
+/s6-mkfifo
+/s6-nice
+/s6-nuke
+/s6-pause
+/s6-printenv
+/s6-quote
+/s6-quote-filter
+/s6-rename
+/s6-rmrf
+/s6-seq
+/s6-sleep
+/s6-sort
+/s6-sync
+/s6-tail
+/s6-test
+/s6-touch
+/s6-true
+/s6-uniquename
+/s6-unquote
+/s6-unquote-filter
+/s6-update-symlinks
+/seekablepipe
diff --git a/COPYING b/COPYING
index 1629e84..f019bc7 100644
--- a/COPYING
+++ b/COPYING
@@ -1,4 +1,4 @@
-Copyright (c) 2011-2018 Laurent Bercot <ska-skaware@skarnet.org>
+Copyright (c) 2011-2019 Laurent Bercot <ska-skaware@skarnet.org>
Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above
diff --git a/NEWS b/NEWS
index 90217ff..38b82b5 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,7 @@ In 2.2.1.3
- s6-ln doesn't use potentially blocking random anymore, so it's
usable in early boot. This needs skalibs-2.8.0.0, however.
+ - Everything now builds as PIC by default.
In 2.2.1.2
diff --git a/configure b/configure
index 9686932..b5d01ee 100755
--- a/configure
+++ b/configure
@@ -40,7 +40,7 @@ Optional features:
--disable-static do not build static libraries [enabled]
--disable-allstatic do not prefer linking against static libraries [enabled]
--enable-static-libc make entirely static binaries [disabled]
- --enable-all-pic build everything as PIC [enabled iff toolchain builds PIE]
+ --disable-all-pic do not build executables or static libs as PIC [enabled]
--enable-slashpackage[=ROOT] assume /package installation at ROOT [disabled]
--enable-absolute-paths do not rely on PATH to access this package's binaries,
hardcode absolute BINDIR/foobar paths instead [disabled]
@@ -143,7 +143,7 @@ sysdeps='$prefix/lib/skalibs/sysdeps'
manualsysdeps=false
shared=false
static=true
-allpic=detect
+allpic=true
slashpackage=false
abspath=false
sproot=
@@ -303,20 +303,6 @@ if [ "x$target" != "x$(cat $sysdeps/target)" ] ; then
exit 1
fi
-if test $allpic = detect ; then
- echo "Checking whether we need to build everything as PIC..."
- if $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST -dM -E - < /dev/null | grep -qF __PIE__ ; then
- allpic=true
- echo " ... yes"
- else
- allpic=false
- echo " ... no"
- fi
-fi
-if $allpic ; then
- tryflag CFLAGS_AUTO -fPIC
-fi
-
spawn_lib=$(cat $sysdeps/spawn.lib)
socket_lib=$(cat $sysdeps/socket.lib)
sysclock_lib=$(cat $sysdeps/sysclock.lib)
@@ -324,6 +310,9 @@ tainnow_lib=$(cat $sysdeps/tainnow.lib)
timer_lib=$(cat $sysdeps/timer.lib)
util_lib=$(cat $sysdeps/util.lib)
+if $allpic ; then
+ tryflag CPPFLAGS_AUTO -fPIC
+fi
tryflag CFLAGS_AUTO -std=c99
tryflag CFLAGS -fomit-frame-pointer
tryflag CFLAGS_AUTO -fno-exceptions
diff --git a/doc/upgrade.html b/doc/upgrade.html
index b2427fb..63c62e4 100644
--- a/doc/upgrade.html
+++ b/doc/upgrade.html
@@ -21,7 +21,11 @@
<h2> in 2.2.1.3 </h2>
<ul>
- <li> skalibs dependency bumped to 2.8.0.0. </li>
+ <li> <a href="//skarnet.org/software/skalibs/"></a>skalibs</a>
+dependency bumped to 2.8.0.0. </li>
+ <li> Everything now builds as PIC by default no matter
+the toolchain's settings. Use the <tt>--disable-all-pic</tt> configure
+option to build executables and static libraries as non-PIC. </li>
</ul>
<h2> in 2.2.1.2 </h2>