diff options
author | Mark Wielaard <mark@klomp.org> | 2018-10-20 13:20:30 +0200 |
---|---|---|
committer | Mark Wielaard <mark@klomp.org> | 2018-10-20 13:20:30 +0200 |
commit | 9a74c190a2b357c6318e6222ff08c5bcee2f9291 (patch) | |
tree | 64129f243e73d53cef1274d07e33bd204a4ce7f1 /backends | |
parent | 72d023b35f3639864b61bd1c11aaadc4957e6286 (diff) |
backends: ppc use define instead of const for size of dwarf_regs array.
The size of the dwarf_regs is a constant, but when building without
optimizations the compiler doesn't see that and will warn that it
cannot proof the stack size is bounded. Use a define instead of a
const, so the compiler will use a constant expression everywhere.
Signed-off-by: Mark Wielaard <mark@klomp.org>
Diffstat (limited to 'backends')
-rw-r--r-- | backends/ChangeLog | 5 | ||||
-rw-r--r-- | backends/ppc_initreg.c | 8 |
2 files changed, 9 insertions, 4 deletions
diff --git a/backends/ChangeLog b/backends/ChangeLog index a7434dd2..768c270b 100644 --- a/backends/ChangeLog +++ b/backends/ChangeLog @@ -1,3 +1,8 @@ +2018-10-20 Mark Wielaard <mark@klomp.org> + + * ppc_initreg.c (ppc_set_initial_registers_tid): Use define instead of + const for size of dwarf_regs array. + 2018-10-02 Andreas Schwab <schwab@suse.de> * riscv_symbol.c (riscv_reloc_simple_type): Add parameter addsub. diff --git a/backends/ppc_initreg.c b/backends/ppc_initreg.c index 3e4432f6..0e0d3599 100644 --- a/backends/ppc_initreg.c +++ b/backends/ppc_initreg.c @@ -93,11 +93,11 @@ ppc_set_initial_registers_tid (pid_t tid __attribute__ ((unused)), if (errno != 0) return false; } - const size_t gprs = sizeof (user_regs.r.gpr) / sizeof (*user_regs.r.gpr); - Dwarf_Word dwarf_regs[gprs]; - for (unsigned gpr = 0; gpr < gprs; gpr++) +#define GPRS (sizeof (user_regs.r.gpr) / sizeof (*user_regs.r.gpr)) + Dwarf_Word dwarf_regs[GPRS]; + for (unsigned gpr = 0; gpr < GPRS; gpr++) dwarf_regs[gpr] = user_regs.r.gpr[gpr]; - if (! setfunc (0, gprs, dwarf_regs, arg)) + if (! setfunc (0, GPRS, dwarf_regs, arg)) return false; dwarf_regs[0] = user_regs.r.link; // LR uses both 65 and 108 numbers, there is no consistency for it. |