[PATCH] mips: reloc: Change R_MIPS_NONE to catch pre-reloc BSS usage

Daniel Schwierzeck daniel.schwierzeck at gmail.com
Fri Jun 5 17:51:42 CEST 2020



Am 05.06.20 um 10:29 schrieb Stefan Roese:
> This patch changes the R_MIPS_NONE define from 0 to a magic value. This
> makes it possible to better detect any forbidden pre-relocation usage
> of BSS variables, as they are often zero'ed and then relocation is
> stopped too early.
> 
> Additionally the error message is improved to also print the faulting
> address. This helps finding the root-cause for this breakage by
> comparing this address with the values in System.map.
> 
> This patch helps a lot when working on pre-relocation code, like the
> Octeon DDR init code, where such variables have hit me multiple times
> now.
> 
> Signed-off-by: Stefan Roese <sr at denx.de>
> Cc: Daniel Schwierzeck <daniel.schwierzeck at gmail.com>
> Cc: Aaron Williams <awilliams at marvell.com>
> Cc: Chandrakala Chavva <cchavva at marvell.com>
> ---
>  arch/mips/include/asm/relocs.h | 2 +-
>  arch/mips/lib/reloc.c          | 7 ++++---
>  2 files changed, 5 insertions(+), 4 deletions(-)
> 

applied to u-boot-mips/next, thanks.

BTW: in case the relocation table is cutted off, you can increase the
size with CONFIG_MIPS_RELOCATION_TABLE_SIZE.

-- 
- Daniel


More information about the U-Boot mailing list