http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54686
--- Comment #4 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-09-23 20:56:51 UTC --- Sorry, forgot that <cstdint> only declares some types. Thus, all in all, the issue is really that <cstdlib> should provide abs (long) and abs (long long) and it isn't because below it llabs is missing, as you correctly mentioned. But the main point lives: in the generic bits of the library we can't do much about that, because <cmath> isn't supposed to treat differently the various integer types. Really the target maintainers should do something about llabs: note that adding some code to the SH libstdc++ config should be also fine (without touching newlib I mean)