[PATCH v2 04/12] linker_lists: Rename sections to remove . prefix

Heinrich Schuchardt xypron.glpk at gmx.de
Tue May 17 10:06:32 CEST 2022


On 4/14/22 15:59, Andrew Scull wrote:
> Rename the sections used to implement linker lists so they begin with
> '__u_boot_list' rather than '.u_boot_list'. The double underscore at the
> start is still distinct from the single underscore used by the symbol
> names.
>
> Having a '.' in the section names conflicts with clang's ASAN
> instrumentation which tries to add redzones between the linker list
> elements, causing expected accesses to fail. However, clang doesn't try
> to add redzones to user sections, which are names with all alphanumeric
> and underscore characters.
>
> Signed-off-by: Andrew Scull <ascull at google.com>
> Reviewed-by: Simon Glass <sjg at chromium.org>
> ---
>   arch/arc/cpu/u-boot.lds                       |  4 ++--
>   arch/arm/config.mk                            |  4 ++--
>   arch/arm/cpu/arm926ejs/sunxi/u-boot-spl.lds   |  4 ++--
>   arch/arm/cpu/armv7/sunxi/u-boot-spl.lds       |  4 ++--
>   arch/arm/cpu/armv8/u-boot-spl.lds             |  4 ++--
>   arch/arm/cpu/armv8/u-boot.lds                 |  4 ++--
>   arch/arm/cpu/u-boot-spl.lds                   |  4 ++--
>   arch/arm/cpu/u-boot.lds                       |  6 ++---
>   arch/arm/mach-at91/arm926ejs/u-boot-spl.lds   |  2 +-
>   arch/arm/mach-at91/armv7/u-boot-spl.lds       |  2 +-
>   arch/arm/mach-omap2/u-boot-spl.lds            |  4 ++--
>   arch/arm/mach-orion5x/u-boot-spl.lds          |  4 ++--
>   arch/arm/mach-rockchip/u-boot-tpl-v8.lds      |  4 ++--
>   arch/arm/mach-zynq/u-boot-spl.lds             |  4 ++--
>   arch/arm/mach-zynq/u-boot.lds                 |  4 ++--
>   arch/m68k/cpu/u-boot.lds                      |  4 ++--
>   arch/microblaze/cpu/u-boot-spl.lds            |  4 ++--
>   arch/microblaze/cpu/u-boot.lds                |  4 ++--
>   arch/mips/config.mk                           |  2 +-
>   arch/mips/cpu/u-boot-spl.lds                  |  4 ++--
>   arch/mips/cpu/u-boot.lds                      |  4 ++--
>   arch/nds32/cpu/n1213/u-boot.lds               |  4 ++--
>   arch/nios2/cpu/u-boot.lds                     |  4 ++--
>   arch/powerpc/cpu/mpc83xx/u-boot.lds           |  4 ++--
>   arch/powerpc/cpu/mpc85xx/u-boot-nand.lds      |  4 ++--
>   arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds  |  4 ++--
>   arch/powerpc/cpu/mpc85xx/u-boot-spl.lds       |  4 ++--
>   arch/powerpc/cpu/mpc85xx/u-boot.lds           |  4 ++--
>   arch/riscv/cpu/u-boot-spl.lds                 |  4 ++--
>   arch/riscv/cpu/u-boot.lds                     |  4 ++--
>   arch/sandbox/config.mk                        |  4 ++--
>   arch/sandbox/cpu/u-boot-spl.lds               |  4 ++--
>   arch/sandbox/cpu/u-boot.lds                   |  4 ++--
>   arch/sh/cpu/u-boot.lds                        |  4 ++--
>   arch/x86/cpu/u-boot-64.lds                    |  6 ++---
>   arch/x86/cpu/u-boot-spl.lds                   |  6 ++---
>   arch/x86/cpu/u-boot.lds                       |  6 ++---
>   arch/x86/lib/elf_ia32_efi.lds                 |  4 ++--
>   arch/x86/lib/elf_x86_64_efi.lds               |  4 ++--

@Simon

This looks inconsistent.

Why should section u_boot_list exist in elf_x86_64_efi.lds and not in
elf_riscv64_efi.lds?

The sandbox is built and used on all architectures.

Best regards

Heinrich


