Message ID | 20190606073709.7211-1-claziss@gmail.com |
---|---|
State | New |
Headers | show |
Series | [ARC,DOC] Add documentation naked, ilink and firq | expand |
* Claudiu Zissulescu <claziss@gmail.com> [2019-06-06 10:37:09 +0300]: > Hi Sandra, Andrew > > Please find a small patch on the documentation which adds info about naked, ilink and firq function attributes. > > Ok to apply? > Claudiu > > gcc/ > xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> > > * doc/extend.texi (ARC Function Attributes): Update info. This change looks good to me. Thanks, Andrew > --- > gcc/doc/extend.texi | 14 +++++++++++++- > 1 file changed, 13 insertions(+), 1 deletion(-) > > diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi > index e8563fd0803..c2e675afa0f 100644 > --- a/gcc/doc/extend.texi > +++ b/gcc/doc/extend.texi > @@ -4139,7 +4139,8 @@ void f () __attribute__ ((interrupt ("ilink1"))); > @end smallexample > > Permissible values for this parameter are: @w{@code{ilink1}} and > -@w{@code{ilink2}}. > +@w{@code{ilink2}} for ARCv1 architecture, and @w{@code{ilink}} and > +@w{@code{firq}} for ARCv2 architecture. > > @item long_call > @itemx medium_call > @@ -4182,7 +4183,17 @@ This attribute allows one to mark secure-code functions that are > callable from normal mode. The location of the secure call function > into the @code{sjli} table needs to be passed as argument. > > +@item naked > +@cindex @code{naked} function attribute, ARC > +This attribute allows the compiler to construct the requisite function > +declaration, while allowing the body of the function to be assembly > +code. The specified function will not have prologue/epilogue sequences > +generated by the compiler. Only basic @code{asm} statements can safely > +be included in naked functions (@pxref{Basic Asm}). While using > +extended @code{asm} or a mixture of basic @code{asm} and C code may > +appear to work, they cannot be depended upon to work reliably and are > +not supported. > + > @end table > > @node ARM Function Attributes > -- > 2.21.0 >
Thank you for your review, Claudiu On Wed, Jun 12, 2019 at 12:00 AM Andrew Burgess <andrew.burgess@embecosm.com> wrote: > > * Claudiu Zissulescu <claziss@gmail.com> [2019-06-06 10:37:09 +0300]: > > > Hi Sandra, Andrew > > > > Please find a small patch on the documentation which adds info about naked, ilink and firq function attributes. > > > > Ok to apply? > > Claudiu > > > > gcc/ > > xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> > > > > * doc/extend.texi (ARC Function Attributes): Update info. > > This change looks good to me. > > Thanks, > Andrew > > > > --- > > gcc/doc/extend.texi | 14 +++++++++++++- > > 1 file changed, 13 insertions(+), 1 deletion(-) > > > > diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi > > index e8563fd0803..c2e675afa0f 100644 > > --- a/gcc/doc/extend.texi > > +++ b/gcc/doc/extend.texi > > @@ -4139,7 +4139,8 @@ void f () __attribute__ ((interrupt ("ilink1"))); > > @end smallexample > > > > Permissible values for this parameter are: @w{@code{ilink1}} and > > -@w{@code{ilink2}}. > > +@w{@code{ilink2}} for ARCv1 architecture, and @w{@code{ilink}} and > > +@w{@code{firq}} for ARCv2 architecture. > > > > @item long_call > > @itemx medium_call > > @@ -4182,7 +4183,17 @@ This attribute allows one to mark secure-code functions that are > > callable from normal mode. The location of the secure call function > > into the @code{sjli} table needs to be passed as argument. > > > > +@item naked > > +@cindex @code{naked} function attribute, ARC > > +This attribute allows the compiler to construct the requisite function > > +declaration, while allowing the body of the function to be assembly > > +code. The specified function will not have prologue/epilogue sequences > > +generated by the compiler. Only basic @code{asm} statements can safely > > +be included in naked functions (@pxref{Basic Asm}). While using > > +extended @code{asm} or a mixture of basic @code{asm} and C code may > > +appear to work, they cannot be depended upon to work reliably and are > > +not supported. > > + > > @end table > > > > @node ARM Function Attributes > > -- > > 2.21.0 > >
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index e8563fd0803..c2e675afa0f 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -4139,7 +4139,8 @@ void f () __attribute__ ((interrupt ("ilink1"))); @end smallexample Permissible values for this parameter are: @w{@code{ilink1}} and -@w{@code{ilink2}}. +@w{@code{ilink2}} for ARCv1 architecture, and @w{@code{ilink}} and +@w{@code{firq}} for ARCv2 architecture. @item long_call @itemx medium_call @@ -4182,7 +4183,17 @@ This attribute allows one to mark secure-code functions that are callable from normal mode. The location of the secure call function into the @code{sjli} table needs to be passed as argument. +@item naked +@cindex @code{naked} function attribute, ARC +This attribute allows the compiler to construct the requisite function +declaration, while allowing the body of the function to be assembly +code. The specified function will not have prologue/epilogue sequences +generated by the compiler. Only basic @code{asm} statements can safely +be included in naked functions (@pxref{Basic Asm}). While using +extended @code{asm} or a mixture of basic @code{asm} and C code may +appear to work, they cannot be depended upon to work reliably and are +not supported. + @end table @node ARM Function Attributes --