From: Iain Sandoe Date: Wed, 23 Oct 2019 05:39:32 +0000 (+0000) Subject: [Darwin, PPC] Check for out of range asm values. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=65a4795fab97a0776c8b44638f0fcf531c98f764;p=gcc.git [Darwin, PPC] Check for out of range asm values. There are some cases in which the value for the max skip to a p2align directive can be negative. The older assembler just ignores these cases where newer tools produce an error. To preserve behaviour, we avoid emitting out of range values. gcc/ChangeLog: 2019-10-23 Iain Sandoe * config/rs6000/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Guard against out of range max skip or log values. From-SVN: r277307 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f3450eea617..8ec312d7470 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2019-10-23 Iain Sandoe + + * config/rs6000/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Guard + against out of range max skip or log values. + 2019-10-22 Giuliano Belinassi * cgraph.c (dump_graphviz): Change name to dump_name diff --git a/gcc/config/rs6000/darwin.h b/gcc/config/rs6000/darwin.h index 1081967bd61..d1a096f3f1c 100644 --- a/gcc/config/rs6000/darwin.h +++ b/gcc/config/rs6000/darwin.h @@ -329,9 +329,9 @@ /* This is supported in cctools 465 and later. The macro test above prevents using it in earlier build environments. */ #define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \ - if ((LOG) != 0) \ + if ((LOG) > 0) \ { \ - if ((MAX_SKIP) == 0) \ + if ((MAX_SKIP) <= 0) \ fprintf ((FILE), "\t.p2align %d\n", (LOG)); \ else \ fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \