aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-11-11Use wcwidth to exactly determine how much space a character tookPetr Machata
- So far we assumed it's one character worth of screen real-estaty per character written, but combining and wide characters can change this.
2013-11-11Add fdopen prototype to libc.so.confPetr Machata
2013-11-11When a typedef X_t is requested, don't match lens named X insteadPetr Machata
2013-11-11Add error message if ltelf_init fails to open ELFPetr Machata
2013-11-11In ltrace_init, don't call ltelf_destroy if ltelf_init failsPetr Machata
2013-11-11Support wide character stringsPetr Machata
- "string" lens and "format" pack were extended such that using an integer as underlying array type denotes a wide character string. - several prototypes from wchar.h were added to libc.so.conf. - ltrace.conf.5 was updated
2013-11-06Add a TODO itemPetr Machata
2013-11-06Support pre-8.5 TCL's by providing our own lreverse in ltrace.expPetr Machata
2013-11-06Replace a chain of stpcpy's with a sprintfPetr Machata
- That's clearer and doesn't require _POSIX_SOURCE defines (that are missing anyway)
2013-11-06Plug a leakPetr Machata
2013-11-06Plug a leakPetr Machata
2013-11-06Fix use-after-freePetr Machata
2013-11-05Fix compilation on ARMPetr Machata
- This was broken several commits back by removing pltrel from struct ltelf.
2013-11-05In ARM backend, move hooks for ltrace_elf and library to plt.cPetr Machata
- That's the customary location for backend hooks.
2013-11-05Move load_dynamic_entry from PPC backend to ltrace-elf.c/.hPetr Machata
2013-11-05Add trace-irelative.exp to Makefile.amPetr Machata
2013-11-05Update TODOPetr Machata
2013-11-05Bump release to 0.7.91Petr Machata
2013-11-05Full support of IFUNC tracing on PPC32Petr Machata
2013-11-05Add elf_add_plt_entry as a separate entry pointPetr Machata
- That calls into OS and ARCH callbacks as required and has the same interface. This also adds os_elf_add_plt_entry. - arch_elf_add_func_entry was added as well for symmetry.
2013-11-05Move code for tracing IFUNC symbolsPetr Machata
- ... from sysdeps/linux-gnu/hooks.c to sysdeps/linux-gnu/trace.c where it fits better.
2013-11-05Partial support of IFUNC tracing on PPC32Petr Machata
- Just like on PPC64, we need to move IRELATIVE relocations from .rela.dyn to the vector of PLT relocations - Just like on PPC64, we may need to rename the symbol--except the symbol to looked is the one with the address of PLT slot address, not of rela addend.
2013-11-05CleanupsPetr Machata
2013-11-05The irelative test case should check for IFUNC in shared library as wellPetr Machata
2013-11-04Properly publish read_relplt interface, rename it to elf_read_relocsPetr Machata
2013-11-04Show "nil" also for void* valuesPetr Machata
2013-10-30Support tracing P_PPC64_JMP_IREL slotsPetr Machata
2013-10-30If breakpoint_get_return_bp yields NULL breakpoint, don't try to add itPetr Machata
2013-10-29Remove unused includeLuca Clementi
2013-10-25Split linux_elf_find_irelative_name out of linux_elf_add_plt_entry_irelativePetr Machata
2013-10-25Keep PLT relocations in a vectorPetr Machata
- That means we have to copy them out of ELF ahead of time instead of referencing them from inside ELF on demand. But this way we can keep one grand vector of all PLT-like relocations. On PPC, this makes a difference: some PLT-like relocations (R_PPC64_JMP_IREL in particular) are stored in .rela.dyn, not .rela.plt.
2013-10-25OPD-transate the address that comes back from IFUNC resolverPetr Machata
2013-10-25Rewrite the IFUNC test case to avoid GCC attributePetr Machata
- GCC doesn't support __attribute__ ((ifunc)) on all platforms where IFUNC is supported.
2013-10-24Update NEWSPetr Machata
2013-10-24Fix fetching of system call arguments on i386Petr Machata
2013-10-24When looking for longest matching soname substring, we don't copy enoughPetr Machata
2013-10-24sysdeps/linux-gnu/trace.c misses #include <stdint.h>Petr Machata
2013-10-24Update TODOPetr Machata
2013-10-23Look up protolibs whose name partially matches the loaded DSOPetr Machata
- The intention here is to allow matches of libc.so.conf for libc.so.6. Typically different sonames imply different binary interfaces, but for libc, we know that most interfaces won't change.
2013-10-23remove useless unw_get_reg of stack pointerLuca Clementi
2013-10-23Add NEWS blurbPetr Machata
2013-10-23Add a test case for IRELATIVE and IFUNC supportPetr Machata
2013-10-23Linux backend now supports tracing of IFUNC symbolsPetr Machata
2013-10-23Allow the prototype to be specified directly at the symbolPetr Machata
2013-10-23Extract the logic for creating void* type to type_get_voidptrPetr Machata
2013-10-23Add backend call os_elf_add_func_entryPetr Machata
- This is callback for handling per-OS symbol types. It is modeled after arch_elf_add_plt_entry and is called each time we need to add a symbol. The backend will do its stuff for the special symbols and return PLT_DEFAULT for those where the core will do good enough work. - With this change, we pass through all symbol types, and the callback, if present, should then filter out those that we don't care for.
2013-10-23Enable IRELATIVE tracing on x86 and x86_64Petr Machata
2013-10-23Add support for tracing of IRELATIVE PLT entriesPetr Machata
- Because the IRELATIVE entries have no associated symbol name, we need to allow arch_elf_add_plt_entry to override the name. This is done by that callback returning PLT_OK and returning the new symbol via libsym-chain return argument. Filtering is postponed until we have that symbol, and the filter is applied to the whole returned chain. - Add linux_elf_add_plt_entry_irelative to support proper naming of IRELATIVE PLT entries. This needs to be called from arch backend, as the numbers of IRELATIVE relocations differ per-architecture.
2013-10-23Add elf_each_symbolPetr Machata
2013-10-23Document a possible richer iteration interfacePetr Machata