From f62eee569c33537d7d3957b5226a3c5a2532d3f3 Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Mon, 26 Oct 2020 21:27:46 -0400 Subject: iriver_flash: we need -fno-delete-null-pointer-checks Change-Id: I36bbfc81d9cb79a9627e5ba7ee50e1305f54848b --- apps/plugins/iriver_flash.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/apps/plugins/iriver_flash.c b/apps/plugins/iriver_flash.c index 2004840531..ce31429aa8 100644 --- a/apps/plugins/iriver_flash.c +++ b/apps/plugins/iriver_flash.c @@ -22,6 +22,13 @@ ****************************************************************************/ #include "plugin.h" +/* cfi_program_word() relies on writing to address 0, which normally is illegal. + So we need this to ensure we don't helpfully optimize it away into a TRAP + when compiled with -fdelete-null-pointer-checks, which is enabled by default + at -Os with our current gcc 4.9.x toolchain. +*/ +#pragma GCC optimize "no-delete-null-pointer-checks" + /* All CFI flash routines are copied and ported from firmware_flash.c */ unsigned char *audiobuf; -- cgit v1.2.3