From: Laszlo Ersek <lersek@redhat.com>
To: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: edk2-devel-01 <edk2-devel@ml01.01.org>,
Anthony PERARD <anthony.perard@citrix.com>,
Gary Lin <glin@suse.com>,
Jordan Justen <jordan.l.justen@intel.com>,
Leif Lindholm <leif.lindholm@linaro.org>,
Liming Gao <liming.gao@intel.com>,
Michael D Kinney <michael.d.kinney@intel.com>,
Michael Zimmermann <sigmaepsilon92@gmail.com>
Subject: Re: [PATCH 00/19] OvmfPkg, ArmVirtPkg: leave deprecated interfaces behind
Date: Mon, 24 Oct 2016 13:50:52 +0200 [thread overview]
Message-ID: <c6b6c360-f622-9b52-f907-3b4913213d77@redhat.com> (raw)
In-Reply-To: <CAKv+Gu-vv__veC7qbHbLvi7_tOVdd_d+YEOxtrSWAFtXoE5F6g@mail.gmail.com>
On 10/24/16 10:04, Ard Biesheuvel wrote:
> On 21 October 2016 at 22:27, Laszlo Ersek <lersek@redhat.com> wrote:
>> This series intends to solve the following BZs:
>>
>> <https://bugzilla.tianocore.org/show_bug.cgi?id=166> -- OvmfPkg: Add
>> the build option "/D DISABLE_NEW_DEPRECATED_INTERFACES" in package DSC
>> files
>>
>> <https://bugzilla.tianocore.org/show_bug.cgi?id=165> -- ArmVirtPkg:
>> Add the build option "/D DISABLE_NEW_DEPRECATED_INTERFACES" in package
>> DSC files
>>
>> Public branch:
>> <https://github.com/lersek/edk2/commits/no_deprec_ovmf_bz166_armvirt_bz165>.
>>
>> The DISABLE_NEW_DEPRECATED_INTERFACES feature test macro disables the
>> following MdePkg library class APIs:
>>
>> BaseLib:
>> - StrCpy, StrnCpy, StrCat, StrnCat, UnicodeStrToAsciiStr,
>> - AsciiStrCpy, AsciiStrnCpy, AsciiStrCat, AsciiStrnCat,
>> AsciiStrToUnicodeStr.
>>
>> PcdLib:
>> - PcdSet8, PcdSet16, PcdSet32, PcdSet64, PcdSetPtr, PcdSetBool,
>> - PcdSetEx8, PcdSetEx16, PcdSetEx32, PcdSetEx64, PcdSetExPtr,
>> PcdSetExBool.
>>
>> UefiLib:
>> - GetVariable, GetEfiGlobalVariable.
>>
>> The series gradually weans the OvmfPkg and ArmVirtPkg modules off these.
>> For the 32-bit ARM builds of ArmVirtPkg platforms, I had to dip my toes
>> into ArmPkg a little bit, due to dependencies.
>>
>> I couldn't build-test some changes (for example, the only compiler
>> toolchains I have access to at the moment are GCC48 for Ia32/X64, and
>> GCC5 for ARM/AARCH64). Some changes I could build, but not functionally
>> test (Xen en bloc, 32-bit ARM, RAM-emulated variables in OVMF, -bios
>> flag). For all of these, I liberally sprinkled the patches with Cc's and
>> Notes sections, asking for help. I did make an honest effort to build
>> the ArmVirt and OVMF platforms in as many configurations (-D ...) as I
>> could think of, perusing the various !if directives in the DSC files.
>>
>
> I tried ArmVirtQemu.dsc in DEBUG mode with RVCTLINUX, and it built fine*
>
> Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> # RVCT
Thank you!
Then,
> * In general, RVCT tends to fall over quite regularly due to its
> finicky diagnostics, so I did have to apply this patch
>
> """
> diff --git a/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.c
> b/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.c
> index ca61ac5e1983..1098d9501cc7 100644
> --- a/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.c
> +++ b/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.c
> @@ -891,7 +891,7 @@ NorFlashRead (
> SEND_NOR_COMMAND (Instance->DeviceBaseAddress, 0, P30_CMD_READ_ARRAY);
>
> // Readout the data
> - AlignedCopyMem (Buffer, (VOID *)StartAddress + Offset, BufferSizeInBytes);
> + AlignedCopyMem (Buffer, (VOID *)(StartAddress + Offset), BufferSizeInBytes);
>
> return EFI_SUCCESS;
> }
RVCT is correct here; standard C does not permit arithmetic on
pointers-to-void. From C99 for example,
6.5.6 Additive operators
...
Constraints
2 For addition, either both operands shall have arithmetic type, or
one operand shall be a pointer to an object type and the other
shall have integer type. [...]
"Pointer to void" is not "pointer to object type".
Although in
6.2.5 Types
we have
27 A pointer to void shall have the same representation and alignment
requirements as a pointer to a character type. [...]
but also:
19 The void type comprises an empty set of values; it is an
incomplete type that cannot be completed.
So, not an object type.
Can you submit this patch per se? It's a valid and justified change.
> diff --git a/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf
> b/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf
> index 812dafd065b2..0ef7b8d81bbc 100644
> --- a/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf
> +++ b/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf
> @@ -71,3 +71,7 @@ [Depex]
> # NorFlashDxe must be loaded before VariableRuntimeDxe in case
> empty flash needs populating with default values
> #
> BEFORE gVariableRuntimeDxeFileGuid
> +
> +[BuildOptions]
> + RVCT:*_*_*_CC_FLAGS = --diag_suppress=6314
> +
> """
No input on this though :)
> but these changes are entirely unrelated to the series, and I will
> follow up with some patches to fix this.
>
Yes, please.
Thanks!
Laszlo
next prev parent reply other threads:[~2016-10-24 11:50 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-21 21:27 [PATCH 00/19] OvmfPkg, ArmVirtPkg: leave deprecated interfaces behind Laszlo Ersek
2016-10-21 21:27 ` [PATCH 01/19] MdePkg/DebugLib.h: add ASSERT_RETURN_ERROR() Laszlo Ersek
2016-10-24 20:59 ` Laszlo Ersek
2016-10-24 23:05 ` Kinney, Michael D
2016-10-25 7:54 ` Laszlo Ersek
2016-10-25 10:32 ` Gao, Liming
2016-10-27 2:53 ` Kinney, Michael D
2016-10-25 8:22 ` Zeng, Star
2016-10-25 8:33 ` Laszlo Ersek
2016-10-21 21:27 ` [PATCH 02/19] OvmfPkg/XenBusDxe: eliminate AsciiStrCpy() calls Laszlo Ersek
2016-10-24 4:44 ` Gary Lin
2016-10-21 21:27 ` [PATCH 03/19] OvmfPkg/XenBusDxe: eliminate AsciiStrCat() calls Laszlo Ersek
2016-10-24 4:44 ` Gary Lin
2016-10-21 21:27 ` [PATCH 04/19] OvmfPkg/EmuVariableFvbRuntimeDxe: eliminate unchecked PcdSetXX() calls Laszlo Ersek
2016-10-24 4:45 ` Gary Lin
2016-10-21 21:27 ` [PATCH 05/19] OvmfPkg/PlatformBootManagerLib: " Laszlo Ersek
2016-10-24 4:45 ` Gary Lin
2016-10-21 21:27 ` [PATCH 06/19] OvmfPkg/SmbiosVersionLib: " Laszlo Ersek
2016-10-24 8:00 ` Ard Biesheuvel
2016-10-21 21:27 ` [PATCH 07/19] OvmfPkg/PlatformDxe: " Laszlo Ersek
2016-10-21 21:27 ` [PATCH 08/19] OvmfPkg/PlatformPei: " Laszlo Ersek
2016-10-24 4:45 ` Gary Lin
2016-10-24 11:51 ` Laszlo Ersek
2016-10-21 21:27 ` [PATCH 09/19] OvmfPkg/QemuFlashFvbServicesRuntimeDxe: " Laszlo Ersek
2016-10-21 21:27 ` [PATCH 10/19] OvmfPkg: disable deprecated interfaces Laszlo Ersek
2016-10-21 21:27 ` [PATCH 11/19] ArmVirtPkg/ArmVirtGicArchLib: eliminate unchecked PcdSetXX() calls Laszlo Ersek
2016-10-24 8:00 ` Ard Biesheuvel
2016-10-21 21:27 ` [PATCH 12/19] ArmVirtPkg/ArmVirtPL031FdtClientLib: " Laszlo Ersek
2016-10-24 8:00 ` Ard Biesheuvel
2016-10-21 21:27 ` [PATCH 13/19] ArmVirtPkg/ArmVirtPlatformLib: " Laszlo Ersek
2016-10-24 7:59 ` Ard Biesheuvel
2016-10-21 21:27 ` [PATCH 14/19] ArmVirtPkg/ArmVirtTimerFdtClientLib: " Laszlo Ersek
2016-10-24 7:59 ` Ard Biesheuvel
2016-10-21 21:27 ` [PATCH 15/19] ArmVirtPkg/FdtPciPcdProducerLib: " Laszlo Ersek
2016-10-24 7:59 ` Ard Biesheuvel
2016-10-21 21:27 ` [PATCH 16/19] ArmVirtPkg/PlatformBootManagerLib: " Laszlo Ersek
2016-10-24 7:58 ` Ard Biesheuvel
2016-10-21 21:27 ` [PATCH 17/19] ArmPkg/ArmDisassemblerLib: replace AsciiStrCat() with AsciiStrCatS() Laszlo Ersek
2016-10-24 7:58 ` Ard Biesheuvel
2016-10-24 18:47 ` Jordan Justen
2016-10-24 19:54 ` Laszlo Ersek
2016-10-21 21:27 ` [PATCH 18/19] ArmPkg/DefaultExceptionHandlerLib: " Laszlo Ersek
2016-10-24 7:57 ` Ard Biesheuvel
2016-10-24 11:52 ` Laszlo Ersek
2016-10-21 21:27 ` [PATCH 19/19] ArmVirtPkg: disable deprecated interfaces Laszlo Ersek
2016-10-25 8:25 ` Laszlo Ersek
2016-10-25 8:28 ` Ard Biesheuvel
2016-10-24 8:04 ` [PATCH 00/19] OvmfPkg, ArmVirtPkg: leave deprecated interfaces behind Ard Biesheuvel
2016-10-24 11:50 ` Laszlo Ersek [this message]
2016-10-25 8:26 ` Laszlo Ersek
2016-10-25 8:45 ` Laszlo Ersek
2016-10-25 8:49 ` Ard Biesheuvel
2016-10-24 18:48 ` Jordan Justen
2016-10-25 9:07 ` Laszlo Ersek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c6b6c360-f622-9b52-f907-3b4913213d77@redhat.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox