Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols.

Change-Id: I94c411c22634e43184445c82e7388e51fc46a8cc
This commit is contained in:
Elliott Hughes
2013-08-12 12:07:05 -07:00
parent ee48fed518
commit aec2ffbc5a
8 changed files with 216 additions and 13 deletions

View File

@@ -249,13 +249,16 @@ typedef struct {
} 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_ */

View File

@@ -77,17 +77,9 @@ static __inline__ double atof(const char *nptr)
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);