about summary refs log tree commit diff
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.gz
s6-portable-utils-8e32ad68593aeb3c9ffd664aabc421d2eddc0467.tar.xz
s6-portable-utils-8e32ad68593aeb3c9ffd664aabc421d2eddc0467.zip
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>