summaryrefslogtreecommitdiff
path: root/Documentation/contributing
diff options
context:
space:
mode:
authorPatrick Georgi <pgeorgi@google.com>2019-02-19 10:13:16 +0100
committerPatrick Georgi <pgeorgi@google.com>2019-02-20 16:12:21 +0000
commit0a186ca8a94f6dc7fce7700d0a0b3a0b00c7c9d1 (patch)
tree03bb2629b1d84bf8031dc7f70da9a62f02d1d143 /Documentation/contributing
parent55e3a6ae0910dcd63f95751816ae068c4a103d53 (diff)
downloadcoreboot-0a186ca8a94f6dc7fce7700d0a0b3a0b00c7c9d1.tar.xz
Documentation: Add Clang support to project ideas
Change-Id: Iaccb5ca5606b83a4b37930b4399ddcf9eddd494b Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: https://review.coreboot.org/c/31479 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: HAOUAS Elyes <ehaouas@noos.fr> Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'Documentation/contributing')
-rw-r--r--Documentation/contributing/project_ideas.md29
1 files changed, 29 insertions, 0 deletions
diff --git a/Documentation/contributing/project_ideas.md b/Documentation/contributing/project_ideas.md
index 2e43871149..63cc62f361 100644
--- a/Documentation/contributing/project_ideas.md
+++ b/Documentation/contributing/project_ideas.md
@@ -110,3 +110,32 @@ combination of payload and architecture to support.
### Mentors
* Simon Glass <sjg@chromium.org> for U-Boot payload projects
+
+## Fully support building coreboot with the Clang compiler
+Most coreboot code is written in C, and it would be useful to support
+a second compiler suite in addition to gcc. Clang is another popular
+compiler suite and the build system generally supports building coreboot
+with it, but firmware is a rather special situation and we need to
+adjust coreboot and Clang some more to get usable binaries out of that
+combination.
+
+The goal would be to get the emulation targets to boot reliably first,
+but also to support real hardware. If you don't have hardware around,
+you likely will find willing testers for devices they own and work from
+their bug reports.
+
+### Requirements
+* coreboot knowledge: Have a general concept of the build system
+* Clang knowledge: It may be necessary to apply minor modifications to Clang
+ itself, but at least there will be Clang-specific compiler options etc to
+ adapt, so some idea how compilers work and how to modify their behavior is
+ helpful.
+* hardware requirements: If you have your own hardware that is already
+ supported by coreboot that can be a good test target, but you will debug
+ other people's hardware, too.
+* debugging experience: It helps if you know how to get the most out of a bug
+ report, generate theories, build patches to test them and figure out what's
+ going on from the resulting logs.
+
+### Mentors
+* Patrick Georgi <patrick@georgi.software>