mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-12 22:24:53 +00:00
family of syscalls is impossible to write in a way that's portable and correct. On some targets (eg x86-linux) you need to do sys_stat64 and receive the results in a 'struct vki_stat64'. But on other targets (eg amd64-linux) neither sys_stat64 nor 'struct vki_stat64' exist. This commit adds a new type, 'struct vg_stat', which contains 64 bit fields in all the right places, and makes VG_(stat) and VG_(fstat) use it. This means callers to the two functions no longer need to worry about the is-it-64-bit-clean-or-not question, since these routines reformat the received data into a'struct vg_stat'. Kind of like what glibc must have been doing for decades. This (indirectly) fixes a bug on x86-linux, in which m_debuginfo would sometimes fail to read debug info, due to VG_(di_notify_mmap) using VG_(stat) (hence sys_stat) on the file, which failed, and when in fact it should have used sys_stat64. Bug reported and tracked down by Marc-Oliver Straub. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8522
3.3 KiB
3.3 KiB