This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PING: PATCH: PR middle-end/37843:[4.4 Regression] unaligned stack in maindue to tail call optimizatiP
On Wed, 26 Nov 2008, Andrew Pinski wrote:
> On Wed, Nov 26, 2008 at 10:02 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> >>>
> >>> Darwin doesn't support sibcall. I am checking it to mark them Linux
> >>> only.
> >>> H.J.
> >>
> > static bool
> > ix86_function_ok_for_sibcall (tree decl, tree exp)
> > {
> > tree func;
> > rtx a, b;
> >
> > /* If we are generating position-independent code, we cannot sibcall
> > optimize any indirect call, or a direct call to a global function,
> > as the PLT requires %ebx be live. */
> > if (!TARGET_64BIT && flag_pic && (!decl || !targetm.binds_local_p (decl)))
> > return false;
> >
> > Darwin returns false.
> >
>
> Because darwin is always pic though binds_local_p should return true ...
> -- Pinski
HJ,
You should change the target selector from "*-*-linux*" to "nonpic" since
you'll get a failure on linux with "-m32 -fpic", e.g:
http://gcc.gnu.org/ml/gcc-testresults/2008-11/msg02492.html
Note: pr37843-3.c is failing on the nonpic case as well. Even in your own
testsuite results. E.g:
http://gcc.gnu.org/ml/gcc-testresults/2008-11/msg02491.html
--Kaveh
--
Kaveh R. Ghazi ghazi@caip.rutgers.edu