For the older section defines we specify the start and end addresses
outside the macro which means we have to repeat them in each linker
script. Make the start/end addresses part of the define to simplify
things. While at it, add a BAREBOX_ prefix to the INITCALLS and EXITCALLS
macros for consistency to the other defines.

Signed-off-by: Sascha Hauer <[email protected]>
---
 arch/arm/lib32/barebox.lds.S           | 21 ++------------
 arch/arm/lib64/barebox.lds.S           | 21 ++------------
 arch/mips/lib/barebox.lds.S            | 21 ++------------
 arch/nios2/cpu/barebox.lds.S           | 21 ++------------
 arch/openrisc/cpu/barebox.lds.S        | 22 ++------------
 arch/ppc/boards/pcm030/barebox.lds.S   | 21 ++------------
 arch/ppc/mach-mpc85xx/barebox.lds.S    | 18 ++----------
 arch/riscv/lib/barebox.lds.S           | 18 ++----------
 arch/sandbox/board/barebox.lds.S       | 14 ++-------
 arch/x86/lib/barebox.lds.S             | 16 ++---------
 arch/x86/mach-efi/elf_ia32_efi.lds.S   | 15 ++--------
 arch/x86/mach-efi/elf_x86_64_efi.lds.S | 15 ++--------
 include/asm-generic/barebox.lds.h      | 40 ++++++++++++++++++--------
 13 files changed, 52 insertions(+), 211 deletions(-)

diff --git a/arch/arm/lib32/barebox.lds.S b/arch/arm/lib32/barebox.lds.S
index 05a50afaad..9ffcffd66d 100644
--- a/arch/arm/lib32/barebox.lds.S
+++ b/arch/arm/lib32/barebox.lds.S
@@ -82,29 +82,12 @@ SECTIONS
        .barebox_imd : { BAREBOX_IMD }
 
        . = .;
-       __barebox_cmd_start = .;
        .barebox_cmd : { BAREBOX_CMDS }
-       __barebox_cmd_end = .;
-
-       __barebox_ratp_cmd_start = .;
        .barebox_ratp_cmd : { BAREBOX_RATP_CMDS }
-       __barebox_ratp_cmd_end = .;
-
-       __barebox_magicvar_start = .;
        .barebox_magicvar : { BAREBOX_MAGICVARS }
-       __barebox_magicvar_end = .;
-
-       __barebox_initcalls_start = .;
-       .barebox_initcalls : { INITCALLS }
-       __barebox_initcalls_end = .;
-
-       __barebox_exitcalls_start = .;
-       .barebox_exitcalls : { EXITCALLS }
-       __barebox_exitcalls_end = .;
-
-       __usymtab_start = .;
+       .barebox_initcalls : { BAREBOX_INITCALLS }
+       .barebox_exitcalls : { BAREBOX_EXITCALLS }
        __usymtab : { BAREBOX_SYMS }
-       __usymtab_end = .;
 
 #ifdef CONFIG_PCI
        __start_pci_fixups_early = .;
diff --git a/arch/arm/lib64/barebox.lds.S b/arch/arm/lib64/barebox.lds.S
index 5e9d94bee9..1cc00eca11 100644
--- a/arch/arm/lib64/barebox.lds.S
+++ b/arch/arm/lib64/barebox.lds.S
@@ -64,29 +64,12 @@ SECTIONS
        .barebox_imd : { BAREBOX_IMD }
 
        . = .;
-       __barebox_cmd_start = .;
        .barebox_cmd : { BAREBOX_CMDS }
-       __barebox_cmd_end = .;
-
-       __barebox_ratp_cmd_start = .;
        .barebox_ratp_cmd : { BAREBOX_RATP_CMDS }
-       __barebox_ratp_cmd_end = .;
-
-       __barebox_magicvar_start = .;
        .barebox_magicvar : { BAREBOX_MAGICVARS }
