yann@402: From: yann@402: http://sources.redhat.com/ml/libc-alpha/2005-07/msg00051.html yann@402: http://sources.redhat.com/ml/crossgcc/2005-10/msg00035.html yann@402: yann@402: Message-ID: <434576E1.6020305@sscd.de> yann@402: Date: Thu, 06 Oct 2005 21:11:29 +0200 yann@402: From: Alexander Sieb yann@402: To: crossgcc at sourceware dot org yann@402: Subject: Crosstool sh4-linux-gcc-4.0.2-glibc-2.3.5 patches yann@402: yann@402: On sh[34]-linux, memset function does not work if 2nd argument is negative yann@402: and 3rd argument is greater than 12. yann@402: for example, memset(ptr, "\xda", 20) sets 0xff instead of 0xda. yann@402: yann@402: Attached patch fixes this problem. yann@402: yann@402: * sysdeps/sh/memset.S (memset): Correct 2nd argument handling. yann@402: yann@402: --- glibc-2.3.5.old/sysdeps/sh/memset.S 29 Apr 2003 22:47:18 -0000 1.4 yann@402: +++ glibc-2.3.5/sysdeps/sh/memset.S 23 Jul 2005 08:37:21 -0000 yann@402: @@ -28,6 +28,7 @@ ENTRY(memset) yann@402: bt.s L_byte_loop_init yann@402: mov r4,r7 yann@402: yann@402: + extu.b r5,r5 yann@402: swap.b r5,r1 yann@402: or r1,r5 yann@402: swap.w r5,r1 yann@402: yann@402: Signed-off-by: Robert P. J. Day