14 Commits

Author SHA1 Message Date
rakuco
52580478ad fdt: Expect strchr() to return a const char*
In C, strchr(3) returns a char*, whereas C++ defines two overloads:
* const char *strchr(const char*, int)
* char *strchr(char*, int)

Building fdt.cc (with the WITHOUT_GPL_DTC knob set) with libc++ 3.9.0 (imported
in r309124) was failing because libc++ r260377 added the first overload to
string.h, leading to failures such as:

    fdt.cc:1638:8: error: cannot initialize a variable of type 'char *' with an
    rvalue of type 'const char *'

Just define val as a const char* to fix it.

Upstreamed in https://github.com/davidchisnall/dtc/pull/14

Reviewed by:	emaste
Approved by:	emaste
2016-11-26 12:36:11 +00:00
emaste
6b647a7ab8 Improvements to BSD-licensed DTC.
- Numerous crash and bug fixes
- Improved warning and error messages
- Permit multiple labels on nodes and properties
- Fix node@address references
- Add support for /delete-node/
- Consume whitespace after a node
- Read the next token before the second /memreserve/
- Fix parsing of whitespace
- Clean up /delete-node/ and add support for /delete-property/
- Handle /delete-node/ specifying a unit address

Obtained from:	https://github.com/davidchisnall/dtc @df5ede4
2016-10-07 12:57:35 +00:00
theraven
13531e867a Improvements to BSD-licensed DTC.
- Added an expression parser so that expressions from headers are now working
- Fixed missing null terminators on cross references
- Disabled exceptions / RTTI in the build for smaller binaries
- Changed phandle order generation to be identical to GPL'd dtc
2015-12-29 16:29:42 +00:00
theraven
f89934e0d7 Lots of improvements to the BSD-licensed dtc
- Various fixes to includes (including recursive includes)
- Lots of testing that the output exactly matches GPL'd dtc
- Lots of bug fixes to merging
- Fix incorrect mmap usage
- Ad-hoc memory management replaced with C++11 unique_ptr and similar

Patrick Wildt has successfully run many (all?) of the GPL dtc test suite.
2015-10-25 14:52:16 +00:00
rpaulo
64f82214b7 dtc: don't crash if the argument is a directory. 2014-06-10 06:04:25 +00:00
imp
7ec179068e Fix cut-and-paste error message. 2014-03-15 00:58:08 +00:00
theraven
7ff48d0ef0 Fix parsing multiple roots with whitespace between them.
Patch by:   Patrick Wildt
2014-02-23 21:13:07 +00:00
theraven
ade78829a0 Some more cleanups and bug fixes in dtc for property printing / parsing.
Submitted by:	Patrick Wildt
2013-12-12 08:55:24 +00:00
theraven
b1e0fad8f8 Fix the version string in dts emission.
Reported by:	Patrick Wildt
MFC after:	1 week
2013-12-12 08:48:45 +00:00
theraven
9e5215dca2 When writing DTS to a file, don't write some of it to stderr.
Reported by:	ray
2013-11-05 14:07:30 +00:00
theraven
a84c641767 Add support for parameterised device tree sources to the device tree compiler.
Reviewed by:	brooks
Sponsored by:	DARPA, AFRL
2013-08-19 12:37:13 +00:00
theraven
e42a32794c Report error for out-of-range numerical inputs. Requested by brooks. 2013-07-10 10:57:09 +00:00
theraven
3a9fce0470 Explicitly include headers that are implicitly included by libstdc++. Fixes
building dtc with libc++.
2013-01-23 08:54:34 +00:00
theraven
75dc0fdd38 Import new (BSDL) device tree compiler. Now built by default, so that it can't
be used on the host system (and not installed on the device, if required).  The
GPL'd one is still available if there are any devices that need it (make
universe passes with it, including kernels that use fdt, but there may be some
out-of-tree ones).  WITH_GPL_DTC can be used to select the old one, for now.

Probably won't be MFC'd, but we'll remove the GPL'd version in head after the
new one has had a lot more testing and ship it in 10.0.
2013-01-22 17:49:51 +00:00