| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Add missing relocation info for C67 target | Thomas Preud'homme | 2016-12-10 | 1 | -1/+11 |
| | | | | | | Fill in relocs_info table for C67 and fix R_C60_NUM value to really be greater than all relocation values known to TCC. | ||||
| * | Fix PLT creation for i386 | Thomas Preud'homme | 2016-12-10 | 1 | -0/+1 |
| | | | | | | | | | | | | | | | | | | | | i386 target does not have PC relative loads. Its ABI therefore require ebx register to points to the GOT when executing a PLT entry. This means that PLT entry cannot be used transparently, the compiler needs to expect execution of a PLT entry to be able to use one, that is a PLT entry should only be created if the relocation explicitely asks for it (eg. R_386_PLT32). This patch creates a new target macro PCRELATIVE_DLLPLT to indicate whether a target can do a PC relative load in PLT entry when building a dynamic library. Executable do not normally pose a problem because they are loaded at a fixed address and thus the absolute address of GOT can be used. Note that in such a case, if the compiler does not use a PLT aware relocation for external access then the code relocation will fall on the dynamic loader since there is no PLT entry to relocate too. | ||||
| * | Add relocs_info array to c67 backend | Thomas Preud'homme | 2016-12-05 | 1 | -0/+2 |
| | | |||||
| * | Fix relocs_info declaration in tcc.h | Thomas Preud'homme | 2016-12-05 | 1 | -1/+22 |
| | | | | | | | | | | C standard specifies that array should be declared with a non null size or with * for standard array. Declaration of relocs_info in tcc.h was not respecting this rule. This commit add a R_NUM macro that maps to the R_<ARCH>_NUM macros and declare relocs_info using it. This commit also moves all linker-related macros from <arch>-gen.c files to <arch>-link.c ones. | ||||
| * | Do section relocation in architecture backend | Thomas Preud'homme | 2016-12-03 | 1 | -0/+35 |
