diff --git a/package/rpm/0001-Detect-bfd.h-to-enable-disable-sepdebugcrcfix-buildi.patch b/package/rpm/0001-Detect-bfd.h-to-enable-disable-sepdebugcrcfix-buildi.patch new file mode 100644 index 0000000000..e1fd0697e6 --- /dev/null +++ b/package/rpm/0001-Detect-bfd.h-to-enable-disable-sepdebugcrcfix-buildi.patch @@ -0,0 +1,55 @@ +From edadcf67980764c104c25c7c1a0ba91257b89698 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Thu, 8 Dec 2016 23:33:30 +0100 +Subject: [PATCH 1/2] Detect bfd.h to enable/disable sepdebugcrcfix building + +tools/sepdebugcrcfix includes , but this header from binutils +is not checked in the configure script. Due to this, sepdebugcrcfix is +attempted to be built even when is not available. This commit +addresses that by adding the appropriate configure check. + +This fixes the following build error: + +tools/sepdebugcrcfix.c:31:17: fatal error: bfd.h: No such file or directory +compilation terminated. +make[3]: *** [tools/sepdebugcrcfix.o] Error 1 + +Signed-off-by: Thomas Petazzoni +--- + Makefile.am | 2 ++ + configure.ac | 3 +++ + 2 files changed, 5 insertions(+) + +diff --git a/Makefile.am b/Makefile.am +index 863138c..d8a68f0 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -168,9 +168,11 @@ elfdeps_SOURCES = tools/elfdeps.c + elfdeps_LDADD = rpmio/librpmio.la + elfdeps_LDADD += @WITH_LIBELF_LIB@ @WITH_POPT_LIB@ + ++if HAS_BFD_H + rpmlibexec_PROGRAMS += sepdebugcrcfix + sepdebugcrcfix_SOURCES = tools/sepdebugcrcfix.c + sepdebugcrcfix_LDADD = @WITH_LIBELF_LIB@ ++endif # HAS_BFD_H + endif + endif + +diff --git a/configure.ac b/configure.ac +index c5ae701..b99ecb8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -242,6 +242,9 @@ AC_CHECK_HEADERS([dwarf.h], [ + ]) + AM_CONDITIONAL(LIBDWARF,[test "$WITH_LIBDWARF" = yes]) + ++AC_CHECK_HEADERS([bfd.h]) ++AM_CONDITIONAL(HAS_BFD_H, [test "${ac_cv_header_bfd_h}" = "yes"]) ++ + #================= + # Check for beecrypt library if requested. + AC_ARG_WITH(beecrypt, [ --with-beecrypt build with beecrypt support ],,[with_beecrypt=no]) +-- +2.7.4 + diff --git a/package/rpm/0002-tools-sepdebugcrcfix.c-fix-build-with-recent-binutil.patch b/package/rpm/0002-tools-sepdebugcrcfix.c-fix-build-with-recent-binutil.patch new file mode 100644 index 0000000000..bebe94511d --- /dev/null +++ b/package/rpm/0002-tools-sepdebugcrcfix.c-fix-build-with-recent-binutil.patch @@ -0,0 +1,43 @@ +From 65afab91444d4996a8e61d1e2d27d52e18417ef5 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Thu, 8 Dec 2016 23:45:55 +0100 +Subject: [PATCH 2/2] tools/sepdebugcrcfix.c: fix build with recent binutils + +Moderately recent binutils versions install a header that +checks if config.h is included. While this makes sense in binutils +itself, it does not outside. So the binutils developers have added a +check: if PACKAGE or PACKAGE_VERSION are defined, they assume you're +re-using bfd.h outside of binutils, and therefore including it without +including config.h is legit. + +So we take the same approch as numerous users of bfd.h: fake a PACKAGE +definition. See for example tools/perf/util/srcline.c in the Linux +kernel source tree. + +This fixes the following build error: + +In file included from tools/sepdebugcrcfix.c:31:0: +/home/test/autobuild/run/instance-0/output/host/usr/arc-buildroot-linux-uclibc/sysroot/usr/include/bfd.h:35:2: error: #error config.h must be included before this header + #error config.h must be included before this header + +Signed-off-by: Thomas Petazzoni +--- + tools/sepdebugcrcfix.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/tools/sepdebugcrcfix.c b/tools/sepdebugcrcfix.c +index cd7fa02..e7b480f 100644 +--- a/tools/sepdebugcrcfix.c ++++ b/tools/sepdebugcrcfix.c +@@ -28,6 +28,8 @@ + #include + #include + #include ++/* Needed to please */ ++#define PACKAGE "rpm" + #include + + #define _(x) x +-- +2.7.4 +