about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2017-10-23 07:44:50 +1030
committerAlan Modra <amodra@gmail.com>2017-10-23 07:46:58 +1030
commit174935af03f19e3fb5d5d3bcdafb25d0d8d6e0d4 (patch)
treedd83da1d8d1ce4916c4fe76bed0d2569eeb3ce25 /ChangeLog
parent750a0e4967375d0b2bedb77af515b8bc6966e6f6 (diff)
downloadglibc-174935af03f19e3fb5d5d3bcdafb25d0d8d6e0d4.tar.gz
glibc-174935af03f19e3fb5d5d3bcdafb25d0d8d6e0d4.tar.xz
glibc-174935af03f19e3fb5d5d3bcdafb25d0d8d6e0d4.zip
PowerPC64 power8 strncpy cfi fixes
cfi info for stack adjust needs to be on the insn doing the adjust.
cfi describing register saves can be anywhere after the save insn but
before the reg is altered.  Fewer locations with cfi result in smaller
cfi programs and possibly slightly faster exception handling.  Thus
the LR cfi_offset move.

The idea behind ajusting sp after restoring regs is to break a
register dependency chain, in this case not be using r1 immediately
after it is modified.

The missing LR cfi_restore meant that code after the blr,
unaligned_lt_16 and other labels, would have cfi that said LR was at
cfa+16, but that code is reached without LR being saved.

	* sysdeps/powerpc/powerpc64/power8/strncpy.S: Move LR cfi.
	Adjust stack after restoring regs.  Add missing LR cfi_restore.

Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog5
1 files changed, 5 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 444b63981f..677f46d61a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2017-10-23  Alan Modra  <amodra@gmail.com>
 
+	* sysdeps/powerpc/powerpc64/power8/strncpy.S: Move LR cfi.
+	Adjust stack after restoring regs.  Add missing LR cfi_restore.
+
+2017-10-23  Alan Modra  <amodra@gmail.com>
+
 	* sysdeps/powerpc/powerpc64/power7/strncpy.S: Decrease FRAMESIZE.
 	Move LR save and frame setup/teardown and LR restore to
 	immediately around memset call.  Provide cfi.