https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83839

--- Comment #5 from hjl at gcc dot gnu.org <hjl at gcc dot gnu.org> ---
Author: hjl
Date: Mon Jan 15 18:16:01 2018
New Revision: 256704

URL: https://gcc.gnu.org/viewcvs?rev=256704&root=gcc&view=rev
Log:
i386: Don't use ASM_OUTPUT_DEF for TARGET_MACHO

ASM_OUTPUT_DEF isn't defined for TARGET_MACHO.  Use ASM_OUTPUT_LABEL to
generate the __x86_return_thunk label, instead of the set directive.
Update testcase to remove the __x86_return_thunk label check.  Since
-fno-pic is ignored on Darwin, update testcases to scan or "push" only
on Linux.

gcc/

        PR target/83839
        * config/i386/i386.c (output_indirect_thunk_function): Use
        ASM_OUTPUT_LABEL, instead of ASM_OUTPUT_DEF, for TARGET_MACHO
        for  __x86_return_thunk.

gcc/testsuite/

        PR target/83839
        * gcc.target/i386/indirect-thunk-1.c: Scan for "push" only on
        Linux.
        * gcc.target/i386/indirect-thunk-2.c: Likewise.
        * gcc.target/i386/indirect-thunk-3.c: Likewise.
        * gcc.target/i386/indirect-thunk-4.c: Likewise.
        * gcc.target/i386/indirect-thunk-7.c: Likewise.
        * gcc.target/i386/indirect-thunk-attr-1.c: Likewise.
        * gcc.target/i386/indirect-thunk-attr-2.c: Likewise.
        * gcc.target/i386/indirect-thunk-attr-5.c: Likewise.
        * gcc.target/i386/indirect-thunk-attr-6.c: Likewise.
        * gcc.target/i386/indirect-thunk-attr-7.c: Likewise.
        * gcc.target/i386/indirect-thunk-extern-1.c: Likewise.
        * gcc.target/i386/indirect-thunk-extern-2.c: Likewise.
        * gcc.target/i386/indirect-thunk-extern-3.c: Likewise.
        * gcc.target/i386/indirect-thunk-extern-4.c: Likewise.
        * gcc.target/i386/indirect-thunk-extern-7.c: Likewise.
        * gcc.target/i386/indirect-thunk-register-1.c: Likewise.
        * gcc.target/i386/indirect-thunk-register-3.c: Likewise.
        * gcc.target/i386/indirect-thunk-register-4.c: Likewise.
        * gcc.target/i386/ret-thunk-10.c: Likewise.
        * gcc.target/i386/ret-thunk-11.c: Likewise.
        * gcc.target/i386/ret-thunk-12.c: Likewise.
        * gcc.target/i386/ret-thunk-13.c: Likewise.
        * gcc.target/i386/ret-thunk-14.c: Likewise.
        * gcc.target/i386/ret-thunk-15.c: Likewise.
        * gcc.target/i386/ret-thunk-9.c: Don't check the
        __x86_return_thunk label.
        Scan for "push" only for Linux.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/i386.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c
    trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c
    trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c
    trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c
    trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c
    trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c
    trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c
    trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c
    trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c
    trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c
    trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c
    trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c
    trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c
    trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c
    trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c
    trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c
    trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c
    trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c
    trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c
    trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c
    trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c
    trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c
    trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c
    trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c
    trunk/gcc/testsuite/gcc.target/i386/ret-thunk-10.c
    trunk/gcc/testsuite/gcc.target/i386/ret-thunk-11.c
    trunk/gcc/testsuite/gcc.target/i386/ret-thunk-13.c
    trunk/gcc/testsuite/gcc.target/i386/ret-thunk-14.c
    trunk/gcc/testsuite/gcc.target/i386/ret-thunk-15.c
    trunk/gcc/testsuite/gcc.target/i386/ret-thunk-9.c

Reply via email to