diff options
author | Laurent Bercot <ska-skaware@skarnet.org> | 2019-02-24 21:57:44 +0000 |
---|---|---|
committer | Laurent Bercot <ska-skaware@skarnet.org> | 2019-02-24 21:57:44 +0000 |
commit | 8e32ad68593aeb3c9ffd664aabc421d2eddc0467 (patch) | |
tree | 6ab75529fe52fea40ca31b1b36e55fc090f6bd9b | |
parent | ee70dba9c499ad1f2536977f22eea2cbbfbbacd6 (diff) | |
download | s6-portable-utils-8e32ad68593aeb3c9ffd664aabc421d2eddc0467.tar.xz |
Build everything as PIC by default
-rw-r--r-- | .gitignore | 43 | ||||
-rw-r--r-- | COPYING | 2 | ||||
-rw-r--r-- | NEWS | 1 | ||||
-rwxr-xr-x | configure | 21 | ||||
-rw-r--r-- | doc/upgrade.html | 6 |
5 files changed, 55 insertions, 18 deletions
@@ -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 @@ -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 @@ -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 @@ -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> |