This requires some explanation.

When the check for overflow is increased to 64bits, the 64 bit division used below requires a call to __aeabi_uldivmod. For whatever reason the linker decides this function needs to put stuff in a .ARM.exidx section. A quick google search shows this is used for stack unwinding in c++ exceptions. Why this happens with only gcc I have no idea, so --no-check-sections just tells the linker to ignore the fact that there is no .ARM.exidx section.

The lm4f.ld file should be modified to support g++ if we want to support c++ at some point, so we can just fix this issue then.