title: What gets discarded by gcc's -flto?
body: <p>I'm building our firmware for stm32 with arm-none-eabi-gcc 6.3.1.</p>
  
  <p>If I enable link-time optimization, it still compiles and boots and is ~10kiB smaller than without -ftlo but there is some subtle breakage.</p>
  
  <p>How can I debug this?</p>
  
  <p>Is there a way to get gcc to tell me what it (wrongly) discards during link-time optimization? </p>