Hi, The fails on Darwin are because the section naming convention is different.
The patch adds Darwin-specific section attributes and a corresponding target-specific scan-assembler clause. OK for trunk? affected branches (7, 8)? thanks Iain 2018-08-15 Iain Sandoe <i...@sandoe.co.uk> gcc/testsuite: PR testsuite/78544 * gcc.dg/tree-prof/section-attr-1.c: Add Darwin-specific section attributes and matching. * gcc.dg/tree-prof/section-attr-2.c: Likewise. * gcc.dg/tree-prof/section-attr-3.c: Likewise. --- gcc/testsuite/gcc.dg/tree-prof/section-attr-1.c | 5 +++++ gcc/testsuite/gcc.dg/tree-prof/section-attr-2.c | 5 +++++ gcc/testsuite/gcc.dg/tree-prof/section-attr-3.c | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/gcc/testsuite/gcc.dg/tree-prof/section-attr-1.c b/gcc/testsuite/gcc.dg/tree-prof/section-attr-1.c index ee6662ea6e..1f99b3128c 100644 --- a/gcc/testsuite/gcc.dg/tree-prof/section-attr-1.c +++ b/gcc/testsuite/gcc.dg/tree-prof/section-attr-1.c @@ -13,7 +13,11 @@ const char *buf_cold; void foo (int path); +#ifdef __APPLE__ +__attribute__ ((section ("__TEXT,__text"))) +#else __attribute__((section(".text"))) +#endif int main (int argc, char *argv[]) { @@ -43,3 +47,4 @@ foo (int path) } /* { dg-final-use { scan-assembler "\.section\[\t \]*\.text\.unlikely\[\\n\\r\]+\[\t \]*\.size\[\t \]*foo\.cold\.0" { target *-*-linux* *-*-gnu* } } } */ +/* { dg-final-use { scan-assembler "\.section\[\t \]*__TEXT,__text_cold\.\*\[\\n\\r\]+_foo\.cold\.0" { target *-*-darwin* } } } */ diff --git a/gcc/testsuite/gcc.dg/tree-prof/section-attr-2.c b/gcc/testsuite/gcc.dg/tree-prof/section-attr-2.c index 898a395cd7..9bdc63a1b0 100644 --- a/gcc/testsuite/gcc.dg/tree-prof/section-attr-2.c +++ b/gcc/testsuite/gcc.dg/tree-prof/section-attr-2.c @@ -28,7 +28,11 @@ main (int argc, char *argv[]) void NOINLINE foo (int path) { +#ifdef __APPLE__ + static int i __attribute__ ((section ("__DATA,__data"))); +#else static int i __attribute__((section(".data"))); +#endif if (path) { for (i = 0; i < SIZE; i++) @@ -42,3 +46,4 @@ foo (int path) } /* { dg-final-use { scan-assembler "\.section\[\t \]*\.text\.unlikely\[\\n\\r\]+\[\t \]*\.size\[\t \]*foo\.cold\.0" { target *-*-linux* *-*-gnu* } } } */ +/* { dg-final-use { scan-assembler "\.section\[\t \]*__TEXT,__text_cold\.\*\[\\n\\r\]+_foo\.cold\.0:" { target *-*-darwin* } } } */ diff --git a/gcc/testsuite/gcc.dg/tree-prof/section-attr-3.c b/gcc/testsuite/gcc.dg/tree-prof/section-attr-3.c index 36829dcb7a..29eee4587d 100644 --- a/gcc/testsuite/gcc.dg/tree-prof/section-attr-3.c +++ b/gcc/testsuite/gcc.dg/tree-prof/section-attr-3.c @@ -9,7 +9,11 @@ #define NOINLINE __attribute__((noinline)) __attribute__ ((noclone)) const char *sarr[SIZE]; +#ifdef __APPLE__ +const char *buf_hot __attribute__ ((section ("__DATA,__data"))); +#else const char *buf_hot __attribute__ ((section (".data"))); +#endif const char *buf_cold; void foo (int path); @@ -43,3 +47,4 @@ foo (int path) } /* { dg-final-use { scan-assembler "\.section\[\t \]*\.text\.unlikely\[\\n\\r\]+\[\t \]*\.size\[\t \]*foo\.cold\.0" { target *-*-linux* *-*-gnu* } } } */ +/* { dg-final-use { scan-assembler "\.section\[\t \]*__TEXT,__text_cold\.\*\[\\n\\r\]+_foo\.cold\.0:" { target *-*-darwin* } } } */ -- 2.17.1