-       __barebox_magicvar_end = .;
-
-       __barebox_initcalls_start = .;
-       .barebox_initcalls : { INITCALLS }
-       __barebox_initcalls_end = .;
-
-       __barebox_exitcalls_start = .;
-       .barebox_exitcalls : { EXITCALLS }
-       __barebox_exitcalls_end = .;
-
-       __usymtab_start = .;
+       .barebox_initcalls : { BAREBOX_INITCALLS }
+       .barebox_exitcalls : { BAREBOX_EXITCALLS }
        __usymtab : { BAREBOX_SYMS }
-       __usymtab_end = .;
 
 #ifdef CONFIG_PCI
        __start_pci_fixups_early = .;
diff --git a/arch/mips/lib/barebox.lds.S b/arch/mips/lib/barebox.lds.S
index 7109d73372..86a469a042 100644
--- a/arch/mips/lib/barebox.lds.S
+++ b/arch/mips/lib/barebox.lds.S
@@ -41,29 +41,12 @@ SECTIONS
        .barebox_imd : { BAREBOX_IMD }
 
        . = .;
-       __barebox_cmd_start = .;
        .barebox_cmd : { BAREBOX_CMDS }
-       __barebox_cmd_end = .;
-
-       __barebox_ratp_cmd_start = .;
        .barebox_ratp_cmd : { BAREBOX_RATP_CMDS }
-       __barebox_ratp_cmd_end = .;
-
-       __barebox_magicvar_start = .;
        .barebox_magicvar : { BAREBOX_MAGICVARS }
-       __barebox_magicvar_end = .;
-
-       __barebox_initcalls_start = .;
-       .barebox_initcalls : { INITCALLS }
-       __barebox_initcalls_end = .;
-
-       __barebox_exitcalls_start = .;
-       .barebox_exitcalls : { EXITCALLS }
-       __barebox_exitcalls_end = .;
-
-       __usymtab_start = .;
+       .barebox_initcalls : { BAREBOX_INITCALLS }
+       .barebox_exitcalls : { BAREBOX_EXITCALLS }
        __usymtab : { BAREBOX_SYMS }
-       __usymtab_end = .;
 
 #ifdef CONFIG_PCI
        __start_pci_fixups_early = .;
diff --git a/arch/nios2/cpu/barebox.lds.S b/arch/nios2/cpu/barebox.lds.S
index fbcd1cd3f7..efe8e106a1 100644
--- a/arch/nios2/cpu/barebox.lds.S
+++ b/arch/nios2/cpu/barebox.lds.S
@@ -51,29 +51,12 @@ SECTIONS
        .rodata : { *(.rodata) }
 
        . = .;
-       __barebox_cmd_start = .;
        .barebox_cmd : { BAREBOX_CMDS }
-       __barebox_cmd_end = .;
-
-       __barebox_ratp_cmd_start = .;
        .barebox_ratp_cmd : { BAREBOX_RATP_CMDS }
-       __barebox_ratp_cmd_end = .;
-
-       __barebox_magicvar_start = .;
        .barebox_magicvar : { BAREBOX_MAGICVARS }
-       __barebox_magicvar_end = .;
-
-       __barebox_initcalls_start = .;
-       .barebox_initcalls : { INITCALLS }
-       __barebox_initcalls_end = .;
-
-       __barebox_exitcalls_start = .;
-       .barebox_exitcalls : { EXITCALLS }
-       __barebox_exitcalls_end = .;
-
-       ___usymtab_start = .;
+       .barebox_initcalls : { BAREBOX_INITCALLS }
+       .barebox_exitcalls : { BAREBOX_EXITCALLS }
        __usymtab : { BAREBOX_SYMS }
-       ___usymtab_end = .;
 
        _etext = .; /* End of text and rodata section */
 
