This is the mail archive of the gcc-patches@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]
Other format: [Raw text]

Re: Patch for -mcaller-super-interworking & stack arguments


Thanks for the feedback.

Richard Earnshaw <rearnsha@gcc.gnu.org> writes:
> Sorry for not replying to this sooner, I've been pondering the situation
> 'cos I'm not 100% happy about any of this...

I'm not sure whether "this" means my patch in particular or just
-mcaller-super-interworking in general ;)  If the former,  I'm certainly
willing to try alternatives.

> Another approach would be to use r11 (fp) to hold the 'frame pointer' in
> the case where we didn't really need a frame (and continue to pretend
> that the function was frameless).  It would mean a further function stub
> in libgcc (unless you always made it work that way) but would mean that
> we didn't loose a low register.

Good idea.  Will give it a go.  I won't commit my original patch
until I see how the new one works out.

Btw, as a heads-up, I was just looking into how the new patch might be
written, and I noticed what seems to be a little thinko in the recent
changes to thumb_compute_save_reg_mask():

  if (flag_pic && !TARGET_SINGLE_PIC_BASE)
    mask |= PIC_OFFSET_TABLE_REGNUM;

Looks like it should be "mask |= 1 << ...".  I'm not really
set up to test that change myself though.

Richard


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