treewide: Convert macro and uses of __section(foo) to __section("foo")

This commit does the same thing as Linux commit 33def8498fdd.

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.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Marek Behún 2021-05-20 13:23:52 +02:00 committed by Tom Rini
parent 9ce799aaba
commit 236f2ec432
52 changed files with 110 additions and 107 deletions

View File

@ -22,7 +22,7 @@
* The BSS cannot be used for this purpose because it will be zeroed after
* having stored the pointer, so force the location to the data section.
*/
u32 bootrom_stash_sp __attribute__((section(".data")));
u32 bootrom_stash_sp __section(".data");
static void ddr_clock_init(void)
{

View File

@ -13,7 +13,7 @@
#include <fsl_immap.h>
#include "fsl_epu.h"
#define __secure __attribute__((section("._secure.text")))
#define __secure __section("._secure.text")
#define CCSR_GICD_CTLR 0x1000
#define CCSR_GICC_CTLR 0x2000

View File

@ -6,8 +6,8 @@
#include <common.h>
#include <spl.h>
char __data_save_start[0] __section(.__data_save_start);
char __data_save_end[0] __section(.__data_save_end);
char __data_save_start[0] __section(".__data_save_start");
char __data_save_end[0] __section(".__data_save_end");
u32 cold_reboot_flag = 1;

View File

@ -4,8 +4,8 @@
#include <config.h>
#include <asm/global_data.h>
#define __secure __attribute__ ((section ("._secure.text")))
#define __secure_data __attribute__ ((section ("._secure.data")))
#define __secure __section("._secure.text")
#define __secure_data __section("._secure.data")
#ifndef __ASSEMBLY__
@ -22,7 +22,7 @@ typedef struct secure_svc_tbl {
*/
#define DECLARE_SECURE_SVC(_name, _id, _fn) \
static const secure_svc_tbl_t __secure_svc_ ## _name \
__attribute__((used, section("._secure_svc_tbl_entries"))) \
__used __section("._secure_svc_tbl_entries") \
= { \
.id = _id, \
.func = _fn }

View File

@ -235,7 +235,7 @@ struct tagtable {
int (*parse)(const struct tag *);
};
#define __tag __attribute__((unused, __section__(".taglist")))
#define __tag __attribute__((unused)) __section(".taglist")
#define __tagtable(tag, fn) \
static struct tagtable __tagtable_##fn __tag = { tag, fn }

View File

@ -2,6 +2,7 @@
/*
* Copyright 2013 Albert ARIBAUD <albert.u.boot@aribaud.net>
*/
#include <linux/compiler.h>
/**
* These two symbols are declared in a C file so that the linker
@ -18,18 +19,18 @@
* aliasing warnings.
*/
char __bss_start[0] __attribute__((section(".__bss_start")));
char __bss_end[0] __attribute__((section(".__bss_end")));
char __image_copy_start[0] __attribute__((section(".__image_copy_start")));
char __image_copy_end[0] __attribute__((section(".__image_copy_end")));
char __rel_dyn_start[0] __attribute__((section(".__rel_dyn_start")));
char __rel_dyn_end[0] __attribute__((section(".__rel_dyn_end")));
char __secure_start[0] __attribute__((section(".__secure_start")));
char __secure_end[0] __attribute__((section(".__secure_end")));
char __secure_stack_start[0] __attribute__((section(".__secure_stack_start")));
char __secure_stack_end[0] __attribute__((section(".__secure_stack_end")));
char __efi_runtime_start[0] __attribute__((section(".__efi_runtime_start")));
char __efi_runtime_stop[0] __attribute__((section(".__efi_runtime_stop")));
char __efi_runtime_rel_start[0] __attribute__((section(".__efi_runtime_rel_start")));
char __efi_runtime_rel_stop[0] __attribute__((section(".__efi_runtime_rel_stop")));
char _end[0] __attribute__((section(".__end")));
char __bss_start[0] __section(".__bss_start");
char __bss_end[0] __section(".__bss_end");
char __image_copy_start[0] __section(".__image_copy_start");
char __image_copy_end[0] __section(".__image_copy_end");
char __rel_dyn_start[0] __section(".__rel_dyn_start");
char __rel_dyn_end[0] __section(".__rel_dyn_end");
char __secure_start[0] __section(".__secure_start");
char __secure_end[0] __section(".__secure_end");
char __secure_stack_start[0] __section(".__secure_stack_start");
char __secure_stack_end[0] __section(".__secure_stack_end");
char __efi_runtime_start[0] __section(".__efi_runtime_start");
char __efi_runtime_stop[0] __section(".__efi_runtime_stop");
char __efi_runtime_rel_start[0] __section(".__efi_runtime_rel_start");
char __efi_runtime_rel_stop[0] __section(".__efi_runtime_rel_stop");
char _end[0] __section(".__end");

View File

@ -26,7 +26,7 @@ DECLARE_GLOBAL_DATA_PTR;
* WARNING: This is going away very soon. Don't use it and don't submit
* pafches that rely on it. The global_data area is set up in crt0.S.
*/
gd_t gdata __attribute__ ((section(".data")));
gd_t gdata __section(".data");
#endif
/*

View File

@ -26,7 +26,7 @@ void at91_disable_wdt(void)
#include <asm/arch/sama5_boot.h>
struct {
u32 r4;
} bootrom_stash __attribute__((section(".data")));
} bootrom_stash __section(".data");
u32 spl_boot_device(void)
{

View File

@ -44,7 +44,7 @@ static void ctrl_mmr_unlock(void)
* it to the .data section.
*/
u32 bootindex __section(".data");
static struct rom_extended_boot_data bootdata __section(.data);
static struct rom_extended_boot_data bootdata __section(".data");
static void store_boot_info_from_rom(void)
{

View File

@ -77,7 +77,7 @@ static void ctrl_mmr_unlock(void)
* but the .bss is cleared between writing and reading this variable, so move
* it to the .data section.
*/
u32 bootindex __attribute__((section(".data")));
u32 bootindex __section(".data");
static void store_boot_index_from_rom(void)
{

View File

@ -125,8 +125,8 @@ void k3_mmc_restart_clock(void)
* but the .bss is cleared between writing and reading this variable, so move
* it to the .data section.
*/
u32 bootindex __attribute__((section(".data")));
static struct rom_extended_boot_data bootdata __section(.data);
u32 bootindex __section(".data");
static struct rom_extended_boot_data bootdata __section(".data");
static void store_boot_info_from_rom(void)
{

View File

@ -98,9 +98,9 @@ struct mvebu_mbus_soc_data {
};
struct mvebu_mbus_state mbus_state
__attribute__ ((section(".data")));
__section(".data");
static struct mbus_dram_target_info mbus_dram_info
__attribute__ ((section(".data")));
__section(".data");
/*
* Functions to manipulate the address decoding windows

View File

@ -14,7 +14,7 @@
#define TIMER_LOAD_VAL 0xffffffff
static int init_done __attribute__((section(".data"))) = 0;
static int init_done __section(".data") = 0;
/*
* Timer initialization

View File

@ -99,7 +99,7 @@ static const char * const clk_core[] = {
* in board_init_f(), respectively! I.e. global variables can not be used!
*/
static struct clk_dev_peri clk_periphs[]
__attribute__((section(".data"))) = {
__section(".data") = {
CLK_PERI_1S(DEV_NAME_TIMER, 0, CLK_ID_TIMER_0,
PHY_BASEADDR_CLKGEN14, (I_PLL_0_2)),
CLK_PERI_1S(DEV_NAME_TIMER, 1, CLK_ID_TIMER_1,
@ -167,7 +167,7 @@ static struct clk_dev_peri clk_periphs[]
#define MAX_DIVIDER ((1 << 8) - 1) /* 256, align 2 */
static struct clk_dev st_clk_devs[CLK_DEVS_NUM]
__attribute__((section(".data")));
__section(".data");
#define clk_dev_get(n) ((struct clk_dev *)&st_clk_devs[n])
#define clk_container(p) (container_of(p, struct clk_dev, clk))
@ -196,7 +196,7 @@ struct _core_hz_ {
* in board_init_f(), respectively! I.e. global variables can not be used!
*/
/* core clock */
static struct _core_hz_ core_hz __attribute__((section(".data")));
static struct _core_hz_ core_hz __section(".data");
#define CORE_HZ_SIZE (sizeof(core_hz) / 4)

View File

@ -23,9 +23,9 @@
* Section ".data" must be used because BSS is not available before relocation,
* in board_init_f(), respectively! I.e. global variables can not be used!
*/
static unsigned long timestamp __attribute__ ((section(".data")));
static unsigned long lastdec __attribute__ ((section(".data")));
static int timerinit __attribute__ ((section(".data")));
static unsigned long timestamp __section(".data");
static unsigned long lastdec __section(".data");
static int timerinit __section(".data");
/* macro to hw timer tick config */
static long TIMER_FREQ = 1000000;

View File

@ -40,7 +40,7 @@ DECLARE_GLOBAL_DATA_PTR;
SOCFPGA_PHYS_OCRAM_SIZE - \
BOOTROM_SHARED_MEM_SIZE)
#define RST_STATUS_SHARED_ADDR (BOOTROM_SHARED_MEM_ADDR + 0x438)
static u32 rst_mgr_status __section(.data);
static u32 rst_mgr_status __section(".data");
/*
* Bootrom will clear the status register in reset manager and stores the

View File

@ -39,7 +39,7 @@ struct fel_stash {
uint32_t cr;
};
struct fel_stash fel_stash __attribute__((section(".data")));
struct fel_stash fel_stash __section(".data");
#ifdef CONFIG_ARM64
#include <asm/armv8/mmu.h>

View File

@ -45,7 +45,7 @@ enum {
UART_COUNT = 5,
};
static bool from_spl __attribute__ ((section(".data")));
static bool from_spl __section(".data");
#ifndef CONFIG_SPL_BUILD
void save_boot_params(unsigned long r0, unsigned long r1, unsigned long r2,

View File

@ -49,7 +49,7 @@ extern struct mm_region tegra_mem_map[];
*/
/* The number of valid entries in ram_banks[] */
static int ram_bank_count __attribute__((section(".data")));
static int ram_bank_count __section(".data");
/*
* The usable top-of-RAM for U-Boot. This is both:
@ -57,15 +57,15 @@ static int ram_bank_count __attribute__((section(".data")));
* b) At the end of a region that has enough space to hold the relocated U-Boot
* and all other allocations made around it (stack, heap, page tables, etc.)
*/
static u64 ram_top __attribute__((section(".data")));
static u64 ram_top __section(".data");
/* The base address of the region of RAM that ends at ram_top */
static u64 region_base __attribute__((section(".data")));
static u64 region_base __section(".data");
/*
* Explicitly put this in the .data section because it is written before the
* .bss section is zeroed out but it needs to persist.
*/
unsigned long cboot_boot_x0 __attribute__((section(".data")));
unsigned long cboot_boot_x0 __section(".data");
void cboot_save_boot_params(unsigned long x0, unsigned long x1,
unsigned long x2, unsigned long x3)

View File

@ -23,7 +23,7 @@
#ifdef CONFIG_SPL_BUILD
/* Pointer to the global data structure for SPL */
DECLARE_GLOBAL_DATA_PTR;
gd_t gdata __attribute__ ((section(".bss")));
gd_t gdata __section(".bss");
void board_init_f(ulong dummy)
{

View File

@ -155,7 +155,7 @@ struct tagtable {
#ifdef __KERNEL__
#define __tag __used __attribute__((__section__(".taglist")))
#define __tag __used __section(".taglist")
#define __tagtable(tag, fn) \
static struct tagtable __tagtable_##fn __tag = { tag, fn }
@ -182,8 +182,8 @@ struct early_params {
};
#define __early_param(name, fn) \
static struct early_params __early_##fn __used \
__attribute__((__section__("__early_param"))) = { name, fn }
static struct early_params __early_##fn __used \
__section("__early_param") = { name, fn }
#endif
#endif

View File

@ -41,8 +41,8 @@
#define __cacheline_aligned __attribute__((__aligned__(L1_CACHE_BYTES)))
#else
#define __cacheline_aligned \
__attribute__((__aligned__(L1_CACHE_BYTES), \
__section__(".data.cacheline_aligned")))
__attribute__((__aligned__(L1_CACHE_BYTES))) \
__section(".data.cacheline_aligned")
#endif
#if defined(__KERNEL__) && !defined(__ASSEMBLY__)

View File

@ -17,10 +17,10 @@
* before the bss section is available.
*/
#ifdef CONFIG_OF_PRIOR_STAGE
phys_addr_t prior_stage_fdt_address __attribute__((section(".data")));
phys_addr_t prior_stage_fdt_address __section(".data");
#endif
#ifndef CONFIG_XIP
u32 hart_lottery __attribute__((section(".data"))) = 0;
u32 hart_lottery __section(".data") = 0;
/*
* The main hart running U-Boot has acquired available_harts_lock until it has

View File

@ -44,7 +44,7 @@ struct sandbox_cmdline_option {
.callback = sandbox_cmdline_cb_##f, \
}; \
/* Ppointer to the struct in a special section for the linker script */ \
static __attribute__((section(".u_boot_sandbox_getopt"), used)) \
static __used __section(".u_boot_sandbox_getopt") \
struct sandbox_cmdline_option \
*sandbox_cmdline_option_##f##_ptr = \
&sandbox_cmdline_option_##f

View File

@ -3,10 +3,11 @@
* Copyright 2013 Albert ARIBAUD <albert.u.boot@aribaud.net>
*
*/
#include <linux/compiler.h>
char __efi_runtime_start[0] __attribute__((section(".__efi_runtime_start")));
char __efi_runtime_stop[0] __attribute__((section(".__efi_runtime_stop")));
char __efi_runtime_start[0] __section(".__efi_runtime_start");
char __efi_runtime_stop[0] __section(".__efi_runtime_stop");
char __efi_runtime_rel_start[0]
__attribute__((section(".__efi_runtime_rel_start")));
__section(".__efi_runtime_rel_start");
char __efi_runtime_rel_stop[0]
__attribute__((section(".__efi_runtime_rel_stop")));
__section(".__efi_runtime_rel_stop");

View File

@ -11,7 +11,7 @@
#include <asm/cb_sysinfo.h>
#include <linux/compiler.h>
static struct timestamp_table *ts_table __attribute__((section(".data")));
static struct timestamp_table *ts_table __section(".data");
void timestamp_init(void)
{

View File

@ -21,7 +21,7 @@ DECLARE_GLOBAL_DATA_PTR;
* with zeroes when transitioning from "ROM", which is really RAM, to other
* RAM.
*/
struct sysinfo_t lib_sysinfo __attribute__((section(".data")));
struct sysinfo_t lib_sysinfo __section(".data");
/*
* Some of this is x86 specific, and the rest of it is generic. Right now,

View File

@ -2,10 +2,11 @@
/*
* Copyright 2013 Albert ARIBAUD <albert.u.boot@aribaud.net>
*/
#include <linux/compiler.h>
char __efi_runtime_start[0] __attribute__((section(".__efi_runtime_start")));
char __efi_runtime_stop[0] __attribute__((section(".__efi_runtime_stop")));
char __efi_runtime_start[0] __section(".__efi_runtime_start");
char __efi_runtime_stop[0] __section(".__efi_runtime_stop");
char __efi_runtime_rel_start[0]
__attribute__((section(".__efi_runtime_rel_start")));
__section(".__efi_runtime_rel_start");
char __efi_runtime_rel_stop[0]
__attribute__((section(".__efi_runtime_rel_stop")));
__section(".__efi_runtime_rel_stop");

View File

@ -20,7 +20,7 @@
DECLARE_GLOBAL_DATA_PTR;
gd_t *gd __attribute__((section(".data")));
gd_t *gd __section(".data");
#if defined(CONFIG_DISPLAY_CPUINFO)
/*

View File

@ -45,7 +45,7 @@
DECLARE_GLOBAL_DATA_PTR;
static struct shc_eeprom __attribute__((section(".data"))) header;
static struct shc_eeprom __section(".data") header;
static int shc_eeprom_valid;
/*

View File

@ -22,7 +22,7 @@
DECLARE_GLOBAL_DATA_PTR;
#define BCMSTB_DATA_SECTION __attribute__((section(".data")))
#define BCMSTB_DATA_SECTION __section(".data")
struct bcmstb_boot_parameters bcmstb_boot_parameters BCMSTB_DATA_SECTION;

View File

@ -10,7 +10,7 @@
/* Parameters of early board initialization in SPL */
static struct spl_machine_param machine_param
__attribute__((section(".machine_param"))) = {
__section(".machine_param") = {
.signature = SIGNATURE,
.version = 1,
.params = "vmubfasirM",

View File

@ -12,7 +12,7 @@
/* Parameters of early board initialization in SPL */
static struct spl_machine_param machine_param
__attribute__((section(".machine_param"))) = {
__section(".machine_param") = {
.signature = SIGNATURE,
.version = 1,
.params = "vmubfasirM",

View File

@ -12,7 +12,7 @@
/* Parameters of early board initialization in SPL */
static struct spl_machine_param machine_param
__attribute__((section(".machine_param"))) = {
__section(".machine_param") = {
.signature = SIGNATURE,
.version = 1,
.params = "vmubfasirM",

View File

@ -41,7 +41,7 @@
#include <nand.h>
#ifdef CONFIG_SPL_BUILD
static struct draco_baseboard_id __attribute__((section(".data"))) settings;
static struct draco_baseboard_id __section(".data") settings;
#if DDR_PLL_FREQ == 303
#if !defined(CONFIG_TARGET_ETAMIN)

View File

@ -14,7 +14,7 @@
#include "fru.h"
struct fru_table fru_data __section(.data);
struct fru_table fru_data __section(".data");
static u16 fru_cal_area_len(u8 len)
{

View File

@ -50,7 +50,7 @@
#include "biosemui.h"
BE_sysEnv _BE_env = {{0}};
static X86EMU_memFuncs _BE_mem __attribute__((section(GOT2_TYPE))) = {
static X86EMU_memFuncs _BE_mem __section(GOT2_TYPE) = {
BE_rdb,
BE_rdw,
BE_rdl,
@ -59,7 +59,7 @@ static X86EMU_memFuncs _BE_mem __attribute__((section(GOT2_TYPE))) = {
BE_wrl,
};
static X86EMU_pioFuncs _BE_pio __attribute__((section(GOT2_TYPE))) = {
static X86EMU_pioFuncs _BE_pio __section(GOT2_TYPE) = {
BE_inb,
BE_inw,
BE_inl,

View File

@ -347,7 +347,7 @@ static const struct k210_comp_params k210_comps[] = {
#undef COMP_NOMUX_ID
#undef COMP_LIST
static struct clk *k210_bypass_children __section(.data);
static struct clk *k210_bypass_children __section(".data");
/* Helper functions to create sub-clocks */
static struct clk_mux *k210_create_mux(const struct k210_mux_params *params,
@ -473,7 +473,7 @@ cleanup_mux:
return comp;
}
static bool __section(.data) probed;
static bool __section(".data") probed;
/* reset probed so we will probe again post-relocation */
static int k210_clk_bind(struct udevice *dev)

View File

@ -42,7 +42,7 @@
#if CONFIG_IS_ENABLED(EFI_LOADER)
int __efi_runtime_data psci_method;
#else
int psci_method __attribute__ ((section(".data")));
int psci_method __section(".data");
#endif
unsigned long __efi_runtime invoke_psci_fn

View File

@ -10,7 +10,7 @@
#include "pinctrl-imx.h"
static struct imx_pinctrl_soc_info imx5_pinctrl_soc_info __attribute__((section(".data")));
static struct imx_pinctrl_soc_info imx5_pinctrl_soc_info __section(".data");
static int imx5_pinctrl_probe(struct udevice *dev)
{

View File

@ -9,7 +9,7 @@
#include "pinctrl-imx.h"
static struct imx_pinctrl_soc_info imx7_pinctrl_soc_info __attribute__((section(".data")));
static struct imx_pinctrl_soc_info imx7_pinctrl_soc_info __section(".data");
static struct imx_pinctrl_soc_info imx7_lpsr_pinctrl_soc_info = {
.flags = ZERO_OFFSET_VALID,

View File

@ -8,7 +8,7 @@
#include "pinctrl-imx.h"
static struct imx_pinctrl_soc_info imx8mq_pinctrl_soc_info __attribute__((section(".data")));
static struct imx_pinctrl_soc_info imx8mq_pinctrl_soc_info __section(".data");
static int imx8mq_pinctrl_probe(struct udevice *dev)
{

View File

@ -11,7 +11,7 @@
#include <power/tps62362.h>
#if CONFIG_IS_ENABLED(DM_I2C)
struct udevice *tps62362_dev __attribute__((section(".data"))) = NULL;
struct udevice *tps62362_dev __section(".data") = NULL;
#endif
/**

View File

@ -8,7 +8,7 @@
#include <i2c.h>
#include <power/tps65217.h>
struct udevice *tps65217_dev __attribute__((section(".data"))) = NULL;
struct udevice *tps65217_dev __section(".data") = NULL;
/**
* tps65217_reg_read() - Generic function that can read a TPS65217 register

View File

@ -86,7 +86,7 @@ int tps65218_reg_write(uchar prot_level, uchar dest_reg, uchar dest_val,
return 0;
}
#else
struct udevice *tps65218_dev __attribute__((section(".data"))) = NULL;
struct udevice *tps65218_dev __section(".data") = NULL;
int tps65218_reg_read(uchar dest_reg, uchar *dest_val)
{

View File

@ -8,7 +8,7 @@
#include <i2c.h>
#include <power/tps65910.h>
struct udevice *tps65910_dev __attribute__((section(".data"))) = NULL;
struct udevice *tps65910_dev __section(".data") = NULL;
static inline int tps65910_read_reg(int addr, uchar *buf)
{

View File

@ -30,8 +30,8 @@ DECLARE_GLOBAL_DATA_PTR;
#ifndef CONFIG_DM_SERIAL
static volatile unsigned char *const port[] = CONFIG_PL01x_PORTS;
static enum pl01x_type pl01x_type __attribute__ ((section(".data")));
static struct pl01x_regs *base_regs __attribute__ ((section(".data")));
static enum pl01x_type pl01x_type __section(".data");
static struct pl01x_regs *base_regs __section(".data");
#define NUM_PORTS (sizeof(port)/sizeof(port[0]))
#endif

View File

@ -682,8 +682,8 @@ ssize_t efi_dp_check_length(const struct efi_device_path *dp,
* Use these to indicate that your code / data should go into the EFI runtime
* section and thus still be available when the OS is running
*/
#define __efi_runtime_data __attribute__ ((section (".data.efi_runtime")))
#define __efi_runtime __attribute__ ((section (".text.efi_runtime")))
#define __efi_runtime_data __section(".data.efi_runtime")
#define __efi_runtime __section(".text.efi_runtime")
/* Indicate supported runtime services */
efi_status_t efi_init_runtime_supported(void);

View File

@ -69,8 +69,8 @@
*/
#define ll_entry_declare(_type, _name, _list) \
_type _u_boot_list_2_##_list##_2_##_name __aligned(4) \
__attribute__((unused, \
section(".u_boot_list_2_"#_list"_2_"#_name)))
__attribute__((unused)) \
__section(".u_boot_list_2_"#_list"_2_"#_name)
/**
* ll_entry_declare_list() - Declare a list of link-generated array entries
@ -92,8 +92,8 @@
*/
#define ll_entry_declare_list(_type, _name, _list) \
_type _u_boot_list_2_##_list##_2_##_name[] __aligned(4) \
__attribute__((unused, \
section(".u_boot_list_2_"#_list"_2_"#_name)))
__attribute__((unused)) \
__section(".u_boot_list_2_"#_list"_2_"#_name)
/*
* We need a 0-byte-size type for iterator symbols, and the compiler
@ -125,8 +125,8 @@
#define ll_entry_start(_type, _list) \
({ \
static char start[0] __aligned(CONFIG_LINKER_LIST_ALIGN) \
__attribute__((unused, \
section(".u_boot_list_2_"#_list"_1"))); \
__attribute__((unused)) \
__section(".u_boot_list_2_"#_list"_1"); \
(_type *)&start; \
})
@ -151,8 +151,8 @@
*/
#define ll_entry_end(_type, _list) \
({ \
static char end[0] __aligned(4) __attribute__((unused, \
section(".u_boot_list_2_"#_list"_3"))); \
static char end[0] __aligned(4) __attribute__((unused)) \
__section(".u_boot_list_2_"#_list"_3"); \
(_type *)&end; \
})
/**
@ -245,8 +245,8 @@
*/
#define ll_start(_type) \
({ \
static char start[0] __aligned(4) __attribute__((unused, \
section(".u_boot_list_1"))); \
static char start[0] __aligned(4) __attribute__((unused)) \
__section(".u_boot_list_1"); \
(_type *)&start; \
})
@ -268,8 +268,8 @@
*/
#define ll_end(_type) \
({ \
static char end[0] __aligned(4) __attribute__((unused, \
section(".u_boot_list_3"))); \
static char end[0] __aligned(4) __attribute__((unused)) \
__section(".u_boot_list_3"); \
(_type *)&end; \
})

View 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()
@ -294,7 +294,7 @@ unsigned long read_word_at_a_time(const void *addr)
* visible to the compiler.
*/
#define __ADDRESSABLE(sym) \
static void * __section(.discard.addressable) __used \
static void * __section(".discard.addressable") __used \
__PASTE(__addressable_##sym, __LINE__) = (void *)&sym;
/**

View File

@ -246,7 +246,7 @@
* 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(S) __attribute__((__section__(S)))
/*
* gcc: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-unused-function-attribute

View File

@ -13,8 +13,8 @@
DECLARE_GLOBAL_DATA_PTR;
static char trace_enabled __attribute__((section(".data")));
static char trace_inited __attribute__((section(".data")));
static char trace_enabled __section(".data");
static char trace_inited __section(".data");
/* The header block at the start of the trace memory area */
struct trace_hdr {