selected processor does not support Thumb mode `smc 0'

2012-12-07 Thread Shivamurthy Shastri
Hi,

I am trying to compile UEFI code with linaro toolchain version:

# arm-linux-gnueabi-gcc --version
arm-linux-gnueabi-gcc (Ubuntu/Linaro 4.7.1-5ubuntu1~ppa1) 4.7.1
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

I got the erros as follows:

"/usr/bin/arm-linux-gnueabi-gcc" -mthumb -march=armv7-a
-I/home/shiva/workspace/arndale/edk2/SamsungPlatformPkg/ExynosPkg/Exynos5250/Include/Platform
-g -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces
-Wno-array-bounds -c -include AutoGen.h -mword-relocations -mlittle-endian
-mabi=aapcs -mapcs -fno-short-enums -save-temps -fsigned-char
-ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address -O0
-o
/home/shiva/workspace/arndale/edk2/Build/Arndale-Exynos/DEBUG_ARMLINUXGCC/ARM/SamsungPlatformPkg/ExynosPkg/Exynos5250/Sec/Sec/OUTPUT/./Smc.obj
-I/home/shiva/workspace/arndale/edk2/SamsungPlatformPkg/ExynosPkg/Exynos5250/Sec
-I/home/shiva/workspace/arndale/edk2/Build/Arndale-Exynos/DEBUG_ARMLINUXGCC/ARM/SamsungPlatformPkg/ExynosPkg/Exynos5250/Sec/Sec/DEBUG
-I/home/shiva/workspace/arndale/edk2/MdePkg
-I/home/shiva/workspace/arndale/edk2/MdePkg/Include
-I/home/shiva/workspace/arndale/edk2/MdePkg/Include/Arm
-I/home/shiva/workspace/arndale/edk2/MdeModulePkg
-I/home/shiva/workspace/arndale/edk2/MdeModulePkg/Include
-I/home/shiva/workspace/arndale/edk2/ArmPkg
-I/home/shiva/workspace/arndale/edk2/ArmPkg/Include
-I/home/shiva/workspace/arndale/edk2/ArmPlatformPkg
-I/home/shiva/workspace/arndale/edk2/ArmPlatformPkg/Include
-I/home/shiva/workspace/arndale/edk2/SamsungPlatformPkg/ExynosPkg/Exynos5250
-I/home/shiva/workspace/arndale/edk2/SamsungPlatformPkg/ExynosPkg/Exynos5250/Include
/home/shiva/workspace/arndale/edk2/SamsungPlatformPkg/ExynosPkg/Exynos5250/Sec/Smc.c
Smc.s: Assembler messages:
Smc.s:51: Error: selected processor does not support Thumb mode `smc 0'

Is there any issue with the toolchain or any flags I am using?

-- 
Thanks and Regards,
Shiva.
___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain


Re: selected processor does not support Thumb mode `smc 0'

2012-12-07 Thread Matthew Gretton-Dann
Hi,

On 7 December 2012 13:19, Shivamurthy Shastri
 wrote:
> Hi,
>
> I am trying to compile UEFI code with linaro toolchain version:
>
> # arm-linux-gnueabi-gcc --version
> arm-linux-gnueabi-gcc (Ubuntu/Linaro 4.7.1-5ubuntu1~ppa1) 4.7.1
> Copyright (C) 2012 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>
> I got the erros as follows:
>
> "/usr/bin/arm-linux-gnueabi-gcc" -mthumb -march=armv7-a
> -I/home/shiva/workspace/arndale/edk2/SamsungPlatformPkg/ExynosPkg/Exynos5250/Include/Platform
> -g -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces
> -Wno-array-bounds -c -include AutoGen.h -mword-relocations -mlittle-endian
> -mabi=aapcs -mapcs -fno-short-enums -save-temps -fsigned-char
> -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address -O0 -o
> /home/shiva/workspace/arndale/edk2/Build/Arndale-Exynos/DEBUG_ARMLINUXGCC/ARM/SamsungPlatformPkg/ExynosPkg/Exynos5250/Sec/Sec/OUTPUT/./Smc.obj
> -I/home/shiva/workspace/arndale/edk2/SamsungPlatformPkg/ExynosPkg/Exynos5250/Sec
> -I/home/shiva/workspace/arndale/edk2/Build/Arndale-Exynos/DEBUG_ARMLINUXGCC/ARM/SamsungPlatformPkg/ExynosPkg/Exynos5250/Sec/Sec/DEBUG
> -I/home/shiva/workspace/arndale/edk2/MdePkg
> -I/home/shiva/workspace/arndale/edk2/MdePkg/Include
> -I/home/shiva/workspace/arndale/edk2/MdePkg/Include/Arm
> -I/home/shiva/workspace/arndale/edk2/MdeModulePkg
> -I/home/shiva/workspace/arndale/edk2/MdeModulePkg/Include
> -I/home/shiva/workspace/arndale/edk2/ArmPkg
> -I/home/shiva/workspace/arndale/edk2/ArmPkg/Include
> -I/home/shiva/workspace/arndale/edk2/ArmPlatformPkg
> -I/home/shiva/workspace/arndale/edk2/ArmPlatformPkg/Include
> -I/home/shiva/workspace/arndale/edk2/SamsungPlatformPkg/ExynosPkg/Exynos5250
> -I/home/shiva/workspace/arndale/edk2/SamsungPlatformPkg/ExynosPkg/Exynos5250/Include
> /home/shiva/workspace/arndale/edk2/SamsungPlatformPkg/ExynosPkg/Exynos5250/Sec/Smc.c
> Smc.s: Assembler messages:
> Smc.s:51: Error: selected processor does not support Thumb mode `smc 0'
>
> Is there any issue with the toolchain or any flags I am using?

