[PATCH, X86] Revise fuse-caller-save-* to avoid XPASSes on PIC targets.

H.J. Lu hjl.tools@gmail.com
Thu May 23 15:30:00 GMT 2019


On Thu, May 23, 2019 at 8:25 AM Iain Sandoe <iain@sandoe.co.uk> wrote:
>
>
> > On 23 May 2019, at 16:17, H.J. Lu <hjl.tools@gmail.com> wrote:
> >
> > On Thu, May 23, 2019 at 6:09 AM Uros Bizjak <ubizjak@gmail.com> wrote:
> >>
> >> On Thu, May 23, 2019 at 11:25 AM Iain Sandoe <iain@sandoe.co.uk> wrote:
> >>
> >>>> These changes are OK as long as they don't regress HJ's x86_64 and
> >>>> i686 autotesters.
> >>>
> >>> Applied as r271544, will look out for such fails.
> >>>
> >>>> Double points if they also fix -fpic failures. ;)
> >>>
> >>> make check-gcc-c RUNTESTFLAGS="--target_board=unix/-fpic\{-m32,-m64\} i386.exp=fuse-caller-save*”
> >>>
> >>> Test run by iains on Thu May 23 07:20:03 2019
> >>> Native configuration is x86_64-pc-linux-gnu
> >>>
> >>>                === gcc tests ===
> >>>
> >>> Running target unix/-fpic/-m32
> >>>
> >>>                === gcc Summary for unix/-fpic/-m32 ===
> >>>
> >>> # of expected passes            18
> >>>
> >>>                === gcc Summary for unix/-fpic/-m64 ===
> >>>
> >>> # of expected passes            18
> >>>
> >>> ( but, as noted above, these tests are not run ‘-fpic’ on Linux by default, although in this case a fail on Darwin
> >>>  would be a fair indication of problems )
> >>
> >> There are periodic results for i686/-fpic [1], x32/-fpic [2] and
> >> x86_64/-fpic/{,-mcmodel=medium} [3] targets avaliable in
> >> gcc-testresults@ ML. I think we have quite good coverage of -fpic for
> >> x86 targets.
> >>
> >> BTW: HJ, for some reason -fpic/-mcmodel=large does not work in [3].
> >>
> >> [1] https://gcc.gnu.org/ml/gcc-testresults/2019-05/msg02599.html
> >> [2] https://gcc.gnu.org/ml/gcc-testresults/2019-05/msg02577.html
> >> [3] https://gcc.gnu.org/ml/gcc-testresults/2019-05/msg02571.html
> >
> > Since large PIC model has very different sequence to call function bar:
> >
> > movabsq $bar@GOTOFF, %rax
> > addq %rdx, %rax
> > call *%rax
>
> So .. will they regress, or are they already failing there?
> Do you have a suggestion for what could be done to cover this case too?

We should skip these tests for -mcmodel=large.

-- 
H.J.



More information about the Gcc-patches mailing list