summaryrefslogtreecommitdiff
path: root/fdtdump.c
AgeCommit message (Collapse)Author
2021-08-26fdtdump: fix -Werror=int-to-pointer-cast Marc-André Lureau
With mingw64-gcc, the compiler complains with various warnings: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast] Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20210825121350.213551-1-marcandre.lureau@redhat.com> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2021-06-15fdtdump: Fix signedness comparisons warnings Andre Przywara
With -Wsign-compare, compilers warn about a mismatching signedness in comparisons in fdtdump.c. The "len" parameter to valid_header() refers to a memory size, not a file offset, so the (unsigned) size_t is better fit, and fixes the warning nicely. In the main function we compare the difference between two pointers, which produces a signed ptrdiff_t type. However the while loop above the comparison makes sure that "p" always points before "endp" (by virtue of the limit in the memchr() call). This means "endp - p" is never negative, so we can safely cast this expression to an unsigned type. This fixes "make fdtdump", when compiled with -Wsign-compare. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Message-Id: <20210611171040.25524-3-andre.przywara@arm.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2021-01-15fdtdump: Fix gcc11 warning David Gibson
In one place, fdtdump abuses fdt_set_magic(), passing it just a small char array instead of the full fdt header it expects. That's relying on the fact that in fact fdt_set_magic() will only actually access the first 4 bytes of the buffer. This trips a new warning in GCC 11 - and it's entirely possible it was always UB. So, don't do that. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-06-21dtc: Add GPLv2 SPDX tags to files missing license text Rob Herring
A couple of dtc files are missing licenses. Add GPL-2.0-or-later SPDX tag to them. Signed-off-by: Rob Herring <robh@kernel.org> Message-Id: <20190620211944.9378-7-robh@kernel.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-01-02Use PRIxPTR for printing uintptr_t values Andreas Schwab
Fixes: 49903aed77 ("use ptrdiff_t modifier for printing pointer differences") Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
2018-10-23use ptrdiff_t modifier for printing pointer differences Dan Horák
Use ptrdiff_t modifier (%tx) for printing a difference between 2 pointers. Currently %zx (size_t) is used, but it fails on platforms where size_t and ptrdiff_t are defined differently (like s390). Comes from https://src.fedoraproject.org/rpms/dtc/c/f3da2d1b00d01d83fef7001d5767baa3d5a6df87?branch=master originally. Signed-off-by: Dan Horák <dan@danny.cz>
2018-06-07Use <inttypes.h> format specifiers in a bunch of places we should David Gibson
Rather than assuming that uint32_t is the same thing as unsigned. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2018-06-07scripts/dtc: Fixed format mismatch in fprintf nixiaoming
format specifier "d" need arg type "int" , but the according arg "fdt32_to_cpu(xxx)" has type "unsigned int" Signed-off-by: nixiaoming <nixiaoming@huawei.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2018-06-07Use size_t for blob lengths in utilfdt_read* David Gibson
It's more appropriate than off_t since it is, after all, a size not an offset. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: Alexey Kardashevskiy <aik@ozlabs.ru>
2018-06-07Consolidate utilfdt_read_len() variants David Gibson
There are no less than _four_ variants on utilfdt_read() which is a bit excessive. The _len() variants are particularly pointless, since we can achieve the same thing with very little extra verbosity by using the usual convention of ignoring return parameters if they're NULL. So, get rid of them (we keep the shorter names without _len, but add now-optional len parameters). Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: Alexey Kardashevskiy <aik@ozlabs.ru>
2017-04-18fdtdump: Discourage use of fdtdump David Gibson
fdtdump is, and always has been, a quick-and-dirty debugging tool. However I keep getting reports of people using it for real work. For production decompiling of a dtb, dtc in -I dtb -O dts mode is the right tool. In the hopes of getting that message out there, add a warning message to fdtdump to discourage its use. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2017-04-18fdtdump: Fix over-zealous version check David Gibson
It's perfectly valid for a dtb to have version and last compat version set to the same value, and that value can be 17 (the latest defined version). However, since 0931cea "dtc: fdtdump: check fdt if not in scanning mode" fdtdump will refuse to process such a dtb. We get away with this in many cases because dtc's typical output has last compat version equal to 16, rather than 17, but it's still a bug. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2017-03-06Fix assorted sparse warnings David Gibson
This fixes a great many sparse warnings on the fdt and libfdt sources. These are mostly due to incorrect mixing of endian annotated and native integer types. This includes fixing a couple of quasi-bugs where we had endian conversions the wrong way around (this will have the right effect in practice, but is certainly conceptually incorrect). This doesn't make the whole tree sparse clean: there are many warnings in bison and lex generated code, and there are a handful of other remaining warnings that are (for now) more trouble than they're worth to fix (and are not genuine bugs). Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-12-27dtc: fdtdump: check fdt if not in scanning mode Heinrich Schuchardt
Running fdtdump without scan mode for an invalid file often results in a segmentation fault because the fdt header is not checked. With the patch the header is checked both in scanning as well as in non-scanning mode. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: David Gibson <david@gibson.dropbear.id.au> [dwg: Removed unnecessary inline, changed type from int to bool] Reviewed-by: Simon Glass <sjg@chromium.org>
2016-07-24fdtdump.c: make sure size_t argument to memchr is always unsigned. Jean-Christophe Dubois
CID 132817 (#1 of 1): Integer overflowed argument (INTEGER_OVERFLOW) 15. overflow_sink: Overflowed or truncated value (or a value computed from an overflowed or truncated value) endp - p - 4L used as critical argument to function. Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2014-10-24Improve portability Phil Elwell
1) Remove the double parentheses around two comparisons in checks.c. The OSX LLVM-based C compiler warns about them. 2) Put an explicit "=" in the TN() macro, in accordance with c99. Signed-off-by: Phil Elwell <phil@raspberrypi.org>
2014-06-18Correct output from memreserve in fdtdump Simon Glass
This currently displays a hex value without the 0x prefix. Add the prefix as dtc requires it. Signed-off-by: Simon Glass <sjg@chromium.org>
2013-05-24fdtdump: add a debug mode Mike Frysinger
When hacking raw fdt files, it's useful to know the actual offsets into the file each node appears. Add a --debug mode that includes this. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2013-05-24util: drop "long" from usage helpers Mike Frysinger
Now that all utils have converted to the new usage framework, we can rename to just plain "usage()" and avoid naming conflicts. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2013-05-24fdtdump: add a --scan option Mike Frysinger
Often times, fdts get embedded in other larger files. Rather than force people to `dd` the blob out themselves, make the fdtdump file smarter. It can now scan the blob looking for the fdt magic. Once locate, it does a little validation on the main struct to make sure we didn't hit random binary data. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2013-05-24fdtdump: make usage a bit more friendly Mike Frysinger
This starts a new usage framework and then cuts fdtdump over to it. Now we can do `fdtdump -h` and get something useful back. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2013-01-27Move property-printing into util Simon Glass
The function that prints a property can be useful to other programs, so move it into util. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2013-01-06dtc/fdtdump: include libfdt_env.h prior to fdt.h Kim Phillips
in order to get the upcoming fdt type definitions. Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2013-01-06fdtdump: properly handle multi-string properties Pantelis Antoniou
Device tree can store multiple strings in a single property. We didn't handle that case properly. Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2011-10-26fdtdump: rename from ftdump Mike Frysinger
The freetype package already installs a binary named "ftdump", so the dtc package conflicts with that. So rename the newer dtc tool to "fdtdump". This even makes a bit more sense: ftdump: [F]lat device [T]ree [dump] fdtdump: [F]lat [D]evice [T]ree [dump] Signed-off-by: Mike Frysinger <vapier@gentoo.org> Acked-by: David Gibson <david@gibson.dropbear.id.au>