From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ua0-x236.google.com (mail-ua0-x236.google.com [IPv6:2607:f8b0:400c:c08::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 5DC662095897D for ; Mon, 10 Jul 2017 08:03:52 -0700 (PDT) Received: by mail-ua0-x236.google.com with SMTP id w19so56446797uac.0 for ; Mon, 10 Jul 2017 08:05:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=aJQtK6pozfkm24nUxFf7bbeVYWEri8eNIGQ69c0rUtU=; b=LOVjwTtfeJ7ZaRopxkxzVlymvd5Vr5MTKBCyHdzQ4NskTCCPE5bk6wOpfl7Mjsh38w zomjUpjkpyjBYTVJuC8APP/91tIkSymOZcKYtV1LL5r5M1JyXHRY5yhpPtX8qvjTffWL 8EZxWrly0VNSNXTd8dIJSf/Lz011v7oAxniSZgqJx0xaDDCMxSu/I4HVTukWgkQgCjYt +F7cwH/Vw3mzxGe5n8Q6eSrmfpeOvBblO5v/B81reI0xNJkLR0rNmr4CM982wbOAX/Ks qk3UX5BK1Boy8MM7IcE3yySfnvAzEK/ayQD/o5VnwtS78B+GiTdkIaCTNlnpjkykqV6G SfYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=aJQtK6pozfkm24nUxFf7bbeVYWEri8eNIGQ69c0rUtU=; b=G1LwfpGaaIJEg9a3/Xcy3V7LBZ69bTGbLaS4G1s0elU4gxf9iSZqNtb0JsVZvOhFT8 m+aVvNITVA8bqpZ/hWCKIbq1QSYl+Sya9vgZVWMGMGggCQcm0bDmmo+Qabv/H4T7qJUb DW/afOW5i27jZs10ovMeRdQGX1w7QSU80nxkKWyquKCKSwbQQP+OQUkm+uvodwV5864O 2s5EKhO1dvLFhx+0nUn/sqkrTz/ywQwFmry04H3Lgr8RTYpkw+dXnFH61ZFWhxsN9Hp8 CQ8B8RQO/0ElYAIJouCfUHYszKneGxFNBfENUcSVCc0zUQdDm+gBUQtCXhgzumeg8BDS QHpw== X-Gm-Message-State: AIVw112y01XjZr18yCuzM2T+gRYjgIp/Vhy3+AuhH57zUrqbAwqn9wBP JBiebs9E7ko1OCb4CJk58SkHsfJNWXBx X-Received: by 10.176.82.73 with SMTP id j9mr8829593uaa.74.1499699135972; Mon, 10 Jul 2017 08:05:35 -0700 (PDT) MIME-Version: 1.0 Received: by 10.103.119.139 with HTTP; Mon, 10 Jul 2017 08:05:35 -0700 (PDT) In-Reply-To: <4A89E2EF3DFEDB4C8BFDE51014F606A14D753010@shsmsx102.ccr.corp.intel.com> References: <20170704152241.21177-1-pgeorgi@google.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14D753010@shsmsx102.ccr.corp.intel.com> From: Patrick Georgi Date: Mon, 10 Jul 2017 17:05:35 +0200 Message-ID: To: "Gao, Liming" Cc: "edk2-devel@lists.01.org" X-Content-Filtered-By: Mailman/MimeDel 2.1.22 Subject: Re: [PATCH] BaseTools: Add COREBOOT tools definition X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Jul 2017 15:03:52 -0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Liming, thank you for the review! 2017-07-10 16:46 GMT+02:00 Gao, Liming : > 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_PREFI= X) > 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 appende= d > 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 =3D DEF(COREBOOT_PREFIX)make *_COREBOOT_*_ASL_PATH =3D 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 o= n 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 --=20 Google Germany GmbH, ABC-Str. 19, 20354 Hamburg Registergericht und -nummer: Hamburg, HRB 86891, Sitz der Gesellschaft: Hamburg Gesch=C3=A4ftsf=C3=BChrer: Matthew Scott Sucherman, Paul Terence Manicle