![Thomas Petazzoni](/assets/img/avatar_default.png)
This commit adds two patches to the rpm package to fix two separate but related build issues: - The first patch fixes a build that occurs when rpm is built after elfutils, but without binutils. In this case, dwarf.h is present, so rpm enables the build of a number of additional tools. But one of them uses bfd.h, provided by binutils, without checking for its existence. So the first patch fixes that by checking for bfd.h existence before enabling the tool. Fixes: http://autobuild.buildroot.net/results/810/810e24cab65f67d143da29c78c0f89d37a851cd7/build-end.log - The second patch fixes a build issue that occurs when rpm is built after both dwarf and binutils. In this case, bfd.h complains because config.h is not included. That's a weird and silly issue in bfd.h that the binutils developers don't want to fix, and you have to define PACKAGE or PACKAGE_VERSION before including bfd.h to use it outside of binutils. Fixes: http://autobuild.buildroot.net/results/362/362502f89631c9ba1d71906527674657ccff01ed/build-end.log Thanks a lot to James Knight <james.knight@rockwellcollins.com> for the initial investigation about the first issue. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
44 lines
1.5 KiB
Diff
44 lines
1.5 KiB
Diff
From 65afab91444d4996a8e61d1e2d27d52e18417ef5 Mon Sep 17 00:00:00 2001
|
|
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
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 <bfd.h> 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 <thomas.petazzoni@free-electrons.com>
|
|
---
|
|
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 <error.h>
|
|
#include <libelf.h>
|
|
#include <gelf.h>
|
|
+/* Needed to please <bfd.h> */
|
|
+#define PACKAGE "rpm"
|
|
#include <bfd.h>
|
|
|
|
#define _(x) x
|
|
--
|
|
2.7.4
|
|
|