aboutsummaryrefslogtreecommitdiff
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.zip
glibc-dd8854361b7e44a40284d51f95819aa587af20d6.tar.gz
glibc-dd8854361b7e44a40284d51f95819aa587af20d6.tar.bz2
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 1715e91..ddfa599 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 db7c1d7..409734a 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