]> Git Repo - linux.git/commitdiff
treewide: Convert macro and uses of __section(foo) to __section("foo")
authorJoe Perches <[email protected]>
Thu, 22 Oct 2020 02:36:07 +0000 (19:36 -0700)
committerLinus Torvalds <[email protected]>
Sun, 25 Oct 2020 21:51:49 +0000 (14:51 -0700)
Use a more generic form for __section that requires quotes to avoid
complications with clang and gcc differences.

Remove the quote operator # from compiler_attributes.h __section macro.

Convert all unquoted __section(foo) uses to quoted __section("foo").
Also convert __attribute__((section("foo"))) uses to __section("foo")
even if the __attribute__ has multiple list entry forms.

Conversion done using the script at:

    https://lore.kernel.org/lkml/75393e5ddc272dc7403de74d645e6c6e0f4e70eb[email protected]/2-convert_section.pl

Signed-off-by: Joe Perches <[email protected]>
Reviewed-by: Nick Desaulniers <[email protected]>
Reviewed-by: Miguel Ojeda <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
117 files changed:
arch/arc/include/asm/linkage.h
arch/arc/include/asm/mach_desc.h
arch/arc/plat-hsdk/platform.c
arch/arm/include/asm/cache.h
arch/arm/include/asm/cpuidle.h
arch/arm/include/asm/idmap.h
arch/arm/include/asm/mach/arch.h
arch/arm/include/asm/setup.h
arch/arm/include/asm/smp.h
arch/arm/include/asm/tcm.h
arch/arm/kernel/cpuidle.c
arch/arm/kernel/devtree.c
arch/arm64/include/asm/cache.h
arch/arm64/kernel/efi.c
arch/arm64/kernel/smp_spin_table.c
arch/arm64/mm/mmu.c
arch/csky/include/asm/tcm.h
arch/ia64/include/asm/cache.h
arch/microblaze/kernel/setup.c
arch/mips/include/asm/cache.h
arch/mips/include/asm/machine.h
arch/mips/kernel/setup.c
arch/mips/mm/init.c
arch/parisc/include/asm/cache.h
arch/parisc/include/asm/ldcw.h
arch/parisc/kernel/ftrace.c
arch/parisc/mm/init.c
arch/powerpc/include/asm/cache.h
arch/powerpc/include/asm/machdep.h
arch/powerpc/kernel/btext.c
arch/powerpc/kernel/prom_init.c
arch/powerpc/kvm/book3s_64_vio_hv.c
arch/riscv/include/asm/soc.h
arch/riscv/kernel/cpu_ops.c
arch/riscv/kernel/setup.c
arch/s390/boot/startup.c
arch/s390/include/asm/cache.h
arch/s390/include/asm/sections.h
arch/s390/mm/init.c
arch/sh/boards/of-generic.c
arch/sh/include/asm/cache.h
arch/sh/include/asm/machvec.h
arch/sh/include/asm/smp.h
arch/sparc/include/asm/cache.h
arch/sparc/kernel/btext.c
arch/um/include/shared/init.h
arch/um/kernel/skas/clone.c
arch/um/kernel/um_arch.c
arch/x86/boot/compressed/pgtable_64.c
arch/x86/boot/tty.c
arch/x86/boot/video.h
arch/x86/include/asm/apic.h
arch/x86/include/asm/cache.h
arch/x86/include/asm/intel-mid.h
arch/x86/include/asm/irqflags.h
arch/x86/include/asm/mem_encrypt.h
arch/x86/include/asm/setup.h
arch/x86/kernel/cpu/cpu.h
arch/x86/kernel/head64.c
arch/x86/mm/mem_encrypt.c
arch/x86/mm/mem_encrypt_identity.c
arch/x86/platform/pvh/enlighten.c
arch/x86/purgatory/purgatory.c
arch/x86/um/stub_segv.c
arch/x86/xen/enlighten.c
arch/x86/xen/enlighten_pvh.c
arch/xtensa/kernel/setup.c
drivers/clk/clk.c
drivers/clocksource/timer-probe.c
drivers/irqchip/irqchip.c
drivers/of/of_reserved_mem.c
drivers/thermal/thermal_core.h
fs/xfs/xfs_message.h
include/asm-generic/bug.h
include/asm-generic/error-injection.h
include/asm-generic/kprobes.h
include/kunit/test.h
include/linux/acpi.h
include/linux/cache.h
include/linux/compiler.h
include/linux/compiler_attributes.h
include/linux/cpu.h
include/linux/dynamic_debug.h
include/linux/export.h
include/linux/firmware.h
include/linux/init.h
include/linux/init_task.h
include/linux/interrupt.h
include/linux/kernel.h
include/linux/linkage.h
include/linux/lsm_hooks.h
include/linux/module.h
include/linux/moduleparam.h
include/linux/mtd/xip.h
include/linux/objtool.h
include/linux/of.h
include/linux/percpu-defs.h
include/linux/printk.h
include/linux/rcupdate.h
include/linux/sched/debug.h
include/linux/serial_core.h
include/linux/spinlock.h
include/linux/syscalls.h
include/linux/trace_events.h
include/linux/tracepoint.h
include/trace/bpf_probe.h
include/trace/trace_events.h
kernel/kallsyms.c
kernel/sched/deadline.c
kernel/sched/fair.c
kernel/sched/idle.c
kernel/sched/rt.c
kernel/sched/stop_task.c
kernel/trace/trace.h
kernel/trace/trace_export.c
scripts/mod/modpost.c
tools/include/linux/objtool.h

index fe19f1d412e71896b324e28278fc52cae13e1a38..c9434ff3aa4ce63fa0ab1177e9f8e60c74e3b33f 100644 (file)
 #else  /* !__ASSEMBLY__ */
 
 #ifdef CONFIG_ARC_HAS_ICCM
-#define __arcfp_code __section(.text.arcfp)
+#define __arcfp_code __section(".text.arcfp")
 #else
-#define __arcfp_code __section(.text)
+#define __arcfp_code __section(".text")
 #endif
 
 #ifdef CONFIG_ARC_HAS_DCCM
-#define __arcfp_data __section(.data.arcfp)
+#define __arcfp_data __section(".data.arcfp")
 #else
-#define __arcfp_data __section(.data)
+#define __arcfp_data __section(".data")
 #endif
 
 #endif /* __ASSEMBLY__ */
index 73746ed5b834dd9d8a4d91fb6cb337c51b3306c8..c4e197059379dc4aea0c49c3aa966f45f63454b8 100644 (file)
@@ -53,7 +53,7 @@ extern const struct machine_desc __arch_info_begin[], __arch_info_end[];
  */
 #define MACHINE_START(_type, _name)                    \
 static const struct machine_desc __mach_desc_##_type   \
