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.