From e01b61be71d5e9b36c0deb6e93d616b77dd63836 Mon Sep 17 00:00:00 2001 From: kamil Date: Sat, 21 Mar 2020 22:52:48 +0000 Subject: [PATCH] Disable Address Sanitizer instrumentation of the link_set objects The link_set array must contain consecutive elements that can be iterated. GCC disables instrumentation of globals for user-defined sections and this __noasan attribute is implicit for this compiler. For Clang it is required to be specified explicitly. --- sys/sys/cdefs_elf.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/sys/cdefs_elf.h b/sys/sys/cdefs_elf.h index b39deb3567aa..ad1f0d1e5d1c 100644 --- a/sys/sys/cdefs_elf.h +++ b/sys/sys/cdefs_elf.h @@ -1,4 +1,4 @@ -/* $NetBSD: cdefs_elf.h,v 1.53 2017/08/10 19:03:27 joerg Exp $ */ +/* $NetBSD: cdefs_elf.h,v 1.54 2020/03/21 22:52:48 kamil Exp $ */ /* * Copyright (c) 1995, 1996 Carnegie-Mellon University. @@ -160,10 +160,10 @@ #ifndef __lint__ #define __link_set_make_entry(set, sym) \ static void const * const __link_set_##set##_sym_##sym \ - __section("link_set_" #set) __used = (const void *)&sym + __section("link_set_" #set) __noasan __used = (const void *)&sym #define __link_set_make_entry2(set, sym, n) \ static void const * const __link_set_##set##_sym_##sym##_##n \ - __section("link_set_" #set) __used = (const void *)&sym[n] + __section("link_set_" #set) __noasan __used = (const void *)&sym[n] #else #define __link_set_make_entry(set, sym) \ extern void const * const __link_set_##set##_sym_##sym