• R
    fix elf_prstatus regression on time64, existing wrong definition on x32 · 3f959f6f
    Rich Felker 提交于
    the elf_prstatus structure is used in core dumps, and the timeval
    structures in it are longs matching the elf class, *not* the kernel
    "old timeval" for the arch. this means using timeval here for x32 was
    always wrong, despite kernel uapi headers and glibc also exposing it
    this way, and of course it's wrong for any arch with 64-bit time_t.
    
    rather than just changing the type on affected archs, use a tagless
    struct containing long tv_sec and tv_usec members in place of the
    timevals. this intentionally breaks use of them as timevals (e.g.
    assignment, passing address, etc.) on 64-bit archs as well so that any
    usage unsafe for 32-bit archs is caught even in software that only
    gets tested on 64-bit archs. from what I could gather, there is not
    any software using these members anyway. the only reason they need to
    be fixed to begin with is that the only members which are commonly
    used, the saved registers, follow the time members and have the wrong
    offset if the time members are sized incorrectly.
    3f959f6f
procfs.h 1.1 KB