Commit Graph

30 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
bdrewery
fe1ef27d4a META MODE: Update dependencies with 'the-lot' and add missing directories.
This is not properly respecting WITHOUT or ARCH dependencies in target/.
Doing so requires a massive effort to rework targets/ to do so.  A
better approach will be to either include the SUBDIR Makefiles directly
and map to DIRDEPS or just dynamically lookup the SUBDIR.  These lose
the benefit of having a userland/lib, userland/libexec, etc, though and
results in a massive package.  The current implementation of targets/ is
very unmaintainable.

Currently rescue/rescue and sys/modules are still not connected.

Sponsored by:	EMC / Isilon Storage Division
2015-12-01 05:23:19 +00:00
theraven
fe415de278 Update some obsolete information in the HACKING document.
Reported by:	bapt
2015-10-26 11:02:57 +00:00
theraven
9baf3f008e Ensure that dtc is built in C++11 mode.
Reported by:	George Abdelmalik
2015-10-26 10:37:17 +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
eadler
21a3003f8f Fix a ton of speelling errors
arc lint is helpful

Reviewed By: allanjude, wblock, #manpages, chris@bsdjunk.com
Differential Revision: https://reviews.freebsd.org/D3337
2015-10-21 05:37:09 +00:00
rpaulo
a383cdc1ff dtc: ignore lines starting with #.
This is necessary because we use the C pre-processor to parse #include lines
and cpp adds line markings that start with #.
2014-06-10 06:16:34 +00:00
rpaulo
64f82214b7 dtc: don't crash if the argument is a directory. 2014-06-10 06:04:25 +00:00
rpaulo
383a7fac3e The, currently undocumented, -i option takes an argument. 2014-06-10 05:58:46 +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
joel
28f43d3ba0 Remove EOL whitespace. 2013-08-22 16:01:20 +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
70c59fcff4 Make carets line up in dtc diagnostics if the line starts with a tab. 2013-08-14 14:34:02 +00:00
theraven
e42a32794c Report error for out-of-range numerical inputs. Requested by brooks. 2013-07-10 10:57:09 +00:00
theraven
aa5efa722c Fix bug in destructor for checker manager in DTC that caused segfaults on
exit.
2013-06-18 10:26:22 +00:00
theraven
00df95bf48 Add a checker to dtc, based on a feature request from rwatson / brooks.
This checks that every node that has children specifies their register sizes.
This is not enabled by default, as the default sizes are sometimes required
(including by some DTS in the tree), but can help when writing new device
trees so that you can check that you actually meant the defaults.
2013-06-17 15:34:22 +00:00
uqs
6e88c5a765 dtc: fix bootstrapping from 8.2-STABLE
MFC after:	1 week
Approved by:	theraven
2013-02-19 18:28:25 +00:00
theraven
dd0eb20382 Fix style nit in dtc man page: sentences should start on new lines.
Reported By:	joel
2013-01-25 08:34:38 +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
joel
87184dfcdf Remove EOL whitespace. 2013-01-22 18:35:42 +00:00
joel
8f5a675ee1 Minor mdoc fixes. 2013-01-22 18:33:31 +00:00
theraven
2cb81619fc Fix the missing sentence that ended in the middle in the man page for dtc (also
spotted by gavin).
2013-01-22 18:15:43 +00:00
theraven
62ccfde083 Fix logic error in explicitly specified dtb versions spotted by gavin. 2013-01-22 18:12:31 +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