Patrick Georgi has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/31479
Change subject: Documentation: Add Clang support to project ideas ......................................................................
Documentation: Add Clang support to project ideas
Change-Id: Iaccb5ca5606b83a4b37930b4399ddcf9eddd494b Signed-off-by: Patrick Georgi pgeorgi@google.com --- M Documentation/contributing/project_ideas.md 1 file changed, 29 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/79/31479/1
diff --git a/Documentation/contributing/project_ideas.md b/Documentation/contributing/project_ideas.md index 2e43871..d80a327 100644 --- a/Documentation/contributing/project_ideas.md +++ b/Documentation/contributing/project_ideas.md @@ -110,3 +110,32 @@
### 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 optoins 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
Paul Menzel has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/31479 )
Change subject: Documentation: Add Clang support to project ideas ......................................................................
Patch Set 1: Code-Review+1
(1 comment)
Mention LLVM in there too?
https://review.coreboot.org/#/c/31479/1/Documentation/contributing/project_i... File Documentation/contributing/project_ideas.md:
https://review.coreboot.org/#/c/31479/1/Documentation/contributing/project_i... PS1, Line 130: optoins options
Hello Paul Menzel, build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/31479
to look at the new patch set (#2).
Change subject: Documentation: Add Clang support to project ideas ......................................................................
Documentation: Add Clang support to project ideas
Change-Id: Iaccb5ca5606b83a4b37930b4399ddcf9eddd494b Signed-off-by: Patrick Georgi pgeorgi@google.com --- M Documentation/contributing/project_ideas.md 1 file changed, 29 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/79/31479/2
Patrick Georgi has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/31479 )
Change subject: Documentation: Add Clang support to project ideas ......................................................................
Patch Set 1:
(1 comment)
from my point of view, llvm is implicit with clang since clang without llvm doesn't exist.
https://review.coreboot.org/#/c/31479/1/Documentation/contributing/project_i... File Documentation/contributing/project_ideas.md:
https://review.coreboot.org/#/c/31479/1/Documentation/contributing/project_i... PS1, Line 130: optoins
options
Done
HAOUAS Elyes has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/31479 )
Change subject: Documentation: Add Clang support to project ideas ......................................................................
Patch Set 2: Code-Review+1
Nico Huber has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/31479 )
Change subject: Documentation: Add Clang support to project ideas ......................................................................
Patch Set 2: Code-Review+2
Would what-jenkins-does currently work with Clang? If not, it might be worth to mention that there are compilation issues to solve first. We can't keep stable what we can't build test, so I see that as a priority.
Patrick Georgi has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/31479 )
Change subject: Documentation: Add Clang support to project ideas ......................................................................
Patch Set 2:
Patch Set 2: Code-Review+2
Would what-jenkins-does currently work with Clang? If not, it might be worth to mention that there are compilation issues to solve first. We can't keep stable what we can't build test, so I see that as a priority.
That would be one of the first steps, but to be honest, I don't want to spoon feed _too_ much in the ideas simply to be able to filter out who's spending less than 5 minutes of thought on their applications.
Patrick Georgi has submitted this change and it was merged. ( https://review.coreboot.org/c/coreboot/+/31479 )
Change subject: Documentation: Add Clang support to project ideas ......................................................................
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 --- M Documentation/contributing/project_ideas.md 1 file changed, 29 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Nico Huber: Looks good to me, approved HAOUAS Elyes: Looks good to me, but someone else must approve
diff --git a/Documentation/contributing/project_ideas.md b/Documentation/contributing/project_ideas.md index 2e43871..63cc62f 100644 --- a/Documentation/contributing/project_ideas.md +++ b/Documentation/contributing/project_ideas.md @@ -110,3 +110,32 @@
### 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