diff --git a/arch/openrisc/cpu/barebox.lds.S b/arch/openrisc/cpu/barebox.lds.S
index ed9b90ed70..37242f9c5e 100644
--- a/arch/openrisc/cpu/barebox.lds.S
+++ b/arch/openrisc/cpu/barebox.lds.S
@@ -53,30 +53,12 @@ SECTIONS
 
        . = ALIGN(4);
        . = .;
-       __barebox_cmd_start = .;
        .barebox_cmd : { BAREBOX_CMDS } > ram
-       __barebox_cmd_end = .;
-
-       __barebox_ratp_cmd_start = .;
        .barebox_ratp_cmd : { BAREBOX_RATP_CMDS } > ram
-       __barebox_ratp_cmd_end = .;
-
-       __barebox_magicvar_start = .;
        .barebox_magicvar : { BAREBOX_MAGICVARS } > ram
-       __barebox_magicvar_end = .;
-
-       __barebox_initcalls_start = .;
-       .barebox_initcalls : { INITCALLS } > ram
-       __barebox_initcalls_end = .;
-
-       __barebox_exitcalls_start = .;
-       .barebox_exitcalls : { EXITCALLS } > ram
-       __barebox_exitcalls_end = .;
-
-       ___usymtab_start = .;
+       .barebox_initcalls : { BAREBOX_INITCALLS } > ram
+       .barebox_exitcalls : { BAREBOX_EXITCALLS } > ram
        __usymtab : { BAREBOX_SYMS } > ram
-       ___usymtab_end = .;
-
        .dtb : { BAREBOX_DTB } > ram
 
        __etext = .; /* End of text and rodata section */
diff --git a/arch/ppc/boards/pcm030/barebox.lds.S 
b/arch/ppc/boards/pcm030/barebox.lds.S
index 12b551e685..73e4bde434 100644
--- a/arch/ppc/boards/pcm030/barebox.lds.S
+++ b/arch/ppc/boards/pcm030/barebox.lds.S
@@ -100,29 +100,12 @@ SECTIONS
   PROVIDE (edata = .);
 
   . = .;
-  __barebox_cmd_start = .;
   .barebox_cmd : { BAREBOX_CMDS }
-  __barebox_cmd_end = .;
-
-  __barebox_ratp_cmd_start = .;
   .barebox_ratp_cmd : { BAREBOX_RATP_CMDS }
-  __barebox_ratp_cmd_end = .;
-
-  __barebox_magicvar_start = .;
   .barebox_magicvar : { BAREBOX_MAGICVARS }
-  __barebox_magicvar_end = .;
-
-  __barebox_initcalls_start = .;
-  .barebox_initcalls : { INITCALLS }
-  __barebox_initcalls_end = .;
-
-  __barebox_exitcalls_start = .;
-  .barebox_exitcalls : { EXITCALLS }
-  __barebox_exitcalls_end = .;
-
-  __usymtab_start = .;
+  .barebox_initcalls : { BAREBOX_INITCALLS }
+  .barebox_exitcalls : { BAREBOX_EXITCALLS }
   __usymtab : { BAREBOX_SYMS }
-  __usymtab_end = .;
 
   __start___ex_table = .;
   __ex_table : { *(__ex_table) }
diff --git a/arch/ppc/mach-mpc85xx/barebox.lds.S 
b/arch/ppc/mach-mpc85xx/barebox.lds.S
index 30a1c571d7..1874319e71 100644
--- a/arch/ppc/mach-mpc85xx/barebox.lds.S
+++ b/arch/ppc/mach-mpc85xx/barebox.lds.S
@@ -101,25 +101,11 @@ SECTIONS
   }
 
   . = .;
-  __barebox_cmd_start = .;
   .barebox_cmd : { BAREBOX_CMDS }
-  __barebox_cmd_end = .;
-
-  __barebox_ratp_cmd_start = .;
   .barebox_ratp_cmd : { BAREBOX_RATP_CMDS }
