mirror of
https://github.com/mirror/tinycc.git
synced 2025-02-04 06:30:10 +08:00
50b4f320dc
Currently tcc does not use lazy binding. It puts all relocations in the RELX section and solve them all at startup. This was not working on bsd. tcc.h: - New RELPLT_SECTION_FMT for plt relocations - New entry relocplt in struct Section tccelf.c: - put_elf_reloca: put R_JMP_SLOT in relocplt section - build_got_entries*: Use two passes because R_JMP_SLOT and R_GLOB_DAT can not be intermixed on some targets (arm, arm64) - layout_sections: Calculate correct size relocplt section for DT_ values. Make sure relocplt is last - fill_dynamic: Add DT_ values when got is filled move DT_VERSYM because dynamic linker cannot handle it standone - Add note section for NetBSD arm-link.c/arm64-link.c/i386-link.c/riscv64-link.c/x86_64-link.c: - fill got table with pointer to plt section or symbol value in case of TCC_OUTPUT_MEMORY arm-link.c/arm64-link.c: - fix offset first plt entry i386-link.c/x86_64-link.c: - use correct reloc entry - use relofs - sizeof (ElfW_Rel) because the reloc is already done lib/bcheck.c: - no __libc_freeres on FreeBSD and NetBSD tests/Makefile: - Add -fno-stack-protector for OpenBSD tests/tests2/Makefile: - disable 106_pthread/114_bound_signal |
||
---|---|---|
.. | ||
alloca86_64-bt.S | ||
alloca86_64.S | ||
alloca86-bt.S | ||
alloca86.S | ||
alloca-arm.S | ||
armeabi.c | ||
armflush.c | ||
bcheck.c | ||
bt-dll.c | ||
bt-exe.c | ||
bt-log.c | ||
dsohandle.c | ||
fetch_and_add_arm64.S | ||
fetch_and_add_arm.S | ||
fetch_and_add_riscv64.S | ||
lib-arm64.c | ||
libtcc1.c | ||
Makefile | ||
va_list.c |