I note that this is a deliberate difference between the elfutils
libelf
interface and other libelf implementations, which use off_t in the
public interface and don't have LFS support on 32bit systems. We were
lucky enough to use off64_t, then loff_t, from the start, so we always
support LFS as far as possible.
Actually for early releases we used off_t in the public header but compiled
the library with _FILE_OFFSET_BITS=64, so the ABI was broken for vanilla
32-bit clients of the library.