mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-12 14:20:04 +00:00
* better handle error recovery when calling remote_desc_activity
(avoid exhausting safe fd range)
* fix small error in m_gdbserver/README_DEVELOPERS
* implemented mknod and poll syscall on mknodat and ppoll
(mknod and poll are not directly supported on arm64)
* implement or fix various gdbsrv specific things needed for arm64
* changed assert condition in aspacemgr to VKI_SHMLBA >= VKI_PAGE_SIZE
With these changes, gdbserver integration seems to be basically working.
However, when breakpoints are placed or removed, discard_translations
causes an assert as the unchain has not been implemented yet for arm64 :
--1118:1:gdbsrv remove software_breakpoint at addr 0x400DE74 0x400DE74: _dl_debug_state (in /usr/lib64/ld-2.17.so)
--1118:2:transtab discard_translations(0x400de74, 2) req by m_gdbserver breakpoint remove
--1118:2:transtab FAST, ec = 27
vex: priv/main_main.c:1070 (LibVEX_UnChain): Assertion `0' failed.
vex storage: T total 5480544 bytes allocated
vex storage: P total 0 bytes allocated
valgrind: the 'impossible' happened:
LibVEX called failure_exit().
==1118== at 0x3809E6B8: ??? (in /home/philippe/crossaarch64/trunk/Inst/lib/valgrind/none-arm64-linux)
sched status:
running_tid=1
What remains to be done:
* arm64 xml register description files (allowing shadow registers to be looked at).
* ptrace invoker : currently disabled for both arm and arm64
* cpsr transfer to/from gdb to be looked at (see also arm equivalent code)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13800