From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) (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 E40A71A1E18 for ; Tue, 9 Aug 2016 02:02:56 -0700 (PDT) Received: by mail-wm0-x243.google.com with SMTP id i138so1788792wmf.3 for ; Tue, 09 Aug 2016 02:02:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=67xHmSvXl9bl5lP0/skszfCfeKRbIL7vWV8Ctdwb20U=; b=a88Fn2e9E0nR78rzqIRy51/ERH+xWLvOfZWuW4SMuZEqQgNW34pmOD5JdnQlK/YY4J CMOe0TmQXQntxWVAZCOTRDMDZsq42xx4RbUzfPy1pNvfejcYO/24xg61e3O+1CBhv3B4 yPPVhzZpzoJQuJjU6C254XYnRqY1vO2XoIygPlSxg8YewKg/sPr1b7oHhXYNDw2p0x1P Vr3F66AYbWrwh8Y7XCCfBrfiMfE2wyyP3QBsz7GBPTdcXOWuI8hUMvrBhVVyvPbcKk36 eUBhlYZL/CM9GqZvfzRT1pKiTBcRvdHzVyaU7TNVnqZO4b7TLhpUKlrg9t23KG4fuaGx Ck6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=67xHmSvXl9bl5lP0/skszfCfeKRbIL7vWV8Ctdwb20U=; b=DXTA08PhAsVKHR51LLWPEGSzctAIsUTKFx+pnDCabZ5NWo3xqizZwz21Usm5IwEAMM x+xVwRWQ+E7grYLQrc+fn9pRRrYJs1VCDK1FajTzdzvuwcMfVG6LpOCUFHgjMeryTP7/ FRkCe3+ylPGByJunqY8o8ie60WmhPj5ykCvXgzTwhE07BdUtomul/ouQzidtpUoafodF RajjOhBfvoUxRVLN/35J1LRVaGuFjMUqN/gxzrjiSbuoTc7ZlIHIwbyAqm3QgzzFonzp C+PwHZkXnCprT/QyK6UZ+C3PtYD8BRj2gNopLBGc+umZ9eZvkl+OcD8CiyLc7cH67YdL o3SQ== X-Gm-Message-State: AEkoousDg5PbWMZePub1A/fKDKoXxu0jXcSI5fsUKPiElv9/LTZYDwptoRasIDghISSH6Fk/O93eiIcWWZwvNQ== X-Received: by 10.28.9.194 with SMTP id 185mr19193585wmj.37.1470733375559; Tue, 09 Aug 2016 02:02:55 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.238.198 with HTTP; Tue, 9 Aug 2016 02:02:55 -0700 (PDT) In-Reply-To: <20160809083955.GH31760@bivouac.eciton.net> References: <20160809083955.GH31760@bivouac.eciton.net> From: Michael Zimmermann Date: Tue, 9 Aug 2016 11:02:55 +0200 Message-ID: To: Leif Lindholm Cc: valerij zaporogeci , edk2-devel , Ard Biesheuvel X-Content-Filtered-By: Mailman/MimeDel 2.1.21 Subject: Re: Toolchain question X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Aug 2016 09:02:57 -0000 Content-Type: text/plain; charset=UTF-8 > I use both, and never notice any difference. The primary differences > are newlib vs glibc, and in some cases, whether symbols are decorated > with a leading _ > The actual code generation is more dependent on the default target > (i.e., -march/-mthumb for ARM) than bare-metal/hosted. > I only ever use the native > compiler under Linux, or one of the linaro "-linux-" flavours if > cross-compiling. I think that works because edk2 excludes all toolchain libs with -nostdlib and fno-builtin. I know from other bootloader projects like LK(LittleKernel) which link against libgcc that compiling with anything but bare-metal toolchains makes the resulting binary un-bootable. Thanks Michael On Tue, Aug 9, 2016 at 10:39 AM, Leif Lindholm wrote: > On Tue, Aug 09, 2016 at 06:07:36AM +0200, Michael Zimmermann wrote: > > As for the kind of toolchain to use: there's always (at least) two types: > > bare metal toolchains(arm-eabi,arm-none-eabi, aarch64-elf), and the ones > > with a OS ABI(androideabi, linux-gnueabi,linux-gnueabihf, ...). While > > unlike other bootloader/kernel projects EDK2 seems to work with all of > them > > I can only recommend using the bare metal variants. > > > > For ARM and AArch64 I recommend using linaro's latest stable release(5.3 > at > > the time of writing): > > http://www.linaro.org/downloads/ > > sometimes the website is out of date and you can go here directly: > > https://releases.linaro.org/components/toolchain/binaries/ > > So, while all of the above is fine, I only ever use the native > compiler under Linux, or one of the linaro "-linux-" flavours if > cross-compiling. > > I am however happy someone is testing the bare-metal profiles as well, > since we need to keep the environment (i.e. build configuration) rigid > enough that toolchain flavour does not affect things. > > > I've also CC'ed the Arm maintainers so you'll actually get answers unlike > > me when I asked the same question about a year ago ;) > > Thanks :) > > Regards, > > Leif >