[PATCH v3 0/6] Improve Mips target
Jovan Dmitrovic
jovan.dmitrovic@htecgroup.com
Wed Sep 3 13:53:21 GMT 2025
Changes in v3: removed the following patches:
mips: Updates for microMIPS Release 6
mips: Fix issues with removing no-reorder directives
The first patch of these two has been split into two parts: one that
adresses the addiupc discrepancy between microMIPSr6 and non-microMIPSr6
code and other updating the mcount code for microMIPSr6.
Also, the original patch removed the noreorder directives from
multiple files, but this change will be addressed after merging
binutils changes (thanks Maciej for your input).
The second removed patch is converted into patch 6, only having the
setjmp bugfix (no need to add the -O2 flag as previously stated
by Maciej).
Also added the needed sysdep header where it was necessary to do so.
=======
Changes in v2: removed following patches:
Fix rtld link_map initialization issues
Avoid GCC 11 warning from -Wmaybe-uninitialized
Prevent turning memset into self-recursion
Add optimized assembly for strcmp
Fix strcmp bug for little endian target
Avoid warning from -Wbuiltin-declaration-mismatch
After running the benchmark, strcmp.S proved to be inferior to the
generic strcmp.c with -funroll-loops. I added a patch which removes
the strcmp.S file. Also, patch that fixed a strcmp issue is omitted.
rtld link_map patch is changed so that we don't initialize the whole
link_map structure.
Self-recursion fix was merged with memcpy/memset patch.
Warning from -Wbuiltin-declaration-mismatch was fixed in the meantime.
Regards,
Jovan
=======
Aleksandar Rakic (1):
Initialize l_mach field from rtld link_map
Jovan Dmitrović (5):
mips: Restrict the use of addiupc for microMIPSr6
mips: Adapt mcount for microMIPSr6
mips: Add C implementation of memcpy/memset
mips: Remove strcmp.S
mips: Fix delay slot filling in bsd-setjmp.S
elf/rtld.c | 1 +
sysdeps/mips/Makefile | 4 +
sysdeps/mips/bsd-setjmp.S | 2 +-
sysdeps/mips/dl-machine.h | 11 +-
sysdeps/mips/machine-gmon.h | 84 ++++
sysdeps/mips/memcpy.S | 868 ------------------------------------
sysdeps/mips/memcpy.c | 451 +++++++++++++++++++
sysdeps/mips/memset.S | 426 ------------------
sysdeps/mips/memset.c | 178 ++++++++
sysdeps/mips/strcmp.S | 249 -----------
10 files changed, 725 insertions(+), 1549 deletions(-)
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
delete mode 100644 sysdeps/mips/strcmp.S
--
2.34.1
More information about the Libc-alpha
mailing list