Index: uspace/lib/c/generic/io/printf_core.c
===================================================================
--- uspace/lib/c/generic/io/printf_core.c	(revision 3bd1d7d463320209e0e6c9b13b10246ec05805c8)
+++ uspace/lib/c/generic/io/printf_core.c	(revision 7d7bc099a78595a8fbe782749779eb18f1d9053c)
@@ -39,4 +39,5 @@
 #include <stdio.h>
 #include <stddef.h>
+#include <stdlib.h>
 #include <io/printf_core.h>
 #include <ctype.h>
Index: uspace/lib/c/generic/stdlib.c
===================================================================
--- uspace/lib/c/generic/stdlib.c	(revision 3bd1d7d463320209e0e6c9b13b10246ec05805c8)
+++ uspace/lib/c/generic/stdlib.c	(revision 7d7bc099a78595a8fbe782749779eb18f1d9053c)
@@ -195,4 +195,67 @@
 }
 
+/** Compute the absolute value of an integer.
+ *
+ * If the result cannot be represented, the behavior is undefined.
+ *
+ * @param j Integer
+ * @return The absolute value of @a j
+ */
+int abs(int j)
+{
+	int aj;
+
+	if (j < 0) {
+		aj = -j;
+		assert(aj >= 0);
+	} else {
+		aj = j;
+	}
+
+	return aj;
+}
+
+/** Compute the absolute value of a long integer.
+ *
+ * If the result cannot be represented, the behavior is undefined.
+ *
+ * @param j Long integer
+ * @return The absolute value of @a j
+ */
+long labs(long j)
+{
+	long aj;
+
+	if (j < 0) {
+		aj = -j;
+		assert(aj >= 0);
+	} else {
+		aj = j;
+	}
+
+	return aj;
+}
+
+/** Compute the absolute value of a long long integer.
+ *
+ * If the result cannot be represented, the behavior is undefined.
+ *
+ * @param j Long long integer
+ * @return The absolute value of @a j
+ */
+long long llabs(long long j)
+{
+	long long aj;
+
+	if (j < 0) {
+		aj = -j;
+		assert(aj >= 0);
+	} else {
+		aj = j;
+	}
+
+	return aj;
+}
+
 /** Compute quotient and remainder of int division.
  *
Index: uspace/lib/c/generic/vfs/vfs.c
===================================================================
--- uspace/lib/c/generic/vfs/vfs.c	(revision 3bd1d7d463320209e0e6c9b13b10246ec05805c8)
+++ uspace/lib/c/generic/vfs/vfs.c	(revision 7d7bc099a78595a8fbe782749779eb18f1d9053c)
@@ -285,12 +285,12 @@
 {
 	size_t abs_size;
-	char *abs = vfs_absolutize(path, &abs_size);
-	if (!abs)
+	char *abs_path = vfs_absolutize(path, &abs_size);
+	if (abs_path == NULL)
 		return ENOMEM;
 
 	int fd;
-	errno_t rc = vfs_lookup(abs, WALK_DIRECTORY, &fd);
+	errno_t rc = vfs_lookup(abs_path, WALK_DIRECTORY, &fd);
 	if (rc != EOK) {
-		free(abs);
+		free(abs_path);
 		return rc;
 	}
@@ -305,5 +305,5 @@
 
 	cwd_fd = fd;
-	cwd_path = abs;
+	cwd_path = abs_path;
 	cwd_size = abs_size;
 
Index: uspace/lib/c/include/macros.h
===================================================================
--- uspace/lib/c/include/macros.h	(revision 3bd1d7d463320209e0e6c9b13b10246ec05805c8)
+++ uspace/lib/c/include/macros.h	(revision 7d7bc099a78595a8fbe782749779eb18f1d9053c)
@@ -38,5 +38,5 @@
 #define min(a, b)  ((a) < (b) ? (a) : (b))
 #define max(a, b)  ((a) > (b) ? (a) : (b))
-#define abs(a)     ((a) >= 0 ? (a) : -(a))
+#define mabs(a)    ((a) >= 0 ? (a) : -(a))
 
 #define ARRAY_SIZE(array)   (sizeof(array) / sizeof(array[0]))
Index: uspace/lib/c/include/stdlib.h
===================================================================
--- uspace/lib/c/include/stdlib.h	(revision 3bd1d7d463320209e0e6c9b13b10246ec05805c8)
+++ uspace/lib/c/include/stdlib.h	(revision 7d7bc099a78595a8fbe782749779eb18f1d9053c)
@@ -87,4 +87,8 @@
 extern int system(const char *);
 
+extern int abs(int);
+extern long labs(long);
+extern long long llabs(long long);
+
 extern int atoi(const char *);
 extern long atol(const char *);
Index: uspace/lib/c/test/stdlib.c
===================================================================
--- uspace/lib/c/test/stdlib.c	(revision 3bd1d7d463320209e0e6c9b13b10246ec05805c8)
+++ uspace/lib/c/test/stdlib.c	(revision 7d7bc099a78595a8fbe782749779eb18f1d9053c)
@@ -361,4 +361,58 @@
 }
 
+/** abs function of positive number */
+PCUT_TEST(abs_pos)
+{
+	int i;
+
+	i = abs(1);
+	PCUT_ASSERT_TRUE(i == 1);
+}
+
+/** abs function of negative number */
+PCUT_TEST(abs_neg)
+{
+	int i;
+
+	i = abs(-1);
+	PCUT_ASSERT_TRUE(i == 1);
+}
+
+/** labs function of positive number */
+PCUT_TEST(labs_pos)
+{
+	long li;
+
+	li = labs(1);
+	PCUT_ASSERT_TRUE(li == 1);
+}
+
+/** labs function of negative number */
+PCUT_TEST(labs_neg)
+{
+	long li;
+
+	li = labs(-1);
+	PCUT_ASSERT_TRUE(li == 1);
+}
+
+/** llabs function of positive number */
+PCUT_TEST(llabs_pos)
+{
+	long long lli;
+
+	lli = llabs(1);
+	PCUT_ASSERT_TRUE(lli == 1);
+}
+
+/** llabs function of negative number */
+PCUT_TEST(llabs_neg)
+{
+	long long lli;
+
+	lli = llabs(-1);
+	PCUT_ASSERT_TRUE(lli == 1);
+}
+
 /** Integer division */
 PCUT_TEST(div_func)
