[uClibc] mipsel, memcpy wont compile when MIPS_SIM!=MIPS_SIM_ABI32

john.smith at arrows.demon.co.uk john.smith at arrows.demon.co.uk
Wed Dec 22 23:33:39 UTC 2004


(Working from the snapshot ~/gnu/uClibc-20041218.tar.bz2)
libc/string/mips/memcpy.S includes code
	lw	t4, 16(a1)
	lw	t5, 20(a1)
	lw	t6, 24(a1)
	lw	t7, 28(a1)
The registers t4,t5,t6,t7 are defined in
   libc/sysdeps/linux/mips/sys/regdef.h
in the form
#if _MIPS_SIM != _MIPS_SIM_ABI32
..
#define ta0     a4
#define ta1     a5
#define ta2     a6
#define ta3     a7
#else /* if _MIPS_SIM == _MIPS_SIM_ABI32 */
..
#define t4      $12
#define t5      $13
#define t6      $14
#define t7      $15
#define ta0     t4
#define ta1     t5
#define ta2     t6
#define ta3     t7
#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
That is, when _MIPS_SIM != _MIPS_SIM_ABI32, there are no macro definitions
for t4,t5,t6,t7, so memcpy.S will not compile.

It might be a sign that I am not going in a sensible direction, but
it broke my build.

John Smith







More information about the uClibc mailing list