This patchset addresses a number of testsuite issues for gcc.target/x86_64/abi/ms-sysv/ms-sysv.exp, mostly occurring on Solaris and Darwin. Additionally, it solves a bug in libgcc that caused link failures on Darwin when building with -mcall-ms2sysv-xlogues. The issues are detailed in the notes for each patch.

I would particularly appreciate any feedback for Darwin as I am unfamiliar with the platform and Rainer and I have fashioned some of these changes by looking at other Darwin code in gcc.

 .../gcc.target/x86_64/abi/ms-sysv/do-test.S      | 200 ++++++++-----------
 .../gcc.target/x86_64/abi/ms-sysv/ms-sysv.c      |  83 +++++++-
 .../gcc.target/x86_64/abi/ms-sysv/ms-sysv.exp    | 153 +++++---------
 libgcc/config.host                               |   6 +-
 libgcc/config/i386/i386-asm.h                    |  89 +++++----
 libgcc/config/i386/resms64.S                     |   2 +-
 libgcc/config/i386/resms64f.S                    |   2 +-
 libgcc/config/i386/resms64fx.S                   |   2 +-
 libgcc/config/i386/resms64x.S                    |   2 +-
 libgcc/config/i386/savms64.S                     |   2 +-
 libgcc/config/i386/savms64f.S                    |   2 +-
 11 files changed, 274 insertions(+), 269 deletions(-)


Many thanks to Rainer for all of his help on this!

Thanks,
Daniel
2017-06-28  Daniel Santos  <daniel.san...@pobox.com>


2017-06-10  Daniel Santos  <daniel.san...@pobox.com>

        PR testsuite/80759
        * gcc.target/x86_64/abi/ms-sysv/do-test.S
        (ELFFN_BEGIN): Rename to FN_TYPE.
        (ELFFN_END): Rename to FN_SIZE.
        (ASMNAME): New macro.
        (FUNC): Rename to FUNC_BEGIN, use ASMNAME and use .globl instead of
        .global.
        (FUNC_END): Use ASMNAME.
        (test_data_save): Remove.
        (test_data_input): Likewise.
        (test_data_output: Likewise.
        (test_data_fn): Likewise.
        (test_data_retaddr): Likewise.
        (regs_to_mem): Make globals, use r10 instead of rax.
        (mem_to_regs): Likewise.
        (do_test_unaligned): Remove .cfi directives, remove pushf/popf, move
        body to ms-sysv.c.
        (do_test_aligned): Likewise.
        * gcc.target/x86_64/abi/ms-sysv/ms-sysv.c:
        Add dg-* directives.
        (PASTE_STR): New macro.
        (ASMNAME): Likewise.
        (LOAD_TEST_DATA_ADDR): Likewise.
        (TEST_DATA_OFFSET): Likewise.
        (do_test_body0): New C function.
        (do_test_body): New inline assembly routine.
        * gcc.target/x86_64/abi/ms-sysv/ms-sysv.exp
        (runtest_ms_sysv): Modify.
2017-06-28  Daniel Santos  <daniel.san...@pobox.com>

        PR testsuite/80759
        * config.host: include i386/t-msabi for darwin and solaris.
        * config/i386/i386-asm.h
        (ELFFN): Rename to FN_TYPE.
        (FN_SIZE): New macro.
        (FN_HIDDEN): Likewise.
        (ASMNAME): Likewise.
        (FUNC_START): Rename to FUNC_BEGIN, use ASMNAME, replace .global with
        .globl.
        (HIDDEN_FUNC): Use ASMNAME and .globl instead of .global.
        (SSE_SAVE): Convert to cpp macro, hard-code offset (always 0x60).
        * config/i386/resms64.S: Use SSE_SAVE as cpp macro instead of gas
        .macro.
        * config/i386/resms64f.S: Likewise.
        * config/i386/resms64fx.S: Likewise.
        * config/i386/resms64x.S: Likewise.
        * config/i386/savms64.S: Likewise.
        * config/i386/savms64f.S: Likewise.

Reply via email to