• R
    fix passing of 64-bit syscall arguments on microblaze · 28198ac3
    Rich Felker 提交于
    this has been wrong since the beginning of the microblaze port: the
    syscall ABI for microblaze does not align 64-bit arguments on even
    register boundaries. commit 788d5e24
    exposed the problem by introducing references to a nonexistent
    __syscall7. the ABI is not documented well anywhere, but I was able to
    confirm against both strace source and glibc source that microblaze is
    not using the alignment.
    
    per the syscall(2) man page, posix_fadvise, ftruncate, pread, pwrite,
    readahead, sync_file_range, and truncate were all affected and either
    did not work at all, or only worked by chance, e.g. when the affected
    argument slots were all zero.
    28198ac3
syscall_arch.h 3.1 KB