-  __barebox_ratp_cmd_end = .;
-
-  __barebox_initcalls_start = .;
-  .barebox_initcalls : { INITCALLS }
-  __barebox_initcalls_end = .;
-
-  __barebox_exitcalls_start = .;
-  .barebox_exitcalls : { EXITCALLS }
-  __barebox_exitcalls_end = .;
-
-  __usymtab_start = .;
+  .barebox_initcalls : { BAREBOX_INITCALLS }
+  .barebox_exitcalls : { BAREBOX_EXITCALLS }
   __usymtab : { BAREBOX_SYMS }
-  __usymtab_end = .;
 
   . = .;
   __start___ex_table = .;
diff --git a/arch/riscv/lib/barebox.lds.S b/arch/riscv/lib/barebox.lds.S
index 10c19f15de..23e4468e2f 100644
--- a/arch/riscv/lib/barebox.lds.S
+++ b/arch/riscv/lib/barebox.lds.S
@@ -44,25 +44,11 @@ SECTIONS
        .got : { *(.got*) }
 
        . = .;
-       __barebox_cmd_start = .;
        .barebox_cmd : { BAREBOX_CMDS }
-       __barebox_cmd_end = .;
-
-       __barebox_magicvar_start = .;
        .barebox_magicvar : { BAREBOX_MAGICVARS }
-       __barebox_magicvar_end = .;
-
-       __barebox_initcalls_start = .;
-       .barebox_initcalls : { INITCALLS }
-       __barebox_initcalls_end = .;
-
-       __barebox_exitcalls_start = .;
-       .barebox_exitcalls : { EXITCALLS }
-       __barebox_exitcalls_end = .;
-
-       __usymtab_start = .;
+       .barebox_initcalls : { BAREBOX_INITCALLS }
+       .barebox_exitcalls : { BAREBOX_EXITCALLS }
        __usymtab : { BAREBOX_SYMS }
-       __usymtab_end = .;
 
        .rela.dyn : { *(.rela*) }
 
diff --git a/arch/sandbox/board/barebox.lds.S b/arch/sandbox/board/barebox.lds.S
index 80e27fe87d..bdce8ecbd6 100644
--- a/arch/sandbox/board/barebox.lds.S
+++ b/arch/sandbox/board/barebox.lds.S
@@ -3,29 +3,19 @@
 SECTIONS
 {
        . = ALIGN(64);
-       __barebox_initcalls_start = .;
-       __barebox_initcalls : { INITCALLS }
-       __barebox_initcalls_end = .;
+       .barebox_initcalls : { BAREBOX_INITCALLS }
 
        . = ALIGN(64);
-       __barebox_exitcalls_start = .;
-       __barebox_exitcalls : { EXITCALLS }
-       __barebox_exitcalls_end = .;
+       .barebox_exitcalls : { BAREBOX_EXITCALLS }
 
        . = ALIGN(64);
-       __barebox_magicvar_start = .;
        .barebox_magicvar : { BAREBOX_MAGICVARS }
-       __barebox_magicvar_end = .;
 
        . = ALIGN(64);
-       __barebox_cmd_start = .;
        __barebox_cmd : { BAREBOX_CMDS }
-       __barebox_cmd_end = .;
 
        . = ALIGN(64);
-       __barebox_ratp_cmd_start = .;
        __barebox_ratp_cmd : { BAREBOX_RATP_CMDS }
-       __barebox_ratp_cmd_end = .;
 }
 
 INSERT BEFORE .rodata;