Index: uspace/lib/posix/include/posix/stdlib.h
===================================================================
--- uspace/lib/posix/include/posix/stdlib.h	(revision 3bd1d7d463320209e0e6c9b13b10246ec05805c8)
+++ uspace/lib/posix/include/posix/stdlib.h	(revision 7d7bc099a78595a8fbe782749779eb18f1d9053c)
@@ -42,9 +42,4 @@
 #include <_bits/NULL.h>
 
-/* Absolute Value */
-extern int abs(int i);
-extern long labs(long i);
-extern long long llabs(long long i);
-
 /* Environment Access */
 extern int putenv(char *string);
Index: uspace/lib/posix/src/stdlib.c
===================================================================
--- uspace/lib/posix/src/stdlib.c	(revision 3bd1d7d463320209e0e6c9b13b10246ec05805c8)
+++ uspace/lib/posix/src/stdlib.c	(revision 7d7bc099a78595a8fbe782749779eb18f1d9053c)
@@ -49,37 +49,4 @@
 #include "libc/vfs/vfs.h"
 #include "libc/stats.h"
-
-/**
- * Integer absolute value.
- *
- * @param i Input value.
- * @return Absolute value of the parameter.
- */
-int abs(int i)
-{
-	return i < 0 ? -i : i;
-}
-
-/**
- * Long integer absolute value.
- *
- * @param i Input value.
- * @return Absolute value of the parameter.
- */
-long labs(long i)
-{
-	return i < 0 ? -i : i;
-}
-
-/**
- * Long long integer absolute value.
- *
- * @param i Input value.
- * @return Absolute value of the parameter.
- */
-long long llabs(long long i)
-{
-	return i < 0 ? -i : i;
-}
 
 /**
Index: uspace/lib/posix/src/stdlib/strtold.c
===================================================================
--- uspace/lib/posix/src/stdlib/strtold.c	(revision 3bd1d7d463320209e0e6c9b13b10246ec05805c8)
+++ uspace/lib/posix/src/stdlib/strtold.c	(revision 7d7bc099a78595a8fbe782749779eb18f1d9053c)
@@ -52,8 +52,4 @@
 #ifndef HUGE_VALL
 #define HUGE_VALL (+1.0l / +0.0l)
-#endif
-
-#ifndef abs
-#define abs(x) (((x) < 0) ? -(x) : (x))
 #endif
 
