[PATCH 00/11] Improve Mips target

Aleksandar Rakic rakicaleksandar1999@gmail.com
Thu Jan 23 13:42:56 GMT 2025


Aleksandar Rakic (11):
  Updates for microMIPS Release 6
  Fix rtld link_map initialization issues
  Fix issues with removing no-reorder directives
  Add C implementation of memcpy/memset
  Add optimized assembly for strcmp
  Fix prefetching beyond copied memory
  Fix strcmp bug for little endian target
  Add script to run tests through a qemu wrapper
  Avoid warning from -Wbuiltin-declaration-mismatch
  Avoid GCC 11 warning from -Wmaybe-uninitialized
  Prevent turning memset into self-recursion

 elf/rtld.c                                   |  14 +-
 scripts/cross-test-qemu.sh                   | 152 ++++
 sysdeps/ieee754/dbl-64/s_modf.c              |   4 +
 sysdeps/ieee754/dbl-64/s_sincos.c            |   4 +
 sysdeps/ieee754/soft-fp/s_fdiv.c             |   1 +
 sysdeps/mips/Makefile                        |   5 +
 sysdeps/mips/add_n.S                         |  12 +-
 sysdeps/mips/addmul_1.S                      |  11 +-
 sysdeps/mips/bsd-setjmp.S                    |   2 +-
 sysdeps/mips/dl-machine.h                    |  15 +-
 sysdeps/mips/dl-trampoline.c                 |   4 -
 sysdeps/mips/lshift.S                        |  12 +-
 sysdeps/mips/machine-gmon.h                  |  82 ++
 sysdeps/mips/memcpy.S                        | 868 -------------------
 sysdeps/mips/memcpy.c                        | 449 ++++++++++
 sysdeps/mips/memset.S                        | 426 ---------
 sysdeps/mips/memset.c                        | 187 ++++
 sysdeps/mips/mips32/crtn.S                   |  12 +-
 sysdeps/mips/mips64/__longjmp.c              |   2 +-
 sysdeps/mips/mips64/add_n.S                  |  12 +-
 sysdeps/mips/mips64/addmul_1.S               |  11 +-
 sysdeps/mips/mips64/lshift.S                 |  12 +-
 sysdeps/mips/mips64/mul_1.S                  |  11 +-
 sysdeps/mips/mips64/n32/crtn.S               |  12 +-
 sysdeps/mips/mips64/n64/crtn.S               |  12 +-
 sysdeps/mips/mips64/rshift.S                 |  12 +-
 sysdeps/mips/mips64/sub_n.S                  |  12 +-
 sysdeps/mips/mips64/submul_1.S               |  11 +-
 sysdeps/mips/mul_1.S                         |  11 +-
 sysdeps/mips/rshift.S                        |  12 +-
 sysdeps/mips/strcmp.S                        | 229 +++--
 sysdeps/mips/sub_n.S                         |  12 +-
 sysdeps/mips/submul_1.S                      |  11 +-
 sysdeps/mips/sys/asm.h                       |  20 +-
 sysdeps/unix/mips/mips32/sysdep.h            |   4 -
 sysdeps/unix/mips/mips64/sysdep.h            |   4 -
 sysdeps/unix/mips/sysdep.h                   |   2 -
 sysdeps/unix/sysv/linux/mips/mips32/sysdep.h |  10 -
 sysdeps/unix/sysv/linux/mips/mips64/sysdep.h |  14 -
 39 files changed, 1108 insertions(+), 1588 deletions(-)
 create mode 100755 scripts/cross-test-qemu.sh
 delete mode 100644 sysdeps/mips/memcpy.S
 create mode 100644 sysdeps/mips/memcpy.c
 delete mode 100644 sysdeps/mips/memset.S
 create mode 100644 sysdeps/mips/memset.c

-- 
2.34.1



More information about the Libc-alpha mailing list