On Sun, Dec 4, 2022 at 9:30 PM Iain Sandoe <i...@sandoe.co.uk> wrote: > > > > > On 4 Dec 2022, at 20:20, Uros Bizjak via Gcc-patches > > <gcc-patches@gcc.gnu.org> wrote: > > > > On Sun, Dec 4, 2022 at 12:51 PM Iain Sandoe <iains....@gmail.com> wrote: > >> > >> This is almost a completely Darwin-local patch, but there is one (repeated) > >> place where a general change is needed - which is in making xmm_regs and > >> x87_regs extern in the three copies of args.h (this is consistent with the > >> other saved vars). These fails represent most of the current testsuite > >> noise > >> on x86 Darwin. > >> > >> tested on x86-64 Darwin and Linux. > >> > >> OK for master? > >> Iain > >> > >> -- >8 -- > >> > >> These tests have failed since introduction since they assume that the > >> assembler output is ELF and that the ABI targeted supports the addressing. > >> > >> For Darwin, Mach-O and ABI we need to make several changes: > >> 1. Use the __USER_LABEL__PREFIX__ > >> 2. Remove the use of ELF-specific constructs (.size, .type etc.) > >> 3. We cannot make direct access to common variables in the ABI, so that we > >> must move these to BSS. > >> > >> Since that set is quite significant, I elected to make a separate source > >> section for Darwin. This is introduced by #elif defined(__APPLE__) because > >> __MACH__ is also used by HURD. > >> > >> There are potentially other X86 targets (e.g. XCOFF) that could have yet > >> more changes, so I added a catchall section that #errors if the object > >> format > >> is neither ELF or Mach-O. > >> > >> Signed-off-by: Iain Sandoe <i...@sandoe.co.uk> > >> > >> gcc/testsuite/ChangeLog: > >> > >> * gcc.target/x86_64/abi/bf16/args.h: > >> * gcc.target/x86_64/abi/bf16/asm-support.S: > >> * gcc.target/x86_64/abi/bf16/m256bf16/args.h: > >> * gcc.target/x86_64/abi/bf16/m256bf16/asm-support.S: > >> * gcc.target/x86_64/abi/bf16/m512bf16/args.h: > >> * gcc.target/x86_64/abi/bf16/m512bf16/asm-support.S: > > > > Missing descriptions in ChangeLog entry. > > oops, here: > > gcc/testsuite/ChangeLog: > > * gcc.target/x86_64/abi/bf16/args.h: Make xmm_regs, x87_regs extern. > * gcc.target/x86_64/abi/bf16/m256bf16/args.h: Likewise. > * gcc.target/x86_64/abi/bf16/m512bf16/args.h: Likewise. > * gcc.target/x86_64/abi/bf16/asm-support.S: Add Mach-O variant. > * gcc.target/x86_64/abi/bf16/m256bf16/asm-support.S: Likewise. > * gcc.target/x86_64/abi/bf16/m512bf16/asm-support.S: Likewise.
Please note that in other directories asm-support-darwin.s is introduced and included via .exp file. Is there a reason a different approach is introduced here? Uros.