From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from APC01-PU1-obe.outbound.protection.outlook.com (APC01-PU1-obe.outbound.protection.outlook.com [40.92.254.34]) by mx.groups.io with SMTP id smtpd.web12.3936.1594809087369287614 for ; Wed, 15 Jul 2020 03:31:28 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@outlook.com header.s=selector1 header.b=aeU5IC21; spf=pass (domain: outlook.com, ip: 40.92.254.34, mailfrom: vinxue@outlook.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZfO6vyn/lrgQCPtU4wZ5QIizaVo/lDvaJtf5KXi5MQ9sJHmFeLbro5kWtDSw1BlvE29LL/6uccHg5UdLFvRGUWmdHs9WaagJM/ctFAm8wsRWgeMoepTj/oWCVAwYy8Lqs+Rs458wjQjvc5AL+ulD9q2GY3MKjy5dn7j73uobVfXkODrZgzRfiSIAa1O5hlShbFcj2qb8hPKa4+w1KqD3H95GPgoLQyeci98AHseCoSmwB6z/VZnKQYt/oSDY6gxRvmZzXdPgoT4J5SXhEo/OBJK00uv3SYf3QapvYkdaI41WwI9xaxLqDG48uAJduAYDqUsSdU8/5jE4zER4GwuNjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2TK9woSmzrgtPjvecArxnBASnSn3pl6/sDYM0VjhA5w=; b=QTbkCEzw9cFicLPMCULCugarXeHknt/NXxj10tymhWO9SyK7yqYJbCdiTHSzd4wDVGdI5T/loqp4JEonej5VYJyxCum++v1pcOR3k7d8Z+Fj6Mjmwcrqtj13XAmtq2OvUWqoP8jpNGApwAnk4/xiMJqR6irvtAtjUA7hm9VdIyDMzr/TP/6XnWAKbx4mgVg+iTJKh6DzTxMTHzGFDL9KAFA8Tz/bXZKtj9h4iDKWhsmEq+tI8SoLYccNz5uDRyv0rQYBusH67Vesx98m9YEG5UyMx4tk8FUGpdMVlbNbqyJGh7VoksYoxE6seX4HG6+4DNrO8Dvg3LXVpNR7LvsH9w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2TK9woSmzrgtPjvecArxnBASnSn3pl6/sDYM0VjhA5w=; b=aeU5IC21gu6g0tgByXjOBF7mOU3d9ZGn+3nI/GBy8XliqQ9p/HcbG9hlOBL55a+uJKulbSIeLmXyap57TjccFRVzb5CP35m+OqH+X/d29TL99oKeGqhSXWt0OSDwuOLoyaRCDks5vRGaDRrzUi34bsrCPWJDJu49EMl/bgOiwHVdYUq5Wq4rw68v3LYbmLele21hNVWmnsCwcDcMEyAEjdZ+zo1eMq1LW5mHgUBNm0mhOMMzRGUm3xoYsu7U6p8CoYOdw0OlBSjUArsYeZ2OIyxU0++qzSULS/2bLXyLAjJRhvfkpLY6g1t4ZWA/ZIpaDdLlrVe1L/AecSBOiXAHwg== Received: from SG2APC01FT024.eop-APC01.prod.protection.outlook.com (2a01:111:e400:7ebd::4b) by SG2APC01HT029.eop-APC01.prod.protection.outlook.com (2a01:111:e400:7ebd::370) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.24; Wed, 15 Jul 2020 10:31:24 +0000 Received: from SL2PR03MB4442.apcprd03.prod.outlook.com (2a01:111:e400:7ebd::44) by SG2APC01FT024.mail.protection.outlook.com (2a01:111:e400:7ebd::185) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3195.18 via Frontend Transport; Wed, 15 Jul 2020 10:31:24 +0000 Received: from SL2PR03MB4442.apcprd03.prod.outlook.com ([fe80::6887:4d23:2904:f332]) by SL2PR03MB4442.apcprd03.prod.outlook.com ([fe80::6887:4d23:2904:f332%7]) with mapi id 15.20.3195.017; Wed, 15 Jul 2020 10:31:23 +0000 From: Vin Xue To: Leif Lindholm CC: "devel@edk2.groups.io" , Michael D Kinney Subject: Re: [edk2-platforms][PATCH] Readme.md: Update cross compiling section Thread-Topic: [edk2-platforms][PATCH] Readme.md: Update cross compiling section Thread-Index: AQHWWm3tAsryB1QuRkCCig2scp/iKKkIX0sAgAAPu6U= Date: Wed, 15 Jul 2020 10:31:23 +0000 Message-ID: References: ,<20200715092654.GD12303@vanye> In-Reply-To: <20200715092654.GD12303@vanye> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-incomingtopheadermarker: OriginalChecksum:6366AF900947584B50FAF596918B426B388207C66ADC4D367B2DAFE1B5198FE2;UpperCasedChecksum:94CAE19AD0E599FAB64575BD22FE251B68D08A392E309353C185B79962B4DA20;SizeAsReceived:6996;Count:44 x-tmn: [JiuM2fzQKJGzBVNl1S8MTYSWFR33GTFQpPrDWvfdOaI=] x-ms-publictraffictype: Email x-incomingheadercount: 44 x-eopattributedmessage: 0 x-ms-office365-filtering-correlation-id: bcef6d8e-067a-4fab-b46a-08d828aa38d1 x-ms-traffictypediagnostic: SG2APC01HT029: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: KL2Bqb0dK79jUkyC96304tz/MynVo8r0zJphvFJ7gRB/HyXBUpbtiRRNCPLuYt7S4wM0pnDVjFlHbXdLaH8I2kGEo9YAbX13417rK9gUw7PKH1535So5v0KTws2h7Cvl0cvWl0Fm8ofvOU/aw2ChEOiMh0xofd/yv9hDfgixANF0cWkMTP/UWkD5vm/zp13HxR7W2DiQc87vq5VsULu+MjGRLN5cjpXatDyJCYD8GJnoYC2ItXSePGLfcr+BFjtR x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:0;SRV:;IPV:NLI;SFV:NSPM;H:SL2PR03MB4442.apcprd03.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:;DIR:OUT;SFP:1901; x-ms-exchange-antispam-messagedata: ywJ/aMTyLaYPsjlOfituwd/LUL1mxf5/XOgCl90Qugnroy0U0zD1L11VYFOTUTDeFR4JA62F/4Gq6WuVFg/b5WCyHLekSU5wdDR+HNzi0ZLUSgscAIATbiEZKNltS5SoapuNkHkP5cjk5MQHeYFvSQ== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-AuthSource: SG2APC01FT024.eop-APC01.prod.protection.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: bcef6d8e-067a-4fab-b46a-08d828aa38d1 X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Jul 2020 10:31:23.2815 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: SG2APC01HT029 Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_SL2PR03MB4442F8AA4BB204862EF194A4C57E0SL2PR03MB4442apcp_" --_000_SL2PR03MB4442F8AA4BB204862EF194A4C57E0SL2PR03MB4442apcp_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi Lindholm, Thanks for your comments. Usually, I am working on Windows PC for BIOS development. Today I tried to build edk2-platform AAarch64 code, and found it's not easy to follow readme document. So, I submitted the patch. Please drop the patch if there is a better update in the near future. ________________________________ From: Leif Lindholm Sent: Wednesday, July 15, 2020 5:26 PM To: Vin Xue Cc: devel@edk2.groups.io ; Michael D Kinney Subject: Re: [edk2-platforms][PATCH] Readme.md: Update cross compiling sect= ion On Wed, Jul 15, 2020 at 14:05:03 +0800, Vin Xue wrote: > 1. Update invalid URL link of Linaro GCC toolchains. > 2. Add build command example for cross compiling. > > Cc: Leif Lindholm > Cc: Michael D Kinney > Signed-off-by: Vin Xue > --- > Readme.md | 14 ++++++++++---- > 1 file changed, 10 insertions(+), 4 deletions(-) > > diff --git a/Readme.md b/Readme.md > index ea9492240a..2e30f672cc 100644 > --- a/Readme.md > +++ b/Readme.md > @@ -57,10 +57,13 @@ X64 | x86_64-linux-gnu- > > ### GCC > Linaro provides GCC toolchains for > -[aarch64-linux-gnu](https://releases.linaro.org/components/toolchain/bin= aries/latest/aarch64-linux-gnu/) > -and [arm-linux-gnueabihf](https://releases.linaro.org/components/toolcha= in/binaries/latest/arm-linux-gnueabihf/) > -compiled to run on x86_64/i686 Linux and i686 Windows. Some Linux distri= butions > -provide their own packaged cross-toolchains. > +[aarch64-linux-gnu](https://releases.linaro.org/components/toolchain/bin= aries/latest-7/aarch64-linux-gnu/) > +and [arm-linux-gnueabihf](https://releases.linaro.org/components/toolcha= in/binaries/latest-7/arm-linux-gnueabihf/) > +compiled to run on x86_64/i686 Linux and i686 Windows. Yes, we should update the information about the Windows toolchains. But gcc 7 is ancient. If we go to https://releases.linaro.org/components/toolchain/binaries/, we see they have added a gcc-8 "directory". I say "directory" with quotes because clicking on that redirects you to https://developer.arm.com/tools-and-software/open-source-software/developer= -tools/gnu-toolchain/gnu-a/downloads This is the location we should now be pointing to - and these toolchains are now gcc 9.2. > + > +Some Linux distributions provide their own packaged cross-toolchains. e.= g. Install AArch64 GCC toolchain on Ubuntu (x86_64) with: > + > +`sudo apt install gcc-aarch64-linux-gnu` We can't maintain a list of every possible package name with every possible package install command (apt, yum, dnf, pacman, ?) for every distribution (debian, ubuntu, redhat, fedora, centos, suse, arch, gentoo, ?) out there. We'll also be adding RISC-V support in the near future. The abovementioned arm.com link includes prebuilt compilers for Windows-x86_64, Linux-x86_64, and Linux-AArch64 (for AArch32). Anyone unable to figure out how to find and install packages provided with their distro can always grab a toolchain from that download page. > > ### clang > Clang does not require separate cross compilers, but it does need a > @@ -160,6 +163,9 @@ variable `{TOOL_CHAIN_TAG}_{TARGET_ARCH}_PREFIX` - in= the case above, > **GCC5_AARCH64_PREFIX**. > > So, referring to the cross compiler toolchain table above, we should pre= pend the `build` command line with `GCC5_AARCH64_PREFIX=3Daarch64-linux-gnu= -`. > +``` > +$ GCC5_AARCH64_PREFIX=3Daarch64-linux-gnu- build -n $NUM_CPUS -a AARCH64= -t GCC5 -p Platform/ARM/JunoPkg/ArmJuno.dsc > +``` How to build a platform is already described in the section immediately preceding this one. This paragraph tells you how to inform the build system to apply a prefix for the compiler if cross compiling. Seprate note (to self, really): we don't need the -n thing anymore, the 'build' command has been updated to figure this out for itself. / Leif > > ## Using uefi-tools helper scripts > uefi-tools is a completely unofficial set of helper-scripts developed by= Linaro. > -- > 2.27.0.windows.1 > --_000_SL2PR03MB4442F8AA4BB204862EF194A4C57E0SL2PR03MB4442apcp_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi Lindholm,

Thanks for your comments.
Usually, I am working on Windows PC for BIOS development.
Today I tried to build edk2-platform AAarch64 code, and found it's not
easy to follow readme document. So, I submitted the patch.

Please drop the patch if there is a better update in the near future.


From: Leif Lindholm <lei= f@nuviainc.com>
Sent: Wednesday, July 15, 2020 5:26 PM
To: Vin Xue <vinxue@outlook.com>
Cc: devel@edk2.groups.io <devel@edk2.groups.io>; Michael D Kin= ney <michael.d.kinney@intel.com>
Subject: Re: [edk2-platforms][PATCH] Readme.md: Update cross compili= ng section
 
On Wed, Jul 15, 2020 at 14:05:03 +0800, Vin Xu= e wrote:
> 1. Update invalid URL link of Linaro GCC toolchains.
> 2. Add build command example for cross compiling.
>
> Cc: Leif Lindholm <leif@nuviainc.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Signed-off-by: Vin Xue <vinxue@outlook.com>
> ---
>  Readme.md | 14 ++++++++++= ;----
>  1 file changed, 10 insertions(+), 4 deletions(-)
>
> diff --git a/Readme.md b/Readme.md
> index ea9492240a..2e30f672cc 100644
> --- a/Readme.md
> +++ b/Readme.md
> @@ -57,10 +57,13 @@ X64       &= nbsp;         | x86_64-linux-gnu-
>  ### GCC
>  Linaro provides GCC toolchains for
> -[aarch64-linux-gnu](https://releases.linaro.org/components/toolchain/= binaries/latest/aarch64-linux-gnu/)
> -and [arm-linux-gnueabihf](https://releases.linaro.org/components/tool= chain/binaries/latest/arm-linux-gnueabihf/)
> -compiled to run on x86_64/i686 Linux and i686 Windows. Some Linux dis= tributions
> -provide their own packaged cross-toolchains.
> +[aarch64-linux-gnu](https://releases.linaro.org/components/toolch= ain/binaries/latest-7/aarch64-linux-gnu/)
> +and [arm-linux-gnueabihf](https://releases.linaro.org/components/= toolchain/binaries/latest-7/arm-linux-gnueabihf/)
> +compiled to run on x86_64/i686 Linux and i686 Windows.

Yes, we should update the information about the Windows toolchains.
But gcc 7 is ancient. If we go to
http= s://releases.linaro.org/components/toolchain/binaries/, we see
they have added a gcc-8 "directory". I say "directory" = with quotes
because clicking on that redirects you to
https://developer.arm.com/= tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a= /downloads
This is the location we should now be pointing to - and these
toolchains are now gcc 9.2.

> +
> +Some Linux distributions provide their own packaged cross-toolcha= ins. e.g. Install AArch64 GCC toolchain on Ubuntu (x86_64) with:
> +
> +`sudo apt install gcc-aarch64-linux-gnu`

We can't maintain a list of every possible package name with every
possible package install command (apt, yum, dnf, pacman, ?) for every
distribution (debian, ubuntu, redhat, fedora, centos, suse, arch,
gentoo, ?) out there. We'll also be adding RISC-V support in the near
future.

The abovementioned arm.com link includes prebuilt compilers for
Windows-x86_64, Linux-x86_64, and Linux-AArch64 (for AArch32).
Anyone unable to figure out how to find and install packages provided
with their distro can always grab a toolchain from that download page.


>  ### clang
>  Clang does not require separate cross compilers, but it does nee= d a
> @@ -160,6 +163,9 @@ variable `{TOOL_CHAIN_TAG}_{TARGET_ARCH}_PREFI= X` - in the case above,
>  **GCC5_AARCH64_PREFIX**.

>  So, referring to the cross compiler toolchain table above, we sh= ould prepend the `build` command line with `GCC5_AARCH64_PREFIX=3Daarch64-l= inux-gnu-`.
> +```
> +$ GCC5_AARCH64_PREFIX=3Daarch64-linux-gnu- build -n $NUM_CPUS -a = AARCH64 -t GCC5 -p Platform/ARM/JunoPkg/ArmJuno.dsc
> +```

How to build a platform is already described in the section
immediately preceding this one. This paragraph tells you how to inform
the build system to apply a prefix for the compiler if cross compiling.

Seprate note (to self, really): we don't need the -n thing anymore,
the 'build' command has been updated to figure this out for itself.

/
    Leif


>  ## Using uefi-tools helper scripts
>  uefi-tools is a completely unofficial set of helper-scripts deve= loped by Linaro.
> --
> 2.27.0.windows.1
>
--_000_SL2PR03MB4442F8AA4BB204862EF194A4C57E0SL2PR03MB4442apcp_--