title: ARM, .COMMON section and -fno-common flag
body: <p>I'm trying to diagnose a problem. The problem is my program works fine if I place a printf (specifically printf) in the beginning of the program, and it doesn't if I don't. The issue is very specific to a loop that reads systick variable that I increment in systick_handler. </p>
  
  <p>If I however compile with -fno-common then everything works. Why this behavior? </p>
  
  <p>Also, I have removed .COMMON sections from my linker script because they make the program almost twice as large. Everything has been working well without them anyway, but I'm suspecting that their absence was somehow causing the infinite loop when I was compiling with default (-fcommon) flag. Still I see no reference to .COMMON section in my files. It must be just from libc. </p>
  
  <p>Can anyone explain what is going on? </p>