about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2017-06-14 10:42:42 +0930
committerAlan Modra <amodra@gmail.com>2017-06-14 10:42:42 +0930
commitdd8854361b7e44a40284d51f95819aa587af20d6 (patch)
tree32be651be45ddf9ca0e8661090e52f606f9a58ef
parentb309f058cf7639951bebb86270ffbc116ea5f720 (diff)
downloadglibc-dd8854361b7e44a40284d51f95819aa587af20d6.tar.gz
glibc-dd8854361b7e44a40284d51f95819aa587af20d6.tar.xz
glibc-dd8854361b7e44a40284d51f95819aa587af20d6.zip
PowerPC64, fix calls to _mcount
The macros used in assembly were broken on powerpc64 ELFv1.

	* sysdeps/powerpc/powerpc64/sysdep.h: (call_mcount_parm_offset): Delete.
	(SAVE_ARG, REST_ARG, CFI_SAVE_ARG): Correct.
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/powerpc/powerpc64/sysdep.h11
2 files changed, 8 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 1715e9104a..ddfa599967 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-06-14  Alan Modra  <amodra@gmail.com>
+
+	* sysdeps/powerpc/powerpc64/sysdep.h: (call_mcount_parm_offset): Delete.
+	(SAVE_ARG, REST_ARG, CFI_SAVE_ARG): Correct.
+
 2017-06-13  Gordana Cmiljanovic  <gordana.cmiljanovic@imgtec.com>
 
 	[BZ #21548]
diff --git a/sysdeps/powerpc/powerpc64/sysdep.h b/sysdeps/powerpc/powerpc64/sysdep.h
index db7c1d78b5..409734aa57 100644
--- a/sysdeps/powerpc/powerpc64/sysdep.h
+++ b/sysdeps/powerpc/powerpc64/sysdep.h
@@ -58,29 +58,24 @@
 #endif
 
 /* Support macros for CALL_MCOUNT.  */
-#if _CALL_ELF == 2
-#define call_mcount_parm_offset (-64)
-#else
-#define call_mcount_parm_offset FRAME_PARM_SAVE
-#endif
 	.macro SAVE_ARG NARG
 	.if \NARG
 	SAVE_ARG \NARG-1
-	std	2+\NARG,call_mcount_parm_offset-8+8*(\NARG)(1)
+	std	2+\NARG,-FRAME_MIN_SIZE_PARM+FRAME_PARM_SAVE-8+8*(\NARG)(1)
 	.endif
 	.endm
 
 	.macro REST_ARG NARG
 	.if \NARG
 	REST_ARG \NARG-1
-	ld	2+\NARG,FRAME_MIN_SIZE_PARM+call_mcount_parm_offset-8+8*(\NARG)(1)
+	ld	2+\NARG,FRAME_PARM_SAVE-8+8*(\NARG)(1)
 	.endif
 	.endm
 
 	.macro CFI_SAVE_ARG NARG
 	.if \NARG
 	CFI_SAVE_ARG \NARG-1
-	cfi_offset(2+\NARG,call_mcount_parm_offset-8+8*(\NARG))
+	cfi_offset(2+\NARG,-FRAME_MIN_SIZE_PARM+FRAME_PARM_SAVE-8+8*(\NARG))
 	.endif
 	.endm