From: Nick Desaulniers <ndesaulniers@google.com>
To: akpm@linux-foundation.org
Cc: sedat.dilek@gmail.com, jpoimboe@redhat.com, yhs@fb.com,
miguel.ojeda.sandonis@gmail.com,
clang-built-linux@googlegroups.com,
Nick Desaulniers <ndesaulniers@google.com>,
Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Martin KaFai Lau <kafai@fb.com>, Song Liu <songliubraving@fb.com>,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
bpf@vger.kernel.org
Subject: [PATCH 16/16] compiler_attributes.h: add note about __section
Date: Mon, 12 Aug 2019 14:50:49 -0700 [thread overview]
Message-ID: <20190812215052.71840-16-ndesaulniers@google.com> (raw)
In-Reply-To: <20190812215052.71840-1-ndesaulniers@google.com>
The antipattern described can be found with:
$ grep -e __section\(\" -r -e __section__\(\"
Link: https://bugs.llvm.org/show_bug.cgi?id=42950
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
---
include/linux/compiler_attributes.h | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/include/linux/compiler_attributes.h b/include/linux/compiler_attributes.h
index 6b318efd8a74..f8c008d7f616 100644
--- a/include/linux/compiler_attributes.h
+++ b/include/linux/compiler_attributes.h
@@ -225,6 +225,16 @@
#define __pure __attribute__((__pure__))
/*
+ * Note: Since this macro makes use of the "stringification operator" `#`, a
+ * quoted string literal should not be passed to it. eg.
+ * prefer:
+ * __section(.foo)
+ * to:
+ * __section(".foo")
+ * unless the section name is dynamically built up, in which case the
+ * verbose __attribute__((__section__(".foo" x))) should be preferred.
+ * See also: https://bugs.llvm.org/show_bug.cgi?id=42950
+ *
* gcc: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-section-function-attribute
* gcc: https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attributes.html#index-section-variable-attribute
* clang: https://clang.llvm.org/docs/AttributeReference.html#section-declspec-allocate
--
2.23.0.rc1.153.gdeed80330f-goog
next prev parent reply other threads:[~2019-08-12 21:53 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-12 21:50 [PATCH 01/16] s390/boot: fix section name escaping Nick Desaulniers
2019-08-12 21:50 ` [PATCH 02/16] arc: prefer __section from compiler_attributes.h Nick Desaulniers
2019-08-12 21:50 ` [PATCH 03/16] parisc: " Nick Desaulniers
2019-08-12 21:50 ` [PATCH 04/16] um: " Nick Desaulniers
2019-08-12 21:50 ` [PATCH 05/16] sh: " Nick Desaulniers
2019-08-13 8:51 ` Yoshinori Sato
2019-08-12 21:50 ` [PATCH 06/16] ia64: " Nick Desaulniers
2019-08-12 21:50 ` [PATCH 07/16] arm: " Nick Desaulniers
2019-08-12 21:50 ` [PATCH 08/16] mips: " Nick Desaulniers
2019-08-15 9:38 ` Paul Burton
2019-08-27 0:19 ` Nick Desaulniers
2019-08-12 21:50 ` [PATCH 09/16] sparc: " Nick Desaulniers
2019-08-12 22:13 ` David Miller
2019-08-12 21:50 ` [PATCH 10/16] powerpc: prefer __section and __printf " Nick Desaulniers
2020-04-01 12:53 ` Michael Ellerman
2020-04-01 13:18 ` Miguel Ojeda
2019-08-12 21:50 ` [PATCH 11/16] x86: prefer __section " Nick Desaulniers
2019-08-19 10:31 ` Thomas Gleixner
2019-08-19 17:59 ` Sedat Dilek
2019-08-12 21:50 ` [PATCH 12/16] arm64: " Nick Desaulniers
2019-08-13 8:27 ` Will Deacon
2019-08-13 12:36 ` Miguel Ojeda
2019-08-13 17:08 ` Will Deacon
2019-08-14 22:20 ` Nick Desaulniers
2019-08-15 9:08 ` Miguel Ojeda
2019-08-15 9:12 ` Miguel Ojeda
2019-08-23 19:35 ` Miguel Ojeda
2019-08-24 11:25 ` Will Deacon
2019-08-24 12:48 ` Miguel Ojeda
2019-08-26 17:03 ` Nick Desaulniers
2019-08-12 21:50 ` [PATCH 13/16] include/asm-generic: " Nick Desaulniers
2019-08-13 7:57 ` Arnd Bergmann
2019-08-19 17:52 ` Naveen N. Rao
2019-08-19 17:56 ` Sedat Dilek
2019-08-12 21:50 ` [PATCH 14/16] include/linux: " Nick Desaulniers
2019-08-13 8:31 ` Ard Biesheuvel
2019-08-13 8:32 ` Will Deacon
2019-08-24 12:51 ` Miguel Ojeda
2019-08-27 8:21 ` Will Deacon
2019-08-19 18:05 ` Sedat Dilek
2019-08-12 21:50 ` [PATCH 15/16] include/linux/compiler.h: remove unused KENTRY macro Nick Desaulniers
2019-08-19 18:03 ` Sedat Dilek
2019-08-12 21:50 ` Nick Desaulniers [this message]
2019-08-19 18:01 ` [PATCH 16/16] compiler_attributes.h: add note about __section Sedat Dilek
[not found] ` <20190812215052.71840-17-ndesaulniers@google.com>
2019-08-12 21:57 ` Fwd: [PATCH 00/16] treewide: prefer __section from compiler_attributes.h Nick Desaulniers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190812215052.71840-16-ndesaulniers@google.com \
--to=ndesaulniers@google.com \
--cc=akpm@linux-foundation.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=clang-built-linux@googlegroups.com \
--cc=daniel@iogearbox.net \
--cc=jpoimboe@redhat.com \
--cc=kafai@fb.com \
--cc=linux-kernel@vger.kernel.org \
--cc=miguel.ojeda.sandonis@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=sedat.dilek@gmail.com \
--cc=songliubraving@fb.com \
--cc=yhs@fb.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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 NNTP newsgroup(s).