diff --git a/arch/x86/lib/barebox.lds.S b/arch/x86/lib/barebox.lds.S
index 6ee9342f47..d26f060a3e 100644
--- a/arch/x86/lib/barebox.lds.S
+++ b/arch/x86/lib/barebox.lds.S
@@ -165,44 +165,32 @@ SECTIONS
        } > barebox
 
        .barebox_cmd : AT ( LOADADDR(.got) + SIZEOF (.got) ) {
-               __barebox_cmd_start = .;
                BAREBOX_CMDS
-               __barebox_cmd_end = .;
                . = ALIGN(4);
        } > barebox
 
        .barebox_ratp_cmd : AT ( LOADADDR(.got) + SIZEOF (.got) ) {
-               __barebox_ratp_cmd_start = .;
                BAREBOX_RATP_CMDS
-               __barebox_ratp_cmd_end = .;
                . = ALIGN(4);
        } > barebox
 
        .barebox_magicvars : AT ( LOADADDR(.barebox_cmd) + SIZEOF 
(.barebox_cmd) ) {
-               __barebox_magicvar_start = .;
                BAREBOX_MAGICVARS
-               __barebox_magicvar_end = .;
                . = ALIGN(4);
        } > barebox
 
        .barebox_initcalls : AT ( LOADADDR(.barebox_magicvars) + SIZEOF 
(.barebox_magicvars) ) {
-               __barebox_initcalls_start = .;
-               INITCALLS
-               __barebox_initcalls_end = .;
+               BAREBOX_INITCALLS
                . = ALIGN(4);
        } > barebox
 
        .barebox_exitcalls : AT ( LOADADDR(.barebox_initcalls) + SIZEOF 
(.barebox_initcalls) ) {
-               __barebox_exitcalls_start = .;
-               EXITCALLS
-               __barebox_exitcalls_end = .;
+               BAREBOX_EXITCALLS
                . = ALIGN(4);
        } > barebox
 
        .__usymtab : AT ( LOADADDR(.barebox_exitcalls) + SIZEOF 
(.barebox_exitcalls) ) {
-               __usymtab_start = .;
                BAREBOX_SYMS
-               __usymtab_end = .;
                . = ALIGN(4);
        } > barebox
 
diff --git a/arch/x86/mach-efi/elf_ia32_efi.lds.S 
b/arch/x86/mach-efi/elf_ia32_efi.lds.S
index 9477aa7d73..a5874c448b 100644
--- a/arch/x86/mach-efi/elf_ia32_efi.lds.S
+++ b/arch/x86/mach-efi/elf_ia32_efi.lds.S
@@ -52,28 +52,17 @@ SECTIONS
 
        . = ALIGN(64);
 
-       __barebox_initcalls_start = .;
-       __barebox_initcalls : { INITCALLS }
-       __barebox_initcalls_end = .;
-
-       __barebox_exitcalls_start = .;
-       __barebox_exitcalls : { EXITCALLS }
-       __barebox_exitcalls_end = .;
+       .barebox_initcalls : { BAREBOX_INITCALLS }
+       .barebox_exitcalls : { BAREBOX_EXITCALLS }
 
        . = ALIGN(64);
-       __barebox_magicvar_start = .;
        .barebox_magicvar : { BAREBOX_MAGICVARS }
-       __barebox_magicvar_end = .;
 
        . = ALIGN(64);
-       __barebox_cmd_start = .;
        __barebox_cmd : { BAREBOX_CMDS }
-       __barebox_cmd_end = .;
 
        . = ALIGN(64);
-       __barebox_ratp_cmd_start = .;
        __barebox_ratp_cmd : { BAREBOX_RATP_CMDS }
-       __barebox_ratp_cmd_end = .;
 
        . = ALIGN(4096);
        .dynamic : { *(.dynamic) }
diff --git a/arch/x86/mach-efi/elf_x86_64_efi.lds.S 
b/arch/x86/mach-efi/elf_x86_64_efi.lds.S
index 90b6b9f3f1..b00cb98c97 100644
--- a/arch/x86/mach-efi/elf_x86_64_efi.lds.S
+++ b/arch/x86/mach-efi/elf_x86_64_efi.lds.S
@@ -54,28 +54,17 @@ SECTIONS
 
        . = ALIGN(64);
 
