hikey, hikey960: edk2: fix build error with GCC 11.3

EDK2 fails to build when the cross-compiler is GCC 11.3. The error is
as follows:

/home/pelops2/hikey960/tee321/edk2/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBus.c: In function ‘UsbIoBulkTransfer’:
/home/pelops2/hikey960/tee321/edk2/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBus.c:259:12: error: ‘UsbHcBulkTransfer’ accessing 80 bytes in a region of size 8 [-Werror=stringop-overflow=]
  259 |   Status  = UsbHcBulkTransfer (
      |            ^~~~~~~~~~~~~~~~~~~~
  260 |               Dev->Bus,
      |               ~~~~~~~~~
  261 |               Dev->Address,
      |               ~~~~~~~~~~~~~
  262 |               Endpoint,
      |               ~~~~~~~~~
  263 |               Dev->Speed,
      |               ~~~~~~~~~~~
  264 |               EpDesc->Desc.MaxPacketSize,
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  265 |               BufNum,
      |               ~~~~~~~
  266 |               &Data,
      |               ~~~~~~
  267 |               DataLength,
      |               ~~~~~~~~~~~
  268 |               &Toggle,
      |               ~~~~~~~~
  269 |               Timeout,
      |               ~~~~~~~~
  270 |               &Dev->Translator,
      |               ~~~~~~~~~~~~~~~~~
  271 |               UsbStatus
      |               ~~~~~~~~~
  272 |               );
      |               ~
/home/pelops2/hikey960/tee321/edk2/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBus.c:259:12: note: referencing argument 7 of type ‘void **’
In file included from /home/pelops2/hikey960/tee321/edk2/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBus.h:46,
                 from /home/pelops2/hikey960/tee321/edk2/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBus.c:16:
/home/pelops2/hikey960/tee321/edk2/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.h:200:1: note: in a call to function ‘UsbHcBulkTransfer’
  200 | UsbHcBulkTransfer (
      | ^~~~~~~~~~~~~~~~~
...

Let's add -Wno-stringop-overflow to avoid that error. The right place
for the fix would obviously be the upstream EDK2 repository [1] but
since it does not seem to be maintained anymore, patching the file at
build time is good enough.

Reported-by: Longlong LIAO <liaoll@hku.hk>
Link: https://github.com/96boards-hikey/edk2.git [1]
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
2 files changed
tree: b688039bf1605978ad8fcd6869290b1ff4aa21bd
  1. .github/
  2. br-ext/
  3. fvp/
  4. imx/
  5. kconfigs/
  6. qemu_v8/
  7. rpi3/
  8. ti/
  9. versal/
  10. zynqmp/
  11. .gitignore
  12. am43xx.mk
  13. am57xx.mk
  14. common.mk
  15. dra7xx.mk
  16. fvp-psa-sp.mk
  17. fvp.mk
  18. get_clang.sh
  19. hikey.mk
  20. hikey960.mk
  21. imx.mk
  22. juno.mk
  23. poplar.mk
  24. qemu-check.exp
  25. qemu.mk
  26. qemu_v8.mk
  27. README.md
  28. rockpi4.mk
  29. rpi3.mk
  30. soc_term.py
  31. stm32mp1.mk
  32. synquacer.mk
  33. toolchain.mk
  34. trusted-keys.exp
  35. trusted-services.mk
  36. verdin.mk
  37. versal.mk
  38. zynqmp.mk
README.md

OP-TEE build.git

This git contains makefiles etc to be able to build a full OP-TEE developer setup for the OP-TEE project.

All official OP-TEE documentation has moved to http://optee.readthedocs.io. The pages that used to be here in this git can be found under build and Device specific information at he new location for the OP-TEE documentation.

// OP-TEE core maintainers