Hi Liming,

thank you for the review!

2017-07-10 16:46 GMT+02:00 Gao, Liming <[email protected]>:

> Patrick:
>   Compared GCC5 and COREBOOT, the difference is that GCC5_IA32_PREFIX and
> GCC5_X64_PREFIX. CoreBoot tool chain has the different style. So, it can't
> reuse GCC5 tool chain. If GCC5 is update to refer to ENV (GCC5_IA32_PREFIX)
> and ENV (GCC5_X64_PREFIX) like ENV(GCC5_ARM_PREFIX) in CC_PATH, GCC5 can
> support COREBOOT usage. For the future, the different FLAG can be appended
> in [BuildOptions] of platform.dsc. So, I suggest to reuse GCC5 tool chain
> for coreboot.
>
We also use our own make and iasl binaries.
*_COREBOOT_*_MAKE_PATH               = DEF(COREBOOT_PREFIX)make
*_COREBOOT_*_ASL_PATH                = DEF(COREBOOT_PREFIX)iasl

The coreboot toolchain is gcc 6.3 based right now but will move to
something newer at some point. That the GCC5 configuration is sufficient
for now is a coincidence (although appreciated since it meant less work for
me). Unfortunately I likely won't be able to get away with that forever.
Asking people to adapt their Tianocore config because the toolchain was
updated is a bad user experience IMHO.

The two main benefits of using a well-defined, maintained toolchain and
configuration are:
1. a portable toolchain: you get the same results no matter the OS you're on
2. reproducible builds: with a given source tree and configuratoin, we get
bit identical binaries, which is rather useful for trust/security
assessments. See
https://tests.reproducible-builds.org/coreboot/coreboot.html

It might be useful to extend this effort to payloads such as
CorebootPayloadPkg. Dealing with random compilers (and their configs) is
something we at coreboot left behind ~10 years ago, and it was for the
better. (although I understand that the coreboot toolchain is just as
"random" to you as any other).
But if you feel this is too much extra stuff in your config files, I'll
have to see how to deal with the existing config sets instead.


Patrick
-- 
Google Germany GmbH, ABC-Str. 19, 20354 Hamburg
Registergericht und -nummer: Hamburg, HRB 86891, Sitz der Gesellschaft:
Hamburg
Geschäftsführer: Matthew Scott Sucherman, Paul Terence Manicle
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to