Last use for pltoff_addend field of relocs_info array was removed in commit 25927df3b75c5ce2b64ab8acdcc5974b4e1c89c1. It is now useless so this commit removes it and all initialization related to it.
Unified · Split
| @@ -27,27 +27,27 @@ enum float_abi { · 26 unmodified lines | ||
| 27 | 27 | #include "tcc.h" |
| 28 | 28 | |
| 29 | 29 | ST_DATA struct reloc_info relocs_info[R_NUM] = { |
| 30 | − INIT_RELOC_INFO (R_ARM_PC24, 1, AUTO_GOTPLT_ENTRY, 0) | |
| 31 | − INIT_RELOC_INFO (R_ARM_CALL, 1, AUTO_GOTPLT_ENTRY, 0) | |
| 32 | − INIT_RELOC_INFO (R_ARM_JUMP24, 1, AUTO_GOTPLT_ENTRY, 0) | |
| 33 | − INIT_RELOC_INFO (R_ARM_PLT32, 1, ALWAYS_GOTPLT_ENTRY, 0) | |
| 34 | − INIT_RELOC_INFO (R_ARM_THM_PC22, 1, AUTO_GOTPLT_ENTRY, 0) | |
| 35 | − INIT_RELOC_INFO (R_ARM_THM_JUMP24, 1, AUTO_GOTPLT_ENTRY, 0) | |
| 36 | − INIT_RELOC_INFO (R_ARM_MOVT_ABS, 0, AUTO_GOTPLT_ENTRY, 0) | |
| 37 | − INIT_RELOC_INFO (R_ARM_MOVW_ABS_NC, 0, AUTO_GOTPLT_ENTRY, 0) | |
| 38 | − INIT_RELOC_INFO (R_ARM_THM_MOVT_ABS, 0, AUTO_GOTPLT_ENTRY, 0) | |
| 39 | − INIT_RELOC_INFO (R_ARM_THM_MOVW_ABS_NC, 0, AUTO_GOTPLT_ENTRY, 0) | |
| 40 | − INIT_RELOC_INFO (R_ARM_PREL31, 1, AUTO_GOTPLT_ENTRY, 0) | |
| 41 | − INIT_RELOC_INFO (R_ARM_ABS32, 0, AUTO_GOTPLT_ENTRY, 0) | |
| 42 | − INIT_RELOC_INFO (R_ARM_REL32, 0, AUTO_GOTPLT_ENTRY, 0) | |
| 43 | − INIT_RELOC_INFO (R_ARM_GOTPC, 0, BUILD_GOT_ONLY, 0) | |
| 44 | − INIT_RELOC_INFO (R_ARM_GOTOFF, 0, BUILD_GOT_ONLY, 0) | |
| 45 | − INIT_RELOC_INFO (R_ARM_GOT32, 0, ALWAYS_GOTPLT_ENTRY, 0) | |
| 46 | − INIT_RELOC_INFO (R_ARM_COPY, 0, NO_GOTPLT_ENTRY, 0) | |
| 47 | − INIT_RELOC_INFO (R_ARM_V4BX, 1, AUTO_GOTPLT_ENTRY, 0) | |
| 48 | − INIT_RELOC_INFO (R_ARM_GLOB_DAT, 0, NO_GOTPLT_ENTRY, 0) | |
| 49 | − INIT_RELOC_INFO (R_ARM_JUMP_SLOT, 1, NO_GOTPLT_ENTRY, 0) | |
| 50 | − INIT_RELOC_INFO (R_ARM_NONE, 0, NO_GOTPLT_ENTRY, 0) | |
| 30 | + INIT_RELOC_INFO (R_ARM_PC24, 1, AUTO_GOTPLT_ENTRY) | |
| 31 | + INIT_RELOC_INFO (R_ARM_CALL, 1, AUTO_GOTPLT_ENTRY) | |
| 32 | + INIT_RELOC_INFO (R_ARM_JUMP24, 1, AUTO_GOTPLT_ENTRY) | |
| 33 | + INIT_RELOC_INFO (R_ARM_PLT32, 1, ALWAYS_GOTPLT_ENTRY) | |
| 34 | + INIT_RELOC_INFO (R_ARM_THM_PC22, 1, AUTO_GOTPLT_ENTRY) | |
| 35 | + INIT_RELOC_INFO (R_ARM_THM_JUMP24, 1, AUTO_GOTPLT_ENTRY) | |
| 36 | + INIT_RELOC_INFO (R_ARM_MOVT_ABS, 0, AUTO_GOTPLT_ENTRY) | |
| 37 | + INIT_RELOC_INFO (R_ARM_MOVW_ABS_NC, 0, AUTO_GOTPLT_ENTRY) | |
| 38 | + INIT_RELOC_INFO (R_ARM_THM_MOVT_ABS, 0, AUTO_GOTPLT_ENTRY) | |
| 39 | + INIT_RELOC_INFO (R_ARM_THM_MOVW_ABS_NC, 0, AUTO_GOTPLT_ENTRY) | |
| 40 | + INIT_RELOC_INFO (R_ARM_PREL31, 1, AUTO_GOTPLT_ENTRY) | |
| 41 | + INIT_RELOC_INFO (R_ARM_ABS32, 0, AUTO_GOTPLT_ENTRY) | |
| 42 | + INIT_RELOC_INFO (R_ARM_REL32, 0, AUTO_GOTPLT_ENTRY) | |
| 43 | + INIT_RELOC_INFO (R_ARM_GOTPC, 0, BUILD_GOT_ONLY) | |
| 44 | + INIT_RELOC_INFO (R_ARM_GOTOFF, 0, BUILD_GOT_ONLY) | |
| 45 | + INIT_RELOC_INFO (R_ARM_GOT32, 0, ALWAYS_GOTPLT_ENTRY) | |
| 46 | + INIT_RELOC_INFO (R_ARM_COPY, 0, NO_GOTPLT_ENTRY) | |
| 47 | + INIT_RELOC_INFO (R_ARM_V4BX, 1, AUTO_GOTPLT_ENTRY) | |
| 48 | + INIT_RELOC_INFO (R_ARM_GLOB_DAT, 0, NO_GOTPLT_ENTRY) | |
| 49 | + INIT_RELOC_INFO (R_ARM_JUMP_SLOT, 1, NO_GOTPLT_ENTRY) | |
| 50 | + INIT_RELOC_INFO (R_ARM_NONE, 0, NO_GOTPLT_ENTRY) | |
| 51 | 51 | }; |
| 52 | 52 | |
| 53 | 53 | void relocate_init(Section *sr) {} |
| @@ -21,20 +21,20 @@ · 20 unmodified lines | ||
| 21 | 21 | #include "tcc.h" |
| 22 | 22 | |
| 23 | 23 | ST_DATA struct reloc_info relocs_info[R_NUM] = { |
| 24 | − INIT_RELOC_INFO (R_AARCH64_ABS32, 0, NO_GOTPLT_ENTRY, 0) | |
| 25 | − INIT_RELOC_INFO (R_AARCH64_ABS64, 0, NO_GOTPLT_ENTRY, 0) | |
| 26 | − INIT_RELOC_INFO (R_AARCH64_MOVW_UABS_G0_NC, 0, NO_GOTPLT_ENTRY, 0) | |
| 27 | − INIT_RELOC_INFO (R_AARCH64_MOVW_UABS_G1_NC, 0, NO_GOTPLT_ENTRY, 0) | |
| 28 | − INIT_RELOC_INFO (R_AARCH64_MOVW_UABS_G2_NC, 0, NO_GOTPLT_ENTRY, 0) | |
| 29 | − INIT_RELOC_INFO (R_AARCH64_MOVW_UABS_G3, 0, NO_GOTPLT_ENTRY, 0) | |
| 30 | − INIT_RELOC_INFO (R_AARCH64_ADR_PREL_PG_HI21, 0, NO_GOTPLT_ENTRY, 0) | |
| 31 | − INIT_RELOC_INFO (R_AARCH64_ADD_ABS_LO12_NC, 0, NO_GOTPLT_ENTRY, 0) | |
| 32 | − INIT_RELOC_INFO (R_AARCH64_JUMP26, 1, AUTO_GOTPLT_ENTRY, 1) | |
| 33 | − INIT_RELOC_INFO (R_AARCH64_CALL26, 1, AUTO_GOTPLT_ENTRY, 1) | |
| 34 | − INIT_RELOC_INFO (R_AARCH64_ADR_GOT_PAGE, 0, ALWAYS_GOTPLT_ENTRY, 0) | |
| 35 | − INIT_RELOC_INFO (R_AARCH64_LD64_GOT_LO12_NC, 0, ALWAYS_GOTPLT_ENTRY, 0) | |
| 36 | − INIT_RELOC_INFO (R_AARCH64_GLOB_DAT, 0, NO_GOTPLT_ENTRY, 0) | |
| 37 | − INIT_RELOC_INFO (R_AARCH64_JUMP_SLOT, 1, NO_GOTPLT_ENTRY, 0) | |
| 24 | + INIT_RELOC_INFO (R_AARCH64_ABS32, 0, NO_GOTPLT_ENTRY) | |
| 25 | + INIT_RELOC_INFO (R_AARCH64_ABS64, 0, NO_GOTPLT_ENTRY) | |
| 26 | + INIT_RELOC_INFO (R_AARCH64_MOVW_UABS_G0_NC, 0, NO_GOTPLT_ENTRY) | |
| 27 | + INIT_RELOC_INFO (R_AARCH64_MOVW_UABS_G1_NC, 0, NO_GOTPLT_ENTRY) | |
| 28 | + INIT_RELOC_INFO (R_AARCH64_MOVW_UABS_G2_NC, 0, NO_GOTPLT_ENTRY) | |
| 29 | + INIT_RELOC_INFO (R_AARCH64_MOVW_UABS_G3, 0, NO_GOTPLT_ENTRY) | |
| 30 | + INIT_RELOC_INFO (R_AARCH64_ADR_PREL_PG_HI21, 0, NO_GOTPLT_ENTRY) | |
| 31 | + INIT_RELOC_INFO (R_AARCH64_ADD_ABS_LO12_NC, 0, NO_GOTPLT_ENTRY) | |
| 32 | + INIT_RELOC_INFO (R_AARCH64_JUMP26, 1, AUTO_GOTPLT_ENTRY) | |
| 33 | + INIT_RELOC_INFO (R_AARCH64_CALL26, 1, AUTO_GOTPLT_ENTRY) | |
| 34 | + INIT_RELOC_INFO (R_AARCH64_ADR_GOT_PAGE, 0, ALWAYS_GOTPLT_ENTRY) | |
| 35 | + INIT_RELOC_INFO (R_AARCH64_LD64_GOT_LO12_NC, 0, ALWAYS_GOTPLT_ENTRY) | |
| 36 | + INIT_RELOC_INFO (R_AARCH64_GLOB_DAT, 0, NO_GOTPLT_ENTRY) | |
| 37 | + INIT_RELOC_INFO (R_AARCH64_JUMP_SLOT, 1, NO_GOTPLT_ENTRY) | |
| 38 | 38 | }; |
| 39 | 39 | |
| 40 | 40 | void relocate_init(Section *sr) {} |
| @@ -22,15 +22,15 @@ · 21 unmodified lines | ||
| 22 | 22 | #include "tcc.h" |
| 23 | 23 | |
| 24 | 24 | ST_DATA struct reloc_info relocs_info[R_NUM] = { |
| 25 | − INIT_RELOC_INFO (R_C60_32, 0, NO_GOTPLT_ENTRY, 0) | |
| 26 | − INIT_RELOC_INFO (R_C60LO16, 0, NO_GOTPLT_ENTRY, 0) | |
| 27 | − INIT_RELOC_INFO (R_C60HI16, 0, NO_GOTPLT_ENTRY, 0) | |
| 28 | − INIT_RELOC_INFO (R_C60_GOTOFF, 0, BUILD_GOT_ONLY, 0) | |
| 29 | − INIT_RELOC_INFO (R_C60_GOTPC, 0, BUILD_GOT_ONLY, 0) | |
| 30 | − INIT_RELOC_INFO (R_C60_GOT32, 0, ALWAYS_GOTPLT_ENTRY, 0) | |
| 31 | − INIT_RELOC_INFO (R_C60_PLT32, 1, ALWAYS_GOTPLT_ENTRY, 0) | |
| 32 | − INIT_RELOC_INFO (R_C60_GLOB_DAT, 0, NO_GOTPLT_ENTRY, 0) | |
| 33 | − INIT_RELOC_INFO (R_C60_JMP_SLOT, 1, NO_GOTPLT_ENTRY, 0) | |
| 25 | + INIT_RELOC_INFO (R_C60_32, 0, NO_GOTPLT_ENTRY) | |
| 26 | + INIT_RELOC_INFO (R_C60LO16, 0, NO_GOTPLT_ENTRY) | |
| 27 | + INIT_RELOC_INFO (R_C60HI16, 0, NO_GOTPLT_ENTRY) | |
| 28 | + INIT_RELOC_INFO (R_C60_GOTOFF, 0, BUILD_GOT_ONLY) | |
| 29 | + INIT_RELOC_INFO (R_C60_GOTPC, 0, BUILD_GOT_ONLY) | |
| 30 | + INIT_RELOC_INFO (R_C60_GOT32, 0, ALWAYS_GOTPLT_ENTRY) | |
| 31 | + INIT_RELOC_INFO (R_C60_PLT32, 1, ALWAYS_GOTPLT_ENTRY) | |
| 32 | + INIT_RELOC_INFO (R_C60_GLOB_DAT, 0, NO_GOTPLT_ENTRY) | |
| 33 | + INIT_RELOC_INFO (R_C60_JMP_SLOT, 1, NO_GOTPLT_ENTRY) | |
| 34 | 34 | }; |
| 35 | 35 | |
| 36 | 36 | void relocate_init(Section *sr) {} |
| @@ -23,17 +23,17 @@ · 22 unmodified lines | ||
| 23 | 23 | |
| 24 | 24 | static ElfW_Rel *qrel; /* ptr to next reloc entry reused */ |
| 25 | 25 | ST_DATA struct reloc_info relocs_info[R_NUM] = { |
| 26 | − INIT_RELOC_INFO (R_386_32, 0, NO_GOTPLT_ENTRY, 0) | |
| 27 | − INIT_RELOC_INFO (R_386_PC32, 1, AUTO_GOTPLT_ENTRY, 0) | |
| 28 | − INIT_RELOC_INFO (R_386_PLT32, 1, ALWAYS_GOTPLT_ENTRY, 0) | |
| 29 | − INIT_RELOC_INFO (R_386_GLOB_DAT, 0, NO_GOTPLT_ENTRY, 0) | |
| 30 | − INIT_RELOC_INFO (R_386_JMP_SLOT, 1, NO_GOTPLT_ENTRY, 0) | |
| 31 | − INIT_RELOC_INFO (R_386_GOTPC, 0, BUILD_GOT_ONLY, 0) | |
| 32 | − INIT_RELOC_INFO (R_386_GOTOFF, 0, BUILD_GOT_ONLY, 0) | |
| 33 | − INIT_RELOC_INFO (R_386_GOT32, 0, ALWAYS_GOTPLT_ENTRY, 0) | |
| 34 | − INIT_RELOC_INFO (R_386_GOT32X, 0, ALWAYS_GOTPLT_ENTRY, 0) | |
| 35 | − INIT_RELOC_INFO (R_386_16, 0, NO_GOTPLT_ENTRY, 0) | |
| 36 | − INIT_RELOC_INFO (R_386_PC16, 1, AUTO_GOTPLT_ENTRY, 0) | |
| 26 | + INIT_RELOC_INFO (R_386_32, 0, NO_GOTPLT_ENTRY) | |
| 27 | + INIT_RELOC_INFO (R_386_PC32, 1, AUTO_GOTPLT_ENTRY) | |
| 28 | + INIT_RELOC_INFO (R_386_PLT32, 1, ALWAYS_GOTPLT_ENTRY) | |
| 29 | + INIT_RELOC_INFO (R_386_GLOB_DAT, 0, NO_GOTPLT_ENTRY) | |
| 30 | + INIT_RELOC_INFO (R_386_JMP_SLOT, 1, NO_GOTPLT_ENTRY) | |
| 31 | + INIT_RELOC_INFO (R_386_GOTPC, 0, BUILD_GOT_ONLY) | |
| 32 | + INIT_RELOC_INFO (R_386_GOTOFF, 0, BUILD_GOT_ONLY) | |
| 33 | + INIT_RELOC_INFO (R_386_GOT32, 0, ALWAYS_GOTPLT_ENTRY) | |
| 34 | + INIT_RELOC_INFO (R_386_GOT32X, 0, ALWAYS_GOTPLT_ENTRY) | |
| 35 | + INIT_RELOC_INFO (R_386_16, 0, NO_GOTPLT_ENTRY) | |
| 36 | + INIT_RELOC_INFO (R_386_PC16, 1, AUTO_GOTPLT_ENTRY) | |
| 37 | 37 | }; |
| 38 | 38 | |
| 39 | 39 | void relocate_init(Section *sr) |
| @@ -1326,11 +1326,10 @@ struct reloc_info { · 1325 unmodified lines | ||
| 1326 | 1326 | int known; /* true for known relocation */ |
| 1327 | 1327 | int code_reloc; /* if false, that's a data reloc */ |
| 1328 | 1328 | int gotplt_entry; /* wether and when to create a GOT/PLT entry */ |
| 1329 | − int pltoff_addend; /* wether to store the PLT offset in addend */ | |
| 1330 | 1329 | }; |
| 1331 | 1330 | |
| 1332 | −#define INIT_RELOC_INFO(rtype, code_reloc, gotplt_entry, pltoff_addend) \ | |
| 1333 | − [rtype] = {1, code_reloc, gotplt_entry, pltoff_addend}, | |
| 1331 | +#define INIT_RELOC_INFO(rtype, code_reloc, gotplt_entry) \ | |
| 1332 | + [rtype] = {1, code_reloc, gotplt_entry}, | |
| 1334 | 1333 | ST_DATA struct reloc_info relocs_info[R_NUM]; |
| 1335 | 1334 | |
| 1336 | 1335 | ST_DATA Section *text_section, *data_section, *bss_section; /* predefined sections */ |
| @@ -23,18 +23,18 @@ · 22 unmodified lines | ||
| 23 | 23 | |
| 24 | 24 | static ElfW_Rel *qrel; /* ptr to next reloc entry reused */ |
| 25 | 25 | ST_DATA struct reloc_info relocs_info[R_NUM] = { |
| 26 | − INIT_RELOC_INFO (R_X86_64_64, 0, AUTO_GOTPLT_ENTRY, 0) | |
| 27 | − INIT_RELOC_INFO (R_X86_64_32, 0, AUTO_GOTPLT_ENTRY, 0) | |
| 28 | − INIT_RELOC_INFO (R_X86_64_32S, 0, AUTO_GOTPLT_ENTRY, 0) | |
| 29 | − INIT_RELOC_INFO (R_X86_64_PC32, 1, AUTO_GOTPLT_ENTRY, 0) | |
| 30 | − INIT_RELOC_INFO (R_X86_64_PLT32, 1, ALWAYS_GOTPLT_ENTRY, 1) | |
| 31 | − INIT_RELOC_INFO (R_X86_64_GLOB_DAT, 0, NO_GOTPLT_ENTRY, 0) | |
| 32 | − INIT_RELOC_INFO (R_X86_64_JUMP_SLOT, 1, NO_GOTPLT_ENTRY, 0) | |
| 33 | − INIT_RELOC_INFO (R_X86_64_GOTPCREL, 0, ALWAYS_GOTPLT_ENTRY, 0) | |
| 34 | − INIT_RELOC_INFO (R_X86_64_GOTPCRELX, 0, ALWAYS_GOTPLT_ENTRY, 0) | |
| 35 | − INIT_RELOC_INFO (R_X86_64_REX_GOTPCRELX, 0, ALWAYS_GOTPLT_ENTRY, 0) | |
| 36 | − INIT_RELOC_INFO (R_X86_64_GOTTPOFF, 0, BUILD_GOT_ONLY, 0) | |
| 37 | − INIT_RELOC_INFO (R_X86_64_GOT32, 0, ALWAYS_GOTPLT_ENTRY, 0) | |
| 26 | + INIT_RELOC_INFO (R_X86_64_64, 0, AUTO_GOTPLT_ENTRY) | |
| 27 | + INIT_RELOC_INFO (R_X86_64_32, 0, AUTO_GOTPLT_ENTRY) | |
| 28 | + INIT_RELOC_INFO (R_X86_64_32S, 0, AUTO_GOTPLT_ENTRY) | |
| 29 | + INIT_RELOC_INFO (R_X86_64_PC32, 1, AUTO_GOTPLT_ENTRY) | |
| 30 | + INIT_RELOC_INFO (R_X86_64_PLT32, 1, ALWAYS_GOTPLT_ENTRY) | |
| 31 | + INIT_RELOC_INFO (R_X86_64_GLOB_DAT, 0, NO_GOTPLT_ENTRY) | |
| 32 | + INIT_RELOC_INFO (R_X86_64_JUMP_SLOT, 1, NO_GOTPLT_ENTRY) | |
| 33 | + INIT_RELOC_INFO (R_X86_64_GOTPCREL, 0, ALWAYS_GOTPLT_ENTRY) | |
| 34 | + INIT_RELOC_INFO (R_X86_64_GOTPCRELX, 0, ALWAYS_GOTPLT_ENTRY) | |
| 35 | + INIT_RELOC_INFO (R_X86_64_REX_GOTPCRELX, 0, ALWAYS_GOTPLT_ENTRY) | |
| 36 | + INIT_RELOC_INFO (R_X86_64_GOTTPOFF, 0, BUILD_GOT_ONLY) | |
| 37 | + INIT_RELOC_INFO (R_X86_64_GOT32, 0, ALWAYS_GOTPLT_ENTRY) | |
| 38 | 38 | }; |
| 39 | 39 | |
| 40 | 40 | void relocate_init(Section *sr) |