-       __barebox_initcalls_start = .;
-       __barebox_initcalls : { INITCALLS }
-       __barebox_initcalls_end = .;
-
-       __barebox_exitcalls_start = .;
-       __barebox_exitcalls : { EXITCALLS }
-       __barebox_exitcalls_end = .;
+       .barebox_initcalls : { BAREBOX_INITCALLS }
+       .barebox_exitcalls : { BAREBOX_EXITCALLS }
 
        . = ALIGN(64);
-       __barebox_magicvar_start = .;
        .barebox_magicvar : { BAREBOX_MAGICVARS }
-       __barebox_magicvar_end = .;
 
        . = ALIGN(64);
-       __barebox_cmd_start = .;
        __barebox_cmd : { BAREBOX_CMDS }
-       __barebox_cmd_end = .;
 
        . = ALIGN(64);
-       __barebox_ratp_cmd_start = .;
        __barebox_ratp_cmd : { BAREBOX_RATP_CMDS }
-       __barebox_ratp_cmd_end = .;
 
        . = ALIGN(4096);
        .dynamic : { *(.dynamic) }
diff --git a/include/asm-generic/barebox.lds.h 
b/include/asm-generic/barebox.lds.h
index c9fb8f47ae..0784048eb6 100644
--- a/include/asm-generic/barebox.lds.h
+++ b/include/asm-generic/barebox.lds.h
@@ -16,7 +16,8 @@
 #define PRE_IMAGE
 #endif
 
-#define INITCALLS                      \
+#define BAREBOX_INITCALLS                      \
+       __barebox_initcalls_start = .;          \
        KEEP(*(.initcall.0))                    \
        KEEP(*(.initcall.1))                    \
        KEEP(*(.initcall.2))                    \
@@ -31,24 +32,39 @@
        KEEP(*(.initcall.11))                   \
        KEEP(*(.initcall.12))                   \
        KEEP(*(.initcall.13))                   \
-       KEEP(*(.initcall.14))
+       KEEP(*(.initcall.14))                   \
+       __barebox_initcalls_end = .;
 
-#define EXITCALLS                      \
+#define BAREBOX_EXITCALLS                      \
+       __barebox_exitcalls_start = .;          \
        KEEP(*(.exitcall.0))                    \
        KEEP(*(.exitcall.1))                    \
        KEEP(*(.exitcall.2))                    \
        KEEP(*(.exitcall.3))                    \
        KEEP(*(.exitcall.4))                    \
        KEEP(*(.exitcall.5))                    \
-       KEEP(*(.exitcall.6))
-
-#define BAREBOX_CMDS   KEEP(*(SORT_BY_NAME(.barebox_cmd*)))
-
-#define BAREBOX_RATP_CMDS      KEEP(*(SORT_BY_NAME(.barebox_ratp_cmd*)))
-
-#define BAREBOX_SYMS   KEEP(*(__usymtab))
-
-#define BAREBOX_MAGICVARS      KEEP(*(SORT_BY_NAME(.barebox_magicvar*)))
+       KEEP(*(.exitcall.6))                    \
+       __barebox_exitcalls_end = .;
+
+#define BAREBOX_CMDS                           \
+       __barebox_cmd_start = .;                \
+       KEEP(*(SORT_BY_NAME(.barebox_cmd*)))    \
+       __barebox_cmd_end = .;
+
+#define BAREBOX_RATP_CMDS                      \
+       __barebox_ratp_cmd_start = .;           \
+       KEEP(*(SORT_BY_NAME(.barebox_ratp_cmd*)))       \
+       __barebox_ratp_cmd_end = .;
+
+#define BAREBOX_SYMS                           \
+       __usymtab_start = .;                    \
+       KEEP(*(__usymtab))                      \
+       __usymtab_end = .;
+
+#define BAREBOX_MAGICVARS                      \
+       __barebox_magicvar_start = .;           \
+       KEEP(*(SORT_BY_NAME(.barebox_magicvar*)))       \
+       __barebox_magicvar_end = .;
 
 #define BAREBOX_CLK_TABLE                      \
        . = ALIGN(8);                           \
-- 
2.23.0


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to