Skip to content
Snippets Groups Projects
  • Rainer Orth's avatar
    088d3cbc
    libsanitizer: Check assembler support for symbol assignment [PR112563] · 088d3cbc
    Rainer Orth authored
    The recent libsanitizer import broke the build on Solaris/SPARC with the
    native as:
    
    /usr/ccs/bin/as: ".libs/sanitizer_errno.s", line 4247: error: symbol
    "__sanitizer_internal_memset" is used but not defined
    /usr/ccs/bin/as: ".libs/sanitizer_errno.s", line 4247: error: symbol
    "__sanitizer_internal_memcpy" is used but not defined
    /usr/ccs/bin/as: ".libs/sanitizer_errno.s", line 4247: error: symbol
    "__sanitizer_internal_memmove" is used but not defined
    
    Since none of the alternatives considered in the PR worked out, this
    patch checks if the assembler does support symbol assignment, disabling
    the code otherwise.  This returns the code to the way it was up to LLVM 16.
    
    Bootstrapped without regressions on sparc-sun-solaris2.11 (as and gas) and
    i386-pc-solaris2.11 (as and gas).
    
    2023-11-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
    
    	libsanitizer:
    	PR sanitizer/112563
    	* configure.ac (libsanitizer_cv_as_sym_assign): Check for
    	assembler symbol assignment support.
    	* configure: Regenerate.
    	* asan/Makefile.am (DEFS): Add @AS_SYM_ASSIGN_DEFS@.
    	* Makefile.in, asan/Makefile.in, hwasan/Makefile.in,
    	interception/Makefile.in, libbacktrace/Makefile.in,
    	lsan/Makefile.in, sanitizer_common/Makefile.in, tsan/Makefile.in,
    	ubsan/Makefile.in: Regenerate.
    088d3cbc
    History
    libsanitizer: Check assembler support for symbol assignment [PR112563]
    Rainer Orth authored
    The recent libsanitizer import broke the build on Solaris/SPARC with the
    native as:
    
    /usr/ccs/bin/as: ".libs/sanitizer_errno.s", line 4247: error: symbol
    "__sanitizer_internal_memset" is used but not defined
    /usr/ccs/bin/as: ".libs/sanitizer_errno.s", line 4247: error: symbol
    "__sanitizer_internal_memcpy" is used but not defined
    /usr/ccs/bin/as: ".libs/sanitizer_errno.s", line 4247: error: symbol
    "__sanitizer_internal_memmove" is used but not defined
    
    Since none of the alternatives considered in the PR worked out, this
    patch checks if the assembler does support symbol assignment, disabling
    the code otherwise.  This returns the code to the way it was up to LLVM 16.
    
    Bootstrapped without regressions on sparc-sun-solaris2.11 (as and gas) and
    i386-pc-solaris2.11 (as and gas).
    
    2023-11-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
    
    	libsanitizer:
    	PR sanitizer/112563
    	* configure.ac (libsanitizer_cv_as_sym_assign): Check for
    	assembler symbol assignment support.
    	* configure: Regenerate.
    	* asan/Makefile.am (DEFS): Add @AS_SYM_ASSIGN_DEFS@.
    	* Makefile.in, asan/Makefile.in, hwasan/Makefile.in,
    	interception/Makefile.in, libbacktrace/Makefile.in,
    	lsan/Makefile.in, sanitizer_common/Makefile.in, tsan/Makefile.in,
    	ubsan/Makefile.in: Regenerate.