Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols.
Change-Id: I94c411c22634e43184445c82e7388e51fc46a8cc
diff --git a/libc/include/inttypes.h b/libc/include/inttypes.h
index 73b22db..760670f 100644
--- a/libc/include/inttypes.h
+++ b/libc/include/inttypes.h
@@ -249,13 +249,16 @@
} imaxdiv_t;
__BEGIN_DECLS
-intmax_t imaxabs(intmax_t);
-imaxdiv_t imaxdiv(intmax_t, intmax_t);
+
+intmax_t imaxabs(intmax_t) __pure2;
+imaxdiv_t imaxdiv(intmax_t, intmax_t) __pure2;
+
intmax_t strtoimax(const char *, char **, int);
uintmax_t strtoumax(const char *, char **, int);
intmax_t strntoimax(const char *nptr, char **endptr, int base, size_t n);
uintmax_t strntoumax(const char *nptr, char **endptr, int base, size_t n);
+
__END_DECLS
#endif /* _INTTYPES_H_ */
diff --git a/libc/include/stdlib.h b/libc/include/stdlib.h
index e728cb6..9fa84c1 100644
--- a/libc/include/stdlib.h
+++ b/libc/include/stdlib.h
@@ -77,17 +77,9 @@
return (strtod(nptr, NULL));
}
-static __inline__ int abs(int __n) {
- return (__n < 0) ? -__n : __n;
-}
-
-static __inline__ long labs(long __n) {
- return (__n < 0L) ? -__n : __n;
-}
-
-static __inline__ long long llabs(long long __n) {
- return (__n < 0LL) ? -__n : __n;
-}
+extern int abs(int) __pure2;
+extern long labs(long) __pure2;
+extern long long llabs(long long) __pure2;
extern char * realpath(const char *path, char *resolved);
extern int system(const char * string);