* [Buildroot] [RFC v2 1/2] arch/Config.in.arm: add BR2_GCC_TARGET_ARCH entries @ 2020-03-02 9:19 Peter Seiderer 2020-03-02 9:19 ` [Buildroot] [RFC v2 2/2] package/qt5webengine: fix chromium arm compile flags Peter Seiderer 2020-03-02 10:17 ` [Buildroot] [RFC v2 1/2] arch/Config.in.arm: add BR2_GCC_TARGET_ARCH entries Peter Seiderer 0 siblings, 2 replies; 6+ messages in thread From: Peter Seiderer @ 2020-03-02 9:19 UTC (permalink / raw) To: buildroot Add BR2_GCC_TARGET_ARCH entries, determined by (gcc-9.2.0) $ ./host/bin/arm-buildroot-linux-gnueabihf-gcc -Q -mcpu=$(BR2_GCC_TARGET_CPU) --help=target | grep march Or (for cortex-m3/cortex-m4/cortex-m7): $ ./host/bin/arm-buildroot-linux-gnueabihf-gcc -Q -mcpu=$(BR2_GCC_TARGET_CPU) -mthumb --help=target | grep march Or (where indicated): $ ./host/bin/arm-buildroot-linux-gnueabihf-gcc -Q -mcpu=$(BR2_GCC_TARGET_CPU) -msoft-float --help=target | grep march The soft/hard float flags could be determined from the arch/Config.in.arm processor definitions or the given isa_bit_... flags from build/host-gcc-final-9.2.0/build/gcc/arm-cpu-cdata.h. Signed-off-by: Peter Seiderer <ps.report@gmx.net> --- Notes: - Fix ToDo's for unknown cpus - Add BR2_GCC_TARGET_ARCH for other archs? Changes v1 -> v2: - new patch --- arch/Config.in.arm | 72 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/arch/Config.in.arm b/arch/Config.in.arm index 4c0910e4f8..24f550287d 100644 --- a/arch/Config.in.arm +++ b/arch/Config.in.arm @@ -898,6 +898,78 @@ config BR2_GCC_TARGET_CPU # armv8.4a default "saphira" if BR2_saphira +config BR2_GCC_TARGET_ARCH + # armv4 + default "armv4t" if BR2_arm920t + default "armv4t" if BR2_arm922t + default "armv4" if BR2_fa526 + default "armv4" if BR2_strongarm + # armv5 + default "armv5tej+fp" if BR2_arm926t + default "iwmmxt" if BR2_iwmmxt + default "armv5te" if BR2_xscale # -msoft-float + # armv6 + default "armv6j" if BR2_arm1136j_s # -msoft-float + default "armv6j+fp" if BR2_arm1136jf_s + default "armv6kz" if BR2_arm1176jz_s # -msoft-float + default "armv6kz+fp" if BR2_arm1176jzf_s + default "armv6k+fp" if BR2_arm11mpcore && BR2_ARM_CPU_HAS_VFPV2 + default "armv6k" if BR2_arm11mpcore # -msoft-float + # armv7a + default "armv7-a+mp+sec+fp" if BR2_cortex_a5 + default "armv7ve+vfpv3-d16" if BR2_cortex_a7 + default "armv7-a+sec+fp" if BR2_cortex_a8 + default "armv7-a+mp+sec+fp" if BR2_cortex_a9 + default "armv7ve+vfpv3-d16" if BR2_cortex_a12 + default "armv7ve+vfpv3-d16" if BR2_cortex_a15 + default "armv7ve+vfpv3-d16" if BR2_cortex_a15_a7 + default "armv7ve+vfpv3-d16" if BR2_cortex_a17 + default "armv7ve+vfpv3-d16" if BR2_cortex_a17_a7 + default "armv7-a+mp+sec+fp" if BR2_pj4 + # armv7m + default "armv7-m" if BR2_cortex_m3 + default "armv7e-m+fp.dp" if BR2_cortex_m4 + default "armv7e-m+fp.dp" if BR2_cortex_m7 + # armv8a + default "armv8-a+crc+simd" if BR2_cortex_a32 + default "armv8-a+crc+simd" if BR2_cortex_a35 + default "armv8-a+crc+simd" if BR2_cortex_a53 + default "armv8-a+crc+simd" if BR2_cortex_a57 + default "armv8-a+crc+simd" if BR2_cortex_a57_a53 + default "armv8-a+crc+simd" if BR2_cortex_a72 + default "armv8-a+crc+simd" if BR2_cortex_a72_a53 + default "armv8-a+crc+simd" if BR2_cortex_a73 + default "armv8-a+crc+simd" if BR2_cortex_a73_a35 + default "armv8-a+crc+simd" if BR2_cortex_a73_a53 + default "armv8-a+crc+simd" if BR2_emag # ToDo: error: unrecognized -mcpu target: emag + default "armv8-a+crc+simd" if BR2_exynos_m1 + default "armv8-a" if BR2_falkor # ToDo: error: unrecognized -mcpu target: falkor + default "armv8-a" if BR2_phecda # ToDo: error: unrecognized -mcpu target: phecda + default "armv8-a" if BR2_qdf24xx # ToDo: error: unrecognized -mcpu target: qdf24xx + default "armv8-a" if BR2_thunderx && !BR2_TOOLCHAIN_GCC_AT_LEAST_9 # ToDo: error: unrecognized -mcpu target: thunderx + default "armv8-a" if BR2_thunderx && BR2_TOOLCHAIN_GCC_AT_LEAST_9 # ToDo: error: unrecognized -mcpu target: octeontx + default "armv8-a" if BR2_thunderxt81 && !BR2_TOOLCHAIN_GCC_AT_LEAST_9 # ToDo: error: unrecognized -mcpu target: thunderxt81 + default "armv8-a" if BR2_thunderxt81 && BR2_TOOLCHAIN_GCC_AT_LEAST_9 # ToDo: error: unrecognized -mcpu target: octeontx81 + default "armv8-a" if BR2_thunderxt83 && !BR2_TOOLCHAIN_GCC_AT_LEAST_9 # ToDo: error: unrecognized -mcpu target: thunderxt83 + default "armv8-a" if BR2_thunderxt83 && BR2_TOOLCHAIN_GCC_AT_LEAST_9 # ToDo: error: unrecognized -mcpu target: octeontx83 + default "armv8-a" if BR2_thunderxt88 # ToDo: error: unrecognized -mcpu target: thunderxt88 + default "armv8-a" if BR2_thunderxt88p1 # ToDo: error: unrecognized -mcpu target: thunderxt88p1 + default "armv8-a+simd" if BR2_xgene1 + # armv8.1a + default "armv8.1-a" if BR2_thunderx2t99 # ToDo: error: unrecognized -mcpu target: thunderx2t99 + default "armv8.1-a" if BR2_thunderx2t99p1 # ToDo: error: unrecognized -mcpu target: thunderx2t99p1 + default "armv8.1-a" if BR2_vulcan # ToDo: error: unrecognized -mcpu target: vulcan + # armv8.2a + default "armv8.2-a+simd" if BR2_cortex_a55 + default "armv8.2-a+simd" if BR2_cortex_a75 + default "armv8.2-a+simd" if BR2_cortex_a75_a55 + default "armv8.2-a+simd" if BR2_cortex_a76 + default "armv8.2-a+simd" if BR2_cortex_a76_a55 + default "armv8.2-a+simd" if BR2_neoverse_n1 + default "armv8.2-a" if BR2_tsv110 # ToDo: error: unrecognized -mcpu target: tsv110 + # armv8.4a + default "armv8.4-a" if BR2_saphira # ToDo: error: unrecognized -mcpu target: saphira + config BR2_GCC_TARGET_ABI default "aapcs-linux" if BR2_arm || BR2_armeb default "lp64" if BR2_aarch64 || BR2_aarch64_be -- 2.25.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [RFC v2 2/2] package/qt5webengine: fix chromium arm compile flags 2020-03-02 9:19 [Buildroot] [RFC v2 1/2] arch/Config.in.arm: add BR2_GCC_TARGET_ARCH entries Peter Seiderer @ 2020-03-02 9:19 ` Peter Seiderer 2020-03-02 13:30 ` Thomas Petazzoni 2020-03-02 10:17 ` [Buildroot] [RFC v2 1/2] arch/Config.in.arm: add BR2_GCC_TARGET_ARCH entries Peter Seiderer 1 sibling, 1 reply; 6+ messages in thread From: Peter Seiderer @ 2020-03-02 9:19 UTC (permalink / raw) To: buildroot The qt5webengine configure simple takes QT_ARCH ('arm') to determine the chromium compiler flags and uses some hard coded ARMv7 default values for the compiler command line: '... -march=armv7-a -mfloat-abi=hard -mtune=generic-armv7-a -mfpu=vfpv3-d16 ...'. This results e.g. in an illegal instruction failure for rpi zero (reported on the mailing list, see [1]). Custom values could be set in the file src/3rdparty/chromium/build/config/arm.gni (as tested by an proof-of-concept patch [2]). [1] http://lists.busybox.net/pipermail/buildroot/2020-February/274587.html [2] http://lists.busybox.net/pipermail/buildroot/2020-February/274586.html Signed-off-by: Peter Seiderer <ps.report@gmx.net> --- Changes v1 -> v2: - use new introduced BR2_GCC_TARGET_ARCH for arm_arch as the previous simple approach did not work (alternative would be to extract the arch at runtime via gcc invocation) package/qt5/qt5webengine: fix chromium arm compile flags (change to BR2_GCC_TARGET_ARCH) Signed-off-by: Peter Seiderer <ps.report@gmx.net> --- package/qt5/qt5webengine/qt5webengine.mk | 69 ++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/package/qt5/qt5webengine/qt5webengine.mk b/package/qt5/qt5webengine/qt5webengine.mk index 898725937b..9596c8f178 100644 --- a/package/qt5/qt5webengine/qt5webengine.mk +++ b/package/qt5/qt5webengine/qt5webengine.mk @@ -63,7 +63,76 @@ QT5WEBENGINE_PRE_CONFIGURE_HOOKS += QT5WEBENGINE_CREATE_HOST_PKG_CONFIG QT5WEBENGINE_ENV += GN_PKG_CONFIG_HOST=$(@D)/host-bin/host-pkg-config endif +# configure arm architecture paramter for chromium compile +ifeq ($(BR2_arm),y) +ifeq ($(BR2_ARM_CPU_ARMV4),y) +define QT5WEBENGINE_CONFIGURE_ARM_VERSION + $(SED) 's/^ arm_version = 7$$/ arm_version = 4/' $(@D)/src/3rdparty/chromium/build/config/arm.gni +endef +endif + +ifeq ($(BR2_ARM_CPU_ARMV5),y) +define QT5WEBENGINE_CONFIGURE_ARM_VERSION + $(SED) 's/^ arm_version = 7$$/ arm_version = 5/' $(@D)/src/3rdparty/chromium/build/config/arm.gni +endef +endif + +ifeq ($(BR2_ARM_CPU_ARMV6),y) +define QT5WEBENGINE_CONFIGURE_ARM_VERSION + $(SED) 's/^ arm_version = 7$$/ arm_version = 6/' $(@D)/src/3rdparty/chromium/build/config/arm.gni +endef +endif + +# no entriy for BR2_ARM_CPU_ARMV7A/BR2_ARM_CPU_ARMV7M, arm_vesion = 7 is already set as default + +ifeq ($(BR2_ARM_CPU_ARMV8A),y) +define QT5WEBENGINE_CONFIGURE_ARM_VERSION + $(SED) 's/^ arm_version = 7$$/ arm_version = 8/' $(@D)/src/3rdparty/chromium/build/config/arm.gni +endef +endif + +define QT5WEBENGINE_CONFIGURE_ARM_ARCH + $(SED) 's/^ arm_arch = ""$$/ arm_arch = $(BR2_GCC_TARGET_ARCH)/' $(@D)/src/3rdparty/chromium/build/config/arm.gni +endef + +define QT5WEBENGINE_CONFIGURE_ARM_FPU + $(SED) 's/^ arm_fpu = ""$$/ arm_fpu = $(BR2_GCC_TARGET_FPU)/' $(@D)/src/3rdparty/chromium/build/config/arm.gni +endef + +define QT5WEBENGINE_CONFIGURE_ARM_FLOAT_ABI + $(SED) 's/^ arm_float_abi = ""$$/ arm_float_abi = $(BR2_GCC_TARGET_FLOAT_ABI)/' $(@D)/src/3rdparty/chromium/build/config/arm.gni +endef + +define QT5WEBENGINE_CONFIGURE_ARM_TUNE + $(SED) 's/^ arm_tune = ""$$/ arm_tune = $(BR2_GCC_TARGET_CPU)/' $(@D)/src/3rdparty/chromium/build/config/arm.gni +endef + +ifeq ($(BR2_ARM_CPU_HAS_NEON),y) +define QT5WEBENGINE_CONFIGURE_ARM_NEON + $(SED) 's/^ arm_use_neon = ""$$/ arm_use_neon = "true"/' $(@D)/src/3rdparty/chromium/build/config/arm.gni + $(SED) 's/^ arm_optionally_use_neon = false$$/ arm_optionally_use_neon = true/' $(@D)/src/3rdparty/chromium/build/config/arm.gni +endef +else +define QT5WEBENGINE_CONFIGURE_ARM_NEON + $(SED) 's/^ arm_use_neon = ""$$/ arm_use_neon = "false"/' $(@D)/src/3rdparty/chromium/build/config/arm.gni +endef +endif + +ifeq ($(BR2_ARM_CPU_HAS_THUMB),) +define QT5WEBENGINE_CONFIGURE_ARM_THUMB + $(SED) 's/^ arm_use_thumb = true$$/ arm_use_thumb = false/' $(@D)/src/3rdparty/chromium/build/config/arm.gni +endef +endif +endif + define QT5WEBENGINE_CONFIGURE_CMDS + $(QT5WEBENGINE_CONFIGURE_ARM_VERSION) + $(QT5WEBENGINE_CONFIGURE_ARM_ARCH) + $(QT5WEBENGINE_CONFIGURE_ARM_FPU) + $(QT5WEBENGINE_CONFIGURE_ARM_FLOAT_ABI) + $(QT5WEBENGINE_CONFIGURE_ARM_TUNE) + $(QT5WEBENGINE_CONFIGURE_ARM_NEON) + $(QT5WEBENGINE_CONFIGURE_ARM_THUMB) (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBENGINE_ENV) $(HOST_DIR)/bin/qmake $(QT5WEBENGINE_QMAKEFLAGS)) endef -- 2.25.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [RFC v2 2/2] package/qt5webengine: fix chromium arm compile flags 2020-03-02 9:19 ` [Buildroot] [RFC v2 2/2] package/qt5webengine: fix chromium arm compile flags Peter Seiderer @ 2020-03-02 13:30 ` Thomas Petazzoni 2020-03-02 22:01 ` Peter Seiderer 0 siblings, 1 reply; 6+ messages in thread From: Thomas Petazzoni @ 2020-03-02 13:30 UTC (permalink / raw) To: buildroot On Mon, 2 Mar 2020 10:19:26 +0100 Peter Seiderer <ps.report@gmx.net> wrote: > The qt5webengine configure simple takes QT_ARCH ('arm') to determine the > chromium compiler flags and uses some hard coded ARMv7 default values > for the compiler command line: '... -march=armv7-a -mfloat-abi=hard > -mtune=generic-armv7-a -mfpu=vfpv3-d16 ...'. > > This results e.g. in an illegal instruction failure for rpi zero > (reported on the mailing list, see [1]). > > Custom values could be set in the file src/3rdparty/chromium/build/config/arm.gni > (as tested by an proof-of-concept patch [2]). > > [1] http://lists.busybox.net/pipermail/buildroot/2020-February/274587.html > [2] http://lists.busybox.net/pipermail/buildroot/2020-February/274586.html > > Signed-off-by: Peter Seiderer <ps.report@gmx.net> Could we instead ask this thing to not do all this sorcery, and instead just use the compiler as-is, without passing crazy architecture-specific compiler flags ? Thomas -- Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [RFC v2 2/2] package/qt5webengine: fix chromium arm compile flags 2020-03-02 13:30 ` Thomas Petazzoni @ 2020-03-02 22:01 ` Peter Seiderer 2020-03-03 8:00 ` Thomas Petazzoni 0 siblings, 1 reply; 6+ messages in thread From: Peter Seiderer @ 2020-03-02 22:01 UTC (permalink / raw) To: buildroot Hello Thomas, On Mon, 2 Mar 2020 14:30:07 +0100, Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote: > On Mon, 2 Mar 2020 10:19:26 +0100 > Peter Seiderer <ps.report@gmx.net> wrote: > > > The qt5webengine configure simple takes QT_ARCH ('arm') to determine the > > chromium compiler flags and uses some hard coded ARMv7 default values > > for the compiler command line: '... -march=armv7-a -mfloat-abi=hard > > -mtune=generic-armv7-a -mfpu=vfpv3-d16 ...'. > > > > This results e.g. in an illegal instruction failure for rpi zero > > (reported on the mailing list, see [1]). > > > > Custom values could be set in the file src/3rdparty/chromium/build/config/arm.gni > > (as tested by an proof-of-concept patch [2]). > > > > [1] http://lists.busybox.net/pipermail/buildroot/2020-February/274587.html > > [2] http://lists.busybox.net/pipermail/buildroot/2020-February/274586.html > > > > Signed-off-by: Peter Seiderer <ps.report@gmx.net> > > Could we instead ask this thing to not do all this sorcery, and instead > just use the compiler as-is, without passing crazy > architecture-specific compiler flags ? Disabled all march/mfloat-abi/mtune/mfpu flags with the following patch: --- a/src/3rdparty/chromium/build/config/compiler/BUILD.gn +++ b/src/3rdparty/chromium/build/config/compiler/BUILD.gn @@ -672,7 +672,7 @@ config("compiler") { # TODO(pcc): The contents of .ARM.attributes should be based on the # -march flag passed at compile time (see llvm.org/pr36291). if (current_cpu == "arm") { - ldflags += [ "-march=$arm_arch" ] +# ldflags += [ "-march=$arm_arch" ] } } @@ -752,13 +752,13 @@ config("compiler_cpu_abi") { ldflags += [ "--target=arm-linux-gnueabihf" ] } if (!is_nacl) { - cflags += [ - "-march=$arm_arch", - "-mfloat-abi=$arm_float_abi", - ] +# cflags += [ +# "-march=$arm_arch", +# "-mfloat-abi=$arm_float_abi", +# ] } if (arm_tune != "") { - cflags += [ "-mtune=$arm_tune" ] +# cflags += [ "-mtune=$arm_tune" ] } } else if (current_cpu == "arm64") { if (is_clang && !is_android && !is_nacl && !is_fuchsia) { @@ -1130,7 +1130,8 @@ config("clang_revision") { config("compiler_arm_fpu") { if (current_cpu == "arm" && !is_ios && !is_nacl) { - cflags = [ "-mfpu=$arm_fpu" ] +# cflags = [ "-mfpu=$arm_fpu" ] + cflags = [ ] asmflags = cflags } } Quick (if you call can call it quick with miniumum 50 minutes compile time) worked for a buildroot toolchain (which defaults to the right cpu) and the rpi zero testcase..., but now no buildroot specific flags are used for the compile (no optimize, no custom, no cpu type etc.)..., will work with compilers with the right default values... Not sure if other optional compiles depend on the right setting of one of the arm_... parameters... Regards, Peter > > Thomas ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [RFC v2 2/2] package/qt5webengine: fix chromium arm compile flags 2020-03-02 22:01 ` Peter Seiderer @ 2020-03-03 8:00 ` Thomas Petazzoni 0 siblings, 0 replies; 6+ messages in thread From: Thomas Petazzoni @ 2020-03-03 8:00 UTC (permalink / raw) To: buildroot Hello Peter, On Mon, 2 Mar 2020 23:01:55 +0100 Peter Seiderer <ps.report@gmx.net> wrote: > > Could we instead ask this thing to not do all this sorcery, and instead > > just use the compiler as-is, without passing crazy > > architecture-specific compiler flags ? > > Disabled all march/mfloat-abi/mtune/mfpu flags with the following patch: [...] Thanks for this work! To me this feels like a better solution, even though it's annoying to maintain such a local patch. I assume there's pretty much zero chance to get this merged by upstream Chromium, and then back into the qt5webengine code anyway. > Quick (if you call can call it quick with miniumum 50 minutes compile time) > worked for a buildroot toolchain (which defaults to the right cpu) and > the rpi zero testcase..., but now no buildroot specific flags are > used for the compile (no optimize, no custom, no cpu type etc.)..., > will work with compilers with the right default values... The CPU type is encoded into the compiler wrapper. So it's really only the optimization/debug flags that you will be missing. Thomas -- Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [RFC v2 1/2] arch/Config.in.arm: add BR2_GCC_TARGET_ARCH entries 2020-03-02 9:19 [Buildroot] [RFC v2 1/2] arch/Config.in.arm: add BR2_GCC_TARGET_ARCH entries Peter Seiderer 2020-03-02 9:19 ` [Buildroot] [RFC v2 2/2] package/qt5webengine: fix chromium arm compile flags Peter Seiderer @ 2020-03-02 10:17 ` Peter Seiderer 1 sibling, 0 replies; 6+ messages in thread From: Peter Seiderer @ 2020-03-02 10:17 UTC (permalink / raw) To: buildroot On Mon, 2 Mar 2020 10:19:25 +0100, Peter Seiderer <ps.report@gmx.net> wrote: > Add BR2_GCC_TARGET_ARCH entries, determined by (gcc-9.2.0) Argh..., should have been BR2_GCC_TARGET_ARM_ARCH (not the already existing BR2_GCC_TARGET_ARCH).... Regards, Peter > $ ./host/bin/arm-buildroot-linux-gnueabihf-gcc -Q -mcpu=$(BR2_GCC_TARGET_CPU) --help=target | grep march > > Or (for cortex-m3/cortex-m4/cortex-m7): > $ ./host/bin/arm-buildroot-linux-gnueabihf-gcc -Q -mcpu=$(BR2_GCC_TARGET_CPU) -mthumb --help=target | grep march > > Or (where indicated): > $ ./host/bin/arm-buildroot-linux-gnueabihf-gcc -Q -mcpu=$(BR2_GCC_TARGET_CPU) -msoft-float --help=target | grep march > > The soft/hard float flags could be determined from > the arch/Config.in.arm processor definitions or the given > isa_bit_... flags from build/host-gcc-final-9.2.0/build/gcc/arm-cpu-cdata.h. > > Signed-off-by: Peter Seiderer <ps.report@gmx.net> > --- > Notes: > - Fix ToDo's for unknown cpus > - Add BR2_GCC_TARGET_ARCH for other archs? > > Changes v1 -> v2: > - new patch > --- > arch/Config.in.arm | 72 ++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 72 insertions(+) > > diff --git a/arch/Config.in.arm b/arch/Config.in.arm > index 4c0910e4f8..24f550287d 100644 > --- a/arch/Config.in.arm > +++ b/arch/Config.in.arm > @@ -898,6 +898,78 @@ config BR2_GCC_TARGET_CPU > # armv8.4a > default "saphira" if BR2_saphira > > +config BR2_GCC_TARGET_ARCH > + # armv4 > + default "armv4t" if BR2_arm920t > + default "armv4t" if BR2_arm922t > + default "armv4" if BR2_fa526 > + default "armv4" if BR2_strongarm > + # armv5 > + default "armv5tej+fp" if BR2_arm926t > + default "iwmmxt" if BR2_iwmmxt > + default "armv5te" if BR2_xscale # -msoft-float > + # armv6 > + default "armv6j" if BR2_arm1136j_s # -msoft-float > + default "armv6j+fp" if BR2_arm1136jf_s > + default "armv6kz" if BR2_arm1176jz_s # -msoft-float > + default "armv6kz+fp" if BR2_arm1176jzf_s > + default "armv6k+fp" if BR2_arm11mpcore && BR2_ARM_CPU_HAS_VFPV2 > + default "armv6k" if BR2_arm11mpcore # -msoft-float > + # armv7a > + default "armv7-a+mp+sec+fp" if BR2_cortex_a5 > + default "armv7ve+vfpv3-d16" if BR2_cortex_a7 > + default "armv7-a+sec+fp" if BR2_cortex_a8 > + default "armv7-a+mp+sec+fp" if BR2_cortex_a9 > + default "armv7ve+vfpv3-d16" if BR2_cortex_a12 > + default "armv7ve+vfpv3-d16" if BR2_cortex_a15 > + default "armv7ve+vfpv3-d16" if BR2_cortex_a15_a7 > + default "armv7ve+vfpv3-d16" if BR2_cortex_a17 > + default "armv7ve+vfpv3-d16" if BR2_cortex_a17_a7 > + default "armv7-a+mp+sec+fp" if BR2_pj4 > + # armv7m > + default "armv7-m" if BR2_cortex_m3 > + default "armv7e-m+fp.dp" if BR2_cortex_m4 > + default "armv7e-m+fp.dp" if BR2_cortex_m7 > + # armv8a > + default "armv8-a+crc+simd" if BR2_cortex_a32 > + default "armv8-a+crc+simd" if BR2_cortex_a35 > + default "armv8-a+crc+simd" if BR2_cortex_a53 > + default "armv8-a+crc+simd" if BR2_cortex_a57 > + default "armv8-a+crc+simd" if BR2_cortex_a57_a53 > + default "armv8-a+crc+simd" if BR2_cortex_a72 > + default "armv8-a+crc+simd" if BR2_cortex_a72_a53 > + default "armv8-a+crc+simd" if BR2_cortex_a73 > + default "armv8-a+crc+simd" if BR2_cortex_a73_a35 > + default "armv8-a+crc+simd" if BR2_cortex_a73_a53 > + default "armv8-a+crc+simd" if BR2_emag # ToDo: error: unrecognized -mcpu target: emag > + default "armv8-a+crc+simd" if BR2_exynos_m1 > + default "armv8-a" if BR2_falkor # ToDo: error: unrecognized -mcpu target: falkor > + default "armv8-a" if BR2_phecda # ToDo: error: unrecognized -mcpu target: phecda > + default "armv8-a" if BR2_qdf24xx # ToDo: error: unrecognized -mcpu target: qdf24xx > + default "armv8-a" if BR2_thunderx && !BR2_TOOLCHAIN_GCC_AT_LEAST_9 # ToDo: error: unrecognized -mcpu target: thunderx > + default "armv8-a" if BR2_thunderx && BR2_TOOLCHAIN_GCC_AT_LEAST_9 # ToDo: error: unrecognized -mcpu target: octeontx > + default "armv8-a" if BR2_thunderxt81 && !BR2_TOOLCHAIN_GCC_AT_LEAST_9 # ToDo: error: unrecognized -mcpu target: thunderxt81 > + default "armv8-a" if BR2_thunderxt81 && BR2_TOOLCHAIN_GCC_AT_LEAST_9 # ToDo: error: unrecognized -mcpu target: octeontx81 > + default "armv8-a" if BR2_thunderxt83 && !BR2_TOOLCHAIN_GCC_AT_LEAST_9 # ToDo: error: unrecognized -mcpu target: thunderxt83 > + default "armv8-a" if BR2_thunderxt83 && BR2_TOOLCHAIN_GCC_AT_LEAST_9 # ToDo: error: unrecognized -mcpu target: octeontx83 > + default "armv8-a" if BR2_thunderxt88 # ToDo: error: unrecognized -mcpu target: thunderxt88 > + default "armv8-a" if BR2_thunderxt88p1 # ToDo: error: unrecognized -mcpu target: thunderxt88p1 > + default "armv8-a+simd" if BR2_xgene1 > + # armv8.1a > + default "armv8.1-a" if BR2_thunderx2t99 # ToDo: error: unrecognized -mcpu target: thunderx2t99 > + default "armv8.1-a" if BR2_thunderx2t99p1 # ToDo: error: unrecognized -mcpu target: thunderx2t99p1 > + default "armv8.1-a" if BR2_vulcan # ToDo: error: unrecognized -mcpu target: vulcan > + # armv8.2a > + default "armv8.2-a+simd" if BR2_cortex_a55 > + default "armv8.2-a+simd" if BR2_cortex_a75 > + default "armv8.2-a+simd" if BR2_cortex_a75_a55 > + default "armv8.2-a+simd" if BR2_cortex_a76 > + default "armv8.2-a+simd" if BR2_cortex_a76_a55 > + default "armv8.2-a+simd" if BR2_neoverse_n1 > + default "armv8.2-a" if BR2_tsv110 # ToDo: error: unrecognized -mcpu target: tsv110 > + # armv8.4a > + default "armv8.4-a" if BR2_saphira # ToDo: error: unrecognized -mcpu target: saphira > + > config BR2_GCC_TARGET_ABI > default "aapcs-linux" if BR2_arm || BR2_armeb > default "lp64" if BR2_aarch64 || BR2_aarch64_be ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-03-03 8:00 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-03-02 9:19 [Buildroot] [RFC v2 1/2] arch/Config.in.arm: add BR2_GCC_TARGET_ARCH entries Peter Seiderer 2020-03-02 9:19 ` [Buildroot] [RFC v2 2/2] package/qt5webengine: fix chromium arm compile flags Peter Seiderer 2020-03-02 13:30 ` Thomas Petazzoni 2020-03-02 22:01 ` Peter Seiderer 2020-03-03 8:00 ` Thomas Petazzoni 2020-03-02 10:17 ` [Buildroot] [RFC v2 1/2] arch/Config.in.arm: add BR2_GCC_TARGET_ARCH entries Peter Seiderer
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.