gdb/linux-record: Fix readdir and getdents handling
getdents buffer size is given in bytes, not dirent entries (which have variable size anyway). We don't need size_dirent and size_dirent64 for this reason. readdir, on the other hand, needs size of old_linux_dirent, which is a somewhat different structure. Accordingly, rename size_dirent to size_old_dirent. gdb/ChangeLog: * aarch64-linux-tdep.c (aarch64_linux_init_abi): Remove size_dirent{,64}, add size_old_dirent. * amd64-linux-tdep.c (amd64_linux_init_abi): Remove size_dirent{,64}, add size_old_dirent. (amd64_x32_linux_init_abi): Remove size_dirent{,64}, add size_old_dirent. * arm-linux-tdep.c (arm_linux_init_abi): Remove size_dirent{,64}, add size_old_dirent. * i386-linux-tdep.c (i386_linux_init_abi): Remove size_dirent{,64}, add size_old_dirent. * linux-record.c (record_linux_system_call): Fix handling of readdir and getdents{,64}. * linux-record.h (struct linux_record_tdep): Remove size_dirent{,64}, add size_old_dirent. * ppc-linux-tdep.c (ppc_init_linux_record_tdep): Remove size_dirent{,64}, add size_old_dirent.
This commit is contained in:
parent
7571f7f297
commit
72aded8673
8 changed files with 32 additions and 32 deletions
|
@ -39,8 +39,7 @@ struct linux_record_tdep
|
|||
int size_old_gid_t;
|
||||
int size_old_uid_t;
|
||||
int size_fd_set;
|
||||
int size_dirent;
|
||||
int size_dirent64;
|
||||
int size_old_dirent;
|
||||
int size_statfs;
|
||||
int size_statfs64;
|
||||
int size_sockaddr;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue