]> granicus.if.org Git - zfs/commitdiff
Fix powerpc build
authorBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 6 Mar 2017 17:17:24 +0000 (09:17 -0800)
committerGitHub <noreply@github.com>
Mon, 6 Mar 2017 17:17:24 +0000 (09:17 -0800)
Unlike other architectures which sanitize the LDFLAGS from the
environment in arch/<arch>/Makefile.  The powerpc Makefile
allows LDFLAGS to be passed through resulting in the following
build failure.

  /usr/bin/ld: unrecognized option '-Wl,-z,relro'

LDFLAGS is set in /usr/lib/rpm/redhat/macros by default.  Clear
the environment variable when building kmods for powerpc.

Additionally, now that ppc64le exists it's not longer safe to
assume a powerpc system is big endian.  Rely on the endianness
provided by the compiler.

Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #5856

lib/libspl/include/sys/isa_defs.h
rpm/generic/zfs-kmod.spec.in
rpm/redhat/zfs-kmod.spec.in

index 3bca5cf02e1b898f909867ad3edba4370d27075d..90d7a497111724988efe313d5bbf420fe648f613 100644 (file)
@@ -98,10 +98,6 @@ extern "C" {
 #endif
 #endif
 
-#if !defined(_BIG_ENDIAN)
-#define        _BIG_ENDIAN
-#endif
-
 #define        _SUNOS_VTOC_16
 
 /* arm arch specific defines */
index 9d10e6075801e736fbf013ef65d140616922d34a..b635e6ea74bd2575675cf94c7078406d8bcefaf7 100644 (file)
@@ -86,6 +86,11 @@ BuildRequires:             kmod-spl-devel = %{version}
 %global KmodsMetaRequires  spl-kmod
 %endif
 
+# LDFLAGS are not sanitized by arch/powerpc/Makefile (unlike other arches)
+%ifarch ppc ppc64 ppc64le
+%global __global_ldflags %{nil}
+%endif
+
 %if 0%{?fedora} >= 17
 %define prefix  /usr
 %endif
index fa0c1108e08977f6460574a352d676b62266c9e0..ae7e95d63e652a8ed39fdabb53f8f2870a9d6386 100644 (file)
@@ -21,6 +21,11 @@ Requires:       spl-kmod\n\
 Requires:       @PACKAGE@ = %{version}\n\
 Conflicts:      @PACKAGE@-dkms\n\n" > %{_sourcedir}/kmod-preamble)
 
+# LDFLAGS are not sanitized by arch/powerpc/Makefile (unlike other arches)
+%ifarch ppc ppc64 ppc64le
+%global __global_ldflags %{nil}
+%endif
+
 %description
 This package contains the ZFS kernel modules.