From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=pass header.i=@linaro.org header.s=google header.b=a9u3rWbU; spf=pass (domain: linaro.org, ip: 209.85.166.196, mailfrom: ard.biesheuvel@linaro.org) Received: from mail-it1-f196.google.com (mail-it1-f196.google.com [209.85.166.196]) by groups.io with SMTP; Fri, 31 May 2019 06:22:38 -0700 Received: by mail-it1-f196.google.com with SMTP id m3so15665991itl.1 for ; Fri, 31 May 2019 06:22:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=1PAMsBsIq75s6VGMIT2bUiqL0D6MDoAOMzndon7PAJg=; b=a9u3rWbUond1e+MeudbGCY+AXzCGzI36x8xJrFmL2eDW0ehlRpcnW5r7mejgeDSRp2 vv8ypIB2qxT1ezPmzPgwDNxDQCp3U5BaNCr3YOIqGnoeO7x3VpsiOhAXLU3bXjxBPknX c6OhKiLCnijU6+rCWmKdiLUAOv7+2c0VHCEwpnosk7kdwjAtmH0WIbSG6XDZpxj8nQ3O mXME4zaZ1LrxGdS9MeU9rdty5WDrG3iO2ieP/XGBMJYmofxEHroIz5LGeRHXMx1Cff8P ISIRETm9U7yGBOVYR1buTpG4gFrRY4gYNvjofQcP4vQSTfFikRXrFXwPobHVyNFlSPSM KAeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=1PAMsBsIq75s6VGMIT2bUiqL0D6MDoAOMzndon7PAJg=; b=rEM0Xodv8k6WzMAbspmpo68IzCW6v6+NJSYVaBt6RfnvYqjKAy52EOTJ2rVjKeI1N4 UFvO/gm8z6sNo1qXf+yCF8/TgrvMQE+w6zmpztDy1EhCwTSZU6oi1z6PY9ojvCDIf251 2TGyrM9vgOd6iK6w/rMtCXS3UXdVBAyn28RmBLY75ddQSgG8TcG86EwWUjzj4ubZAHa4 gGew+k6Xk0nazxtmnyGVdBE4fSL6GiN926aKOH1mOO0h2OFMNZY2ORTYwf2cwbKy9lhs AHxrzubKV6+QREb8NP3fgAET3kDMHxYQMYucuzcn1g42umPPttjG1ZvwnUZ8cKpe8SiQ G/OQ== X-Gm-Message-State: APjAAAWHD/ZhICoIQCBxTW/TRT3Y9fVVLyyNsISPttn8xj8/KgBgThNr /fUsqOwQo3KHcbu4+uwD83uWvSPu5nyQ95bvDLjumA== X-Google-Smtp-Source: APXvYqzZRHWvuN4IA3m8MxLVh+vYENosNWcOPClZanTl1d52m8dSS6HlWaDafIyvisFhgRkUijqQN3lbAmWNEeNbPpM= X-Received: by 2002:a24:6b86:: with SMTP id v128mr1541985itc.104.1559308958031; Fri, 31 May 2019 06:22:38 -0700 (PDT) MIME-Version: 1.0 References: <20190531124958.8421-1-ard.biesheuvel@linaro.org> <20190531124958.8421-3-ard.biesheuvel@linaro.org> <20190531132055.zsbratmpugwaqxd2@bivouac.eciton.net> In-Reply-To: <20190531132055.zsbratmpugwaqxd2@bivouac.eciton.net> From: "Ard Biesheuvel" Date: Fri, 31 May 2019 15:22:25 +0200 Message-ID: Subject: Re: [PATCH v3 2/7] ArmPkg/ArmSoftFloatLib: switch to new version of softfloat library To: Leif Lindholm Cc: edk2-devel-groups-io , Laszlo Ersek , "Gao, Liming" , "Wang, Jian J" , Michael D Kinney Content-Type: text/plain; charset="UTF-8" On Fri, 31 May 2019 at 15:20, Leif Lindholm wrote: > > On Fri, May 31, 2019 at 02:49:53PM +0200, Ard Biesheuvel wrote: > > diff --git a/ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf b/ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf > > index cbb49f49ade6..4d0c94df83db 100644 > > --- a/ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf > > +++ b/ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf > > @@ -2,7 +2,7 @@ > > # ARM Software floating point Library. > > # > > # Copyright (c) 2014, ARM Ltd. All rights reserved. > > -# Copyright (c) 2015, Linaro Ltd. All rights reserved. > > +# Copyright (c) 2015 - 2019, Linaro Ltd. All rights reserved. > > # > > # SPDX-License-Identifier: BSD-2-Clause-Patent > > # > > @@ -10,7 +10,7 @@ > > ## > > > > [Defines] > > - INF_VERSION = 0x00010005 > > + INF_VERSION = 0x0001001B > > BASE_NAME = ArmSoftFloatLib > > FILE_GUID = a485f921-749e-41a0-9f91-62f09a38721c > > MODULE_TYPE = BASE > > @@ -22,26 +22,71 @@ > > # > > > > [Sources] > > - bits32/softfloat.c > > - Arm/__aeabi_dcmpeq.c > > - Arm/__aeabi_fcmpeq.c > > - Arm/__aeabi_dcmpge.c > > - Arm/__aeabi_fcmpge.c > > - Arm/__aeabi_dcmpgt.c > > - Arm/__aeabi_fcmpgt.c > > - Arm/__aeabi_dcmple.c > > - Arm/__aeabi_fcmple.c > > - Arm/__aeabi_dcmplt.c > > - Arm/__aeabi_fcmplt.c > > - Arm/__aeabi_dcmpun.c > > - Arm/__aeabi_fcmpun.c > > + berkeley-softfloat-3/source/ARM-VFPv2/s_propagateNaNF64UI.c > > + berkeley-softfloat-3/source/ARM-VFPv2/softfloat_raiseFlags.c > > + berkeley-softfloat-3/source/ARM-VFPv2/specialize.h > > + berkeley-softfloat-3/source/f32_add.c > > + berkeley-softfloat-3/source/f32_div.c > > + berkeley-softfloat-3/source/f32_eq.c > > + berkeley-softfloat-3/source/f32_le.c > > + berkeley-softfloat-3/source/f32_lt.c > > + berkeley-softfloat-3/source/f32_mul.c > > + berkeley-softfloat-3/source/f32_sub.c > > + berkeley-softfloat-3/source/f32_to_f64.c > > + berkeley-softfloat-3/source/f32_to_i32_r_minMag.c > > + berkeley-softfloat-3/source/f32_to_i64_r_minMag.c > > + berkeley-softfloat-3/source/f32_to_ui32_r_minMag.c > > + berkeley-softfloat-3/source/f32_to_ui64_r_minMag.c > > + berkeley-softfloat-3/source/f64_add.c > > + berkeley-softfloat-3/source/f64_div.c > > + berkeley-softfloat-3/source/f64_eq.c > > + berkeley-softfloat-3/source/f64_le.c > > + berkeley-softfloat-3/source/f64_lt.c > > + berkeley-softfloat-3/source/f64_mul.c > > + berkeley-softfloat-3/source/f64_sub.c > > + berkeley-softfloat-3/source/f64_to_f32.c > > + berkeley-softfloat-3/source/f64_to_i32_r_minMag.c > > + berkeley-softfloat-3/source/f64_to_i64_r_minMag.c > > + berkeley-softfloat-3/source/f64_to_ui32_r_minMag.c > > + berkeley-softfloat-3/source/f64_to_ui64_r_minMag.c > > + berkeley-softfloat-3/source/i32_to_f32.c > > + berkeley-softfloat-3/source/i32_to_f64.c > > + berkeley-softfloat-3/source/i64_to_f32.c > > + berkeley-softfloat-3/source/i64_to_f64.c > > + berkeley-softfloat-3/source/include/internals.h > > + berkeley-softfloat-3/source/include/opts-GCC.h > > + berkeley-softfloat-3/source/include/primitiveTypes.h > > + berkeley-softfloat-3/source/include/primitives.h > > + berkeley-softfloat-3/source/include/softfloat.h > > + berkeley-softfloat-3/source/include/softfloat_types.h > > + berkeley-softfloat-3/source/s_addMagsF32.c > > + berkeley-softfloat-3/source/s_addMagsF64.c > > + berkeley-softfloat-3/source/s_countLeadingZeros32.c > > + berkeley-softfloat-3/source/s_countLeadingZeros64.c > > + berkeley-softfloat-3/source/s_countLeadingZeros8.c > > + berkeley-softfloat-3/source/s_mul64To128.c > > + berkeley-softfloat-3/source/s_normRoundPackToF32.c > > + berkeley-softfloat-3/source/s_normRoundPackToF64.c > > + berkeley-softfloat-3/source/s_normSubnormalF32Sig.c > > + berkeley-softfloat-3/source/s_normSubnormalF64Sig.c > > + berkeley-softfloat-3/source/s_roundPackToF32.c > > + berkeley-softfloat-3/source/s_roundPackToF64.c > > + berkeley-softfloat-3/source/s_shiftRightJam32.c > > + berkeley-softfloat-3/source/s_shiftRightJam64.c > > + berkeley-softfloat-3/source/s_shortShiftRightJam64.c > > + berkeley-softfloat-3/source/s_subMagsF32.c > > + berkeley-softfloat-3/source/s_subMagsF64.c > > + berkeley-softfloat-3/source/softfloat_state.c > > + berkeley-softfloat-3/source/ui32_to_f32.c > > + berkeley-softfloat-3/source/ui32_to_f64.c > > + berkeley-softfloat-3/source/ui64_to_f32.c > > + berkeley-softfloat-3/source/ui64_to_f64.c > > > > - Arm/__aeabi_cdcmp.asm | RVCT > > - Arm/__aeabi_cfcmp.asm | RVCT > > + ArmSoftFloatLib.c > > + platform.h > > > > [Packages] > > MdePkg/MdePkg.dec > > > > [BuildOptions] > > - GCC:*_*_*_CC_FLAGS = -DSOFTFLOAT_FOR_GCC -Wno-enum-compare -fno-lto > > - RVCT:*_*_*_CC_FLAGS = -DSOFTFLOAT_FOR_GCC > > It doesn't need to be a separate patch, but could you add a note to > commit message about dropping RVCT support? > > > + GCC:*_*_*_CC_FLAGS = -fno-lto -ffreestanding -Wno-unused-label > > Hmm. You add -ffreestanding here, but you also add it to the CLANG > profiles in 4/7. Could we do one of: > - dropping this one, adding -ffreestanding to GCC profiles too in 4/7 > - keeping this one, dropping the -ffreestanding from 4/7? > In my opinion, we should be using -ffreestanding for all GCC family toolchains for all architectures.