This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: A serious bug on x86 with inline, PIC and omit frame pointer.



  In message <m0yohWS-000262C@ocean.lucon.org>you write:
  > At that time, current_function_uses_const_pool is 0. Later in reload,
I think this points to the core problem.

I think checking current_function_uses_const_pool in the 
INITIAL_ELIMINATION_OFFEST is wrong.

While it is slight overkill, I think the right solution is to always allocate
the space for the saved copy of $ebx and change INITIAL_ELIMINATION_OFFSET
to always include the space.

It is non-optimal since pic leaf that doesn't access stuff through the
PIC register would still save it, but that's less drastic IMHO than
disabling frame pointer elimination for PIC.

jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]