summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2014-03-05 12:12:09 -0600
committerAaron Durbin <adurbin@google.com>2014-03-13 05:28:44 +0100
commit54ef306377024bea83ffe0622c9a53ab4f4f5ec1 (patch)
tree418f13ae20a5aa7557bad3131f75b31f6cc1a74f
parentaa8784c2d140c373b6edaf20192a9ed0669f0956 (diff)
downloadcoreboot-54ef306377024bea83ffe0622c9a53ab4f4f5ec1.tar.xz
cbfstool: add eflparsing.h
elfparsing.h serves as the header to working with the elf parser. Additionally, only include what is needed by the other files. Many had no reason to be including elf.h aside from fixing compilation problems when including cbfs.h. Change-Id: I9eb5f09f3122aa18beeca52d2e4dc2102d70fb9d Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/5370 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-by: Marc Jones <marc.jones@se-eng.com>
-rw-r--r--util/cbfstool/cbfs-mkpayload.c2
-rw-r--r--util/cbfstool/cbfs-mkstage.c2
-rw-r--r--util/cbfstool/cbfs.h9
-rw-r--r--util/cbfstool/cbfs_image.c1
-rw-r--r--util/cbfstool/cbfstool.c1
-rw-r--r--util/cbfstool/elfheaders.c2
-rw-r--r--util/cbfstool/elfparsing.h32
-rw-r--r--util/cbfstool/fit.c1
8 files changed, 35 insertions, 15 deletions
diff --git a/util/cbfstool/cbfs-mkpayload.c b/util/cbfstool/cbfs-mkpayload.c
index 8c9f93485d..67002b0e66 100644
--- a/util/cbfstool/cbfs-mkpayload.c
+++ b/util/cbfstool/cbfs-mkpayload.c
@@ -23,7 +23,7 @@
#include <stdlib.h>
#include <string.h>
-#include "elf.h"
+#include "elfparsing.h"
#include "common.h"
#include "cbfs.h"
#include "fv.h"
diff --git a/util/cbfstool/cbfs-mkstage.c b/util/cbfstool/cbfs-mkstage.c
index 233ec57deb..6aa3746bc7 100644
--- a/util/cbfstool/cbfs-mkstage.c
+++ b/util/cbfstool/cbfs-mkstage.c
@@ -24,7 +24,7 @@
#include <stdlib.h>
#include <string.h>
-#include "elf.h"
+#include "elfparsing.h"
#include "common.h"
#include "cbfs.h"
diff --git a/util/cbfstool/cbfs.h b/util/cbfstool/cbfs.h
index 1839646162..a561b2b80b 100644
--- a/util/cbfstool/cbfs.h
+++ b/util/cbfstool/cbfs.h
@@ -20,7 +20,6 @@
#define __CBFS_H
#include <stdint.h>
-#include "elf.h"
/* create a magic number in host-byte order.
* b3 is the high order byte.
@@ -129,14 +128,6 @@ uint32_t get_cbfs_compression(const char *name, uint32_t unknown);
/* common.c */
void cbfs_file_get_header(struct buffer *buf, struct cbfs_file *file);
-/* elfheaders.c */
-int
-elf_headers(const struct buffer *pinput,
- uint32_t arch,
- Elf64_Ehdr *ehdr,
- Elf64_Phdr **pphdr,
- Elf64_Shdr **pshdr);
-
/* cbfs-mkpayload.c */
void xdr_segs(struct buffer *output,
struct cbfs_payload_segment *segs, int nseg);
diff --git a/util/cbfstool/cbfs_image.c b/util/cbfstool/cbfs_image.c
index 6ecffd1799..b9d5f28486 100644
--- a/util/cbfstool/cbfs_image.c
+++ b/util/cbfstool/cbfs_image.c
@@ -24,7 +24,6 @@
#include <string.h>
#include "common.h"
-#include "elf.h"
#include "cbfs_image.h"
/* The file name align is not defined in CBFS spec -- only a preference by
diff --git a/util/cbfstool/cbfstool.c b/util/cbfstool/cbfstool.c
index ead2d88f9f..73b1cf05ee 100644
--- a/util/cbfstool/cbfstool.c
+++ b/util/cbfstool/cbfstool.c
@@ -26,7 +26,6 @@
#include <unistd.h>
#include <getopt.h>
#include "common.h"
-#include "elf.h"
#include "cbfs.h"
#include "cbfs_image.h"
#include "fit.h"
diff --git a/util/cbfstool/elfheaders.c b/util/cbfstool/elfheaders.c
index f987747753..0b05255204 100644
--- a/util/cbfstool/elfheaders.c
+++ b/util/cbfstool/elfheaders.c
@@ -21,7 +21,7 @@
#include <stdlib.h>
#include <string.h>
-#include "elf.h"
+#include "elfparsing.h"
#include "common.h"
#include "cbfs.h"
diff --git a/util/cbfstool/elfparsing.h b/util/cbfstool/elfparsing.h
new file mode 100644
index 0000000000..3cfa1cd6ba
--- /dev/null
+++ b/util/cbfstool/elfparsing.h
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2014 Google, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA, 02110-1301 USA
+ */
+
+#ifndef ELFPARSING_H
+#define ELFPARSING_H
+
+#include "elf.h"
+
+struct buffer;
+
+int
+elf_headers(const struct buffer *pinput,
+ uint32_t arch,
+ Elf64_Ehdr *ehdr,
+ Elf64_Phdr **pphdr,
+ Elf64_Shdr **pshdr);
+
+#endif /* ELFPARSING_H */
diff --git a/util/cbfstool/fit.c b/util/cbfstool/fit.c
index 84f0bfff25..bf6c6d4dd5 100644
--- a/util/cbfstool/fit.c
+++ b/util/cbfstool/fit.c
@@ -23,7 +23,6 @@
#include <stdio.h>
#include "common.h"
-#include "elf.h"
#include "cbfs.h"
#include "cbfs_image.h"
#include "fit.h"