>   arch/xtensa/cpu/u-boot.lds                    |  2 +-
>   arch/xtensa/include/asm/ldscript.h            |  4 ++--
>   board/compulab/cm_t335/u-boot.lds             |  4 ++--
>   board/cssi/MCR3000/u-boot.lds                 |  4 ++--
>   .../davinci/da8xxevm/u-boot-spl-da850evm.lds  |  2 +-
>   board/qualcomm/dragonboard820c/u-boot.lds     |  4 ++--
>   board/samsung/common/exynos-uboot-spl.lds     |  4 ++--
>   board/synopsys/iot_devkit/u-boot.lds          |  4 ++--
>   board/ti/am335x/u-boot.lds                    |  4 ++--
>   board/vscom/baltos/u-boot.lds                 |  4 ++--
>   doc/api/linker_lists.rst                      | 22 +++++++++----------
>   doc/develop/commands.rst                      |  4 ++--
>   doc/develop/driver-model/of-plat.rst          |  4 ++--
>   include/linker_lists.h                        | 18 +++++++--------
>   53 files changed, 121 insertions(+), 121 deletions(-)
>
> diff --git a/arch/arc/cpu/u-boot.lds b/arch/arc/cpu/u-boot.lds
> index e12145c768..9f2973da65 100644
> --- a/arch/arc/cpu/u-boot.lds
> +++ b/arch/arc/cpu/u-boot.lds
> @@ -39,8 +39,8 @@ SECTIONS
>   	}
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>
>   	. = ALIGN(4);
> diff --git a/arch/arm/config.mk b/arch/arm/config.mk
> index b107b1af27..b3548ce243 100644
> --- a/arch/arm/config.mk
> +++ b/arch/arm/config.mk
> @@ -141,11 +141,11 @@ endif
>   # limit ourselves to the sections we want in the .bin.
>   ifdef CONFIG_ARM64
>   OBJCOPYFLAGS += -j .text -j .secure_text -j .secure_data -j .rodata -j .data \
> -		-j .u_boot_list -j .rela.dyn -j .got -j .got.plt \
> +		-j __u_boot_list -j .rela.dyn -j .got -j .got.plt \
>   		-j .binman_sym_table -j .text_rest
>   else
>   OBJCOPYFLAGS += -j .text -j .secure_text -j .secure_data -j .rodata -j .hash \
> -		-j .data -j .got -j .got.plt -j .u_boot_list -j .rel.dyn \
> +		-j .data -j .got -j .got.plt -j __u_boot_list -j .rel.dyn \
>   		-j .binman_sym_table -j .text_rest
>   endif
>
> diff --git a/arch/arm/cpu/arm926ejs/sunxi/u-boot-spl.lds b/arch/arm/cpu/arm926ejs/sunxi/u-boot-spl.lds
> index 9a000ac5d3..c108736811 100644
> --- a/arch/arm/cpu/arm926ejs/sunxi/u-boot-spl.lds
> +++ b/arch/arm/cpu/arm926ejs/sunxi/u-boot-spl.lds
> @@ -29,8 +29,8 @@ SECTIONS
>   	.data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	} > .sram
>
>   	. = ALIGN(4);
> diff --git a/arch/arm/cpu/armv7/sunxi/u-boot-spl.lds b/arch/arm/cpu/armv7/sunxi/u-boot-spl.lds
> index 942c29fc95..306a4ddf3c 100644
> --- a/arch/arm/cpu/armv7/sunxi/u-boot-spl.lds
> +++ b/arch/arm/cpu/armv7/sunxi/u-boot-spl.lds
> @@ -38,8 +38,8 @@ SECTIONS
>   	.data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	} > .sram
>
>   	. = ALIGN(4);
> diff --git a/arch/arm/cpu/armv8/u-boot-spl.lds b/arch/arm/cpu/armv8/u-boot-spl.lds
> index 730eb93dbc..d02b788e60 100644
> --- a/arch/arm/cpu/armv8/u-boot-spl.lds
> +++ b/arch/arm/cpu/armv8/u-boot-spl.lds
> @@ -46,9 +46,9 @@ SECTIONS
>   	} >.sram
>   #endif
>
> -	.u_boot_list : {
> +	__u_boot_list : {
>   		. = ALIGN(8);
> -		KEEP(*(SORT(.u_boot_list*)));
> +		KEEP(*(SORT(__u_boot_list*)));
>   	} >.sram
>
>   	.image_copy_end : {
> diff --git a/arch/arm/cpu/armv8/u-boot.lds b/arch/arm/cpu/armv8/u-boot.lds
> index 2554980595..8fe4682dd2 100644
> --- a/arch/arm/cpu/armv8/u-boot.lds
> +++ b/arch/arm/cpu/armv8/u-boot.lds
> @@ -109,8 +109,8 @@ SECTIONS
>   	. = .;
>
>   	. = ALIGN(8);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>
>   	. = ALIGN(8);
> diff --git a/arch/arm/cpu/u-boot-spl.lds b/arch/arm/cpu/u-boot-spl.lds
> index 97899a567f..fb2189d50d 100644
> --- a/arch/arm/cpu/u-boot-spl.lds
> +++ b/arch/arm/cpu/u-boot-spl.lds
> @@ -32,8 +32,8 @@ SECTIONS
>   	}
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>
>   	. = ALIGN(4);
> diff --git a/arch/arm/cpu/u-boot.lds b/arch/arm/cpu/u-boot.lds
> index 0eb164d2e6..f25f72b2e0 100644
> --- a/arch/arm/cpu/u-boot.lds
> +++ b/arch/arm/cpu/u-boot.lds
> @@ -15,7 +15,7 @@ ENTRY(_start)
>   SECTIONS
>   {
>   #ifndef CONFIG_CMDLINE
> -	/DISCARD/ : { *(.u_boot_list_2_cmd_*) }
> +	/DISCARD/ : { *(__u_boot_list_2_cmd_*) }
>   #endif
>   #if defined(CONFIG_ARMV7_SECURE_BASE) && defined(CONFIG_ARMV7_NONSEC)
>   	/*
> @@ -149,8 +149,8 @@ SECTIONS
>   	. = .;
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>
>   	. = ALIGN(4);
> diff --git a/arch/arm/mach-at91/arm926ejs/u-boot-spl.lds b/arch/arm/mach-at91/arm926ejs/u-boot-spl.lds
> index 74f6355229..1a8bf94dee 100644
> --- a/arch/arm/mach-at91/arm926ejs/u-boot-spl.lds
> +++ b/arch/arm/mach-at91/arm926ejs/u-boot-spl.lds
> @@ -29,7 +29,7 @@ SECTIONS
>   	.data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram
>
>   	. = ALIGN(4);
> -	.u_boot_list : { KEEP(*(SORT(.u_boot_list*))) } > .sram
> +	__u_boot_list : { KEEP(*(SORT(__u_boot_list*))) } > .sram
>
>   	. = ALIGN(4);
>   	__image_copy_end = .;
> diff --git a/arch/arm/mach-at91/armv7/u-boot-spl.lds b/arch/arm/mach-at91/armv7/u-boot-spl.lds
> index 950ea55d7c..6ca725fc4c 100644
> --- a/arch/arm/mach-at91/armv7/u-boot-spl.lds
> +++ b/arch/arm/mach-at91/armv7/u-boot-spl.lds
> @@ -36,7 +36,7 @@ SECTIONS
>   	.data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram
>
>   	. = ALIGN(4);
> -	.u_boot_list : { KEEP(*(SORT(.u_boot_list*))) } > .sram
> +	__u_boot_list : { KEEP(*(SORT(__u_boot_list*))) } > .sram
>
>   	. = ALIGN(4);
>   	__image_copy_end = .;
> diff --git a/arch/arm/mach-omap2/u-boot-spl.lds b/arch/arm/mach-omap2/u-boot-spl.lds
> index 88d81f9b98..1d6e5d45b4 100644
> --- a/arch/arm/mach-omap2/u-boot-spl.lds
> +++ b/arch/arm/mach-omap2/u-boot-spl.lds
> @@ -33,8 +33,8 @@ SECTIONS
>   	.data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	} >.sram
>
>   	. = ALIGN(4);
> diff --git a/arch/arm/mach-orion5x/u-boot-spl.lds b/arch/arm/mach-orion5x/u-boot-spl.lds
> index a537fe0295..154bb12060 100644
> --- a/arch/arm/mach-orion5x/u-boot-spl.lds
> +++ b/arch/arm/mach-orion5x/u-boot-spl.lds
> @@ -41,8 +41,8 @@ SECTIONS
>   	.data : { *(SORT_BY_ALIGNMENT(.data*)) } >.nor
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	} > .nor
>
>   	. = ALIGN(4);
> diff --git a/arch/arm/mach-rockchip/u-boot-tpl-v8.lds b/arch/arm/mach-rockchip/u-boot-tpl-v8.lds
> index 9869972e22..74618eba59 100644
> --- a/arch/arm/mach-rockchip/u-boot-tpl-v8.lds
> +++ b/arch/arm/mach-rockchip/u-boot-tpl-v8.lds
> @@ -39,9 +39,9 @@ SECTIONS
>   		*(.data*)
>   	}
>
> -	.u_boot_list : {
> +	__u_boot_list : {
>   		. = ALIGN(8);
> -		KEEP(*(SORT(.u_boot_list*)));
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>
>   	.image_copy_end : {
> diff --git a/arch/arm/mach-zynq/u-boot-spl.lds b/arch/arm/mach-zynq/u-boot-spl.lds
> index 106d2e390b..8c18d3f91f 100644
> --- a/arch/arm/mach-zynq/u-boot-spl.lds
> +++ b/arch/arm/mach-zynq/u-boot-spl.lds
> @@ -37,8 +37,8 @@ SECTIONS
>   	} > .sram
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	} > .sram
>
>   	. = ALIGN(4);
> diff --git a/arch/arm/mach-zynq/u-boot.lds b/arch/arm/mach-zynq/u-boot.lds
> index 91c32e89e8..a5169fd915 100644
> --- a/arch/arm/mach-zynq/u-boot.lds
> +++ b/arch/arm/mach-zynq/u-boot.lds
> @@ -54,8 +54,8 @@ SECTIONS
>   	. = .;
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>
>   	. = ALIGN(4);
> diff --git a/arch/m68k/cpu/u-boot.lds b/arch/m68k/cpu/u-boot.lds
> index affb2d9374..133f79150b 100644
> --- a/arch/m68k/cpu/u-boot.lds
> +++ b/arch/m68k/cpu/u-boot.lds
> @@ -60,8 +60,8 @@ SECTIONS
>   	. = .;
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>
>   	. = .;
> diff --git a/arch/microblaze/cpu/u-boot-spl.lds b/arch/microblaze/cpu/u-boot-spl.lds
> index 7883a64b15..4ac5a21524 100644
> --- a/arch/microblaze/cpu/u-boot-spl.lds
> +++ b/arch/microblaze/cpu/u-boot-spl.lds
> @@ -37,8 +37,8 @@ SECTIONS
>   	}
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>   	__init_end = . ;
>
> diff --git a/arch/microblaze/cpu/u-boot.lds b/arch/microblaze/cpu/u-boot.lds
> index 2b316cc7f5..8bd515b099 100644
> --- a/arch/microblaze/cpu/u-boot.lds
> +++ b/arch/microblaze/cpu/u-boot.lds
> @@ -41,8 +41,8 @@ SECTIONS
>   	}
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>   	__init_end = . ;
>
> diff --git a/arch/mips/config.mk b/arch/mips/config.mk
> index faf4129ac1..04f3627805 100644
> --- a/arch/mips/config.mk
> +++ b/arch/mips/config.mk
> @@ -65,6 +65,6 @@ PLATFORM_CPPFLAGS		+= -msoft-float
>   KBUILD_LDFLAGS			+= -G 0 -static -n -nostdlib
>   PLATFORM_RELFLAGS		+= -ffunction-sections -fdata-sections
>   LDFLAGS_FINAL			+= --gc-sections
> -OBJCOPYFLAGS			+= -j .text -j .rodata -j .data -j .u_boot_list
> +OBJCOPYFLAGS			+= -j .text -j .rodata -j .data -j __u_boot_list
>
>   LDFLAGS_STANDALONE		+= --gc-sections
> diff --git a/arch/mips/cpu/u-boot-spl.lds b/arch/mips/cpu/u-boot-spl.lds
> index 28ea4f2a48..194398be85 100644
> --- a/arch/mips/cpu/u-boot-spl.lds
> +++ b/arch/mips/cpu/u-boot-spl.lds
> @@ -29,8 +29,8 @@ SECTIONS
>
>   #if defined(CONFIG_SPL_DM) || defined(CONFIG_SPL_LOADER_SUPPORT)
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	} > .spl_mem
>   #endif
>
> diff --git a/arch/mips/cpu/u-boot.lds b/arch/mips/cpu/u-boot.lds
> index 86496737d3..9a4ebcd151 100644
> --- a/arch/mips/cpu/u-boot.lds
> +++ b/arch/mips/cpu/u-boot.lds
> @@ -33,8 +33,8 @@ SECTIONS
>   	}
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>
>   	. = ALIGN(4);
> diff --git a/arch/nds32/cpu/n1213/u-boot.lds b/arch/nds32/cpu/n1213/u-boot.lds
> index 4abaf0af1a..1040171415 100644
> --- a/arch/nds32/cpu/n1213/u-boot.lds
> +++ b/arch/nds32/cpu/n1213/u-boot.lds
> @@ -35,8 +35,8 @@ SECTIONS
>   	}
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>
>   	. = ALIGN(4);
> diff --git a/arch/nios2/cpu/u-boot.lds b/arch/nios2/cpu/u-boot.lds
> index cbf54b4610..5b9e27d940 100644
> --- a/arch/nios2/cpu/u-boot.lds
> +++ b/arch/nios2/cpu/u-boot.lds
> @@ -32,8 +32,8 @@ SECTIONS
>   	 */
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>
>   	/* INIT DATA sections - "Small" data (see the gcc -G option)
> diff --git a/arch/powerpc/cpu/mpc83xx/u-boot.lds b/arch/powerpc/cpu/mpc83xx/u-boot.lds
> index d10f528da4..1a1e537b2a 100644
> --- a/arch/powerpc/cpu/mpc83xx/u-boot.lds
> +++ b/arch/powerpc/cpu/mpc83xx/u-boot.lds
> @@ -42,8 +42,8 @@ SECTIONS
>     . = .;
>
>     . = ALIGN(4);
> -  .u_boot_list : {
> -	KEEP(*(SORT(.u_boot_list*)));
> +  __u_boot_list : {
> +	KEEP(*(SORT(__u_boot_list*)));
>     }
>
>
> diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
> index 75b0285e4e..3a9746c860 100644
> --- a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
> +++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
> @@ -59,8 +59,8 @@ SECTIONS
>
>     . = .;
>
> -  .u_boot_list : {
> -	KEEP(*(SORT(.u_boot_list*)));
> +  __u_boot_list : {
> +	KEEP(*(SORT(__u_boot_list*)));
>     }
>
>     . = .;
> diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
> index a2193bf768..fc2519d0b1 100644
> --- a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
> +++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
> @@ -35,8 +35,8 @@ SECTIONS
>   	}
>   	_edata  =  .;
>
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>
>   	. = ALIGN(8);
> diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds b/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
> index 27a5fe6306..2f59b4fc12 100644
> --- a/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
> +++ b/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
> @@ -43,8 +43,8 @@ SECTIONS
>   	_edata  =  .;
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>
>   	. = .;
> diff --git a/arch/powerpc/cpu/mpc85xx/u-boot.lds b/arch/powerpc/cpu/mpc85xx/u-boot.lds
> index 22bbac51aa..b6855f5571 100644
> --- a/arch/powerpc/cpu/mpc85xx/u-boot.lds
> +++ b/arch/powerpc/cpu/mpc85xx/u-boot.lds
> @@ -66,8 +66,8 @@ SECTIONS
>     . = .;
>
>     . = ALIGN(4);
> -  .u_boot_list : {
> -	KEEP(*(SORT(.u_boot_list*)));
> +  __u_boot_list : {
> +	KEEP(*(SORT(__u_boot_list*)));
>     }
>
>     . = .;
> diff --git a/arch/riscv/cpu/u-boot-spl.lds b/arch/riscv/cpu/u-boot-spl.lds
> index d0495ce248..993536302a 100644
> --- a/arch/riscv/cpu/u-boot-spl.lds
> +++ b/arch/riscv/cpu/u-boot-spl.lds
> @@ -40,8 +40,8 @@ SECTIONS
>
>   	. = ALIGN(4);
>
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	} > .spl_mem
>
>   	. = ALIGN(4);
> diff --git a/arch/riscv/cpu/u-boot.lds b/arch/riscv/cpu/u-boot.lds
> index c00d17c736..1c937aebee 100644
> --- a/arch/riscv/cpu/u-boot.lds
> +++ b/arch/riscv/cpu/u-boot.lds
> @@ -44,8 +44,8 @@ SECTIONS
>
>   	. = ALIGN(4);
>
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>
>   	. = ALIGN(4);
> diff --git a/arch/sandbox/config.mk b/arch/sandbox/config.mk
> index 2b1b657831..c42de2ff27 100644
> --- a/arch/sandbox/config.mk
> +++ b/arch/sandbox/config.mk
> @@ -44,13 +44,13 @@ EFI_TARGET := --target=efi-app-ia32
>   else ifeq ($(HOST_ARCH),$(HOST_ARCH_AARCH64))
>   EFI_LDS := ${SRCDIR}/../../../arch/arm/lib/elf_aarch64_efi.lds
>   OBJCOPYFLAGS += -j .text -j .secure_text -j .secure_data -j .rodata -j .data \
> -		-j .u_boot_list -j .rela.dyn -j .got -j .got.plt \
> +		-j __u_boot_list -j .rela.dyn -j .got -j .got.plt \
>   		-j .binman_sym_table -j .text_rest \
>   		-j .efi_runtime -j .efi_runtime_rel
>   else ifeq ($(HOST_ARCH),$(HOST_ARCH_ARM))
>   EFI_LDS := ${SRCDIR}/../../../arch/arm/lib/elf_arm_efi.lds
>   OBJCOPYFLAGS += -j .text -j .secure_text -j .secure_data -j .rodata -j .hash \
> -		-j .data -j .got -j .got.plt -j .u_boot_list -j .rel.dyn \
> +		-j .data -j .got -j .got.plt -j __u_boot_list -j .rel.dyn \
>   		-j .binman_sym_table -j .text_rest \
>   		-j .efi_runtime -j .efi_runtime_rel
>   else ifeq ($(HOST_ARCH),$(HOST_ARCH_RISCV32))
> diff --git a/arch/sandbox/cpu/u-boot-spl.lds b/arch/sandbox/cpu/u-boot-spl.lds
> index 5c19d090cb..046ed0875b 100644
> --- a/arch/sandbox/cpu/u-boot-spl.lds
> +++ b/arch/sandbox/cpu/u-boot-spl.lds
> @@ -9,8 +9,8 @@ SECTIONS
>   {
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>
>   	/* Private data for devices with OF_PLATDATA_RT */
> diff --git a/arch/sandbox/cpu/u-boot.lds b/arch/sandbox/cpu/u-boot.lds
> index 6fa244fae9..b74da3aa0d 100644
> --- a/arch/sandbox/cpu/u-boot.lds
> +++ b/arch/sandbox/cpu/u-boot.lds
> @@ -9,8 +9,8 @@ SECTIONS
>   {
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>
>   	efi_runtime_start : {
> diff --git a/arch/sh/cpu/u-boot.lds b/arch/sh/cpu/u-boot.lds
> index 4cc97737f1..ff80ce78f3 100644
> --- a/arch/sh/cpu/u-boot.lds
> +++ b/arch/sh/cpu/u-boot.lds
> @@ -70,8 +70,8 @@ SECTIONS
>   	} >ram
>   	PROVIDE (_egot = .);
>
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	} >ram
>
>   	PROVIDE (__init_end = .);
> diff --git a/arch/x86/cpu/u-boot-64.lds b/arch/x86/cpu/u-boot-64.lds
> index 92a30c2a38..53c56043a9 100644
> --- a/arch/x86/cpu/u-boot-64.lds
> +++ b/arch/x86/cpu/u-boot-64.lds
> @@ -12,7 +12,7 @@ ENTRY(_start)
>   SECTIONS
>   {
>   #ifndef CONFIG_CMDLINE
> -	/DISCARD/ : { *(.u_boot_list_2_cmd_*) }
> +	/DISCARD/ : { *(__u_boot_list_2_cmd_*) }
>   #endif
>
>   #ifdef CONFIG_SYS_TEXT_BASE
> @@ -41,8 +41,8 @@ SECTIONS
>   	. = ALIGN(4);
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>
>   	. = ALIGN(4);
> diff --git a/arch/x86/cpu/u-boot-spl.lds b/arch/x86/cpu/u-boot-spl.lds
> index 346f60bdac..a0a2a06a18 100644
> --- a/arch/x86/cpu/u-boot-spl.lds
> +++ b/arch/x86/cpu/u-boot-spl.lds
> @@ -12,7 +12,7 @@ ENTRY(_start)
>   SECTIONS
>   {
>   #ifndef CONFIG_CMDLINE
> -	/DISCARD/ : { *(.u_boot_list_2_cmd_*) }
> +	/DISCARD/ : { *(__u_boot_list_2_cmd_*) }
>   #endif
>
>   	. = IMAGE_TEXT_BASE;	/* Location of bootcode in flash */
> @@ -25,8 +25,8 @@ SECTIONS
>   	. = ALIGN(4);
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>
>   	. = ALIGN(4);
> diff --git a/arch/x86/cpu/u-boot.lds b/arch/x86/cpu/u-boot.lds
> index 22fde01e74..7c87209834 100644
> --- a/arch/x86/cpu/u-boot.lds
> +++ b/arch/x86/cpu/u-boot.lds
> @@ -12,7 +12,7 @@ ENTRY(_start)
>   SECTIONS
>   {
>   #ifndef CONFIG_CMDLINE
> -	/DISCARD/ : { *(.u_boot_list_2_cmd_*) }
> +	/DISCARD/ : { *(__u_boot_list_2_cmd_*) }
>   #endif
>
>   	. = CONFIG_SYS_TEXT_BASE;	/* Location of bootcode in flash */
> @@ -39,8 +39,8 @@ SECTIONS
>   	. = ALIGN(4);
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>
>   	. = ALIGN(4);
> diff --git a/arch/x86/lib/elf_ia32_efi.lds b/arch/x86/lib/elf_ia32_efi.lds
> index aad61e7f81..6d89c1fbd5 100644
> --- a/arch/x86/lib/elf_ia32_efi.lds
> +++ b/arch/x86/lib/elf_ia32_efi.lds
> @@ -51,7 +51,7 @@ SECTIONS
>
>   		/* U-Boot lists and device tree */
>   		. = ALIGN(8);
> -		*(SORT(.u_boot_list*));
> +		*(SORT(__u_boot_list*));
>   		. = ALIGN(8);
>   		*(.dtb*);
>   	}
> @@ -69,7 +69,7 @@ SECTIONS
>   		*(.data.rel.local)
>   		*(.data.rel.ro)
>   		*(.data.rel*)
> -		*(.rel.u_boot_list*)
> +		*(.rel__u_boot_list*)
>   	}
>   	. = ALIGN(4096);
>   		.reloc :	/* This is the PECOFF .reloc section! */
> diff --git a/arch/x86/lib/elf_x86_64_efi.lds b/arch/x86/lib/elf_x86_64_efi.lds
> index 75727400aa..ada024c05c 100644
> --- a/arch/x86/lib/elf_x86_64_efi.lds
> +++ b/arch/x86/lib/elf_x86_64_efi.lds
> @@ -50,7 +50,7 @@ SECTIONS
>
>   		/* U-Boot lists and device tree */
>   		. = ALIGN(8);
> -		*(SORT(.u_boot_list*));
> +		*(SORT(__u_boot_list*));
>   		. = ALIGN(8);
>   		*(.dtb*);
>   	}
> @@ -63,7 +63,7 @@ SECTIONS
>   		*(.rela.data*)
>   		*(.rela.got)
>   		*(.rela.stab)
> -                *(.rela.u_boot_list*)
> +                *(.rela__u_boot_list*)
>   	}
>
>   	. = ALIGN(4096);
> diff --git a/arch/xtensa/cpu/u-boot.lds b/arch/xtensa/cpu/u-boot.lds
> index 493f3fdb99..37dc92b308 100644
> --- a/arch/xtensa/cpu/u-boot.lds
> +++ b/arch/xtensa/cpu/u-boot.lds
> @@ -78,7 +78,7 @@ SECTIONS
>     SECTION_text(XTENSA_SYS_TEXT_ADDR, FOLLOWING(.DoubleExceptionVector.text))
>     SECTION_rodata(ALIGN(16), FOLLOWING(.text))
>     SECTION_u_boot_list(ALIGN(16), FOLLOWING(.rodata))
> -  SECTION_data(ALIGN(16), FOLLOWING(.u_boot_list))
> +  SECTION_data(ALIGN(16), FOLLOWING(__u_boot_list))
>
>     __reloc_end = .;
>     __init_end = .;
> diff --git a/arch/xtensa/include/asm/ldscript.h b/arch/xtensa/include/asm/ldscript.h
> index 08f5d0135e..4f75483356 100644
> --- a/arch/xtensa/include/asm/ldscript.h
> +++ b/arch/xtensa/include/asm/ldscript.h
> @@ -100,10 +100,10 @@
>   	}
>
>   #define SECTION_u_boot_list(_vma_, _lma_)				\
> -	.u_boot_list _vma_ : _lma_					\
> +	__u_boot_list _vma_ : _lma_					\
>   	{								\
>   		_u_boot_list_start = ABSOLUTE(.);			\
> -		KEEP(*(SORT(.u_boot_list*)));				\
> +		KEEP(*(SORT(__u_boot_list*)));				\
>   		_u_boot_list_end = ABSOLUTE(.);				\
>   	}
>
> diff --git a/board/compulab/cm_t335/u-boot.lds b/board/compulab/cm_t335/u-boot.lds
> index b00e466d58..4993880461 100644
> --- a/board/compulab/cm_t335/u-boot.lds
> +++ b/board/compulab/cm_t335/u-boot.lds
> @@ -36,8 +36,8 @@ SECTIONS
>   	. = .;
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>
>   	. = ALIGN(4);
> diff --git a/board/cssi/MCR3000/u-boot.lds b/board/cssi/MCR3000/u-boot.lds
> index 70aef3241c..24b535e724 100644
> --- a/board/cssi/MCR3000/u-boot.lds
> +++ b/board/cssi/MCR3000/u-boot.lds
> @@ -59,8 +59,8 @@ SECTIONS
>   	. = .;
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>
>   	. = .;
> diff --git a/board/davinci/da8xxevm/u-boot-spl-da850evm.lds b/board/davinci/da8xxevm/u-boot-spl-da850evm.lds
> index 8f04911306..de1c9c6fce 100644
> --- a/board/davinci/da8xxevm/u-boot-spl-da850evm.lds
> +++ b/board/davinci/da8xxevm/u-boot-spl-da850evm.lds
> @@ -36,7 +36,7 @@ SECTIONS
>   	.data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram
>
>   	. = ALIGN(4);
> -	.u_boot_list : { KEEP(*(SORT(.u_boot_list*))); } >.sram
> +	__u_boot_list : { KEEP(*(SORT(__u_boot_list*))); } >.sram
>
>   	. = ALIGN(4);
>   	.rel.dyn : {
> diff --git a/board/qualcomm/dragonboard820c/u-boot.lds b/board/qualcomm/dragonboard820c/u-boot.lds
> index dcf8256cec..5251b59fbe 100644
> --- a/board/qualcomm/dragonboard820c/u-boot.lds
> +++ b/board/qualcomm/dragonboard820c/u-boot.lds
> @@ -49,8 +49,8 @@ SECTIONS
>   	. = .;
>
>   	. = ALIGN(8);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>
>   	. = ALIGN(8);
> diff --git a/board/samsung/common/exynos-uboot-spl.lds b/board/samsung/common/exynos-uboot-spl.lds
> index 5b32f7feb8..73cd97a1b1 100644
> --- a/board/samsung/common/exynos-uboot-spl.lds
> +++ b/board/samsung/common/exynos-uboot-spl.lds
> @@ -32,8 +32,8 @@ SECTIONS
>   	.data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram
>   	. = ALIGN(4);
>
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	} >.sram
>   	. = ALIGN(4);
>
> diff --git a/board/synopsys/iot_devkit/u-boot.lds b/board/synopsys/iot_devkit/u-boot.lds
> index d083168705..dca2e2daee 100644
> --- a/board/synopsys/iot_devkit/u-boot.lds
> +++ b/board/synopsys/iot_devkit/u-boot.lds
> @@ -39,8 +39,8 @@ SECTIONS
>   	} > ROM
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>
>   		/* Mark RAM's LMA */
>   		. = ALIGN(4);
> diff --git a/board/ti/am335x/u-boot.lds b/board/ti/am335x/u-boot.lds
> index 03c1d5f73b..087dee8bb2 100644
> --- a/board/ti/am335x/u-boot.lds
> +++ b/board/ti/am335x/u-boot.lds
> @@ -72,8 +72,8 @@ SECTIONS
>   	. = .;
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>
>   	. = ALIGN(4);
> diff --git a/board/vscom/baltos/u-boot.lds b/board/vscom/baltos/u-boot.lds
> index 315ba5b99a..cb2ee67697 100644
> --- a/board/vscom/baltos/u-boot.lds
> +++ b/board/vscom/baltos/u-boot.lds
> @@ -53,8 +53,8 @@ SECTIONS
>   	. = .;
>
>   	. = ALIGN(4);
> -	.u_boot_list : {
> -		KEEP(*(SORT(.u_boot_list*)));
> +	__u_boot_list : {
> +		KEEP(*(SORT(__u_boot_list*)));
>   	}
>
>   	. = ALIGN(4);
> diff --git a/doc/api/linker_lists.rst b/doc/api/linker_lists.rst
> index 7063fdc831..3cd447f187 100644
> --- a/doc/api/linker_lists.rst
> +++ b/doc/api/linker_lists.rst
> @@ -13,7 +13,7 @@ then the corresponding input section name is
>
>   ::
>
> -  .u_boot_list_ + 2_ + @_list + _2_ + @_entry
> +  __u_boot_list_ + 2_ + @_list + _2_ + @_entry
>
>   and the C variable name is
>
> @@ -23,7 +23,7 @@ and the C variable name is
>
>   This ensures uniqueness for both input section and C variable name.
>
> -Note that the names differ only in the first character, "." for the
> +Note that the names differ only in the characters, "__" for the
>   section and "_" for the variable, so that the linker cannot confuse
>   section and symbol names. From now on, both names will be referred
>   to as
> @@ -63,11 +63,11 @@ iterated at least once.
>
>   ::
>
> -  .u_boot_list_2_array_1
> -  .u_boot_list_2_array_2_first
> -  .u_boot_list_2_array_2_second
> -  .u_boot_list_2_array_2_third
> -  .u_boot_list_2_array_3
> +  __u_boot_list_2_array_1
> +  __u_boot_list_2_array_2_first
> +  __u_boot_list_2_array_2_second
> +  __u_boot_list_2_array_2_third
> +  __u_boot_list_2_array_3
>
>   If lists must be divided into sublists (e.g. for iterating only on
>   part of a list), one can simply give the list a name of the form
> @@ -129,17 +129,17 @@ the compiler cannot update the alignment of the linker_list item.
>
>   In the first case, an 8-byte 'fill' region is added::
>
> -   .u_boot_list_2_driver_2_testbus_drv
> +   __u_boot_list_2_driver_2_testbus_drv
>                  0x0000000000270018       0x80 test/built-in.o
>                  0x0000000000270018                _u_boot_list_2_driver_2_testbus_drv
> -   .u_boot_list_2_driver_2_testfdt1_drv
> +   __u_boot_list_2_driver_2_testfdt1_drv
>                  0x0000000000270098       0x80 test/built-in.o
>                  0x0000000000270098                _u_boot_list_2_driver_2_testfdt1_drv
>      *fill*         0x0000000000270118        0x8
> -   .u_boot_list_2_driver_2_testfdt_drv
> +   __u_boot_list_2_driver_2_testfdt_drv
>                  0x0000000000270120       0x80 test/built-in.o
>                  0x0000000000270120                _u_boot_list_2_driver_2_testfdt_drv
> -   .u_boot_list_2_driver_2_testprobe_drv
> +   __u_boot_list_2_driver_2_testprobe_drv
>                  0x00000000002701a0       0x80 test/built-in.o
>                  0x00000000002701a0                _u_boot_list_2_driver_2_testprobe_drv
>
> diff --git a/doc/develop/commands.rst b/doc/develop/commands.rst
> index c72d1b0aaa..ede880d248 100644
> --- a/doc/develop/commands.rst
> +++ b/doc/develop/commands.rst
> @@ -169,8 +169,8 @@ by writing in u-boot.lds ($(srctree)/board/boardname/u-boot.lds) these
>
>   .. code-block:: c
>
> -    .u_boot_list : {
> -        KEEP(*(SORT(.u_boot_list*)));
> +    __u_boot_list : {
> +        KEEP(*(SORT(__u_boot_list*)));
>       }
>
>   Writing tests
> diff --git a/doc/develop/driver-model/of-plat.rst b/doc/develop/driver-model/of-plat.rst
> index 237af38ad4..b454f7be85 100644
> --- a/doc/develop/driver-model/of-plat.rst
> +++ b/doc/develop/driver-model/of-plat.rst
> @@ -707,9 +707,9 @@ Link errors / undefined reference
>   Sometimes dtoc does not find the problem for you, but something is wrong and
>   you get a link error, e.g.::
>
> -   :(.u_boot_list_2_udevice_2_spl_test5+0x0): undefined reference to
> +   :(__u_boot_list_2_udevice_2_spl_test5+0x0): undefined reference to
>         `_u_boot_list_2_driver_2_sandbox_spl_test'
> -   /usr/bin/ld: dts/dt-uclass.o:(.u_boot_list_2_uclass_2_misc+0x8):
> +   /usr/bin/ld: dts/dt-uclass.o:(__u_boot_list_2_uclass_2_misc+0x8):
>           undefined reference to `_u_boot_list_2_uclass_driver_2_misc'
>
>   The first one indicates that the device cannot find its driver. This means that
> diff --git a/include/linker_lists.h b/include/linker_lists.h
> index 0575164ce4..d3da9d44e8 100644
> --- a/include/linker_lists.h
> +++ b/include/linker_lists.h
> @@ -70,7 +70,7 @@
>   #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)
> +			__section("__u_boot_list_2_"#_list"_2_"#_name)
>
>   /**
>    * ll_entry_declare_list() - Declare a list of link-generated array entries
> @@ -93,7 +93,7 @@
>   #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)
> +			__section("__u_boot_list_2_"#_list"_2_"#_name)
>
>   /*
>    * We need a 0-byte-size type for iterator symbols, and the compiler
> @@ -110,7 +110,7 @@
>    * @_list:	Name of the list in which this entry is placed
>    *
>    * This function returns ``(_type *)`` pointer to the very first entry of a
> - * linker-generated array placed into subsection of .u_boot_list section
> + * linker-generated array placed into subsection of __u_boot_list section
>    * specified by _list argument.
>    *
>    * Since this macro defines an array start symbol, its leftmost index
> @@ -126,7 +126,7 @@
>   ({									\
>   	static char start[0] __aligned(CONFIG_LINKER_LIST_ALIGN)	\
>   		__attribute__((unused))					\
> -		__section(".u_boot_list_2_"#_list"_1");			\
> +		__section("__u_boot_list_2_"#_list"_1");			\
>   	(_type *)&start;						\
>   })
>
> @@ -137,7 +137,7 @@
>    *		(with underscores instead of dots)
>    *
>    * This function returns ``(_type *)`` pointer after the very last entry of
> - * a linker-generated array placed into subsection of .u_boot_list
> + * a linker-generated array placed into subsection of __u_boot_list
>    * section specified by _list argument.
>    *
>    * Since this macro defines an array end symbol, its leftmost index
> @@ -152,7 +152,7 @@
>   #define ll_entry_end(_type, _list)					\
>   ({									\
>   	static char end[0] __aligned(4) __attribute__((unused))		\
> -		__section(".u_boot_list_2_"#_list"_3");			\
> +		__section("__u_boot_list_2_"#_list"_3");			\
>   	(_type *)&end;							\
>   })
>   /**
> @@ -161,7 +161,7 @@
>    * @_list:	Name of the list of which the number of elements is computed
>    *
>    * This function returns the number of elements of a linker-generated array
> - * placed into subsection of .u_boot_list section specified by _list
> + * placed into subsection of __u_boot_list section specified by _list
>    * argument. The result is of an unsigned int type.
>    *
>    * Example:
> @@ -246,7 +246,7 @@
>   #define ll_start(_type)							\
>   ({									\
>   	static char start[0] __aligned(4) __attribute__((unused))	\
> -		__section(".u_boot_list_1");				\
> +		__section("__u_boot_list_1");				\
>   	(_type *)&start;						\
>   })
>
> @@ -269,7 +269,7 @@
>   #define ll_end(_type)							\
>   ({									\
>   	static char end[0] __aligned(4) __attribute__((unused))		\
> -		__section(".u_boot_list_3");				\
> +		__section("__u_boot_list_3");				\
>   	(_type *)&end;							\
>   })
>



More information about the U-Boot mailing list