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.
> 

INITIAL_ELIMINATION_OFFSET is used twice in reload1.c. When the
first time it is used, those reg_equiv_xxxxx are updated. When
INITIAL_ELIMINATION_OFFSET is used the second time, is anything
related to those reg_equiv_xxxxx changed? If yes, are those
reg_equiv_xxxxx still up to date?


-- 
H.J. Lu (hjl@gnu.org)


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