The issue is the -march=armv7-a option.  Technically, baseline ARMv7-A
does not support the 'smc' instruction - it is added by the Security
Extensions.

Gas (which is the program producing your error message) is following
this behaviour.  Gas does expose -march=armv7-a+sec which does allow
'smc', unfortunately GCC does not understand this option.

There are two ways around this:

1) Use -mcpu= instead of -march=armv7-a.  If all
you want is 'smc', using -mcpu=cortex-a8 will do.

2) If you are using inline assembly to generate the 'smc' instruction,
add '.arch_extension sec' to the assembly before the sec instruction.

I hope this helps.

Thanks,

Matt

--
Matthew Gretton-Dann
Linaro Toolchain Working Group
matthew.gretton-d...@linaro.org

___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain


[ACTIVITY] 3-7 December 2012

2012-12-07 Thread Matthew Gretton-Dann
== Blueprints ==

InitialCurrentActual
initial-aarch64-backport31 Oct 201214 Dec 2012
aarch64-baremetal-testing   31 Oct 201214 Dec 2012
fix-gcc-multiarch-testing   31 Dec 201231 Dec 2012
backport-fma-intrinsic  31 Dec 201231 Dec 2012
fused-multiply-add-support  31 Dec 201231 Dec 2012
gcc-investigate-lra-for-arm 31 Dec 201231 Dec 2012

== Progress ==

 * Admin
   * Interviewing
   * Took over from Michael
   * Preparation for taking over from Michael
 * re-PINGed triplet backport patches upstream
 * Patch review
 * Initial thoughts about cards

== Next Week ==

 * initial-aarch64-backport and aarch64-baremetal-testing
   * Complete documentation
 * gcc-investigate-lra-for-arm
   * Analyse benchmarks
 * Run HOT/COLD partitioning benchmarks
   * Analyse ARM results
   * On x86_64 to see what the actual benefit we could get
 * fix-gcc-multiarch-testing
   * Come up with strawman proposal for updating testsuite to handle
 testing with varying command-line options.

== Future ==

 * backport-fma-intrinsic & fused-multiply-add-support
   * Backport patches once fix-gcc-multiarch-testing has been done.


--
Matthew Gretton-Dann
Linaro Toolchain Working Group
matthew.gretton-d...@linaro.org

___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain


[ACTIVITY] 3-7 December 2012

2012-12-07 Thread Christophe Lyon
== Progress ==
* Turn off 64-bits bitos in Neon: Ping-ed patch proposal.
* Disable peeling: benchmarks show good results; sent a proposal
upstream to discuss preliminary implementation & needed testsuite
modifications.
* builtin_bswap16 backport to linaro-4.7: need to investigation an
unexpected regression reported for i686 target.
* Updated gdb linaro sources to 7.5.1, exercising the release process.
* Trying to bootstrap gcc-linaro/4.7 on board: need to retry with a
different rootfs distribution.

== Next ==
* handle 64-bits bitops in Neon and disable-peeling feedback from
upstream if any.
* finish builtin_bswap16 backport

___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain


[ACTIVITY] report week 49

2012-12-07 Thread Peter Maydell
 * usual set of meetings etc
 * rebased qemu-linaro on upstream 1.3, rolled tarball for 2012.12;
   Zhenqiang has tested it and it should be ready to go next week
 * qemu arm patch catchup; pinging or resending some patches of
   mine from before upstream freeze
 * applied a set of boot-wrapper patches from tixy
 * virtio patch code review: design definitely coming together now

KVM blueprint progress tracker (note new url):
http://cbuild.validation.linaro.org/helpers/backlog?group_by=topic&colour_by=state&projects=linaro-kvm?group_by=topic&colour_by=state&projects=linaro-kvm

-- PMM

___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain