The "# gn-format disable" comments are no longer necessary. Delete these
comments and reformat with a Vim macro and gn format.
Change-Id: Ia62c40ad73eef91187d0d443d6e3b0fa723e5aa9
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/21380
Reviewed-by: Armando Montanez <amontanez@google.com>
Commit-Queue: Wyatt Hepler <hepler@google.com>
In general toolchains should set values for the builtin arguments
current_cpu and current_os; this configures both the toolchain itself
and everything it builds. Make it so in Pigweed.
If there's a toolchain with current_os = "ios", use the arguments for
Apple's linker.
Bug: 241
Change-Id: I2ce8c46eb48cbc70c5d14086934bdf59c2fc3f36
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/16006
Reviewed-by: Keir Mierle <keir@google.com>
Reviewed-by: Alexei Frolov <frolv@google.com>
Reviewed-by: Armando Montanez <amontanez@google.com>
Commit-Queue: Michael Spang <spang@google.com>
Add functions to check if a pw::allocator::Block object is valid in the
sense that it's aligned, the prev/next pointer matches with each other,
and poison bytes is not corrupted if enabled. Add functions to crash on
seeing an invalid Block.
Add a gn arg to enable heap poison, with sizeof(void*) before and after
the usable space with a fixed pattern.
Change-Id: I68a0194b4522ccadb21ecba96ce47a2265e8bf59
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/14500
Commit-Queue: Chenghan Zhou <chenghanzh@google.com>
Reviewed-by: Alexei Frolov <frolv@google.com>
The pw_cpu_exception facade is comprised of three parts: the part
implemented by the architecture, and the part implemented by the
application, and some supporting libraries that make it easier to dump
CPU state. Since these are provided independently, the facade has been
split into three facades:
1. entry
2. handler
3. support
Change-Id: I48c92f42b208f79596740f1bec59ed3d29e277a8
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/11646
Commit-Queue: Armando Montanez <amontanez@google.com>
Reviewed-by: Wyatt Hepler <hepler@google.com>
Removes floating point printf support from the default ARM toolchain and
makes it into an optional config that isn't added by default (since it
adds ~14KB of flash usage).
Change-Id: I340630fa596ae131b56e75c7acb2536766cd11b8
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/12660
Reviewed-by: Keir Mierle <keir@google.com>
Reviewed-by: Alexei Frolov <frolv@google.com>
Commit-Queue: Armando Montanez <amontanez@google.com>
Updates pigweed to depend directly on is_host_toolchain provided by the
toolchain. Also adds a toolchain option that controls the extension of
final linked binaries.
Change-Id: Ia9499fe5974997a5bbc0bb9cfb89b5569b987189