From: Alexei Alexei.Fedorov@arm.com
This commit adds the GCC compiler "-march=armv8-a" flag for the Juno platform with ARMv8 CPU.
This compilation flag also fixes assembler errors like Error: attempt to use an ARM instruction on a Thumb-only processor -- `push {r4-r8}' which are reported by GCC compilers prior to Linaro GCC 4.9-2015.05 4.9.3 20150413 (i.e. 4.9.3 20141119).
Code is available at: https://github.com/EvanLloyd/OpenPlatformPkg/tree/JunoBuild_v1
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Alexei Fedorov alexei.fedorov@arm.com Signed-off-by: Evan Lloyd evan.lloyd@arm.com --- Platforms/ARM/Juno/ArmJuno.dsc | 1 + 1 file changed, 1 insertion(+)
diff --git a/Platforms/ARM/Juno/ArmJuno.dsc b/Platforms/ARM/Juno/ArmJuno.dsc index 4f41fb159f193b3593048ce118fd0e8e97843809..87b8d517f292e81297dcf6577e5376fd7a3c8569 100644 --- a/Platforms/ARM/Juno/ArmJuno.dsc +++ b/Platforms/ARM/Juno/ArmJuno.dsc @@ -75,6 +75,7 @@ [LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION, Libr
[BuildOptions] *_*_*_PLATFORM_FLAGS == -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmJunoPkg/Include + *_*_*_PLATFORM_FLAGS = -march=armv8-a
################################################################################ #
1 question inline.
On Fri, Jul 15, 2016 at 07:26:30PM +0100, evan.lloyd@arm.com wrote:
From: Alexei Alexei.Fedorov@arm.com
This commit adds the GCC compiler "-march=armv8-a" flag for the Juno platform with ARMv8 CPU.
This compilation flag also fixes assembler errors like Error: attempt to use an ARM instruction on a Thumb-only processor -- `push {r4-r8}' which are reported by GCC compilers prior to Linaro GCC 4.9-2015.05 4.9.3 20150413 (i.e. 4.9.3 20141119).
Code is available at: https://github.com/EvanLloyd/OpenPlatformPkg/tree/JunoBuild_v1
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Alexei Fedorov alexei.fedorov@arm.com Signed-off-by: Evan Lloyd evan.lloyd@arm.com
Platforms/ARM/Juno/ArmJuno.dsc | 1 + 1 file changed, 1 insertion(+)
diff --git a/Platforms/ARM/Juno/ArmJuno.dsc b/Platforms/ARM/Juno/ArmJuno.dsc index 4f41fb159f193b3593048ce118fd0e8e97843809..87b8d517f292e81297dcf6577e5376fd7a3c8569 100644 --- a/Platforms/ARM/Juno/ArmJuno.dsc +++ b/Platforms/ARM/Juno/ArmJuno.dsc @@ -75,6 +75,7 @@ [LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION, Libr [BuildOptions] *_*_*_PLATFORM_FLAGS == -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmJunoPkg/Include
- *_*_*_PLATFORM_FLAGS = -march=armv8-a
Should this not be GCC:*_*_AARCH64_PLATFORM_FLAGS ?
Regards,
Leif
################################################################################
#
Guid("CE165669-3EF3-493F-B85D-6190EE5B9759")
On 27 July 2016 at 16:54, Leif Lindholm leif.lindholm@linaro.org wrote:
1 question inline.
On Fri, Jul 15, 2016 at 07:26:30PM +0100, evan.lloyd@arm.com wrote:
From: Alexei Alexei.Fedorov@arm.com
This commit adds the GCC compiler "-march=armv8-a" flag for the Juno platform with ARMv8 CPU.
This compilation flag also fixes assembler errors like Error: attempt to use an ARM instruction on a Thumb-only processor -- `push {r4-r8}'
This means you are building for an M-profile cpu, which sure as hell is not the default target for the linaro toolchain.
Could you copy/paste the actual gcc command line that is shown during the build?
which are reported by GCC compilers prior to Linaro GCC 4.9-2015.05 4.9.3 20150413 (i.e. 4.9.3 20141119).
Code is available at: https://github.com/EvanLloyd/OpenPlatformPkg/tree/JunoBuild_v1
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Alexei Fedorov alexei.fedorov@arm.com Signed-off-by: Evan Lloyd evan.lloyd@arm.com
Platforms/ARM/Juno/ArmJuno.dsc | 1 + 1 file changed, 1 insertion(+)
diff --git a/Platforms/ARM/Juno/ArmJuno.dsc b/Platforms/ARM/Juno/ArmJuno.dsc index 4f41fb159f193b3593048ce118fd0e8e97843809..87b8d517f292e81297dcf6577e5376fd7a3c8569 100644 --- a/Platforms/ARM/Juno/ArmJuno.dsc +++ b/Platforms/ARM/Juno/ArmJuno.dsc @@ -75,6 +75,7 @@ [LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION, Libr
[BuildOptions] *_*_*_PLATFORM_FLAGS == -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmJunoPkg/Include
- *_*_*_PLATFORM_FLAGS = -march=armv8-a
Should this not be GCC:*_*_AARCH64_PLATFORM_FLAGS ?
GCC:*_*_ARM_PLATFORM_FLAGS, most probably.
On Wed, Jul 27, 2016 at 05:01:05PM +0200, Ard Biesheuvel wrote:
diff --git a/Platforms/ARM/Juno/ArmJuno.dsc b/Platforms/ARM/Juno/ArmJuno.dsc index 4f41fb159f193b3593048ce118fd0e8e97843809..87b8d517f292e81297dcf6577e5376fd7a3c8569 100644 --- a/Platforms/ARM/Juno/ArmJuno.dsc +++ b/Platforms/ARM/Juno/ArmJuno.dsc @@ -75,6 +75,7 @@ [LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION, Libr
[BuildOptions] *_*_*_PLATFORM_FLAGS == -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmJunoPkg/Include
- *_*_*_PLATFORM_FLAGS = -march=armv8-a
Should this not be GCC:*_*_AARCH64_PLATFORM_FLAGS ?
GCC:*_*_ARM_PLATFORM_FLAGS, most probably.
Well, yes - thinko.
/ Leif
Hi Leif,
This ARMv8 flag was added for Juno 32-bit build.
Alexei.
-----Original Message----- From: Linaro-uefi [mailto:linaro-uefi-bounces@lists.linaro.org] On Behalf Of Leif Lindholm Sent: 27 July 2016 15:55 To: Evan Lloyd Cc: linaro-uefi@lists.linaro.org Subject: Re: [Linaro-uefi] [PATCH] Platforms/ARM/Juno: Add GCC ARMv8 target architecture flag
1 question inline.
On Fri, Jul 15, 2016 at 07:26:30PM +0100, evan.lloyd@arm.com wrote:
From: Alexei Alexei.Fedorov@arm.com
This commit adds the GCC compiler "-march=armv8-a" flag for the Juno platform with ARMv8 CPU.
This compilation flag also fixes assembler errors like Error: attempt to use an ARM instruction on a Thumb-only processor -- `push {r4-r8}' which are reported by GCC compilers prior to Linaro GCC 4.9-2015.05 4.9.3 20150413 (i.e. 4.9.3 20141119).
Code is available at: https://github.com/EvanLloyd/OpenPlatformPkg/tree/JunoBuild_v1
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Alexei Fedorov alexei.fedorov@arm.com Signed-off-by: Evan Lloyd evan.lloyd@arm.com
Platforms/ARM/Juno/ArmJuno.dsc | 1 + 1 file changed, 1 insertion(+)
diff --git a/Platforms/ARM/Juno/ArmJuno.dsc b/Platforms/ARM/Juno/ArmJuno.dsc index 4f41fb159f193b3593048ce118fd0e8e97843809..87b8d517f292e81297dcf6577e53 76fd7a3c8569 100644 --- a/Platforms/ARM/Juno/ArmJuno.dsc +++ b/Platforms/ARM/Juno/ArmJuno.dsc @@ -75,6 +75,7 @@ [LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION, Libr
[BuildOptions] *_*_*_PLATFORM_FLAGS == -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmJunoPkg/Include
- *_*_*_PLATFORM_FLAGS = -march=armv8-a
Should this not be GCC:*_*_AARCH64_PLATFORM_FLAGS ?
Regards,
Leif
###################################################################### ##########
#
Guid("CE165669-3EF3-493F-B85D-6190EE5B9759")
_______________________________________________ Linaro-uefi mailing list Linaro-uefi@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-uefi IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
Hi Alexei,
On Wed, Jul 27, 2016 at 03:34:02PM +0000, Alexei Fedorov wrote:
Hi Leif,
This ARMv8 flag was added for Juno 32-bit build.
Yes, but the patch as sent in the original patch would be applied to both AARCH64 and ARM builds, and for all toolchains (including RVCT, which would probably give an error message for that parameter).
The (corrected) alternative (as provided by Ard) will be invoked only for ARM builds, and only for the GCC toolchain.
Ard's question about why the error messages appear in the first place still remains.
Regards,
Leif
Alexei.
-----Original Message----- From: Linaro-uefi [mailto:linaro-uefi-bounces@lists.linaro.org] On Behalf Of Leif Lindholm Sent: 27 July 2016 15:55 To: Evan Lloyd Cc: linaro-uefi@lists.linaro.org Subject: Re: [Linaro-uefi] [PATCH] Platforms/ARM/Juno: Add GCC ARMv8 target architecture flag
1 question inline.
On Fri, Jul 15, 2016 at 07:26:30PM +0100, evan.lloyd@arm.com wrote:
From: Alexei Alexei.Fedorov@arm.com
This commit adds the GCC compiler "-march=armv8-a" flag for the Juno platform with ARMv8 CPU.
This compilation flag also fixes assembler errors like Error: attempt to use an ARM instruction on a Thumb-only processor -- `push {r4-r8}' which are reported by GCC compilers prior to Linaro GCC 4.9-2015.05 4.9.3 20150413 (i.e. 4.9.3 20141119).
Code is available at: https://github.com/EvanLloyd/OpenPlatformPkg/tree/JunoBuild_v1
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Alexei Fedorov alexei.fedorov@arm.com Signed-off-by: Evan Lloyd evan.lloyd@arm.com
Platforms/ARM/Juno/ArmJuno.dsc | 1 + 1 file changed, 1 insertion(+)
diff --git a/Platforms/ARM/Juno/ArmJuno.dsc b/Platforms/ARM/Juno/ArmJuno.dsc index 4f41fb159f193b3593048ce118fd0e8e97843809..87b8d517f292e81297dcf6577e53 76fd7a3c8569 100644 --- a/Platforms/ARM/Juno/ArmJuno.dsc +++ b/Platforms/ARM/Juno/ArmJuno.dsc @@ -75,6 +75,7 @@ [LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION, Libr
[BuildOptions] *_*_*_PLATFORM_FLAGS == -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmJunoPkg/Include
- *_*_*_PLATFORM_FLAGS = -march=armv8-a
Should this not be GCC:*_*_AARCH64_PLATFORM_FLAGS ?
Regards,
Leif
###################################################################### ##########
#
Guid("CE165669-3EF3-493F-B85D-6190EE5B9759")
Linaro-uefi mailing list Linaro-uefi@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-uefi IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.