• Suzuki Poulose's avatar
    powerpc: Process dynamic relocations for kernel · 9c5f7d39
    Suzuki Poulose authored
    The following patch implements the dynamic relocation processing for
    PPC32 kernel. relocate() accepts the target virtual address and relocates
     the kernel image to the same.
    
    Currently the following relocation types are handled :
    
    	R_PPC_RELATIVE
    	R_PPC_ADDR16_LO
    	R_PPC_ADDR16_HI
    	R_PPC_ADDR16_HA
    
    The last 3 relocations in the above list depends on value of Symbol indexed
    whose index is encoded in the Relocation entry. Hence we need the Symbol
    Table for processing such relocations.
    
    Note: The GNU ld for ppc32 produces buggy relocations for relocation types
    that depend on symbols. The value of the symbols with STB_LOCAL scope
    should be assumed to be zero. - Alan Modra
    Signed-off-by: default avatarSuzuki K. Poulose <suzuki@in.ibm.com>
    Signed-off-by: default avatarJosh Poimboeuf <jpoimboe@linux.vnet.ibm.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Alan Modra <amodra@au1.ibm.com>
    Cc: Kumar Gala <galak@kernel.crashing.org>
    Cc: linuxppc-dev <linuxppc-dev@lists.ozlabs.org>
    Signed-off-by: default avatarJosh Boyer <jwboyer@gmail.com>
    9c5f7d39
relocs_check.pl 1.61 KB