https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71776
malithyapa at gmail dot com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #9 from malithyapa at gmail dot com --- The problem was in fact with linking both libm and libgcc with --whole-archive and --allow-multiple-definitions options. Which makes the linker link to a duplicate function in the other library than the one its linking from since it'll link to the first one it finds. In thumb mode the offset to the other library would be two large for the instruction. Even though it'll be nice if gcc links to the closest symbol rather than the first one, this is documented behavior and it's not a bug.