Merge "set errno to ENOENT in getauxval per glibc 2.19"
diff --git a/libc/bionic/getauxval.cpp b/libc/bionic/getauxval.cpp
index bc41824..22922b9 100644
--- a/libc/bionic/getauxval.cpp
+++ b/libc/bionic/getauxval.cpp
@@ -31,6 +31,7 @@
#include <sys/auxv.h>
#include <private/bionic_auxv.h>
#include <elf.h>
+#include <errno.h>
__LIBC_HIDDEN__ ElfW(auxv_t)* __libc_auxv = NULL;
@@ -40,5 +41,6 @@
return v->a_un.a_val;
}
}
+ errno = ENOENT;
return 0;
}
diff --git a/tests/getauxval_test.cpp b/tests/getauxval_test.cpp
index b331150..6ce00f1 100644
--- a/tests/getauxval_test.cpp
+++ b/tests/getauxval_test.cpp
@@ -14,6 +14,7 @@
* limitations under the License.
*/
+#include <errno.h>
#include <sys/cdefs.h>
#include <gtest/gtest.h>
@@ -53,7 +54,9 @@
TEST(getauxval, unexpected_values) {
#if defined(GETAUXVAL_CAN_COMPILE)
+ errno = 0;
ASSERT_EQ((unsigned long int) 0, getauxval(0xdeadbeef));
+ ASSERT_EQ(ENOENT, errno);
#else
GTEST_LOG_(INFO) << "This test does nothing.\n";
#endif