From: Roman Bogorodskiy Date: Sat, 9 May 2015 16:06:36 +0000 (+0300) Subject: maint: extend PIE support check X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=97e70a593589e8f0432a748b4b93c3cdc18b9e5a;p=people%2Fliuw%2Flibxenctrl-split%2Flibvirt.git maint: extend PIE support check GCC installed from FreeBSD ports doesn't support building PIE executables and fails with: /usr/local/bin/ld: /usr/lib/crt1.o: relocation R_X86_64_32 against `_DYNAMIC' can not be used when making a shared object; recompile with -fPIC /usr/lib/crt1.o: error adding symbols: Bad value collect2: error: ld returned 1 exit status However, the configure check for '-fPIC -DPIC' doesn't catch that. In order to catch this case, add '-pie' to CFLAGS in m4/virt-compile-pie.m4 so it could detect lack of PIE support on configure time and don't fail the build. --- diff --git a/m4/virt-compile-pie.m4 b/m4/virt-compile-pie.m4 index cceb495df..c0fb346ff 100644 --- a/m4/virt-compile-pie.m4 +++ b/m4/virt-compile-pie.m4 @@ -25,8 +25,8 @@ AC_DEFUN([LIBVIRT_COMPILE_PIE],[ *-*-mingw* | *-*-msvc* | *-*-cygwin* ) ;; dnl All code is position independent on Win32 target *) - gl_COMPILER_OPTION_IF([-fPIE -DPIE], [ - PIE_CFLAGS="-fPIE -DPIE" + gl_COMPILER_OPTION_IF([-fPIE -DPIE -pie], [ + PIE_CFLAGS="-fPIE -DPIE -pie" PIE_LDFLAGS="-pie" ]) esac