Blackfin: rename Blackfin relocs according to the toolchain

The latest Blackfin toolchain has fixed its relocation scheme to match
other ports: always use R_BFIN_ prefix and capitalize everything.  This
brings the kernel in line with those fixes.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
Mike Frysinger 2009-06-02 00:35:33 +00:00
parent 780172bf87
commit 595d681f2c
2 changed files with 53 additions and 53 deletions

View File

@ -55,50 +55,50 @@ do { \
#define ELF_FDPIC_CORE_EFLAGS EF_BFIN_FDPIC
#define ELF_EXEC_PAGESIZE 4096
#define R_unused0 0 /* relocation type 0 is not defined */
#define R_pcrel5m2 1 /*LSETUP part a */
#define R_unused1 2 /* relocation type 2 is not defined */
#define R_pcrel10 3 /* type 3, if cc jump <target> */
#define R_pcrel12_jump 4 /* type 4, jump <target> */
#define R_rimm16 5 /* type 0x5, rN = <target> */
#define R_luimm16 6 /* # 0x6, preg.l=<target> Load imm 16 to lower half */
#define R_huimm16 7 /* # 0x7, preg.h=<target> Load imm 16 to upper half */
#define R_pcrel12_jump_s 8 /* # 0x8 jump.s <target> */
#define R_pcrel24_jump_x 9 /* # 0x9 jump.x <target> */
#define R_pcrel24 10 /* # 0xa call <target> , not expandable */
#define R_unusedb 11 /* # 0xb not generated */
#define R_unusedc 12 /* # 0xc not used */
#define R_pcrel24_jump_l 13 /*0xd jump.l <target> */
#define R_pcrel24_call_x 14 /* 0xE, call.x <target> if <target> is above 24 bit limit call through P1 */
#define R_var_eq_symb 15 /* 0xf, linker should treat it same as 0x12 */
#define R_byte_data 16 /* 0x10, .byte var = symbol */
#define R_byte2_data 17 /* 0x11, .byte2 var = symbol */
#define R_byte4_data 18 /* 0x12, .byte4 var = symbol and .var var=symbol */
#define R_pcrel11 19 /* 0x13, lsetup part b */
#define R_unused14 20 /* 0x14, undefined */
#define R_unused15 21 /* not generated by VDSP 3.5 */
#define R_BFIN_UNUSED0 0 /* relocation type 0 is not defined */
#define R_BFIN_PCREL5M2 1 /* LSETUP part a */
#define R_BFIN_UNUSED1 2 /* relocation type 2 is not defined */
#define R_BFIN_PCREL10 3 /* type 3, if cc jump <target> */
#define R_BFIN_PCREL12_JUMP 4 /* type 4, jump <target> */
#define R_BFIN_RIMM16 5 /* type 0x5, rN = <target> */
#define R_BFIN_LUIMM16 6 /* # 0x6, preg.l=<target> Load imm 16 to lower half */
#define R_BFIN_HUIMM16 7 /* # 0x7, preg.h=<target> Load imm 16 to upper half */
#define R_BFIN_PCREL12_JUMP_S 8 /* # 0x8 jump.s <target> */
#define R_BFIN_PCREL24_JUMP_X 9 /* # 0x9 jump.x <target> */
#define R_BFIN_PCREL24 10 /* # 0xa call <target> , not expandable */
#define R_BFIN_UNUSEDB 11 /* # 0xb not generated */
#define R_BFIN_UNUSEDC 12 /* # 0xc not used */
#define R_BFIN_PCREL24_JUMP_L 13 /* 0xd jump.l <target> */
#define R_BFIN_PCREL24_CALL_X 14 /* 0xE, call.x <target> if <target> is above 24 bit limit call through P1 */
#define R_BFIN_VAR_EQ_SYMB 15 /* 0xf, linker should treat it same as 0x12 */
#define R_BFIN_BYTE_DATA 16 /* 0x10, .byte var = symbol */
#define R_BFIN_BYTE2_DATA 17 /* 0x11, .byte2 var = symbol */
#define R_BFIN_BYTE4_DATA 18 /* 0x12, .byte4 var = symbol and .var var=symbol */
#define R_BFIN_PCREL11 19 /* 0x13, lsetup part b */
#define R_BFIN_UNUSED14 20 /* 0x14, undefined */
#define R_BFIN_UNUSED15 21 /* not generated by VDSP 3.5 */
/* arithmetic relocations */
#define R_push 0xE0
#define R_const 0xE1
#define R_add 0xE2
#define R_sub 0xE3
#define R_mult 0xE4
#define R_div 0xE5
#define R_mod 0xE6
#define R_lshift 0xE7
#define R_rshift 0xE8
#define R_and 0xE9
#define R_or 0xEA
#define R_xor 0xEB
#define R_land 0xEC
#define R_lor 0xED
#define R_len 0xEE
#define R_neg 0xEF
#define R_comp 0xF0
#define R_page 0xF1
#define R_hwpage 0xF2
#define R_addr 0xF3
#define R_BFIN_PUSH 0xE0
#define R_BFIN_CONST 0xE1
#define R_BFIN_ADD 0xE2
#define R_BFIN_SUB 0xE3
#define R_BFIN_MULT 0xE4
#define R_BFIN_DIV 0xE5
#define R_BFIN_MOD 0xE6
#define R_BFIN_LSHIFT 0xE7
#define R_BFIN_RSHIFT 0xE8
#define R_BFIN_AND 0xE9
#define R_BFIN_OR 0xEA
#define R_BFIN_XOR 0xEB
#define R_BFIN_LAND 0xEC
#define R_BFIN_LOR 0xED
#define R_BFIN_LEN 0xEE
#define R_BFIN_NEG 0xEF
#define R_BFIN_COMP 0xF0
#define R_BFIN_PAGE 0xF1
#define R_BFIN_HWPAGE 0xF2
#define R_BFIN_ADDR 0xF3
/* This is the location that an ET_DYN program is loaded if exec'ed. Typical
use of this is to invoke "./ld.so someprog" to test out a new version of

View File

@ -201,8 +201,8 @@ apply_relocate(Elf_Shdr * sechdrs, const char *strtab,
/* Arithmetic relocations are handled. */
/* We do not expect LSETUP to be split and hence is not */
/* handled. */
/* R_byte and R_byte2 are also not handled as the gas */
/* does not generate it. */
/* R_BFIN_BYTE and R_BFIN_BYTE2 are also not handled as the */
/* gas does not generate it. */
/*************************************************************************/
int
apply_relocate_add(Elf_Shdr * sechdrs, const char *strtab,
@ -243,8 +243,8 @@ apply_relocate_add(Elf_Shdr * sechdrs, const char *strtab,
#endif
switch (ELF32_R_TYPE(rel[i].r_info)) {
case R_pcrel24:
case R_pcrel24_jump_l:
case R_BFIN_PCREL24:
case R_BFIN_PCREL24_JUMP_L:
/* Add the value, subtract its postition */
location16 =
(uint16_t *) (sechdrs[sechdrs[relsec].sh_info].
@ -266,18 +266,18 @@ apply_relocate_add(Elf_Shdr * sechdrs, const char *strtab,
(*location16 & 0xff00) | (value >> 16 & 0x00ff);
*(location16 + 1) = value & 0xffff;
break;
case R_pcrel12_jump:
case R_pcrel12_jump_s:
case R_BFIN_PCREL12_JUMP:
case R_BFIN_PCREL12_JUMP_S:
value -= (uint32_t) location32;
value >>= 1;
*location16 = (value & 0xfff);
break;
case R_pcrel10:
case R_BFIN_PCREL10:
value -= (uint32_t) location32;
value >>= 1;
*location16 = (value & 0x3ff);
break;
case R_luimm16:
case R_BFIN_LUIMM16:
pr_debug("before %x after %x\n", *location16,
(value & 0xffff));
tmp = (value & 0xffff);
@ -286,7 +286,7 @@ apply_relocate_add(Elf_Shdr * sechdrs, const char *strtab,
} else
*location16 = tmp;
break;
case R_huimm16:
case R_BFIN_HUIMM16:
pr_debug("before %x after %x\n", *location16,
((value >> 16) & 0xffff));
tmp = ((value >> 16) & 0xffff);
@ -295,10 +295,10 @@ apply_relocate_add(Elf_Shdr * sechdrs, const char *strtab,
} else
*location16 = tmp;
break;
case R_rimm16:
case R_BFIN_RIMM16:
*location16 = (value & 0xffff);
break;
case R_byte4_data:
case R_BFIN_BYTE4_DATA:
pr_debug("before %x after %x\n", *location32, value);
*location32 = value;
break;