From b9ab448f980e296eac21ac65f53783967cc6037b Mon Sep 17 00:00:00 2001 From: Brooks Moses Date: Wed, 11 Dec 2013 16:58:12 -0800 Subject: Add error reporting (via errno) to getauxval(). [BZ 15846] As discussed in the recent thread on my $EXEC_ORIGIN patch and in BZ 15846, getauxval() presently has no unambiguous way of reporting an error condition. It currently returns zero on error, but this may also be a valid result for some auxv entries. As there is no clear invalid result for all current and future auxv entries, this patch sets errno (following a suggestion in the BZ entry). This version of the patch also adds documentation and tests for the value-not-found conditions in getauxval(). --- misc/sys/auxv.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'misc/sys') diff --git a/misc/sys/auxv.h b/misc/sys/auxv.h index a69250bd52..7aec3a04b8 100644 --- a/misc/sys/auxv.h +++ b/misc/sys/auxv.h @@ -27,9 +27,9 @@ __BEGIN_DECLS /* Return the value associated with an Elf*_auxv_t type from the auxv list passed to the program on startup. If TYPE was not present in the auxv - list, returns zero. */ + list, returns zero and sets errno to ENOENT. */ extern unsigned long int getauxval (unsigned long int __type) - __THROW __attribute_const__; + __THROW; __END_DECLS -- cgit 1.4.1