Downgrade buildroot-built GCC toolchain from 12.x to 11.x

GCC 12.x does not work with OP-TEE C++ TAs, causing a link error
(excerpt from the build log on an arm64 host):

 /usr/bin/ccache /optee/build/../toolchains/aarch64/bin/aarch64-linux-ld.bfd -e__ta_entry -pie -T out/ta/os_test/ta.lds -Map=out/ta/os_test/5b9e0e40-2636-11e1-ad9e-0002a5d5c51b.map --sort-section=alignment -z max-page-size=4096  --as-needed   --dynamic-list out/ta/os_test/dyn_list --eh-frame-hdr out/ta/os_test/init.o out/ta/os_test/os_test.o out/ta/os_test/ta_entry.o out/ta/os_test/test_float_subj.o out/ta/os_test/cxx_tests.o out/ta/os_test/cxx_tests_c.o out/ta/os_test/attestation.o out/ta/os_test/user_ta_header.o -L/optee/out-br/build/optee_test_ext-1.0/ta/os_test_lib/out/ta/os_test_lib -los_test -ldl -L/optee/optee_os/out/arm/export-ta_arm64/lib --start-group -lutils -lutee -lmbedtls -ldl /optee/toolchains/aarch64/bin/../lib/gcc/aarch64-buildroot-linux-gnu/12.3.0/../../../../aarch64-buildroot-linux-gnu/lib/../lib64/libstdc++.a /optee/toolchains/aarch64/bin/../lib/gcc/aarch64-buildroot-linux-gnu/12.3.0/libgcc_eh.a --end-group /optee/toolchains/aarch64/bin/../lib/gcc/aarch64-buildroot-linux-gnu/12.3.0/libgcc.a -lutils -o out/ta/os_test/5b9e0e40-2636-11e1-ad9e-0002a5d5c51b.elf
 /optee/build/../toolchains/aarch64/bin/aarch64-linux-ld.bfd: /optee/toolchains/aarch64/bin/../lib/gcc/aarch64-buildroot-linux-gnu/12.3.0/libgcc_eh.a(unwind-dw2-fde-dip.o): in function `_Unwind_Find_FDE':
 /optee/out-aarch64-sdk/build/host-gcc-final-12.3.0/build/aarch64-buildroot-linux-gnu/libgcc/../../../libgcc/unwind-dw2-fde-dip.c:512: undefined reference to `_dl_find_object'
 make[4]: *** [/optee/optee_os/out/arm/export-ta_arm64/mk/link.mk:123: out/ta/os_test/5b9e0e40-2636-11e1-ad9e-0002a5d5c51b.elf] Error 1
 make[3]: *** [/optee/out-br/build/optee_test_ext-1.0/ta/Makefile.gmake:61: ta-os_test] Error 2
 make[2]: *** [package/pkg-generic.mk:284: /optee/out-br/build/optee_test_ext-1.0/.stamp_built] Error 2
 make[1]: *** [Makefile:23: _all] Error 2
 make[1]: Leaving directory '/optee/out-br'
 make: *** [common.mk:341: buildroot] Error 2
 The command '/bin/sh -c make V=1 RUST_ENABLE=n' returned a non-zero code: 2

While this may be mitigated with "make WITH_CXX_TESTS=n", we'd better
select GCC 11.x which is know to work well and is consistent with what
"make toolchains" would download on an x86_64 host (11.3.1).

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Tested-by: Sean Gilligan <sean@msgilligan.com>
3 files changed
tree: 8fcfc11887cbf4ad55f4d759f0f3ebcf2c4d0067
  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. imx8mp-evk.inc.mk
  23. imx8mp-verdin.inc.mk
  24. juno.mk
  25. poplar.mk
  26. qemu-check.exp
  27. qemu.mk
  28. qemu_v8.mk
  29. README.md
  30. rockpi4.mk
  31. rpi3.mk
  32. rust.exp
  33. soc_term.py
  34. stm32mp1.mk
  35. synquacer.mk
  36. toolchain.mk
  37. trusted-keys.exp
  38. trusted-services.mk
  39. versal.mk
  40. 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