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=N7jkL9Gw; spf=pass (domain: linaro.org, ip: 209.85.221.65, mailfrom: leif.lindholm@linaro.org) Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) by groups.io with SMTP; Fri, 31 May 2019 06:20:59 -0700 Received: by mail-wr1-f65.google.com with SMTP id b18so6493844wrq.12 for ; Fri, 31 May 2019 06:20:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=jtfHX78y62t22lQDOFesGAEGYTDesWOhj9WdOa2R/Kk=; b=N7jkL9GwrYV+qBijHaCKnlB/zqOkii7dCNyqhP+wpDjzzMafaAG7Wmdysh0+dP7rGg YEZ2qbfSrqRtydc5h70lPwl3DKhPGrdmAjdYJvbOx+aFkblclRae/3PhfzWU3rWqMaB/ vZai4W6Vq0c9YwCPhsd1XHxQ9Uvnf5NH5LiCtG7BmQXZHmW58c/UH8TxkCRqdIAMBVR0 EKuQ0ihWnVzZ4dFEuXq/kSsUPX+osaBXF/9WgetYT8ZxC5GgnT40Bp5TGJWRr4k1sMEp ZqnOks2nwfep9tv8QPFIJUPLY8EKKKr4z1kL7MqBc5Swt4pJcvQOTDqdSsdmmync5xLj bJ0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=jtfHX78y62t22lQDOFesGAEGYTDesWOhj9WdOa2R/Kk=; b=eDvLXlOO6I6lzRfJFp9tuhuHrv3w7wySI4fzWgyZXdMsSs40Xxe/WDOnBK7sCw2M02 C0r3XPa7KK3SMDE3Knr6Rd9ssVtHpvvGr31X8Ew/m4dtd45FU9/Jt1Z0J2OqaBj1iOmm NJNQmkNu+nybDfTqz1HjGNsvarszqtBhBCp3kInLCR7IFof304XbLn8VEzwthIongswz N2r0MbqLF5RhQ10LPb8enYMLRl4qKkLUmxzRXgn6h0zUYfCQQIrhDL3b4X/UPAp85X/z uaaGoNc1R4CZ7y1BXDsb6pWij2++tNgVv9Bmc2m7vQx3BCs8mPrWrRYrU8oChdkr0lvL CkOA== X-Gm-Message-State: APjAAAX8eRphIBBHHvzpHdy0FQi7sym3bW8APOhPeWSna4ECJltkbC6C MC6vgcA5ONMMWWFhMWUpk96/fw== X-Google-Smtp-Source: APXvYqzCTGEJgyBwHBR9Znl0TkKxvLLHY0VY5DQ684ehyv0K4g9mJ0whsfVk1vkXLB06vkGy+ATSAg== X-Received: by 2002:a5d:460c:: with SMTP id t12mr6537474wrq.156.1559308857739; Fri, 31 May 2019 06:20:57 -0700 (PDT) Return-Path: Received: from bivouac.eciton.net (bivouac.eciton.net. [2a00:1098:0:86:1000:23:0:2]) by smtp.gmail.com with ESMTPSA id y8sm5150362wmi.8.2019.05.31.06.20.56 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 31 May 2019 06:20:57 -0700 (PDT) Date: Fri, 31 May 2019 14:20:55 +0100 From: "Leif Lindholm" To: Ard Biesheuvel Cc: devel@edk2.groups.io, Laszlo Ersek , "Gao, Liming" , "Wang, Jian J" , Michael D Kinney Subject: Re: [PATCH v3 2/7] ArmPkg/ArmSoftFloatLib: switch to new version of softfloat library Message-ID: <20190531132055.zsbratmpugwaqxd2@bivouac.eciton.net> References: <20190531124958.8421-1-ard.biesheuvel@linaro.org> <20190531124958.8421-3-ard.biesheuvel@linaro.org> MIME-Version: 1.0 In-Reply-To: <20190531124958.8421-3-ard.biesheuvel@linaro.org> User-Agent: NeoMutt/20170113 (1.7.2) Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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? / Leif > diff --git a/ArmPkg/Library/ArmSoftFloatLib/platform.h b/ArmPkg/Library/ArmSoftFloatLib/platform.h > new file mode 100644 > index 000000000000..31e843463a38 > --- /dev/null > +++ b/ArmPkg/Library/ArmSoftFloatLib/platform.h > @@ -0,0 +1,11 @@ > +/* > + * Copyright (c) 2019, Linaro Limited > + * > + * SPDX-License-Identifier: BSD-2-Clause-Patent > + */ > + > +#define LITTLEENDIAN 1 > +#define INLINE inline __attribute__((always_inline)) > +#define SOFTFLOAT_BUILTIN_CLZ 1 > +#define SOFTFLOAT_FAST_INT64 > +#include "opts-GCC.h" > -- > 2.20.1 >