]> granicus.if.org Git - strace/commit
Remove code which supports systems with long long off_t.
authorDenys Vlasenko <vda.linux@googlemail.com>
Mon, 18 Feb 2013 14:47:57 +0000 (15:47 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Mon, 18 Feb 2013 14:47:57 +0000 (15:47 +0100)
commit8435d672ebbc318648a54beef1d491f1ce0531a3
tree0caa9cca9629c46f3bdb6ccdf0cbe31662b06253
parent8dedb0dc9636f64d6d1865a55d06a6fb6c4a04a9
Remove code which supports systems with long long off_t.

While looking at mmap mess, did experimenting in order
to figure out what gets used when.

Tried building armv4tl, armv5l, armv6l, mips, mipsel, i686,
x86_64 and none of they have long long off_t,
which isn't suprprising: we aren't using glibc defines
which enable that.

Moreover, we SHOULD NOT use off_t in syscall decode!
Its size depends on libc, not on arch! I.e. it is essentially
unpredictable and can even in theory vary on the same arch
with different libc.

We should use longs or long longs, in a way which matches
architectural ABI for the given syscall. There are usually
*at most* two permutations, no need to add yet another variable
(sizeof(off_t)) to the mix.

This change removes almost all HAVE_LONG_LONG_OFF_T conditionals,
which will reveal further possible simplifications.

* mem.c: Remove code conditional on HAVE_LONG_LONG_OFF_T.
As a result, never remap sys_mmap64 to sys_mmap.
(print_mmap): Compile unconditionally.
(sys_old_mmap): Compile unconditionally.
(sys_mmap): Compile unconditionally.
* io.c (sys_sendfile): Add a FIXME comment.
* file.c: Remove code conditional on HAVE_LONG_LONG_OFF_T.
As a result, never remap sys_*stat64 to sys_*stat etc.
(sys_truncate): Compile unconditionally.
(realprintstat): Likewise.
(sys_stat): Likewise.
(sys_fstat): Likewise.
(sys_lstat): Likewise.
* desc.c (printflock): Likewise.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
desc.c
file.c
io.c
mem.c