]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
maint: extend PIE support check
authorRoman Bogorodskiy <bogorodskiy@gmail.com>
Sat, 9 May 2015 16:06:36 +0000 (19:06 +0300)
committerRoman Bogorodskiy <bogorodskiy@gmail.com>
Mon, 11 May 2015 17:08:47 +0000 (20:08 +0300)
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.

m4/virt-compile-pie.m4

index cceb495dfdac6f984428dd626f0d48d1244466dc..c0fb346ff78424359b5d888d478bacc4fde1b24e 100644 (file)
@@ -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