diff options
author | Laurent Bercot <ska-skaware@skarnet.org> | 2017-10-29 23:21:22 +0000 |
---|---|---|
committer | Laurent Bercot <ska-skaware@skarnet.org> | 2017-10-29 23:21:22 +0000 |
commit | 95ace82d4d984b6a9a654e6d8fb2e410b144d8b7 (patch) | |
tree | f6b076e2f751c0992e0ff23a21685d2f3e17c2ab | |
parent | b207f98dfddc9b3b1f1acdcf392276e200352724 (diff) | |
download | s6-portable-utils-95ace82d4d984b6a9a654e6d8fb2e410b144d8b7.tar.gz s6-portable-utils-95ace82d4d984b6a9a654e6d8fb2e410b144d8b7.tar.xz s6-portable-utils-95ace82d4d984b6a9a654e6d8fb2e410b144d8b7.zip |
Support default pie
-rwxr-xr-x | configure | 15 | ||||
-rwxr-xr-x | tools/gen-deps.sh | 4 |
2 files changed, 19 insertions, 0 deletions
diff --git a/configure b/configure index 70b6545..aa6f91f 100755 --- a/configure +++ b/configure @@ -292,6 +292,16 @@ if [ "x$target" != "x$(cat $sysdeps/target)" ] ; then exit 1 fi +defaultpie=false +echo "Checking whether we're building PIE..." +if $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST -dM -E - < /dev/null | grep -qF __PIE__ ; then + defaultpie=true + CFLAGS_AUTO="$CFLAGS_AUTO -fPIC" + echo " ... yes" +else + echo " ... no" +fi + spawn_lib=$(cat $sysdeps/spawn.lib) socket_lib=$(cat $sysdeps/socket.lib) sysclock_lib=$(cat $sysdeps/sysclock.lib) @@ -404,6 +414,11 @@ if $shared ; then else echo "DO_SHARED :=" fi +if $defaultpie ; then + echo "DEFAULT_PIE := 1" +else + echo "DEFAULT_PIE :=" +fi exec 1>&3 3>&- echo " ... done." diff --git a/tools/gen-deps.sh b/tools/gen-deps.sh index 5c96dd1..67ec2d4 100755 --- a/tools/gen-deps.sh +++ b/tools/gen-deps.sh @@ -65,7 +65,11 @@ for dir in $(ls -1 src | grep -v ^include) ; do deps="$deps src/$dir/$dep" fi done < src/$dir/deps-lib/$file + echo 'ifeq ($(strip $(DEFAULT_PIE)),)' echo "lib${file}.a.xyzzy:$deps" + echo else + echo "lib${file}.a.xyzzy:$(echo "$deps" | sed 's/\.o/.lo/g')" + echo endif echo "lib${file}.so.xyzzy: EXTRA_LIBS :=$libs" echo "lib${file}.so.xyzzy:$(echo "$deps" | sed 's/\.o/.lo/g')" done |