Hi.

The patch fixes the testcase on ppc64. I'm going to push the commit.

Martin

gcc/testsuite/ChangeLog:

        PR gcov-profile/97461
        * gcc.dg/tree-prof/pr97461.c: Return aligned memory.
---
 gcc/testsuite/gcc.dg/tree-prof/pr97461.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/gcc/testsuite/gcc.dg/tree-prof/pr97461.c 
b/gcc/testsuite/gcc.dg/tree-prof/pr97461.c
index 8d21a3ef421..213fac9af04 100644
--- a/gcc/testsuite/gcc.dg/tree-prof/pr97461.c
+++ b/gcc/testsuite/gcc.dg/tree-prof/pr97461.c
@@ -20,7 +20,13 @@ static const fun_t funs[2] = { f1, f2, };
static void * malloc_impl(size_t size) {
     void * r = &memory[memory_p];
-    memory_p += size;
+    /* The malloc() and calloc() functions return a pointer to the allocated
+     * memory, which is suitably aligned for any built-in type.  Use 16
+     * bytes here as the basic alignment requirement for user-defined malloc
+     * and calloc.  See PR97594 for the details.  */
+    #define ROUND_UP_FOR_16B_ALIGNMENT(x) ((x + 15) & (-16))
+
+    memory_p += ROUND_UP_FOR_16B_ALIGNMENT(size);
// force TOPN profile
     funs[size % 2]();
--
2.29.2

Reply via email to