aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/powerpc64
diff options
context:
space:
mode:
authorBrandon Bergren <bdragon@FreeBSD.org>2020-03-11 23:34:44 +0000
committerBrandon Bergren <bdragon@FreeBSD.org>2020-03-11 23:34:44 +0000
commitdb7f521db7f50251ebfc2ff9b4fa4a9e6f8e87d7 (patch)
tree6ffb0ba26e12ab4b7e84a6937186df660ec73f3d /lib/libc/powerpc64
parentd1105e9441f4d81353f91fb70e6d5ee98434c03d (diff)
Fix r358688 -- Remember to actually save r3 before processing.
Crash was noticed by pkubaj building gcc9. Apparently non dword-aligned char pointers are somewhat rare in the wild. Reported by: pkubaj Sponsored by: Tag1 Consulting, Inc.
Notes
Notes: svn path=/head/; revision=358902
Diffstat (limited to 'lib/libc/powerpc64')
-rw-r--r--lib/libc/powerpc64/string/memcpy.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/libc/powerpc64/string/memcpy.S b/lib/libc/powerpc64/string/memcpy.S
index 3e6649711382..0163ea1be2cd 100644
--- a/lib/libc/powerpc64/string/memcpy.S
+++ b/lib/libc/powerpc64/string/memcpy.S
@@ -58,8 +58,8 @@ ENTRY(FN_NAME)
andi. %r7, %r4, ALIGN_MASK
cmpd %r8, %r7
mr %r7, %r5
- bne .Lcopy_remaining_fix_index_byte
mr %r8, %r3 /* save dst */
+ bne .Lcopy_remaining_fix_index_byte
/* align src */
.Lalignment_loop: