u-boot/arch
Michal Simek d58c007498 microblaze: Add support for run time relocation
Microblaze is using NEEDS_MANUAL_RELOC from the beginnging. This is causing
issues with function pointer arrays which need to be updated manually after
relocation. Building code with -fPIC and linking with -pic will remove this
limitation and there is no longer need to run manual update.

By default still old option is enabled but by disabling NEEDS_MANUAL_RELOC
code will be compiled for full relocation.

The patch does couple of things which are connected to each other.
- Define STATIC_RELA dependency to call relocate-rela to fill sections.
- REMAKE_ELF was already enabled but u-boot file can't be used because
  sections are empty. relocate-rela will fill them and output file is
  u-boot.elf which should be used.
- Add support for full relocation (u-boot.elf)
- Add support for early relocation when u-boot.bin is loaded to different
  address then CONFIG_SYS_TEXT_BASE
- Add rela.dyn and dynsym sections

Disabling NEEDS_MANUAL_RELOC U-Boot size increased by 10% of it's original
size (550kB to 608kB).

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/a845670b34925859b2e321875f7588a29f6655f9.1655299267.git.michal.simek@amd.com
2022-06-24 14:15:01 +02:00
..
arc dts: automatically build necessary .dtb files 2022-02-09 12:26:12 -07:00
arm arm64: zynqmp: Fix tps544/u3007 node description 2022-06-24 14:14:34 +02:00
m68k microblaze: Add support for run time relocation 2022-06-24 14:15:01 +02:00
microblaze microblaze: Add support for run time relocation 2022-06-24 14:15:01 +02:00
mips mips: Move endianness selection to arch/Kconfig 2022-06-24 14:14:59 +02:00
nios2 event: Convert arch_cpu_init_dm() to use events 2022-03-10 08:28:36 -05:00
powerpc powerpc: mpc85xx: Fix CONFIG_OF_SEPARATE support for NOR booting 2022-05-23 09:33:10 -04:00
riscv riscv: Clean up asm/io.h 2022-05-26 18:41:21 +08:00
sandbox sandbox: Avoid binman error when run without device tree 2022-05-05 09:29:57 -04:00
sh Split CONFIG_CC_OPTIMIZE_FOR_SIZE into two configs 2022-03-25 13:35:50 -04:00
x86 pci: Add mask parameter to dm_pci_map_bar() 2022-05-03 18:33:29 -04:00
xtensa Convert CONFIG_BOARD_POSTCLK_INIT to Kconfig 2022-03-03 16:51:19 -05:00
.gitignore
Kconfig microblaze: Add support for run time relocation 2022-06-24 14:15:01 +02:00
u-boot-elf.lds