All of lore.kernel.org
 help / color / mirror / Atom feed
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


  parent reply	other threads:[~2019-08-12 21:53 UTC|newest]

Thread overview: 76+ 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   ` 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   ` Nick Desaulniers
2019-08-12 21:50 ` [PATCH 05/16] sh: " Nick Desaulniers
2019-08-12 21:50   ` Nick Desaulniers
2019-08-13  8:51   ` Yoshinori Sato
2019-08-13  8:51     ` Yoshinori Sato
2019-08-12 21:50 ` [PATCH 06/16] ia64: " Nick Desaulniers
2019-08-12 21:50   ` Nick Desaulniers
2019-08-12 21:50 ` [PATCH 07/16] arm: " Nick Desaulniers
2019-08-12 21:50   ` 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 21:50   ` Nick Desaulniers
2019-08-12 22:13   ` David Miller
2019-08-12 22:13     ` David Miller
2019-08-12 21:50 ` [PATCH 10/16] powerpc: prefer __section and __printf " Nick Desaulniers
2019-08-12 21:50   ` Nick Desaulniers
2020-04-01 12:53   ` Michael Ellerman
2020-04-01 12:53     ` Michael Ellerman
2020-04-01 13:18     ` Miguel Ojeda
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-12 21:50   ` Nick Desaulniers
2019-08-13  8:27   ` Will Deacon
2019-08-13  8:27     ` Will Deacon
2019-08-13 12:36     ` Miguel Ojeda
2019-08-13 12:36       ` Miguel Ojeda
2019-08-13 17:08       ` Will Deacon
2019-08-13 17:08         ` Will Deacon
2019-08-14 22:20         ` Nick Desaulniers
2019-08-14 22:20           ` Nick Desaulniers
2019-08-15  9:08           ` Miguel Ojeda
2019-08-15  9:08             ` Miguel Ojeda
2019-08-15  9:12             ` Miguel Ojeda
2019-08-15  9:12               ` Miguel Ojeda
2019-08-23 19:35               ` Miguel Ojeda
2019-08-23 19:35                 ` Miguel Ojeda
2019-08-24 11:25                 ` Will Deacon
2019-08-24 11:25                   ` Will Deacon
2019-08-24 12:48                   ` Miguel Ojeda
2019-08-24 12:48                     ` Miguel Ojeda
2019-08-26 17:03                     ` Nick Desaulniers
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-12 21:50   ` Nick Desaulniers
2019-08-13  8:31   ` Ard Biesheuvel
2019-08-13  8:31     ` Ard Biesheuvel
2019-08-13  8:32   ` Will Deacon
2019-08-13  8:32     ` Will Deacon
2019-08-24 12:51     ` Miguel Ojeda
2019-08-24 12:51       ` Miguel Ojeda
2019-08-27  8:21       ` Will Deacon
2019-08-27  8:21         ` Will Deacon
2019-08-19 18:05   ` Sedat Dilek
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
2019-08-12 21:50 ` [PATCH 00/16] treewide: prefer __section from compiler_attributes.h Nick Desaulniers
2019-08-12 21:57   ` Fwd: " Nick Desaulniers
2019-08-13 12:18   ` Miguel Ojeda
2019-08-19 18:18   ` Sedat Dilek

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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.