coreboot/util
Ronald G. Minnich 4f819e8549 cbfs: fix issues with word size and endianness.
Add XDR functions and use them to convert the ELF headers
to native headers, using the Elf64 structs to ensure we accomodate
all word sizes. Also, use these XDR functions for output.

This may seem overly complex but it turned out to be much the easiest
way to do this. Note that the basic elf parsing function
in cbfs-mkstage.c now works over all ELF files, for all architectures,
endian, and word size combinations. At the same time, the basic elf parsing
in cbfs-mkstage.c is a loop that has no architecture-specific conditionals.

Add -g to the LDFLAGS while we're here. It's on the CFLAGS so there is no
harm done.

BUG=None
TEST=Build and boot for Peppy; works fine. Build and boot for nyan, works fine. Build for qemu targets and armv8 targets.
BRANCH=None

Change-Id: I5a4cee9854799189115ac701e22efc406a8d902f
Signed-off-by: Ronald G. Minnich <rminnich@google.com>
Reviewed-on: https://chromium-review.googlesource.com/178606
Reviewed-by: Ronald Minnich <rminnich@chromium.org>
Commit-Queue: Ronald Minnich <rminnich@chromium.org>
Tested-by: Ronald Minnich <rminnich@chromium.org>
2013-12-11 09:04:54 +00:00
..
abuild ARM: Generalize armv7 as arm. 2013-10-02 09:18:44 +00:00
acpi GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
amdtools Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
cbfstool cbfs: fix issues with word size and endianness. 2013-12-11 09:04:54 +00:00
cbmem cbmem: print timestamp names 2013-08-19 12:23:28 -07:00
crossgcc crossgcc: Fix building with texinfo-5.x 2013-03-28 21:14:50 +01:00
dtd_parser GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
dumpmmcr dumpmmcr: Fix compilation warnings in printf 2012-01-26 09:57:56 +01:00
ectool GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
exynos exynos: Install the BL1 and set the checksum in the Makefile. 2013-12-10 03:26:39 +00:00
genprof Rename devices -> device 2012-11-30 23:59:58 +01:00
getpir GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
gitconfig gitconfig: Match the Change-Id line more exactly 2012-08-27 15:41:33 +02:00
i915tool GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
ifdtool ifdtool: Dump more registers from FD 2012-11-12 06:56:03 +01:00
inteltool inteltool: remove unused file descriptor variable and ifdefs 2013-04-08 18:17:59 +02:00
k8resdump GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
kconfig kconfig: add named choice group 2013-05-13 17:18:52 -07:00
lbtdump Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
lint build system: Split linking into multiple steps 2012-11-27 22:02:02 +01:00
mkelfImage GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
mptable mptable: realign comments with code 2012-06-20 12:46:55 +02:00
msrtool GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
nrv2b Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
nvramtool coreboot: add -MG to makefile to make it pass clang. 2013-08-12 17:24:32 -07:00
optionlist GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
resetcf Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
romcc GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
runfw ARM: Generalize armv7 as arm. 2013-10-02 09:18:44 +00:00
sconfig sconfig: rename lapic_cluster -> cpu_cluster 2013-02-14 07:07:20 +01:00
scripts chromeos: add internal scripts to handle 3rdparty files 2013-04-12 13:18:10 -07:00
showdevicetree ARM: Generalize armv7 as arm. 2013-10-02 09:18:44 +00:00
superiotool libpayload, superiotool: README: Prepend coreboot/ to path of change directory line 2013-04-04 17:22:15 +02:00
vgabios Rename devices -> device 2012-11-30 23:59:58 +01:00
xcompile xcompile: always use -march=i686 2013-10-10 20:48:38 +00:00