<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">On 05/02/2013 02:14 PM, Rafael
Espíndola wrote:<br>
</div>
<blockquote
cite="mid:CAG3jReJsX1CKFJK2y=RKUhDhDFND14_DnXQ6v7CxsZSYX+Me8Q@mail.gmail.com"
type="cite">
<pre wrap="">On 2 May 2013 17:11, Tim Northover <a class="moz-txt-link-rfc2396E" href="mailto:t.p.northover@gmail.com"><t.p.northover@gmail.com></a> wrote:
</pre>
<blockquote type="cite">
<pre wrap="">A case for __attribute__((stark_naked))?
</pre>
</blockquote>
<pre wrap="">
I am OK with adding such an attribute, but we should try to coordinate
with gcc, so that we don't end up with stark_naked and they add a
completely_naked or something :-)
Cheers,
Rafael
</pre>
</blockquote>
Interesting. This all conflicts with gcc documentation.<br>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<a href="http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html">http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html</a><br>
<br>
When discussing the
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<span style="color: rgb(0, 0, 0); font-family: monospace;
font-style: normal; font-variant: normal; font-weight: normal;
letter-spacing: normal; line-height: normal; orphans: 2;
text-align: -webkit-auto; text-indent: 0px; text-transform: none;
white-space: normal; widows: 2; word-spacing: 0px;
-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;
font-size: medium; display: inline !important; float: none; ">OS_main/OS_task
attribute:<br>
The manual states:<br>
</span>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<p style="color: rgb(0, 0, 0); font-family: 'Times New Roman';
font-style: normal; font-variant: normal; font-weight: normal;
letter-spacing: normal; line-height: normal; orphans: 2;
text-align: -webkit-auto; text-indent: 0px; text-transform: none;
white-space: normal; widows: 2; word-spacing: 0px;
-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;
font-size: medium; ">The differences to the<span
class="Apple-converted-space"> </span><code>naked</code><span
class="Apple-converted-space"> </span>function attribute are:</p>
<ul style="color: rgb(0, 0, 0); font-family: 'Times New Roman';
font-style: normal; font-variant: normal; font-weight: normal;
letter-spacing: normal; line-height: normal; orphans: 2;
text-align: -webkit-auto; text-indent: 0px; text-transform: none;
white-space: normal; widows: 2; word-spacing: 0px;
-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;
font-size: medium; ">
<li><code>naked</code><span class="Apple-converted-space"> </span>functions
do not have a return instruction whereas<span
class="Apple-converted-space"> </span><code>OS_main</code><span
class="Apple-converted-space"> </span>and<span
class="Apple-converted-space"> </span><code>OS_task</code><span
class="Apple-converted-space"> </span>functions have a<span
class="Apple-converted-space"> </span><code>RET</code><span
class="Apple-converted-space"> </span>or<span
class="Apple-converted-space"> </span><code>RETI</code><span
class="Apple-converted-space"> </span>return instruction.</li>
<li><code>naked</code><span class="Apple-converted-space"> </span>functions
do not set up a frame for local variables or a frame pointer
whereas<span class="Apple-converted-space"> </span><code>OS_main</code><span
class="Apple-converted-space"> </span>and<span
class="Apple-converted-space"> </span><code>OS_task</code><span
class="Apple-converted-space"> </span>do this as needed.</li>
</ul>
<br>
</body>
</html>