-__used __section(.arch.info.init) = {                  \
+__used __section(".arch.info.init") = {                        \
        .name           = _name,
 
 #define MACHINE_END                            \
index 0b961a2a10b8efb525ba0ffa980e6eab74e057c5..0b63fc095b998a2137281eccf37fd8e83512ff78 100644 (file)
@@ -13,7 +13,7 @@
 #include <asm/io.h>
 #include <asm/mach_desc.h>
 
-int arc_hsdk_axi_dmac_coherent __section(.data) = 0;
+int arc_hsdk_axi_dmac_coherent __section(".data") = 0;
 
 #define ARC_CCM_UNUSED_ADDR    0x60000000
 
index 1d65ed3a27559f1250eb1f462fe66d505afb48f6..e3ea34558ada0a52048d41d9e6eef3a1394d83c5 100644 (file)
@@ -24,6 +24,6 @@
 #define ARCH_SLAB_MINALIGN 8
 #endif
 
-#define __read_mostly __attribute__((__section__(".data..read_mostly")))
+#define __read_mostly __section(".data..read_mostly")
 
 #endif
index 6b2ff7243b4b2cd51a6d3d41107226f0b31ff070..0d67ed682e0772e7bd975ac90612e0499455e0fe 100644 (file)
@@ -42,7 +42,7 @@ struct of_cpuidle_method {
 
 #define CPUIDLE_METHOD_OF_DECLARE(name, _method, _ops)                 \
        static const struct of_cpuidle_method __cpuidle_method_of_table_##name \
-       __used __section(__cpuidle_method_of_table)                     \
+       __used __section("__cpuidle_method_of_table")                   \
        = { .method = _method, .ops = _ops }
 
 extern int arm_cpuidle_suspend(int index);
index aab7e8358e6ac0e92b25067e6cd937d7b2e7bad4..baebb67b35124dc6f6e4668482d3f28a552b8db0 100644 (file)
@@ -6,7 +6,7 @@
 #include <linux/pgtable.h>
 
 /* Tag a function as requiring to be executed via an identity mapping. */
-#define __idmap __section(.idmap.text) noinline notrace
+#define __idmap __section(".idmap.text") noinline notrace
 
 extern pgd_t *idmap_pgd;
 
index e7df5a822cabaa732b3a378f372212508e1ad4d4..eec0c0bda7668f13c2ead9b05fd104463dc1e21b 100644 (file)
@@ -81,7 +81,7 @@ extern const struct machine_desc __arch_info_begin[], __arch_info_end[];
 #define MACHINE_START(_type,_name)                     \
 static const struct machine_desc __mach_desc_##_type   \
  __used                                                        \
- __attribute__((__section__(".arch.info.init"))) = {   \
+ __section(".arch.info.init") = {                      \
        .nr             = MACH_TYPE_##_type,            \
        .name           = _name,
 
@@ -91,7 +91,7 @@ static const struct machine_desc __mach_desc_##_type  \
 #define DT_MACHINE_START(_name, _namestr)              \
 static const struct machine_desc __mach_desc_##_name   \
  __used                                                        \
- __attribute__((__section__(".arch.info.init"))) = {   \
+ __section(".arch.info.init") = {                      \
        .nr             = ~0,                           \
        .name           = _namestr,
 
index 67d20712cb48f67ace0091e836725abd324d9c40..3ae68a1b3de62847192e3acb0ca9fb3c4ab36d60 100644 (file)
@@ -14,7 +14,7 @@
 #include <uapi/asm/setup.h>
 
 
-#define __tag __used __attribute__((__section__(".taglist.init")))
+#define __tag __used __section(".taglist.init")
 #define __tagtable(tag, fn) \
 static const struct tagtable __tagtable_##fn __tag = { tag, fn }
 
index 0ca55a607d0a2bcfd38302d9d3fe2cfb13f6097f..5d508f5d56c49d7895cf58499c64392476d84e69 100644 (file)
@@ -112,7 +112,7 @@ struct of_cpu_method {
 
 #define CPU_METHOD_OF_DECLARE(name, _method, _ops)                     \
        static const struct of_cpu_method __cpu_method_of_table_##name  \
-               __used __section(__cpu_method_of_table)                 \
+               __used __section("__cpu_method_of_table")               \
                = { .method = _method, .ops = _ops }
 /*
  * set platform specific SMP operations
index b845b10fe29a580a74ad4095bae30b36a37ba20c..d8bd8a4b0eded44a142734ce8276d5db2f0c41d6 100644 (file)
 #include <linux/compiler.h>
 
 /* Tag variables with this */
-#define __tcmdata __section(.tcm.data)
+#define __tcmdata __section(".tcm.data")
 /* Tag constants with this */
-#define __tcmconst __section(.tcm.rodata)
+#define __tcmconst __section(".tcm.rodata")
 /* Tag functions inside TCM called from outside TCM with this */
-#define __tcmfunc __attribute__((long_call)) __section(.tcm.text) noinline
+#define __tcmfunc __attribute__((long_call)) __section(".tcm.text") noinline
 /* Tag function inside TCM called from inside TCM  with this */
-#define __tcmlocalfunc __section(.tcm.text)
+#define __tcmlocalfunc __section(".tcm.text")
 
 void *tcm_alloc(size_t len);
 void tcm_free(void *addr, size_t len);
index 093368e0d02054151e26bbcd8ddcd58c93938164..e1684623e1b2d8a0aaae7d7477ce05fe8a890983 100644 (file)
@@ -11,7 +11,7 @@
 extern struct of_cpuidle_method __cpuidle_method_of_table[];
 
 static const struct of_cpuidle_method __cpuidle_method_of_table_sentinel
-       __used __section(__cpuidle_method_of_table_end);
+       __used __section("__cpuidle_method_of_table_end");
 
 static struct cpuidle_ops cpuidle_ops[NR_CPUS] __ro_after_init;
 
index 39c9786984062dac7bbfbd3cf7214883b6825aa1..7f0745a97e20f21f67483d91484939bc1bd6c198 100644 (file)
@@ -29,7 +29,7 @@
 extern struct of_cpu_method __cpu_method_of_table[];
 
 static const struct of_cpu_method __cpu_method_of_table_sentinel
-       __used __section(__cpu_method_of_table_end);
+       __used __section("__cpu_method_of_table_end");
 
 
 static int __init set_smp_ops_by_method(struct device_node *node)
index a4d1b5f771f6baebd64c3c291be937e84eddd397..0ac3e06a211842b46e0f962ef5465644a0419135 100644 (file)
@@ -79,7 +79,7 @@ static inline u32 cache_type_cwg(void)
        return (read_cpuid_cachetype() >> CTR_CWG_SHIFT) & CTR_CWG_MASK;
 }
 
-#define __read_mostly __section(.data..read_mostly)
+#define __read_mostly __section(".data..read_mostly")
 
 static inline int cache_line_size_of_cpu(void)
 {
index d0cf596db82c6449aaec0f8c0492e69891b405ab..fa02efb28e88e7a05fe1884b9cc77b3a934c9815 100644 (file)
@@ -54,7 +54,7 @@ static __init pteval_t create_mapping_protection(efi_memory_desc_t *md)
 }
 
 /* we will fill this structure from the stub, so don't put it in .bss */
-struct screen_info screen_info __section(.data);
+struct screen_info screen_info __section(".data");
 
 int __init efi_create_mapping(struct mm_struct *mm, efi_memory_desc_t *md)
 {
index 5892e79fa4294e01bbd3700ec9bd27f0b8a9b400..056772c2609851bf7ec93cdb0db0292f9c5904a3 100644 (file)
@@ -19,7 +19,7 @@
 #include <asm/smp_plat.h>
 
 extern void secondary_holding_pen(void);
-volatile unsigned long __section(.mmuoff.data.read)
+volatile unsigned long __section(".mmuoff.data.read")
 secondary_holding_pen_release = INVALID_HWID;
 
 static phys_addr_t cpu_release_addr[NR_CPUS];
index beff3ad8c7f8632eca91fa9d1ac94967eb7d52e3..1c0f3e02f731edd8b962b2d62a8954236b91c3d7 100644 (file)
@@ -43,7 +43,7 @@
 u64 idmap_t0sz = TCR_T0SZ(VA_BITS);
 u64 idmap_ptrs_per_pgd = PTRS_PER_PGD;
 
-u64 __section(.mmuoff.data.write) vabits_actual;
+u64 __section(".mmuoff.data.write") vabits_actual;
 EXPORT_SYMBOL(vabits_actual);
 
 u64 kimage_voffset __ro_after_init;
index 2b135cefb73f2f49684cd5e9b92f403740f21a37..bd1e662ecdfaf4f75e6d4e826c01a984d11329a5 100644 (file)
 #include <linux/compiler.h>
 
 /* Tag variables with this */
-#define __tcmdata __section(.tcm.data)
+#define __tcmdata __section(".tcm.data")
 /* Tag constants with this */
-#define __tcmconst __section(.tcm.rodata)
+#define __tcmconst __section(".tcm.rodata")
 /* Tag functions inside TCM called from outside TCM with this */
-#define __tcmfunc __section(.tcm.text) noinline
+#define __tcmfunc __section(".tcm.text") noinline
 /* Tag function inside TCM called from inside TCM  with this */
-#define __tcmlocalfunc __section(.tcm.text)
+#define __tcmlocalfunc __section(".tcm.text")
 
 void *tcm_alloc(size_t len);
 void tcm_free(void *addr, size_t len);
index 4eb6f742d14f592a6b57ed55dab27de2a71c4ac0..2f1c70647068270ff5804b8b74356b011a69d3c6 100644 (file)
@@ -25,6 +25,6 @@
 # define SMP_CACHE_BYTES       (1 << 3)
 #endif
 
-#define __read_mostly __attribute__((__section__(".data..read_mostly")))
+#define __read_mostly __section(".data..read_mostly")
 
 #endif /* _ASM_IA64_CACHE_H */
index 2310daff1f8a9565d4bb7adc7eb9ddcbba1734f8..333b09658ca891053e0bf2376213ead898c0701f 100644 (file)
@@ -46,7 +46,7 @@ DEFINE_PER_CPU(unsigned int, CURRENT_SAVE);   /* Saved current pointer */
  * ASM code. Default position is BSS section which is cleared
  * in machine_early_init().
  */
-char cmd_line[COMMAND_LINE_SIZE] __attribute__ ((section(".data")));
+char cmd_line[COMMAND_LINE_SIZE] __section(".data");
 
 void __init setup_arch(char **cmdline_p)
 {
index 8b14c2706aa52ca83e07ff4dcb37c71850d133bc..29187e12b861af91d5a0dc1013daabb28aface38 100644 (file)
@@ -14,6 +14,6 @@
 #define L1_CACHE_SHIFT         CONFIG_MIPS_L1_CACHE_SHIFT
 #define L1_CACHE_BYTES         (1 << L1_CACHE_SHIFT)
 
-#define __read_mostly __attribute__((__section__(".data..read_mostly")))
+#define __read_mostly __section(".data..read_mostly")
 
 #endif /* _ASM_CACHE_H */
index 29ca344a8cabf628f59d2f4deefd8558368fe520..fc64cce270f0a777d3a327c9e7dbe8fb04217aad 100644 (file)
@@ -23,7 +23,7 @@ extern long __mips_machines_end;
 
 #define MIPS_MACHINE(name)                                             \
        static const struct mips_machine __mips_mach_##name             \
-               __used __section(.mips.machines.init)
+               __used __section(".mips.machines.init")
 
 #define for_each_mips_machine(mach)                                    \
        for ((mach) = (struct mips_machine *)&__mips_machines_start;    \
index fccdbe2e7c2b4d2262507528decb3576d5c71915..0d4253208bde1cb2979301a5fc3bbc0cc2c297ff 100644 (file)
@@ -44,7 +44,7 @@
 #include <asm/prom.h>
 
 #ifdef CONFIG_MIPS_ELF_APPENDED_DTB
-const char __section(.appended_dtb) __appended_dtb[0x100000];
+const char __section(".appended_dtb") __appended_dtb[0x100000];
 #endif /* CONFIG_MIPS_ELF_APPENDED_DTB */
 
 struct cpuinfo_mips cpu_data[NR_CPUS] __read_mostly;
index 6c7bbfe35ba32c4d980cf810f59f02b2498a4791..07e84a77493870893f1101f9c08bb3abfe5ff1f5 100644 (file)
@@ -569,7 +569,7 @@ unsigned long pgd_current[NR_CPUS];
  * size, and waste space.  So we place it in its own section and align
  * it in the linker script.
  */
-pgd_t swapper_pg_dir[PTRS_PER_PGD] __section(.bss..swapper_pg_dir);
+pgd_t swapper_pg_dir[PTRS_PER_PGD] __section(".bss..swapper_pg_dir");
 #ifndef __PAGETABLE_PUD_FOLDED
 pud_t invalid_pud_table[PTRS_PER_PUD] __page_aligned_bss;
 #endif
index e5de3f89763397109028c242ef700e1f9683ed6d..d53e9e27dba007b5d4e44a1a3759a23c1bf74cb2 100644 (file)
@@ -22,7 +22,7 @@
 
 #define ARCH_DMA_MINALIGN      L1_CACHE_BYTES
 
-#define __read_mostly __section(.data..read_mostly)
+#define __read_mostly __section(".data..read_mostly")
 
 void parisc_cache_init(void);  /* initializes cache-flushing */
 void disable_sr_hashing_asm(int); /* low level support for above */
index e080143e79a30576f4899e5b97a35f16a16b890b..6d28b5514699afd2b537fdd10156dc961056f0a8 100644 (file)
@@ -52,7 +52,7 @@
 })
 
 #ifdef CONFIG_SMP
-# define __lock_aligned __section(.data..lock_aligned)
+# define __lock_aligned __section(".data..lock_aligned")
 #endif
 
 #endif /* __PARISC_LDCW_H */
index 4bab21c710557b929195b8c2e327c39f7c7290c8..63e3ecb9da812b91d14cd3301470838bfd51f581 100644 (file)
@@ -21,7 +21,7 @@
 #include <asm/ftrace.h>
 #include <asm/patch.h>
 
-#define __hot __attribute__ ((__section__ (".text.hot")))
+#define __hot __section(".text.hot")
 
 #ifdef CONFIG_FUNCTION_GRAPH_TRACER
 /*
index 4381b65ae1e049c0a8f46e1fc5faab2a6fb7c23c..3ec633b11b542d5dc893c63f1465dc6bfdc16140 100644 (file)
@@ -42,11 +42,11 @@ extern void parisc_kernel_start(void);      /* Kernel entry point in head.S */
  * guarantee that global objects will be laid out in memory in the same order
  * as the order of declaration, so put these in different sections and use
  * the linker script to order them. */
-pmd_t pmd0[PTRS_PER_PMD] __attribute__ ((__section__ (".data..vm0.pmd"), aligned(PAGE_SIZE)));
+pmd_t pmd0[PTRS_PER_PMD] __section(".data..vm0.pmd") __attribute__ ((aligned(PAGE_SIZE)));
 #endif
 
-pgd_t swapper_pg_dir[PTRS_PER_PGD] __attribute__ ((__section__ (".data..vm0.pgd"), aligned(PAGE_SIZE)));
-pte_t pg0[PT_INITIAL * PTRS_PER_PTE] __attribute__ ((__section__ (".data..vm0.pte"), aligned(PAGE_SIZE)));
+pgd_t swapper_pg_dir[PTRS_PER_PGD] __section(".data..vm0.pgd") __attribute__ ((aligned(PAGE_SIZE)));
+pte_t pg0[PT_INITIAL * PTRS_PER_PTE] __section(".data..vm0.pte") __attribute__ ((aligned(PAGE_SIZE)));
 
 static struct resource data_resource = {
        .name   = "Kernel data",
index 2124b7090db987a0b1743ada41f63ded1158f40b..ae0a68a838e8ad0390002ebce392f28c1ff121ff 100644 (file)
@@ -97,7 +97,7 @@ static inline u32 l1_icache_bytes(void)
 
 #endif
 
-#define __read_mostly __section(.data..read_mostly)
+#define __read_mostly __section(".data..read_mostly")
 
 #ifdef CONFIG_PPC_BOOK3S_32
 extern long _get_L2CR(void);
index 95081078aa8a6a3eaaef4404309a6d906efba2cc..475687f24f4ad23f6af839a8ffd27cc3d0d21c74 100644 (file)
@@ -232,7 +232,7 @@ extern void book3e_idle(void);
 extern struct machdep_calls ppc_md;
 extern struct machdep_calls *machine_id;
 
-#define __machine_desc __attribute__ ((__section__ (".machine.desc")))
+#define __machine_desc __section(".machine.desc")
 
 #define define_machine(name)                                   \
        extern struct machdep_calls mach_##name;                \
index c22a8e0dbc936cb0e3689650d3bfb75d09f14ffe..803c2a45b22ac2092137e1b2a715d9f51a23b434 100644 (file)
@@ -26,7 +26,7 @@
 static void scrollscreen(void);
 #endif
 
-#define __force_data __section(.data)
+#define __force_data __section(".data")
 
 static int g_loc_X __force_data;
 static int g_loc_Y __force_data;
index 5090a5ab54e5e9b6ad26aeac3c01f57b3b22079d..38ae5933d91741ddd15c7e065f2e03297b4acce5 100644 (file)
@@ -45,7 +45,7 @@
 #include <linux/linux_logo.h>
 
 /* All of prom_init bss lives here */
-#define __prombss __section(.bss.prominit)
+#define __prombss __section(".bss.prominit")
 
 /*
  * Eventually bump that one up
index 470e7c518a109d2b57e0694cc1876633f6144fd0..083a4e037718d924a5782ef8190560c6c28865e5 100644 (file)
@@ -32,7 +32,7 @@
 #ifdef CONFIG_BUG
 
 #define WARN_ON_ONCE_RM(condition)     ({                      \
-       static bool __section(.data.unlikely) __warned;         \
+       static bool __section(".data.unlikely") __warned;       \
        int __ret_warn_once = !!(condition);                    \
                                                                \
        if (unlikely(__ret_warn_once && !__warned)) {           \
index 136a442ef876b072247346f63d8f8db777acca28..6c8363b1f3272ea669ce9761783dc30436e6656f 100644 (file)
@@ -13,7 +13,7 @@
 
 #define SOC_EARLY_INIT_DECLARE(name, compat, fn)                       \
        static const struct of_device_id __soc_early_init__##name       \
-               __used __section(__soc_early_init_table)                \
+               __used __section("__soc_early_init_table")              \
                 = { .compatible = compat, .data = fn  }
 
 void soc_early_init(void);
@@ -46,7 +46,7 @@ struct soc_builtin_dtb {
        }                                                               \
                                                                        \
        static const struct soc_builtin_dtb __soc_builtin_dtb__##name   \
-               __used __section(__soc_builtin_dtb_table) =             \
+               __used __section("__soc_builtin_dtb_table") =           \
        {                                                               \
                .vendor_id = vendor,                                    \
                .arch_id   = arch,                                      \
index 0ec22354018ce33481ff39caa3b224d36d50ee12..1985884fe8290bb290bbf8eaff4609b3e7398349 100644 (file)
@@ -15,8 +15,8 @@
 
 const struct cpu_operations *cpu_ops[NR_CPUS] __ro_after_init;
 
-void *__cpu_up_stack_pointer[NR_CPUS] __section(.data);
-void *__cpu_up_task_pointer[NR_CPUS] __section(.data);
+void *__cpu_up_stack_pointer[NR_CPUS] __section(".data");
+void *__cpu_up_task_pointer[NR_CPUS] __section(".data");
 
 extern const struct cpu_operations cpu_ops_sbi;
 extern const struct cpu_operations cpu_ops_spinwait;
index 4c96ac198e14be60c39eb4841f8ae7be811aa6dc..c424cc6dd833687d9f60b0d9bfe0a0ea2c3a8bc4 100644 (file)
@@ -32,7 +32,7 @@
 #include "head.h"
 
 #if defined(CONFIG_DUMMY_CONSOLE) || defined(CONFIG_EFI)
-struct screen_info screen_info __section(.data) = {
+struct screen_info screen_info __section(".data") = {
        .orig_video_lines       = 30,
        .orig_video_cols        = 80,
        .orig_video_mode        = 0,
@@ -47,7 +47,7 @@ struct screen_info screen_info __section(.data) = {
  * This is used before the kernel initializes the BSS so it can't be in the
  * BSS.
  */
-atomic_t hart_lottery __section(.sdata);
+atomic_t hart_lottery __section(".sdata");
 unsigned long boot_cpu_hartid;
 static DEFINE_PER_CPU(struct cpu, cpu_devices);
 
index 90842936545bcf015d55027e813c60d6900be4d5..cc96b04cc0ba736576b94b95f5a4b739cc9ef110 100644 (file)
@@ -46,7 +46,7 @@ struct diag_ops __bootdata_preserved(diag_dma_ops) = {
        .diag0c = _diag0c_dma,
        .diag308_reset = _diag308_reset_dma
 };
-static struct diag210 _diag210_tmp_dma __section(.dma.data);
+static struct diag210 _diag210_tmp_dma __section(".dma.data");
 struct diag210 *__bootdata_preserved(__diag210_tmp_dma) = &_diag210_tmp_dma;
 
 void error(char *x)
index d5e22e837416e889f1cb747427bb0731a610f648..00128174c025943d01b773df052b55d4024f0766 100644 (file)
@@ -14,6 +14,6 @@
 #define L1_CACHE_SHIFT     8
 #define NET_SKB_PAD       32
 
-#define __read_mostly __section(.data..read_mostly)
+#define __read_mostly __section(".data..read_mostly")
 
 #endif
index 42de04ad9c07bee8967b03c6285e0741702e2e67..a996d3990a02b211ddf6d0c5bb6cab7a9ad798be 100644 (file)
@@ -26,14 +26,14 @@ static inline int arch_is_kernel_initmem_freed(unsigned long addr)
  * final .boot.data section, which should be identical in the decompressor and
  * the decompressed kernel (that is checked during the build).
  */
-#define __bootdata(var) __section(.boot.data.var) var
+#define __bootdata(var) __section(".boot.data.var") var
 
 /*
  * .boot.preserved.data is similar to .boot.data, but it is not part of the
  * .init section and thus will be preserved for later use in the decompressed
  * kernel.
  */
-#define __bootdata_preserved(var) __section(.boot.preserved.data.var) var
+#define __bootdata_preserved(var) __section(".boot.preserved.data.var") var
 
 extern unsigned long __sdma, __edma;
 extern unsigned long __stext_dma, __etext_dma;
index 284939f9661cf67d3d38aa5981f9044a2fac3c7c..77767850d0d073b00df8a9399052f3833a2e1f8a 100644 (file)
@@ -48,7 +48,7 @@
 #include <asm/uv.h>
 #include <linux/virtio_config.h>
 
-pgd_t swapper_pg_dir[PTRS_PER_PGD] __section(.bss..swapper_pg_dir);
+pgd_t swapper_pg_dir[PTRS_PER_PGD] __section(".bss..swapper_pg_dir");
 
 unsigned long empty_zero_page, zero_page_mask;
 EXPORT_SYMBOL(empty_zero_page);
index d91065e81a4e5cffcb2b86463c8dba9190c0d7fa..bffbe69b2236a1eefde40598fc3b896a02e52ee3 100644 (file)
@@ -49,7 +49,7 @@ static struct plat_smp_ops dummy_smp_ops = {
 
 extern const struct of_cpu_method __cpu_method_of_table[];
 const struct of_cpu_method __cpu_method_of_table_sentinel
-       __section(__cpu_method_of_table_end);
+       __section("__cpu_method_of_table_end");
 
 static void sh_of_smp_probe(void)
 {
index a293343456affee32105c5234eb22deabbe91190..32dfa6b82ec663b992fe960e15e8133ac9ddd933 100644 (file)
@@ -14,7 +14,7 @@
 
 #define L1_CACHE_BYTES         (1 << L1_CACHE_SHIFT)
 
-#define __read_mostly __attribute__((__section__(".data..read_mostly")))
+#define __read_mostly __section(".data..read_mostly")
 
 #ifndef __ASSEMBLY__
 struct cache_info {
index f7d05546becaf8101870d2d8c4abb3f12855630a..2b4b085e8f2195e95949e07dfd4e6c51767065f1 100644 (file)
@@ -36,6 +36,6 @@ extern struct sh_machine_vector sh_mv;
 #define get_system_type()      sh_mv.mv_name
 
 #define __initmv \
-       __used __section(.machvec.init)
+       __used __section(".machvec.init")
 
 #endif /* _ASM_SH_MACHVEC_H */
index 100bf241340b92373bba3787a27272c795034283..199381f77293c798ef8998fa14581d8c9b6f07a0 100644 (file)
@@ -71,7 +71,7 @@ struct of_cpu_method {
 
 #define CPU_METHOD_OF_DECLARE(name, _method, _ops)                     \
        static const struct of_cpu_method __cpu_method_of_table_##name  \
-               __used __section(__cpu_method_of_table)                 \
+               __used __section("__cpu_method_of_table")               \
                = { .method = _method, .ops = _ops }
 
 #else
index dcfd58118c11fda23e0921b5b2e1f75bf8dc59e1..e62fd0e72606afd7e23292f3356b2b7465533815 100644 (file)
@@ -21,6 +21,6 @@
 
 #define SMP_CACHE_BYTES (1 << SMP_CACHE_BYTES_SHIFT)
 
-#define __read_mostly __attribute__((__section__(".data..read_mostly")))
+#define __read_mostly __section(".data..read_mostly")
 
 #endif /* !(_SPARC_CACHE_H) */
index 5869773f3dc4867762599215450959b60c0a1165..e2d3f0d2971f715794a08510aa5f420c1c03c603 100644 (file)
@@ -24,7 +24,7 @@ static void draw_byte_32(unsigned char *bits, unsigned int *base, int rb);
 static void draw_byte_16(unsigned char *bits, unsigned int *base, int rb);
 static void draw_byte_8(unsigned char *bits, unsigned int *base, int rb);
 
-#define __force_data __attribute__((__section__(".data")))
+#define __force_data __section(".data")
 
 static int g_loc_X __force_data;
 static int g_loc_Y __force_data;
index c66de434a983b0a179b01597c13d0e9a049c6536..1a659e2e8cc38ac9880f36f2b4b8162005aff793 100644 (file)
@@ -45,15 +45,15 @@ typedef void (*exitcall_t)(void);
 
 /* These are for everybody (although not all archs will actually
    discard it in modules) */
-#define __init         __section(.init.text)
-#define __initdata     __section(.init.data)
-#define __exitdata     __section(.exit.data)
-#define __exit_call    __used __section(.exitcall.exit)
+#define __init         __section(".init.text")
+#define __initdata     __section(".init.data")
+#define __exitdata     __section(".exit.data")
+#define __exit_call    __used __section(".exitcall.exit")
 
 #ifdef MODULE
-#define __exit         __section(.exit.text)
+#define __exit         __section(".exit.text")
 #else
-#define __exit         __used __section(.exit.text)
+#define __exit         __used __section(".exit.text")
 #endif
 
 #endif
@@ -102,10 +102,10 @@ extern struct uml_param __uml_setup_start, __uml_setup_end;
  * Mark functions and data as being only used at initialization
  * or exit time.
  */
-#define __uml_init_setup       __used __section(.uml.setup.init)
-#define __uml_setup_help       __used __section(.uml.help.init)
-#define __uml_postsetup_call   __used __section(.uml.postsetup.init)
-#define __uml_exit_call                __used __section(.uml.exitcall.exit)
+#define __uml_init_setup       __used __section(".uml.setup.init")
+#define __uml_setup_help       __used __section(".uml.help.init")
+#define __uml_postsetup_call   __used __section(".uml.postsetup.init")
+#define __uml_exit_call                __used __section(".uml.exitcall.exit")
 
 #ifdef __UM_HOST__
 
@@ -120,7 +120,7 @@ extern struct uml_param __uml_setup_start, __uml_setup_end;
 
 #define __exitcall(fn) static exitcall_t __exitcall_##fn __exit_call = fn
 
-#define __init_call    __used __section(.initcall.init)
+#define __init_call    __used __section(".initcall.init")
 
 #endif
 
index bfb70c456b302ad8a19cde1869768e8c208573bf..95c355181dcdd2e3967b810e9b7299398676d222 100644 (file)
@@ -21,7 +21,7 @@
  * on some systems.
  */
 
-void __attribute__ ((__section__ (".__syscall_stub")))
+void __section(".__syscall_stub")
 stub_clone_handler(void)
 {
        struct stub_data *data = (struct stub_data *) STUB_DATA;
index 00141e70de563f9499b2633d707387729cca274d..76b37297b7d4cabdfccacc5d3b2ee8e6a4126080 100644 (file)
@@ -52,7 +52,7 @@ struct cpuinfo_um boot_cpu_data = {
 };
 
 union thread_union cpu0_irqstack
-       __attribute__((__section__(".data..init_irqstack"))) =
+       __section(".data..init_irqstack") =
                { .thread_info = INIT_THREAD_INFO(init_task) };
 
 /* Changed in setup_arch, which is called in early boot */
index 5def1674d6f1990dd9bded8c4cd1267349f002d0..2a78746f5a4c38c65c775d5c46f1f19daec4aa24 100644 (file)
@@ -10,9 +10,9 @@
 
 #ifdef CONFIG_X86_5LEVEL
 /* __pgtable_l5_enabled needs to be in .data to avoid being cleared along with .bss */
-unsigned int __section(.data) __pgtable_l5_enabled;
-unsigned int __section(.data) pgdir_shift = 39;
-unsigned int __section(.data) ptrs_per_p4d = 1;
+unsigned int __section(".data") __pgtable_l5_enabled;
+unsigned int __section(".data") pgdir_shift = 39;
+unsigned int __section(".data") ptrs_per_p4d = 1;
 #endif
 
 struct paging_config {
@@ -30,7 +30,7 @@ static char trampoline_save[TRAMPOLINE_32BIT_SIZE];
  * Avoid putting the pointer into .bss as it will be cleared between
  * paging_prepare() and extract_kernel().
  */
-unsigned long *trampoline_32bit __section(.data);
+unsigned long *trampoline_32bit __section(".data");
 
 extern struct boot_params *boot_params;
 int cmdline_find_option_bool(const char *option);
index 1fedabdb95ad3dfc8a17ebc4a2b097ac6d0c65c9..f7eb976b0a4b2475a5bf16d1049412bcf463b3e4 100644 (file)
@@ -25,7 +25,7 @@ int early_serial_base;
  * error during initialization.
  */
 
-static void __attribute__((section(".inittext"))) serial_putchar(int ch)
+static void __section(".inittext") serial_putchar(int ch)
 {
        unsigned timeout = 0xffff;
 
@@ -35,7 +35,7 @@ static void __attribute__((section(".inittext"))) serial_putchar(int ch)
        outb(ch, early_serial_base + TXR);
 }
 
-static void __attribute__((section(".inittext"))) bios_putchar(int ch)
+static void __section(".inittext") bios_putchar(int ch)
 {
        struct biosregs ireg;
 
@@ -47,7 +47,7 @@ static void __attribute__((section(".inittext"))) bios_putchar(int ch)
        intcall(0x10, &ireg, NULL);
 }
 
-void __attribute__((section(".inittext"))) putchar(int ch)
+void __section(".inittext") putchar(int ch)
 {
        if (ch == '\n')
                putchar('\r');  /* \n -> \r\n */
@@ -58,7 +58,7 @@ void __attribute__((section(".inittext"))) putchar(int ch)
                serial_putchar(ch);
 }
 
-void __attribute__((section(".inittext"))) puts(const char *str)
+void __section(".inittext") puts(const char *str)
 {
        while (*str)
                putchar(*str++);
index cbf7fed22441e46b6640707405074caba4ae3496..04bde0bb2003e1ad9f17462ae24a6ca530a18af2 100644 (file)
@@ -78,7 +78,7 @@ struct card_info {
        u16 xmode_n;            /* Size of unprobed mode range */
 };
 
-#define __videocard struct card_info __attribute__((used,section(".videocards")))
+#define __videocard struct card_info __section(".videocards") __attribute__((used))
 extern struct card_info video_cards[], video_cards_end[];
 
 int mode_defined(u16 mode);    /* video.c */
index 1c129abb7f09d28772d1c2cc990e20ad098b630b..4e3099d9ae625f5c44e8f031f2f49f38e81ad484 100644 (file)
@@ -374,12 +374,12 @@ extern struct apic *apic;
 #define apic_driver(sym)                                       \
        static const struct apic *__apicdrivers_##sym __used            \
        __aligned(sizeof(struct apic *))                        \
-       __section(.apicdrivers) = { &sym }
+       __section(".apicdrivers") = { &sym }
 
 #define apic_drivers(sym1, sym2)                                       \
        static struct apic *__apicdrivers_##sym1##sym2[2] __used        \
        __aligned(sizeof(struct apic *))                                \
-       __section(.apicdrivers) = { &sym1, &sym2 }
+       __section(".apicdrivers") = { &sym1, &sym2 }
 
 extern struct apic *__apicdrivers[], *__apicdrivers_end[];
 
index abe08690a887d302324abcc8cf23bb5da60284f7..69404eae99836066286581128e64879d4827eeaf 100644 (file)
@@ -8,7 +8,7 @@
 #define L1_CACHE_SHIFT (CONFIG_X86_L1_CACHE_SHIFT)
 #define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
 
-#define __read_mostly __attribute__((__section__(".data..read_mostly")))
+#define __read_mostly __section(".data..read_mostly")
 
 #define INTERNODE_CACHE_SHIFT CONFIG_X86_INTERNODE_CACHE_SHIFT
 #define INTERNODE_CACHE_BYTES (1 << INTERNODE_CACHE_SHIFT)
index de58391bdee062b1fa548f10689052019a4fd096..cf0e25f45422bb0104d77beabb528a57a363131f 100644 (file)
@@ -43,7 +43,7 @@ struct devs_id {
 
 #define sfi_device(i)                                                          \
        static const struct devs_id *const __intel_mid_sfi_##i##_dev __used     \
-       __attribute__((__section__(".x86_intel_mid_dev.init"))) = &i
+       __section(".x86_intel_mid_dev.init") = &i
 
 /**
 * struct mid_sd_board_info - template for SD device creation
index 02a0cf547d7b48317ba76edda8fbfb44c98ce6c0..2dfc8d380dab1143c29c215390ba37b1335e4bd7 100644 (file)
@@ -9,7 +9,7 @@
 #include <asm/nospec-branch.h>
 
 /* Provide __cpuidle; we can't safely include <linux/cpu.h> */
-#define __cpuidle __attribute__((__section__(".cpuidle.text")))
+#define __cpuidle __section(".cpuidle.text")
 
 /*
  * Interrupt control:
index c9f5df0a1c103af941c5cbb466c10ed916de55a5..2f62bbdd9d12fe2038b26a466ba91643178ee32f 100644 (file)
@@ -54,7 +54,7 @@ bool sme_active(void);
 bool sev_active(void);
 bool sev_es_active(void);
 
-#define __bss_decrypted __attribute__((__section__(".bss..decrypted")))
+#define __bss_decrypted __section(".bss..decrypted")
 
 #else  /* !CONFIG_AMD_MEM_ENCRYPT */
 
index 7d7a064af6ff4d38237bdc6585a11f972f96dd22..389d851a02c4fd55cab18a10b4d277bb12b093ab 100644 (file)
@@ -119,7 +119,7 @@ void *extend_brk(size_t size, size_t align);
  * executable.)
  */
 #define RESERVE_BRK(name,sz)                                           \
-       static void __section(.discard.text) __used notrace             \
+       static void __section(".discard.text") __used notrace           \
        __brk_reservation_fn_##name##__(void) {                         \
                asm volatile (                                          \
                        ".pushsection .brk_reservation,\"aw\",@nobits;" \
index 9d033693519aa51930a2b959209dfa3a37496dd7..67944128876d7300e29545c7d5336a52a81daa75 100644 (file)
@@ -38,7 +38,7 @@ struct _tlb_table {
 
 #define cpu_dev_register(cpu_devX) \
        static const struct cpu_dev *const __cpu_dev_##cpu_devX __used \
-       __attribute__((__section__(".x86_cpu_dev.init"))) = \
+       __section(".x86_cpu_dev.init") = \
        &cpu_devX;
 
 extern const struct cpu_dev *const __x86_cpu_dev_start[],
index 4199f25c006320eabaf7f0644451c7c13bfef918..05e117137b45967d824e3c2cb2befe591574625e 100644 (file)
@@ -84,7 +84,7 @@ static struct desc_ptr startup_gdt_descr = {
        .address = 0,
 };
 
-#define __head __section(.head.text)
+#define __head __section(".head.text")
 
 static void __head *fixup_pointer(void *ptr, unsigned long physaddr)
 {
index ebb7edc8bc0ab15bf90ffcfda5d0a5b7ce2502fb..efbb3de472df4613a32308b000cf9ee1300bd154 100644 (file)
  * reside in the .data section so as not to be zeroed out when the .bss
  * section is later cleared.
  */
-u64 sme_me_mask __section(.data) = 0;
-u64 sev_status __section(.data) = 0;
+u64 sme_me_mask __section(".data") = 0;
+u64 sev_status __section(".data") = 0;
 EXPORT_SYMBOL(sme_me_mask);
 DEFINE_STATIC_KEY_FALSE(sev_enable_key);
 EXPORT_SYMBOL_GPL(sev_enable_key);
 
-bool sev_enabled __section(.data);
+bool sev_enabled __section(".data");
 
 /* Buffer used for early in-place encryption by BSP, no locking needed */
 static char sme_early_buffer[PAGE_SIZE] __initdata __aligned(PAGE_SIZE);
index 68d75379e06abee424845a7041bae202986c1492..733b983f3a891b97ebe41bda959bb76deb1e469a 100644 (file)
@@ -81,7 +81,7 @@ struct sme_populate_pgd_data {
  * section is 2MB aligned to allow for simple pagetable setup using only
  * PMD entries (see vmlinux.lds.S).
  */
-static char sme_workarea[2 * PMD_PAGE_SIZE] __section(.init.scratch);
+static char sme_workarea[2 * PMD_PAGE_SIZE] __section(".init.scratch");
 
 static char sme_cmdline_arg[] __initdata = "mem_encrypt";
 static char sme_cmdline_on[]  __initdata = "on";
index c0a502f7e3a76de00519f393d7d1f52fc7cd590d..9ac7457f52a3cd1d4c8e32585b3a18c44a415b5b 100644 (file)
@@ -19,8 +19,8 @@
  * pvh_bootparams and pvh_start_info need to live in the data segment since
  * they are used after startup_{32|64}, which clear .bss, are invoked.
  */
-struct boot_params pvh_bootparams __attribute__((section(".data")));
-struct hvm_start_info pvh_start_info __attribute__((section(".data")));
+struct boot_params pvh_bootparams __section(".data");
+struct hvm_start_info pvh_start_info __section(".data");
 
 unsigned int pvh_start_info_sz = sizeof(pvh_start_info);
 
index 2961234d0795229bea3889bea1a38745da8dd828..7b37a412f829d6a865de48d0f5305c189f869d1c 100644 (file)
@@ -14,9 +14,9 @@
 
 #include "../boot/string.h"
 
-u8 purgatory_sha256_digest[SHA256_DIGEST_SIZE] __section(.kexec-purgatory);
+u8 purgatory_sha256_digest[SHA256_DIGEST_SIZE] __section(".kexec-purgatory");
 
-struct kexec_sha_region purgatory_sha_regions[KEXEC_SEGMENT_MAX] __section(.kexec-purgatory);
+struct kexec_sha_region purgatory_sha_regions[KEXEC_SEGMENT_MAX] __section(".kexec-purgatory");
 
 static int verify_sha256_digest(void)
 {
index 27361cbb7ca9bed47194fe4127e231a8d3c39c0d..fdcd58af707aebefb183380b1ecd2517dbb8b260 100644 (file)
@@ -8,7 +8,7 @@
 #include <sysdep/mcontext.h>
 #include <sys/ucontext.h>
 
-void __attribute__ ((__section__ (".__syscall_stub")))
+void __section(".__syscall_stub")
 stub_segv_handler(int sig, siginfo_t *info, void *p)
 {
        ucontext_t *uc = p;
index 205b1176084f572e9438882bf2ee9ff13404d2cd..aa9f50fccc5da08b1088dc5240eabfa50fbc09c5 100644 (file)
@@ -71,7 +71,7 @@ EXPORT_SYMBOL_GPL(xen_have_vector_callback);
  * NB: needs to live in .data because it's used by xen_prepare_pvh which runs
  * before clearing the bss.
  */
-uint32_t xen_start_flags __attribute__((section(".data"))) = 0;
+uint32_t xen_start_flags __section(".data") = 0;
 EXPORT_SYMBOL(xen_start_flags);
 
 /*
index 80a79db72fcfd43c4abad268976e331f3e9a370b..0d5e34b9e6f93985a243cc69c632ae0d8f9e8ce1 100644 (file)
@@ -21,7 +21,7 @@
  * The variable xen_pvh needs to live in the data segment since it is used
  * after startup_{32|64} is invoked, which will clear the .bss segment.
  */
-bool xen_pvh __attribute__((section(".data"))) = 0;
+bool xen_pvh __section(".data") = 0;
 
 void __init xen_pvh_init(struct boot_params *boot_params)
 {
index be2c78f7169500e73fb6aded1803b6cd69ed9e71..ed184106e4cf945a0631f7f43d72a700b568507a 100644 (file)
@@ -93,7 +93,7 @@ typedef struct tagtable {
 } tagtable_t;
 
 #define __tagtable(tag, fn) static tagtable_t __tagtable_##fn          \
-       __attribute__((used, section(".taglist"))) = { tag, fn }
+       __section(".taglist") __attribute__((used)) = { tag, fn }
 
 /* parse current tag */
 
index 0a9261a099bd8fc9474dc04ddaa0670e9b8c0272..f83dac54ed853440f76ac20249dcd9f40c4e769a 100644 (file)
@@ -4363,7 +4363,7 @@ struct of_clk_provider {
 
 extern struct of_device_id __clk_of_table;
 static const struct of_device_id __clk_of_table_sentinel
-       __used __section(__clk_of_table_end);
+       __used __section("__clk_of_table_end");
 
 static LIST_HEAD(of_clk_providers);
 static DEFINE_MUTEX(of_clk_mutex);
index ee9574da53c059a86ed7942aaea24d96074e0faa..b7860bc0db4bb7ddea4980b9525449f50b2ac153 100644 (file)
@@ -11,7 +11,7 @@
 extern struct of_device_id __timer_of_table[];
 
 static const struct of_device_id __timer_of_table_sentinel
-       __used __section(__timer_of_table_end);
+       __used __section("__timer_of_table_end");
 
 void __init timer_probe(void)
 {
index d2341153e1814d12623c7b14ea62e939031a7e66..3570f0a588c4b0f6ceb561ab15e287fc23b5ba5a 100644 (file)
@@ -22,7 +22,7 @@
  * special section.
  */
 static const struct of_device_id
-irqchip_of_match_end __used __section(__irqchip_of_table_end);
+irqchip_of_match_end __used __section("__irqchip_of_table_end");
 
 extern struct of_device_id __irqchip_of_table[];
 
index 46b9371c8a3326e907136a6330b1d9152c0939a6..bcd15448597244a4d44db9b413608f8a3b98da8a 100644 (file)
@@ -162,7 +162,7 @@ static int __init __reserved_mem_alloc_size(unsigned long node,
 }
 
 static const struct of_device_id __rmem_of_table_sentinel
-       __used __section(__reservedmem_of_table_end);
+       __used __section("__reservedmem_of_table_end");
 
 /**
  * __reserved_mem_init_node() - call region specific reserved memory init code
index 764c2de317711a2ab91cd220fd410442e30a0f29..681209db42a8d84bc7ba558ac593e7722c8253c3 100644 (file)
@@ -34,7 +34,7 @@ extern struct thermal_governor *__governor_thermal_table_end[];
 
 #define THERMAL_TABLE_ENTRY(table, name)                       \
        static typeof(name) *__thermal_table_entry_##name       \
-       __used __section(__##table##_thermal_table) = &name
+       __used __section("__" #table "_thermal_table") = &name
 
 #define THERMAL_GOVERNOR_DECLARE(name) THERMAL_TABLE_ENTRY(governor, name)
 
index 4d9bd6bb63ca04ddbe0c954c3eeb38d49950d289..3c392b1512ac04e2810ced581c2f0f300bc89616 100644 (file)
@@ -42,7 +42,7 @@ do {                                                                  \
 
 #define xfs_printk_once(func, dev, fmt, ...)                   \
 ({                                                             \
-       static bool __section(.data.once) __print_once;         \
+       static bool __section(".data.once") __print_once;       \
        bool __ret_print_once = !__print_once;                  \
                                                                \
        if (!__print_once) {                                    \
index 18b0f4eee8cbcfcd2644f45871681cf4e13129f9..76a10e0dca9fc7559ad57268c155fbf665583f73 100644 (file)
@@ -141,7 +141,7 @@ void __warn(const char *file, int line, void *caller, unsigned taint,
 
 #ifndef WARN_ON_ONCE
 #define WARN_ON_ONCE(condition)        ({                              \
-       static bool __section(.data.once) __warned;             \
+       static bool __section(".data.once") __warned;           \
        int __ret_warn_once = !!(condition);                    \
                                                                \
        if (unlikely(__ret_warn_once && !__warned)) {           \
@@ -153,7 +153,7 @@ void __warn(const char *file, int line, void *caller, unsigned taint,
 #endif
 
 #define WARN_ONCE(condition, format...)        ({                      \
-       static bool __section(.data.once) __warned;             \
+       static bool __section(".data.once") __warned;           \
        int __ret_warn_once = !!(condition);                    \
                                                                \
        if (unlikely(__ret_warn_once && !__warned)) {           \
@@ -164,7 +164,7 @@ void __warn(const char *file, int line, void *caller, unsigned taint,
 })
 
 #define WARN_TAINT_ONCE(condition, taint, format...)   ({      \
-       static bool __section(.data.once) __warned;             \
+       static bool __section(".data.once") __warned;           \
        int __ret_warn_once = !!(condition);                    \
                                                                \
        if (unlikely(__ret_warn_once && !__warned)) {           \
index 80ca61058dd20b9f1234bbec0c9c7431eabb1293..7ddd9dc10ce9666f5c07f687c0c075cc81860751 100644 (file)
@@ -25,7 +25,7 @@ struct pt_regs;
  */
 #define ALLOW_ERROR_INJECTION(fname, _etype)                           \
 static struct error_injection_entry __used                             \
-       __attribute__((__section__("_error_injection_whitelist")))      \
+       __section("_error_injection_whitelist")                         \
        _eil_addr_##fname = {                                           \
                .addr = (unsigned long)fname,                           \
                .etype = EI_ETYPE_##_etype,                             \
index 4a982089c95cc523fa137462d4e853ce134df6f2..060eab094e5a2284a2a3a8b5c5492a13d8656423 100644 (file)
  */
 # define __NOKPROBE_SYMBOL(fname)                              \
 static unsigned long __used                                    \
-       __attribute__((__section__("_kprobe_blacklist")))       \
+       __section("_kprobe_blacklist")                          \
        _kbl_addr_##fname = (unsigned long)fname;
 # define NOKPROBE_SYMBOL(fname)        __NOKPROBE_SYMBOL(fname)
 /* Use this to forbid a kprobes attach on very low level functions */
-# define __kprobes     __attribute__((__section__(".kprobes.text")))
+# define __kprobes     __section(".kprobes.text")
 # define nokprobe_inline       __always_inline
 #else
 # define NOKPROBE_SYMBOL(fname)
index a423fffefea0505d5df8faef2970c39a7d62dfc7..9197da7923361a8a4e20674e547f7f8a036b56b4 100644 (file)
@@ -288,7 +288,7 @@ static inline int kunit_run_all_tests(void)
        static struct kunit_suite *unique_array[] = { __VA_ARGS__, NULL };     \
        kunit_test_suites_for_module(unique_array);                            \
        static struct kunit_suite **unique_suites                              \
-       __used __section(.kunit_test_suites) = unique_array
+       __used __section(".kunit_test_suites") = unique_array
 
 /**
  * kunit_test_suites() - used to register one or more &struct kunit_suite
index 143c6ffce2dbebb6abdc495d74a67678413f8cb9..39263c6b52e1aa5d23f128a98ed6968b20f50b6e 100644 (file)
@@ -1153,7 +1153,7 @@ struct acpi_probe_entry {
 #define ACPI_DECLARE_PROBE_ENTRY(table, name, table_id, subtable,      \
                                 valid, data, fn)                       \
        static const struct acpi_probe_entry __acpi_probe_##name        \
-               __used __section(__##table##_acpi_probe_table) = {      \
+               __used __section("__" #table "_acpi_probe_table") = {   \
                        .id = table_id,                                 \
                        .type = subtable,                               \
                        .subtable_valid = valid,                        \
@@ -1164,7 +1164,7 @@ struct acpi_probe_entry {
 #define ACPI_DECLARE_SUBTABLE_PROBE_ENTRY(table, name, table_id,       \
                                          subtable, valid, data, fn)    \
        static const struct acpi_probe_entry __acpi_probe_##name        \
-               __used __section(__##table##_acpi_probe_table) = {      \
+               __used __section("__" #table "_acpi_probe_table") = {   \
                        .id = table_id,                                 \
                        .type = subtable,                               \
                        .subtable_valid = valid,                        \
index 1aa8009f6d06df72cd75a736bc858243229066c7..d742c57eaee598cb3213e870108486ecaa1d5367 100644 (file)
@@ -34,7 +34,7 @@
  * but may get written to during init, so can't live in .rodata (via "const").
  */
 #ifndef __ro_after_init
-#define __ro_after_init __attribute__((__section__(".data..ro_after_init")))
+#define __ro_after_init __section(".data..ro_after_init")
 #endif
 
 #ifndef ____cacheline_aligned
index ac45f6d40d39a4125ec26d9f5e8b08bd482a2b36..e512f5505dadbcf7e9d3756fe7f886d63903a003 100644 (file)
@@ -24,7 +24,7 @@ void ftrace_likely_update(struct ftrace_likely_data *f, int val,
                        long ______r;                                   \
                        static struct ftrace_likely_data                \
                                __aligned(4)                            \
-                               __section(_ftrace_annotated_branch)     \
+                               __section("_ftrace_annotated_branch")   \
                                ______f = {                             \
                                .data.func = __func__,                  \
                                .data.file = __FILE__,                  \
@@ -60,7 +60,7 @@ void ftrace_likely_update(struct ftrace_likely_data *f, int val,
 #define __trace_if_value(cond) ({                      \
        static struct ftrace_branch_data                \
                __aligned(4)                            \
-               __section(_ftrace_branch)               \
+               __section("_ftrace_branch")             \
                __if_trace = {                          \
                        .func = __func__,               \
                        .file = __FILE__,               \
@@ -118,7 +118,7 @@ void ftrace_likely_update(struct ftrace_likely_data *f, int val,
        ".popsection\n\t"
 
 /* Annotate a C jump table to allow objtool to follow the code flow */
-#define __annotate_jump_table __section(.rodata..c_jump_table)
+#define __annotate_jump_table __section(".rodata..c_jump_table")
 
 #else
 #define annotate_reachable()
@@ -206,7 +206,7 @@ void ftrace_likely_update(struct ftrace_likely_data *f, int val,
  * visible to the compiler.
  */
 #define __ADDRESSABLE(sym) \
-       static void * __section(.discard.addressable) __used \
+       static void * __section(".discard.addressable") __used \
                __UNIQUE_ID(__PASTE(__addressable_,sym)) = (void *)&sym;
 
 /**
index ea7b756b1c8f18d94576a3224c1f0a9c40ad8861..b2a3f4f641a70745d94e6b84acbc2261d8e7a03d 100644 (file)
  *   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
  */
-#define __section(S)                    __attribute__((__section__(#S)))
+#define __section(section)              __attribute__((__section__(section)))
 
 /*
  *   gcc: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-unused-function-attribute
index 8aa84c052fdfcf33bf5918c29eac492b1edaeef1..d6428aaf67e7313be7db903dfead2b907e9d95a1 100644 (file)
@@ -173,7 +173,7 @@ void cpu_startup_entry(enum cpuhp_state state);
 void cpu_idle_poll_ctrl(bool enable);
 
 /* Attach to any functions which should be considered cpuidle. */
-#define __cpuidle      __attribute__((__section__(".cpuidle.text")))
+#define __cpuidle      __section(".cpuidle.text")
 
 bool cpu_in_idle(unsigned long pc);
 
index 8aa0c7c2608cbb0c79637018913802e5d4f48b93..a57ee75342cf801e5d50b5d44702aa6c052a1be4 100644 (file)
@@ -84,7 +84,7 @@ void __dynamic_ibdev_dbg(struct _ddebug *descriptor,
 
 #define DEFINE_DYNAMIC_DEBUG_METADATA(name, fmt)               \
        static struct _ddebug  __aligned(8)                     \
-       __section(__dyndbg) name = {                            \
+       __section("__dyndbg") name = {                          \
                .modname = KBUILD_MODNAME,                      \
                .function = __func__,                           \
                .filename = __FILE__,                           \
index 8933ff6ad23a2f61fd5a551de9f09755c9531864..fceb5e855717113825ee25005d163bdbfa6b68e8 100644 (file)
@@ -130,7 +130,7 @@ struct kernel_symbol {
  * discarded in the final link stage.
  */
 #define __ksym_marker(sym)     \
-       static int __ksym_marker_##sym[0] __section(.discard.ksym) __used
+       static int __ksym_marker_##sym[0] __section(".discard.ksym") __used
 
 #define __EXPORT_SYMBOL(sym, sec, ns)                                  \
        __ksym_marker(sym);                                             \
index c15acadc6cf4bcb740872b423895e0630a723c5b..84e346ae766e2e028b4db369794dad7c5f7f47a0 100644 (file)
@@ -36,7 +36,7 @@ struct builtin_fw {
 
 #define DECLARE_BUILTIN_FIRMWARE_SIZE(name, blob, size)                             \
        static const struct builtin_fw __fw_concat(__builtin_fw,__COUNTER__) \
-       __used __section(.builtin_fw) = { name, blob, size }
+       __used __section(".builtin_fw") = { name, blob, size }
 
 #if defined(CONFIG_FW_LOADER) || (defined(CONFIG_FW_LOADER_MODULE) && defined(MODULE))
 int request_firmware(const struct firmware **fw, const char *name,
index 212fc9e2f691a17c48262248e404159ba1f2b94e..7b53cb3092ee9956866e79a677c97cb5235dd96c 100644 (file)
 
 /* These are for everybody (although not all archs will actually
    discard it in modules) */
-#define __init         __section(.init.text) __cold  __latent_entropy __noinitretpoline
-#define __initdata     __section(.init.data)
-#define __initconst    __section(.init.rodata)
-#define __exitdata     __section(.exit.data)
-#define __exit_call    __used __section(.exitcall.exit)
+#define __init         __section(".init.text") __cold  __latent_entropy __noinitretpoline
+#define __initdata     __section(".init.data")
+#define __initconst    __section(".init.rodata")
+#define __exitdata     __section(".exit.data")
+#define __exit_call    __used __section(".exitcall.exit")
 
 /*
  * modpost check for section mismatches during the kernel build.
@@ -70,9 +70,9 @@
  *
  * The markers follow same syntax rules as __init / __initdata.
  */
-#define __ref            __section(.ref.text) noinline
-#define __refdata        __section(.ref.data)
-#define __refconst       __section(.ref.rodata)
+#define __ref            __section(".ref.text") noinline
+#define __refdata        __section(".ref.data")
+#define __refconst       __section(".ref.rodata")
 
 #ifdef MODULE
 #define __exitused
 #define __exitused  __used
 #endif
 
-#define __exit          __section(.exit.text) __exitused __cold notrace
+#define __exit          __section(".exit.text") __exitused __cold notrace
 
 /* Used for MEMORY_HOTPLUG */
-#define __meminit        __section(.meminit.text) __cold notrace \
+#define __meminit        __section(".meminit.text") __cold notrace \
                                                  __latent_entropy
-#define __meminitdata    __section(.meminit.data)
-#define __meminitconst   __section(.meminit.rodata)
-#define __memexit        __section(.memexit.text) __exitused __cold notrace
-#define __memexitdata    __section(.memexit.data)
-#define __memexitconst   __section(.memexit.rodata)
+#define __meminitdata    __section(".meminit.data")
+#define __meminitconst   __section(".meminit.rodata")
+#define __memexit        __section(".memexit.text") __exitused __cold notrace
+#define __memexitdata    __section(".memexit.data")
+#define __memexitconst   __section(".memexit.rodata")
 
 /* For assembly routines */
 #define __HEAD         .section        ".head.text","ax"
@@ -254,7 +254,7 @@ struct obs_kernel_param {
        static const char __setup_str_##unique_id[] __initconst         \
                __aligned(1) = str;                                     \
        static struct obs_kernel_param __setup_##unique_id              \
-               __used __section(.init.setup)                           \
+               __used __section(".init.setup")                         \
                __attribute__((aligned((sizeof(long)))))                \
                = { __setup_str_##unique_id, fn, early }
 
@@ -298,7 +298,7 @@ void __init parse_early_options(char *cmdline);
 #endif
 
 /* Data marked not to be saved by software suspend */
-#define __nosavedata __section(.data..nosave)
+#define __nosavedata __section(".data..nosave")
 
 #ifdef MODULE
 #define __exit_p(x) x
index 2c620d7ac432dd7e94fe45a65a113d75fee6af0b..b2412b4d4c20e253b35c084403fc20825529bf19 100644 (file)
@@ -40,12 +40,12 @@ extern struct cred init_cred;
 
 /* Attach to the init_task data structure for proper alignment */
 #ifdef CONFIG_ARCH_TASK_STRUCT_ON_STACK
-#define __init_task_data __attribute__((__section__(".data..init_task")))
+#define __init_task_data __section(".data..init_task")
 #else
 #define __init_task_data /**/
 #endif
 
 /* Attach to the thread_info data structure for proper alignment */
-#define __init_thread_info __attribute__((__section__(".data..init_thread_info")))
+#define __init_thread_info __section(".data..init_thread_info")
 
 #endif
index f9aee35384610b6e6f22b8a56e84bfd72dc5f301..ee8299eb1f52467df820de75645b005c464b8954 100644 (file)
@@ -792,9 +792,9 @@ extern int arch_early_irq_init(void);
  * We want to know which function is an entrypoint of a hardirq or a softirq.
  */
 #ifndef __irq_entry
-# define __irq_entry    __attribute__((__section__(".irqentry.text")))
+# define __irq_entry    __section(".irqentry.text")
 #endif
 
-#define __softirq_entry  __attribute__((__section__(".softirqentry.text")))
+#define __softirq_entry  __section(".softirqentry.text")
 
 #endif
index c629215fdad97264674a107a33a2f1b85ac2885c..2f05e9128201c581d494065f83acd3a5c3186a37 100644 (file)
@@ -729,7 +729,7 @@ do {                                                        \
 #define do_trace_printk(fmt, args...)                                  \
 do {                                                                   \
        static const char *trace_printk_fmt __used                      \
-               __attribute__((section("__trace_printk_fmt"))) =        \
+               __section("__trace_printk_fmt") =                       \
                __builtin_constant_p(fmt) ? fmt : NULL;                 \
                                                                        \
        __trace_printk_check_format(fmt, ##args);                       \
@@ -773,7 +773,7 @@ int __trace_printk(unsigned long ip, const char *fmt, ...);
 
 #define trace_puts(str) ({                                             \
        static const char *trace_printk_fmt __used                      \
-               __attribute__((section("__trace_printk_fmt"))) =        \
+               __section("__trace_printk_fmt") =                       \
                __builtin_constant_p(str) ? str : NULL;                 \
                                                                        \
        if (__builtin_constant_p(str))                                  \
@@ -795,7 +795,7 @@ extern void trace_dump_stack(int skip);
 do {                                                                   \
        if (__builtin_constant_p(fmt)) {                                \
                static const char *trace_printk_fmt __used              \
-                 __attribute__((section("__trace_printk_fmt"))) =      \
+                 __section("__trace_printk_fmt") =                     \
                        __builtin_constant_p(fmt) ? fmt : NULL;         \
                                                                        \
                __ftrace_vbprintk(_THIS_IP_, trace_printk_fmt, vargs);  \
index d796ec20d1145ca6cdd4f311e567878fa220c5bf..5bcfbd972e9709234926b9b7148df45f3092f2f0 100644 (file)
@@ -36,8 +36,8 @@
                  __stringify(name))
 #endif
 
-#define __page_aligned_data    __section(.data..page_aligned) __aligned(PAGE_SIZE)
-#define __page_aligned_bss     __section(.bss..page_aligned) __aligned(PAGE_SIZE)
+#define __page_aligned_data    __section(".data..page_aligned") __aligned(PAGE_SIZE)
+#define __page_aligned_bss     __section(".bss..page_aligned") __aligned(PAGE_SIZE)
 
 /*
  * For assembly routines.
index 8814e3d5952dbd37c2b7624b43246fe4d75a3a3e..c503f7ab8afb6b6b2848ec604b319bb66a945133 100644 (file)
@@ -1611,12 +1611,12 @@ extern struct lsm_info __start_early_lsm_info[], __end_early_lsm_info[];
 
 #define DEFINE_LSM(lsm)                                                        \
        static struct lsm_info __lsm_##lsm                              \
-               __used __section(.lsm_info.init)                        \
+               __used __section(".lsm_info.init")                      \
                __aligned(sizeof(unsigned long))
 
 #define DEFINE_EARLY_LSM(lsm)                                          \
        static struct lsm_info __early_lsm_##lsm                        \
-               __used __section(.early_lsm_info.init)                  \
+               __used __section(".early_lsm_info.init")                \
                __aligned(sizeof(unsigned long))
 
 #ifdef CONFIG_SECURITY_SELINUX_DISABLE
index a29187f7c360e0ffb0ab6b9bcad8b3f0decfd3d1..7ccdf87f376fc3c9c9c3a4bb1ce92cd321df2354 100644 (file)
@@ -278,7 +278,7 @@ extern typeof(name) __mod_##type##__##name##_device_table           \
                .version        = _version,                             \
        };                                                              \
        static const struct module_version_attribute                    \
-       __used __attribute__ ((__section__ ("__modver")))               \
+       __used __section("__modver")                                    \
        * __moduleparam_const __modver_attr = &___modver_attr
 #endif
 
index 47879fc7f75e1f2284e3ef760f3577b1af59378e..6388eb9734a514054cf19fc65f06f0e5e5295448 100644 (file)
@@ -22,7 +22,7 @@
 
 #define __MODULE_INFO(tag, name, info)                                   \
 static const char __UNIQUE_ID(name)[]                                    \
-  __used __attribute__((section(".modinfo"), unused, aligned(1)))        \
+  __used __section(".modinfo") __attribute__((unused, aligned(1)))       \
   = __MODULE_INFO_PREFIX __stringify(tag) "=" info
 
 #define __MODULE_PARM_TYPE(name, _type)                                          \
@@ -289,7 +289,7 @@ struct kparam_array
        static const char __param_str_##name[] = prefix #name;          \
        static struct kernel_param __moduleparam_const __param_##name   \
        __used                                                          \
-    __attribute__ ((unused,__section__ ("__param"),aligned(sizeof(void *)))) \
+    __section("__param") __attribute__ ((unused, aligned(sizeof(void *)))) \
        = { __param_str_##name, THIS_MODULE, ops,                       \
            VERIFY_OCTAL_PERMISSIONS(perm), level, flags, { arg } }
 
index a4e352b1dfe6e0b95046c12d4bac0a015b517111..3cac9360588fc97df41e1e508da8bb3e45267e44 100644 (file)
@@ -28,7 +28,7 @@
  * those functions so they get relocated to ram.
  */
 #ifdef CONFIG_XIP_KERNEL
-#define __xipram noinline __attribute__ ((__section__ (".xiptext")))
+#define __xipram noinline __section(".xiptext")
 #endif
 
 /*
index ab82c793c897a1553eecb424ba7535373b7df710..577f51436cf92c8ba9e8ae055124a81d75ce7e97 100644 (file)
@@ -60,7 +60,7 @@ struct unwind_hint {
  * For more information, see tools/objtool/Documentation/stack-validation.txt.
  */
 #define STACK_FRAME_NON_STANDARD(func) \
-       static void __used __section(.discard.func_stack_frame_non_standard) \
+       static void __used __section(".discard.func_stack_frame_non_standard") \
                *__func_stack_frame_non_standard_##func = func
 
 #else /* __ASSEMBLY__ */
index 481ec046728516dcb3f1eb97f602572439d1fbd3..5d51891cbf1a68b38dbe65745555759b7dd653e0 100644 (file)
@@ -1299,7 +1299,7 @@ static inline int of_get_available_child_count(const struct device_node *np)
 #if defined(CONFIG_OF) && !defined(MODULE)
 #define _OF_DECLARE(table, name, compat, fn, fn_type)                  \
        static const struct of_device_id __of_table_##name              \
-               __used __section(__##table##_of_table)                  \
+               __used __section("__" #table "_of_table")               \
                 = { .compatible = compat,                              \
                     .data = (fn == (fn_type)NULL) ? fn : fn  }
 #else
index 176bfbd52d97557ea754709f3b0bd2bb370a7852..dff7040f629acad206cda13623a4f3b948e21d74 100644 (file)
@@ -51,7 +51,7 @@
        PER_CPU_ATTRIBUTES
 
 #define __PCPU_DUMMY_ATTRS                                             \
-       __attribute__((section(".discard"), unused))
+       __section(".discard") __attribute__((unused))
 
 /*
  * s390 and alpha modules require percpu variables to be defined as
index 78479633ccfcc3b4360aeccfef8e197557500616..fe7eb2351610d0181caa8c42d0bccaa12bd3f790 100644 (file)
@@ -437,7 +437,7 @@ extern int kptr_restrict;
 #ifdef CONFIG_PRINTK
 #define printk_once(fmt, ...)                                  \
 ({                                                             \
-       static bool __section(.data.once) __print_once;         \
+       static bool __section(".data.once") __print_once;       \
        bool __ret_print_once = !__print_once;                  \
                                                                \
        if (!__print_once) {                                    \
@@ -448,7 +448,7 @@ extern int kptr_restrict;
 })
 #define printk_deferred_once(fmt, ...)                         \
 ({                                                             \
-       static bool __section(.data.once) __print_once;         \
+       static bool __section(".data.once") __print_once;       \
        bool __ret_print_once = !__print_once;                  \
                                                                \
        if (!__print_once) {                                    \
index 7c1ceff0285264e254b9690e263cd284eff02b79..6cdd0152c253ae29dfeefccc664e2b9f6c9de3f0 100644 (file)
@@ -299,7 +299,7 @@ static inline int rcu_read_lock_any_held(void)
  */
 #define RCU_LOCKDEP_WARN(c, s)                                         \
        do {                                                            \
-               static bool __section(.data.unlikely) __warned;         \
+               static bool __section(".data.unlikely") __warned;       \
                if (debug_lockdep_rcu_enabled() && !__warned && (c)) {  \
                        __warned = true;                                \
                        lockdep_rcu_suspicious(__FILE__, __LINE__, s);  \
index 00c45a0e6abe12a804a9c74cb686e500958895ed..ae51f4529fc9ed4e61c064be0efb9c92448b1ed5 100644 (file)
@@ -43,7 +43,7 @@ extern void proc_sched_set_task(struct task_struct *p);
 #endif
 
 /* Attach to any functions which should be ignored in wchan output. */
-#define __sched                __attribute__((__section__(".sched.text")))
+#define __sched                __section(".sched.text")
 
 /* Linker adds these: start and end of __sched functions */
 extern char __sched_text_start[], __sched_text_end[];
index 8a99279a579bc2db0b27e852d2fac73ec888ed53..ff63c2963359d295dae0a93c19382d985056abb7 100644 (file)
@@ -373,7 +373,7 @@ extern const struct earlycon_id *__earlycon_table_end[];
                    .compatible = compat,                               \
                    .setup = fn  };                                     \
        static const struct earlycon_id EARLYCON_USED_OR_UNUSED         \
-               __section(__earlycon_table)                             \
+               __section("__earlycon_table")                           \
                * const __PASTE(__p, unique_id) = &unique_id
 
 #define OF_EARLYCON_DECLARE(_name, compat, fn)                         \
index f2f12d746dbdb68c46a34082aefd2cd0e4f5e22b..79897841a2cc8ad329e5237fa5b9f210cfcab5b7 100644 (file)
@@ -76,7 +76,7 @@
 #define LOCK_SECTION_END                        \
         ".previous\n\t"
 
-#define __lockfunc __attribute__((section(".spinlock.text")))
+#define __lockfunc __section(".spinlock.text")
 
 /*
  * Pull the arch_spinlock_t and arch_rwlock_t definitions:
index 2eda7678fe1d974b7a29a3e53ea92105e95fd0a4..37bea07c12f211dd5b26187d56db7a43d9ddfed5 100644 (file)
@@ -144,7 +144,7 @@ extern struct trace_event_functions exit_syscall_print_funcs;
                .flags                  = TRACE_EVENT_FL_CAP_ANY,       \
        };                                                              \
        static struct trace_event_call __used                           \
-         __attribute__((section("_ftrace_events")))                    \
+         __section("_ftrace_events")                                   \
         *__event_enter_##sname = &event_enter_##sname;
 
 #define SYSCALL_TRACE_EXIT_EVENT(sname)                                        \
@@ -160,7 +160,7 @@ extern struct trace_event_functions exit_syscall_print_funcs;
                .flags                  = TRACE_EVENT_FL_CAP_ANY,       \
        };                                                              \
        static struct trace_event_call __used                           \
-         __attribute__((section("_ftrace_events")))                    \
+         __section("_ftrace_events")                                   \
        *__event_exit_##sname = &event_exit_##sname;
 
 #define SYSCALL_METADATA(sname, nb, ...)                       \
@@ -184,7 +184,7 @@ extern struct trace_event_functions exit_syscall_print_funcs;
                .enter_fields   = LIST_HEAD_INIT(__syscall_meta_##sname.enter_fields), \
        };                                                      \
        static struct syscall_metadata __used                   \
-         __attribute__((section("__syscalls_metadata")))       \
+         __section("__syscalls_metadata")                      \
         *__p_syscall_meta_##sname = &__syscall_meta_##sname;
 
 static inline int is_syscall_trace_event(struct trace_event_call *tp_event)
index 5c6943354049409a6bf00979784b729bf6cd735f..d321fe5ad1a1437543b40c4a46a83b4bf07205d9 100644 (file)
@@ -709,7 +709,7 @@ do {                                                                        \
        tracing_record_cmdline(current);                                \
        if (__builtin_constant_p(fmt)) {                                \
                static const char *trace_printk_fmt                     \
-                 __attribute__((section("__trace_printk_fmt"))) =      \
+                 __section("__trace_printk_fmt") =                     \
                        __builtin_constant_p(fmt) ? fmt : NULL;         \
                                                                        \
                __trace_bprintk(ip, trace_printk_fmt, ##args);          \
index 81fa0b2f271ee1bf540ed057073ac5042674ae2e..0f21617f1a6689395d9caa86d8d2982ef9a3ea84 100644 (file)
@@ -119,7 +119,7 @@ static inline struct tracepoint *tracepoint_ptr_deref(tracepoint_ptr_t *p)
 
 #define __TRACEPOINT_ENTRY(name)                                        \
        static tracepoint_ptr_t __tracepoint_ptr_##name __used           \
-       __section(__tracepoints_ptrs) = &__tracepoint_##name
+       __section("__tracepoints_ptrs") = &__tracepoint_##name
 #endif
 
 #endif /* _LINUX_TRACEPOINT_H */
@@ -286,11 +286,11 @@ static inline struct tracepoint *tracepoint_ptr_deref(tracepoint_ptr_t *p)
  */
 #define DEFINE_TRACE_FN(_name, _reg, _unreg, proto, args)              \
        static const char __tpstrtab_##_name[]                          \
-       __section(__tracepoints_strings) = #_name;                      \
+       __section("__tracepoints_strings") = #_name;                    \
        extern struct static_call_key STATIC_CALL_KEY(tp_func_##_name); \
        int __traceiter_##_name(void *__data, proto);                   \
        struct tracepoint __tracepoint_##_name  __used                  \
-       __section(__tracepoints) = {                                    \
+       __section("__tracepoints") = {                                  \
                .name = __tpstrtab_##_name,                             \
                .key = STATIC_KEY_INIT_FALSE,                           \
                .static_call_key = &STATIC_CALL_KEY(tp_func_##_name),   \
@@ -396,7 +396,7 @@ static inline struct tracepoint *tracepoint_ptr_deref(tracepoint_ptr_t *p)
                static const char *___tp_str __tracepoint_string = str; \
                ___tp_str;                                              \
        })
-#define __tracepoint_string    __used __section(__tracepoint_str)
+#define __tracepoint_string    __used __section("__tracepoint_str")
 #else
 /*
  * tracepoint_string() is used to save the string address for userspace
index 1ce3be63add1f76f0da74113ced885fccf887973..cd74bffed5c69decf2e6cabb601f9b329b4ced2a 100644 (file)
@@ -79,7 +79,7 @@ static union {                                                                \
        struct bpf_raw_event_map event;                                 \
        btf_trace_##call handler;                                       \
 } __bpf_trace_tp_map_##call __used                                     \
-__attribute__((section("__bpf_raw_tp_map"))) = {                       \
+__section("__bpf_raw_tp_map") = {                                      \
        .event = {                                                      \
                .tp             = &__tracepoint_##call,                 \
                .bpf_func       = __bpf_trace_##template,               \
index 1bc3e7bba9a44ba9bfba02e634ce7320d96bbcda..7785961d82baea0a5d642e7443f7b141292dc400 100644 (file)
@@ -45,7 +45,7 @@ TRACE_MAKE_SYSTEM_STR();
                .eval_value = a                         \
        };                                              \
        static struct trace_eval_map __used             \
-       __attribute__((section("_ftrace_eval_map")))    \
+       __section("_ftrace_eval_map")                   \
        *TRACE_SYSTEM##_##a = &__##TRACE_SYSTEM##_##a
 
 #undef TRACE_DEFINE_SIZEOF
@@ -58,7 +58,7 @@ TRACE_MAKE_SYSTEM_STR();
                .eval_value = sizeof(a)                 \
        };                                              \
        static struct trace_eval_map __used             \
-       __attribute__((section("_ftrace_eval_map")))    \
+       __section("_ftrace_eval_map")                   \
        *TRACE_SYSTEM##_##a = &__##TRACE_SYSTEM##_##a
 
 /*
@@ -607,7 +607,7 @@ static inline notrace int trace_event_get_offsets_##call(           \
  * // its only safe to use pointers when doing linker tricks to
  * // create an array.
  * static struct trace_event_call __used
- * __attribute__((section("_ftrace_events"))) *__event_<call> = &event_<call>;
+ * __section("_ftrace_events") *__event_<call> = &event_<call>;
  *
  */
 
@@ -755,7 +755,7 @@ static struct trace_event_call __used event_##call = {                      \
        .flags                  = TRACE_EVENT_FL_TRACEPOINT,            \
 };                                                                     \
 static struct trace_event_call __used                                  \
-__attribute__((section("_ftrace_events"))) *__event_##call = &event_##call
+__section("_ftrace_events") *__event_##call = &event_##call
 
 #undef DEFINE_EVENT_PRINT
 #define DEFINE_EVENT_PRINT(template, call, proto, args, print)         \
@@ -772,6 +772,6 @@ static struct trace_event_call __used event_##call = {                      \
        .flags                  = TRACE_EVENT_FL_TRACEPOINT,            \
 };                                                                     \
 static struct trace_event_call __used                                  \
-__attribute__((section("_ftrace_events"))) *__event_##call = &event_##call
+__section("_ftrace_events") *__event_##call = &event_##call
 
 #include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
index 4fb15fa96734b464b9f0ee53282bafabc8b90cea..fe9de067771c34eb89d021df40579c38d8974298 100644 (file)
@@ -40,10 +40,10 @@ extern const u8 kallsyms_names[] __weak;
  * has one (eg: FRV).
  */
 extern const unsigned int kallsyms_num_syms
-__attribute__((weak, section(".rodata")));
+__section(".rodata") __attribute__((weak));
 
 extern const unsigned long kallsyms_relative_base
-__attribute__((weak, section(".rodata")));
+__section(".rodata") __attribute__((weak));
 
 extern const char kallsyms_token_table[] __weak;
 extern const u16 kallsyms_token_index[] __weak;
index 6d93f451873493e9c0e61e749b462f0ca62e1d58..f232305dcefe80d6cac126c45e8967061e0dc42e 100644 (file)
@@ -2504,7 +2504,7 @@ static void prio_changed_dl(struct rq *rq, struct task_struct *p,
 }
 
 const struct sched_class dl_sched_class
-       __attribute__((section("__dl_sched_class"))) = {
+       __section("__dl_sched_class") = {
        .enqueue_task           = enqueue_task_dl,
        .dequeue_task           = dequeue_task_dl,
        .yield_task             = yield_task_dl,
index e17012be4d14ea2eb5df937eb8c0f3d533625761..290f9e38378c8899447f281a067c3600a8cf6599 100644 (file)
@@ -11159,7 +11159,7 @@ static unsigned int get_rr_interval_fair(struct rq *rq, struct task_struct *task
  * All the scheduling class methods:
  */
 const struct sched_class fair_sched_class
-       __attribute__((section("__fair_sched_class"))) = {
+       __section("__fair_sched_class") = {
        .enqueue_task           = enqueue_task_fair,
        .dequeue_task           = dequeue_task_fair,
        .yield_task             = yield_task_fair,
index f324dc36fc43de36949d7a0bce547bd3add7c12b..24d0ee26377d08269bf095c56e648329a9c82672 100644 (file)
@@ -458,7 +458,7 @@ static void update_curr_idle(struct rq *rq)
  * Simple, special scheduling class for the per-CPU idle tasks:
  */
 const struct sched_class idle_sched_class
-       __attribute__((section("__idle_sched_class"))) = {
+       __section("__idle_sched_class") = {
        /* no enqueue/yield_task for idle tasks */
 
        /* dequeue is not valid, we print a debug message there: */
index f215eea6a966162a4aad1e00b5d3e9f2b8280350..49ec096a8aa1f3bdb456e9b8355529554db4deae 100644 (file)
@@ -2430,7 +2430,7 @@ static unsigned int get_rr_interval_rt(struct rq *rq, struct task_struct *task)
 }
 
 const struct sched_class rt_sched_class
-       __attribute__((section("__rt_sched_class"))) = {
+       __section("__rt_sched_class") = {
        .enqueue_task           = enqueue_task_rt,
        .dequeue_task           = dequeue_task_rt,
        .yield_task             = yield_task_rt,
index 394bc8126a1e5249c42ab4f65299a360b9cb3037..ceb5b6b125618eeda2a117efc1f805c62be28c13 100644 (file)
@@ -110,7 +110,7 @@ static void update_curr_stop(struct rq *rq)
  * Simple, special scheduling class for the per-CPU stop tasks:
  */
 const struct sched_class stop_sched_class
-       __attribute__((section("__stop_sched_class"))) = {
+       __section("__stop_sched_class") = {
 
        .enqueue_task           = enqueue_task_stop,
        .dequeue_task           = dequeue_task_stop,
index 34e0c4d5a6e767296d2f94ed2b94f00d66396ecc..f3f5e77123ad75d284fd99d7a3bf6e4e43386f39 100644 (file)
@@ -99,7 +99,7 @@ enum trace_type {
 
 /* Use this for memory failure errors */
 #define MEM_FAIL(condition, fmt, ...) ({                       \
-       static bool __section(.data.once) __warned;             \
+       static bool __section(".data.once") __warned;           \
        int __ret_warn_once = !!(condition);                    \
                                                                \
        if (unlikely(__ret_warn_once && !__warned)) {           \
index 70d3d0a0905368b979365cdbdc6be1835b25a72b..90f81d33fa3f589d452856dd9c9fcb0598d68e54 100644 (file)
@@ -176,7 +176,7 @@ struct trace_event_call __used event_##call = {                             \
        .flags                  = TRACE_EVENT_FL_IGNORE_ENABLE,         \
 };                                                                     \
 static struct trace_event_call __used                                          \
-__attribute__((section("_ftrace_events"))) *__event_##call = &event_##call;
+__section("_ftrace_events") *__event_##call = &event_##call;
 
 #undef FTRACE_ENTRY
 #define FTRACE_ENTRY(call, struct_name, etype, tstruct, print)         \
index 69341b36f27119d262108d4e850f3d8e2b253d21..f882ce0d9327f857049e914196b2e03c38dea9b1 100644 (file)
@@ -2254,7 +2254,7 @@ static void add_header(struct buffer *b, struct module *mod)
        buf_printf(b, "MODULE_INFO(name, KBUILD_MODNAME);\n");
        buf_printf(b, "\n");
        buf_printf(b, "__visible struct module __this_module\n");
-       buf_printf(b, "__section(.gnu.linkonce.this_module) = {\n");
+       buf_printf(b, "__section(\".gnu.linkonce.this_module\") = {\n");
        buf_printf(b, "\t.name = KBUILD_MODNAME,\n");
        if (mod->has_init)
                buf_printf(b, "\t.init = init_module,\n");
@@ -2308,7 +2308,7 @@ static int add_versions(struct buffer *b, struct module *mod)
 
        buf_printf(b, "\n");
        buf_printf(b, "static const struct modversion_info ____versions[]\n");
-       buf_printf(b, "__used __section(__versions) = {\n");
+       buf_printf(b, "__used __section(\"__versions\") = {\n");
 
        for (s = mod->unres; s; s = s->next) {
                if (!s->module)
index ab82c793c897a1553eecb424ba7535373b7df710..577f51436cf92c8ba9e8ae055124a81d75ce7e97 100644 (file)
@@ -60,7 +60,7 @@ struct unwind_hint {
  * For more information, see tools/objtool/Documentation/stack-validation.txt.
  */
 #define STACK_FRAME_NON_STANDARD(func) \
-       static void __used __section(.discard.func_stack_frame_non_standard) \
+       static void __used __section(".discard.func_stack_frame_non_standard") \
                *__func_stack_frame_non_standard_##func = func
 
 #else /* __ASSEMBLY__ */
This page took 0.212081 seconds and 4 git commands to generate.