<html>
    <head>
      <base href="http://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - PPC32 SVR4 ABI has no Red Zone"
   href="http://llvm.org/bugs/show_bug.cgi?id=15332">15332</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>PPC32 SVR4 ABI has no Red Zone
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Backend: PowerPC
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>florob@babelmonkeys.de
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvmbugs@cs.uiuc.edu
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=10054" name="attach_10054" title="Patch to avoid generating stackless code on PPC32">attachment 10054</a> <a href="attachment.cgi?id=10054&action=edit" title="Patch to avoid generating stackless code on PPC32">[details]</a></span>
Patch to avoid generating stackless code on PPC32

As has been noted in a fixme for a while the PPC32 SVR4 ABI has no Red Zone.
LLVM currently still generates stackless code for it though.

The attached patch attempts to fix this, by only generating stackless code
when:
* The system is PPC64 (all supported PPC64 ABIs appear to have a red zone)
* The SVR4 ABI isn't used
* There are no stack allocated variables (FrameSize == 0)

This appears to work fine in my tests (freestanding code on a e300 based
Freescale, previously broken since system calls share the stack).</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>