feat(libc): import qsort implementation
Import qsort implementation from FreeBSD[1] to libc.
[1]: https://cgit.freebsd.org/src/tree/lib/libc/stdlib/qsort.c
Change-Id: Ia0d8e2d1c40c679844c0746db1b669cda672a482
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
diff --git a/include/lib/libc/cdefs.h b/include/lib/libc/cdefs.h
index b11d072..97b7824 100644
--- a/include/lib/libc/cdefs.h
+++ b/include/lib/libc/cdefs.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018-2022, Arm Limited and Contributors. All rights reserved.
+ * Copyright (c) 2018-2025, Arm Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
@@ -36,4 +36,7 @@
#define __STRING(x) #x
#define __XSTRING(x) __STRING(x)
+#define __predict_true(exp) (exp)
+#define __predict_false(exp) (exp)
+
#endif /* CDEFS_H */
diff --git a/include/lib/libc/stdlib.h b/include/lib/libc/stdlib.h
index 4e5a824..cf30ef3 100644
--- a/include/lib/libc/stdlib.h
+++ b/include/lib/libc/stdlib.h
@@ -29,4 +29,6 @@
unsigned long strtoul(const char *nptr, char **endptr, int base);
long long strtoll(const char *nptr, char **endptr, int base);
unsigned long long strtoull(const char *nptr, char **endptr, int base);
+void qsort(void *, size_t, size_t,
+ int (* _Nonnull)(const void *, const void *));
#endif /* STDLIB_H */