Re: what options to pass to gcc for support of arm security extensions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



My apologies, my statement this morning was not quite accurate.

SMC is only implemented as part of the security extensions feature.  As
such it is not part of the base-line ARMv7-A architecture.

To enable this feature you need to specify -march=armv7-a+sec (provided
your toolchain supports that).  You should also be able to enable it if
you build with -march=armv7ve (which includes SEC by default), or if you
take the -march= statement out of the list of options below and rely on
picking up the architecture from the -mcpu statement (your current
command line options are slightly in conflict, since Cortex-A15
implements the ARMv7VE version of the architecture).

Note that SMC will be treated as undefined if executed from user mode;
user code cannot call directly into the monitor.  But that's a different
issue.

Once again, apologies for misleading you earlier.

R.

On 31/07/15 14:10, Shahin Ansari wrote:
> Thanks. The following are the flags I am using; I do not see what I am doing
> wrong. Would  you have a look? 
> LOCAL_CFLAGS := -march=armv7-a -mtune=cortex-a15 -D__ASSEMBLY__
> -mabi=aapcs-linux -gdwarf-2 -Wall -Wundef -Wstrict-proto
> types -Wno-trigraphs -fno-strict-aliasing -fno-common
> -Werror-implicit-function-declaration -Wno-format-security -fno-de
> lete-null-pointer-checks -Os -Wno-maybe-uninitialized -marm
> -fno-dwarf2-cfi-asm -fstack-protector -mabi=aapcs-linux -mno
> -thumb-interwork -funwind-tables -D__LINUX_ARM_ARCH__=7 -mcpu=cortex-a15
> -msoft-float -Uarm -Wframe-larger-than=1024 -Wn
> o-unused-but-set-variable -fomit-frame-pointer -g
> -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -
> fconserve-stack -DCC_HAVE_ASM_GOTO
> 
> -----Original Message-----
> From: gcc-help-owner@xxxxxxxxxxx [mailto:gcc-help-owner@xxxxxxxxxxx] On
> Behalf Of Richard Earnshaw
> Sent: Friday, July 31, 2015 5:46 AM
> To: Shahin Ansari <shansari@xxxxxxxxxxx>; gcc-help@xxxxxxxxxxx
> Subject: Re: what options to pass to gcc for support of arm security
> extensions
> 
> On 30/07/15 20:29, Shahin Ansari wrote:
>> Greetings-
>> According to the ARM documentation the SMC call should be supported at 
>> ARMv6 and above. However, I get the error message below when I try to use
> it:
>>
> 
> Almost, it's ARMv6Z that introduced the SMC instruction.  It will certainly
> be recognized for ARMv7-a and above.
> 
> GCC uses the -mcpu= (or if that's not specified the -march=) options from
> the command line to tell the assembler what instructions should be
> permitted.
> 
> R.
> 




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux