treewide: rework linker symbol declarations in sections header

1. Convert all linker symbols to char[] type so that we can get the
   corresponding address by calling array name 'var' or its address
   '&var'. In this way, we can avoid some potential issues[1].
2. Remove unused symbol '_TEXT_BASE'. It has been abandoned and has
   not been referenced by any source code.
3. Move '__data_end' to the arch x86's own sections header as it's
   only used by x86 arch.
4. Remove some duplicate declared linker symbols. Now we use the
   standard header file to declare them.

[1] This patch fixes the boot failure on MIPS target. Error log:
SPL: Image overlaps SPL

Fixes: 1b8a1be1a1 ("spl: spl_legacy: Fix spl_end address")
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
Shiji Yang 2023-08-03 09:47:16 +08:00 committed by Tom Rini
parent a077ac13d0
commit 506df9dc58
58 changed files with 64 additions and 45 deletions

View file

@ -8,7 +8,8 @@
#include <asm-generic/sections.h>
extern ulong __ivt_start;
extern ulong __ivt_end;
extern char __ivt_start[];
extern char __ivt_end[];
extern char __text_end[];
#endif /* __ASM_ARC_SECTIONS_H */