History

Remove now useless pltoff_addend reloc info

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.

Thomas Preud'homme committed 9 years ago

Commit d31226c1 parent ee2108d6 files · +69 −70Browse files

Unified · Split

6 files
  1. arm-link.c +21 −21
  2. arm64-link.c +14 −14
  3. c67-link.c +9 −9
  4. i386-link.c +11 −11
  5. tcc.h +2 −3
  6. x86_64-link.c +12 −12
arm-link.c+21−21
@@ -27,27 +27,27 @@ enum float_abi { · 26 unmodified lines
27#include "tcc.h"27#include "tcc.h"
28 28
29ST_DATA struct reloc_info relocs_info[R_NUM] = {29ST_DATA struct reloc_info relocs_info[R_NUM] = {
30 INIT_RELOC_INFO (R_ARM_PC24, 1, AUTO_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, 0)31 INIT_RELOC_INFO (R_ARM_CALL, 1, AUTO_GOTPLT_ENTRY)
32 INIT_RELOC_INFO (R_ARM_JUMP24, 1, AUTO_GOTPLT_ENTRY, 0)32 INIT_RELOC_INFO (R_ARM_JUMP24, 1, AUTO_GOTPLT_ENTRY)
33 INIT_RELOC_INFO (R_ARM_PLT32, 1, ALWAYS_GOTPLT_ENTRY, 0)33 INIT_RELOC_INFO (R_ARM_PLT32, 1, ALWAYS_GOTPLT_ENTRY)
34 INIT_RELOC_INFO (R_ARM_THM_PC22, 1, AUTO_GOTPLT_ENTRY, 0)34 INIT_RELOC_INFO (R_ARM_THM_PC22, 1, AUTO_GOTPLT_ENTRY)
35 INIT_RELOC_INFO (R_ARM_THM_JUMP24, 1, AUTO_GOTPLT_ENTRY, 0)35 INIT_RELOC_INFO (R_ARM_THM_JUMP24, 1, AUTO_GOTPLT_ENTRY)
36 INIT_RELOC_INFO (R_ARM_MOVT_ABS, 0, AUTO_GOTPLT_ENTRY, 0)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, 0)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, 0)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, 0)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, 0)40 INIT_RELOC_INFO (R_ARM_PREL31, 1, AUTO_GOTPLT_ENTRY)
41 INIT_RELOC_INFO (R_ARM_ABS32, 0, AUTO_GOTPLT_ENTRY, 0)41 INIT_RELOC_INFO (R_ARM_ABS32, 0, AUTO_GOTPLT_ENTRY)
42 INIT_RELOC_INFO (R_ARM_REL32, 0, AUTO_GOTPLT_ENTRY, 0)42 INIT_RELOC_INFO (R_ARM_REL32, 0, AUTO_GOTPLT_ENTRY)
43 INIT_RELOC_INFO (R_ARM_GOTPC, 0, BUILD_GOT_ONLY, 0)43 INIT_RELOC_INFO (R_ARM_GOTPC, 0, BUILD_GOT_ONLY)
44 INIT_RELOC_INFO (R_ARM_GOTOFF, 0, BUILD_GOT_ONLY, 0)44 INIT_RELOC_INFO (R_ARM_GOTOFF, 0, BUILD_GOT_ONLY)
45 INIT_RELOC_INFO (R_ARM_GOT32, 0, ALWAYS_GOTPLT_ENTRY, 0)45 INIT_RELOC_INFO (R_ARM_GOT32, 0, ALWAYS_GOTPLT_ENTRY)
46 INIT_RELOC_INFO (R_ARM_COPY, 0, NO_GOTPLT_ENTRY, 0)46 INIT_RELOC_INFO (R_ARM_COPY, 0, NO_GOTPLT_ENTRY)
47 INIT_RELOC_INFO (R_ARM_V4BX, 1, AUTO_GOTPLT_ENTRY, 0)47 INIT_RELOC_INFO (R_ARM_V4BX, 1, AUTO_GOTPLT_ENTRY)
48 INIT_RELOC_INFO (R_ARM_GLOB_DAT, 0, NO_GOTPLT_ENTRY, 0)48 INIT_RELOC_INFO (R_ARM_GLOB_DAT, 0, NO_GOTPLT_ENTRY)
49 INIT_RELOC_INFO (R_ARM_JUMP_SLOT, 1, NO_GOTPLT_ENTRY, 0)49 INIT_RELOC_INFO (R_ARM_JUMP_SLOT, 1, NO_GOTPLT_ENTRY)
50 INIT_RELOC_INFO (R_ARM_NONE, 0, NO_GOTPLT_ENTRY, 0)50 INIT_RELOC_INFO (R_ARM_NONE, 0, NO_GOTPLT_ENTRY)
51};51};
52 52
53void relocate_init(Section *sr) {}53void relocate_init(Section *sr) {}
arm64-link.c+14−14
@@ -21,20 +21,20 @@ · 20 unmodified lines
21#include "tcc.h"21#include "tcc.h"
22 22
23ST_DATA struct reloc_info relocs_info[R_NUM] = {23ST_DATA struct reloc_info relocs_info[R_NUM] = {
24 INIT_RELOC_INFO (R_AARCH64_ABS32, 0, 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, 0)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, 0)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, 0)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, 0)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, 0)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, 0)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, 0)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, 1)32 INIT_RELOC_INFO (R_AARCH64_JUMP26, 1, AUTO_GOTPLT_ENTRY)
33 INIT_RELOC_INFO (R_AARCH64_CALL26, 1, AUTO_GOTPLT_ENTRY, 1)33 INIT_RELOC_INFO (R_AARCH64_CALL26, 1, AUTO_GOTPLT_ENTRY)
34 INIT_RELOC_INFO (R_AARCH64_ADR_GOT_PAGE, 0, ALWAYS_GOTPLT_ENTRY, 0)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, 0)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, 0)36 INIT_RELOC_INFO (R_AARCH64_GLOB_DAT, 0, NO_GOTPLT_ENTRY)
37 INIT_RELOC_INFO (R_AARCH64_JUMP_SLOT, 1, NO_GOTPLT_ENTRY, 0)37 INIT_RELOC_INFO (R_AARCH64_JUMP_SLOT, 1, NO_GOTPLT_ENTRY)
38};38};
39 39
40void relocate_init(Section *sr) {}40void relocate_init(Section *sr) {}
c67-link.c+9−9
@@ -22,15 +22,15 @@ · 21 unmodified lines
22#include "tcc.h"22#include "tcc.h"
23 23
24ST_DATA struct reloc_info relocs_info[R_NUM] = {24ST_DATA struct reloc_info relocs_info[R_NUM] = {
25 INIT_RELOC_INFO (R_C60_32, 0, 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, 0)26 INIT_RELOC_INFO (R_C60LO16, 0, NO_GOTPLT_ENTRY)
27 INIT_RELOC_INFO (R_C60HI16, 0, NO_GOTPLT_ENTRY, 0)27 INIT_RELOC_INFO (R_C60HI16, 0, NO_GOTPLT_ENTRY)
28 INIT_RELOC_INFO (R_C60_GOTOFF, 0, BUILD_GOT_ONLY, 0)28 INIT_RELOC_INFO (R_C60_GOTOFF, 0, BUILD_GOT_ONLY)
29 INIT_RELOC_INFO (R_C60_GOTPC, 0, BUILD_GOT_ONLY, 0)29 INIT_RELOC_INFO (R_C60_GOTPC, 0, BUILD_GOT_ONLY)
30 INIT_RELOC_INFO (R_C60_GOT32, 0, ALWAYS_GOTPLT_ENTRY, 0)30 INIT_RELOC_INFO (R_C60_GOT32, 0, ALWAYS_GOTPLT_ENTRY)
31 INIT_RELOC_INFO (R_C60_PLT32, 1, ALWAYS_GOTPLT_ENTRY, 0)31 INIT_RELOC_INFO (R_C60_PLT32, 1, ALWAYS_GOTPLT_ENTRY)
32 INIT_RELOC_INFO (R_C60_GLOB_DAT, 0, NO_GOTPLT_ENTRY, 0)32 INIT_RELOC_INFO (R_C60_GLOB_DAT, 0, NO_GOTPLT_ENTRY)
33 INIT_RELOC_INFO (R_C60_JMP_SLOT, 1, NO_GOTPLT_ENTRY, 0)33 INIT_RELOC_INFO (R_C60_JMP_SLOT, 1, NO_GOTPLT_ENTRY)
34};34};
35 35
36void relocate_init(Section *sr) {}36void relocate_init(Section *sr) {}
i386-link.c+11−11
@@ -23,17 +23,17 @@ · 22 unmodified lines
23 23
24static ElfW_Rel *qrel; /* ptr to next reloc entry reused */24static ElfW_Rel *qrel; /* ptr to next reloc entry reused */
25ST_DATA struct reloc_info relocs_info[R_NUM] = {25ST_DATA struct reloc_info relocs_info[R_NUM] = {
26 INIT_RELOC_INFO (R_386_32, 0, NO_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, 0)27 INIT_RELOC_INFO (R_386_PC32, 1, AUTO_GOTPLT_ENTRY)
28 INIT_RELOC_INFO (R_386_PLT32, 1, ALWAYS_GOTPLT_ENTRY, 0)28 INIT_RELOC_INFO (R_386_PLT32, 1, ALWAYS_GOTPLT_ENTRY)
29 INIT_RELOC_INFO (R_386_GLOB_DAT, 0, NO_GOTPLT_ENTRY, 0)29 INIT_RELOC_INFO (R_386_GLOB_DAT, 0, NO_GOTPLT_ENTRY)
30 INIT_RELOC_INFO (R_386_JMP_SLOT, 1, NO_GOTPLT_ENTRY, 0)30 INIT_RELOC_INFO (R_386_JMP_SLOT, 1, NO_GOTPLT_ENTRY)
31 INIT_RELOC_INFO (R_386_GOTPC, 0, BUILD_GOT_ONLY, 0)31 INIT_RELOC_INFO (R_386_GOTPC, 0, BUILD_GOT_ONLY)
32 INIT_RELOC_INFO (R_386_GOTOFF, 0, BUILD_GOT_ONLY, 0)32 INIT_RELOC_INFO (R_386_GOTOFF, 0, BUILD_GOT_ONLY)
33 INIT_RELOC_INFO (R_386_GOT32, 0, ALWAYS_GOTPLT_ENTRY, 0)33 INIT_RELOC_INFO (R_386_GOT32, 0, ALWAYS_GOTPLT_ENTRY)
34 INIT_RELOC_INFO (R_386_GOT32X, 0, ALWAYS_GOTPLT_ENTRY, 0)34 INIT_RELOC_INFO (R_386_GOT32X, 0, ALWAYS_GOTPLT_ENTRY)
35 INIT_RELOC_INFO (R_386_16, 0, NO_GOTPLT_ENTRY, 0)35 INIT_RELOC_INFO (R_386_16, 0, NO_GOTPLT_ENTRY)
36 INIT_RELOC_INFO (R_386_PC16, 1, AUTO_GOTPLT_ENTRY, 0)36 INIT_RELOC_INFO (R_386_PC16, 1, AUTO_GOTPLT_ENTRY)
37};37};
38 38
39void relocate_init(Section *sr)39void relocate_init(Section *sr)
tcc.h+2−3
@@ -1326,11 +1326,10 @@ struct reloc_info { · 1325 unmodified lines
1326 int known; /* true for known relocation */1326 int known; /* true for known relocation */
1327 int code_reloc; /* if false, that's a data reloc */1327 int code_reloc; /* if false, that's a data reloc */
1328 int gotplt_entry; /* wether and when to create a GOT/PLT entry */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) \1331#define INIT_RELOC_INFO(rtype, code_reloc, gotplt_entry) \
1333 [rtype] = {1, code_reloc, gotplt_entry, pltoff_addend},1332 [rtype] = {1, code_reloc, gotplt_entry},
1334ST_DATA struct reloc_info relocs_info[R_NUM];1333ST_DATA struct reloc_info relocs_info[R_NUM];
1335 1334
1336ST_DATA Section *text_section, *data_section, *bss_section; /* predefined sections */1335ST_DATA Section *text_section, *data_section, *bss_section; /* predefined sections */
x86_64-link.c+12−12
@@ -23,18 +23,18 @@ · 22 unmodified lines
23 23
24static ElfW_Rel *qrel; /* ptr to next reloc entry reused */24static ElfW_Rel *qrel; /* ptr to next reloc entry reused */
25ST_DATA struct reloc_info relocs_info[R_NUM] = {25ST_DATA struct reloc_info relocs_info[R_NUM] = {
26 INIT_RELOC_INFO (R_X86_64_64, 0, AUTO_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, 0)27 INIT_RELOC_INFO (R_X86_64_32, 0, AUTO_GOTPLT_ENTRY)
28 INIT_RELOC_INFO (R_X86_64_32S, 0, AUTO_GOTPLT_ENTRY, 0)28 INIT_RELOC_INFO (R_X86_64_32S, 0, AUTO_GOTPLT_ENTRY)
29 INIT_RELOC_INFO (R_X86_64_PC32, 1, AUTO_GOTPLT_ENTRY, 0)29 INIT_RELOC_INFO (R_X86_64_PC32, 1, AUTO_GOTPLT_ENTRY)
30 INIT_RELOC_INFO (R_X86_64_PLT32, 1, ALWAYS_GOTPLT_ENTRY, 1)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, 0)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, 0)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, 0)33 INIT_RELOC_INFO (R_X86_64_GOTPCREL, 0, ALWAYS_GOTPLT_ENTRY)
34 INIT_RELOC_INFO (R_X86_64_GOTPCRELX, 0, ALWAYS_GOTPLT_ENTRY, 0)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, 0)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, 0)36 INIT_RELOC_INFO (R_X86_64_GOTTPOFF, 0, BUILD_GOT_ONLY)
37 INIT_RELOC_INFO (R_X86_64_GOT32, 0, ALWAYS_GOTPLT_ENTRY, 0)37 INIT_RELOC_INFO (R_X86_64_GOT32, 0, ALWAYS_GOTPLT_ENTRY)
38};38};
39 39
40void relocate_init(Section *sr)40void relocate_init(Section *sr)

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t