The name of an ELF note symbol isn't important.  It just needs to be
unique.  Simplify by using the existing __UNIQUE_ID() macro.

Signed-off-by: Josh Poimboeuf <jpoim...@kernel.org>
---
 include/linux/elfnote.h | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/include/linux/elfnote.h b/include/linux/elfnote.h
index 69b136e4dd2b..6398af0bb601 100644
--- a/include/linux/elfnote.h
+++ b/include/linux/elfnote.h
@@ -64,19 +64,16 @@
  * Use an anonymous structure which matches the shape of
  * Elf{32,64}_Nhdr, but includes the name and desc data.  The size and
  * type of name and desc depend on the macro arguments.  "name" must
- * be a literal string, and "desc" must be passed by value.  You may
- * only define one note per line, since __LINE__ is used to generate
- * unique symbols.
+ * be a literal string, and "desc" must be passed by value.
  */
-#define _ELFNOTE_PASTE(a,b)    a##b
-#define _ELFNOTE(size, name, unique, type, desc)                       \
+#define ELFNOTE(size, name, type, desc)                        \
        static const struct {                                           \
                struct elf##size##_note _nhdr;                          \
                unsigned char _name[sizeof(name)]                       \
                __attribute__((aligned(sizeof(Elf##size##_Word))));     \
                typeof(desc) _desc                                      \
                             
__attribute__((aligned(sizeof(Elf##size##_Word)))); \
-       } _ELFNOTE_PASTE(_note_, unique)                                \
+       } __UNIQUE_ID(note)                                             \
                __used                                                  \
                __attribute__((section(".note." name),                  \
                               aligned(sizeof(Elf##size##_Word)),       \
@@ -89,11 +86,10 @@
                name,                                                   \
                desc                                                    \
        }
-#define ELFNOTE(size, name, type, desc)                \
-       _ELFNOTE(size, name, __LINE__, type, desc)
 
 #define ELFNOTE32(name, type, desc) ELFNOTE(32, name, type, desc)
 #define ELFNOTE64(name, type, desc) ELFNOTE(64, name, type, desc)
+
 #endif /* __ASSEMBLER__ */
 
 #endif /* _LINUX_ELFNOTE_H */
-- 
2.45.2


Reply via email to