public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug sanitizer/112562] New: [14 regression] asan_interceptors_memintrinsics.cpp doesn't assemble with Solaris/x86 as
@ 2023-11-16 10:16 ro at gcc dot gnu.org
  2023-11-16 10:17 ` [Bug sanitizer/112562] " ro at gcc dot gnu.org
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: ro at gcc dot gnu.org @ 2023-11-16 10:16 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 112562
           Summary: [14 regression] asan_interceptors_memintrinsics.cpp
                    doesn't assemble with Solaris/x86 as
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: sanitizer
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ro at gcc dot gnu.org
                CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
                    jakub at gcc dot gnu.org, kcc at gcc dot gnu.org, marxin at gcc dot gnu.org
  Target Milestone: ---
              Host: i386-pc-solaris2.11
            Target: i386-pc-solaris2.11
             Build: i386-pc-solaris2.11

The recent libsanitizer import broke bootstrap with the Solaris/x86 as:

Assembler: asan_interceptors_memintrinsics.cpp
        "/var/tmp//ccY0YNed.s", line 9 : Illegal register: "%function"
        "/var/tmp//ccY0YNed.s", line 9 : Syntax error
        Near line: ".type  __interceptor_trampoline_memset, %function"
        "/var/tmp//ccY0YNed.s", line 20 : Illegal register: "%function"
        "/var/tmp//ccY0YNed.s", line 20 : Syntax error
        Near line: ".type  __interceptor_trampoline_memmove, %function"
        "/var/tmp//ccY0YNed.s", line 31 : Illegal register: "%function"
        "/var/tmp//ccY0YNed.s", line 31 : Syntax error
        Near line: ".type  __interceptor_trampoline_memcpy, %function"

Unlike gas, as doesn't understand %function.  gcc (and clang) always emit
@function instead.

This is from libsanitizer/interception/interception.h (DECLARE_WRAPPER) and
libsanitizer/sanitizer_common/sanitizer_asm.h (ASM_TYPE_FUNCTION) which
apparently should be kept in sync.

When I look at gcc/config, the only targets that don't use the elfos.h default
of '@' for TYPE_OPERAND_FMT are aarch64-elf, arm-elf, and sparc-svr4.

I wonder how best to handle this: given that clang doesn't care about the
native assemblers, it might be necessary to keep a patch gcc-local.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2023-11-27 10:30 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-16 10:16 [Bug sanitizer/112562] New: [14 regression] asan_interceptors_memintrinsics.cpp doesn't assemble with Solaris/x86 as ro at gcc dot gnu.org
2023-11-16 10:17 ` [Bug sanitizer/112562] " ro at gcc dot gnu.org
2023-11-16 10:25 ` jakub at gcc dot gnu.org
2023-11-16 10:38 ` ro at CeBiTec dot Uni-Bielefeld.DE
2023-11-16 12:48 ` rguenth at gcc dot gnu.org
2023-11-20 18:18 ` jakub at gcc dot gnu.org
2023-11-21  9:02 ` jakub at gcc dot gnu.org
2023-11-21 20:03 ` cvs-commit at gcc dot gnu.org
2023-11-24 16:06 ` jakub at gcc dot gnu.org
2023-11-27 10:30 ` ro at CeBiTec dot Uni-Bielefeld.DE

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).