Merge "Fix glibc 2.15 build."
This commit is contained in:
commit
92a585c91a
@ -15,13 +15,23 @@
|
||||
*/
|
||||
|
||||
#undef _GNU_SOURCE
|
||||
#include <features.h> // Get __BIONIC__ or __GLIBC__ so we can tell what we're using.
|
||||
|
||||
// Old versions of glibc (like our current host prebuilt sysroot one) have
|
||||
// headers that don't work if you #undef _GNU_SOURCE, which makes it
|
||||
// impossible to build this test.
|
||||
#include <features.h>
|
||||
#if defined(__GLIBC__)
|
||||
|
||||
// At the time of writing, libcxx -- which is dragged in by gtest -- assumes
|
||||
// declarations from glibc of things that aren't available without __USE_GNU.
|
||||
// This means we can't even build this test (which is a problem because that
|
||||
// means it doesn't get included in CTS).
|
||||
// For glibc 2.15, the symbols in question are:
|
||||
// at_quick_exit, quick_exit, vasprintf, strtoll_l, strtoull_l, and strtold_l.
|
||||
|
||||
# if __GLIBC_PREREQ(2, 19)
|
||||
# error check whether we can build this now...
|
||||
# endif
|
||||
|
||||
#else
|
||||
|
||||
#if !defined(__GLIBC__)
|
||||
#include <string.h>
|
||||
|
||||
#include <errno.h>
|
||||
@ -50,8 +60,5 @@ TEST(string, posix_strerror_r) {
|
||||
// The POSIX strerror_r sets errno to ERANGE (the GNU one doesn't).
|
||||
ASSERT_EQ(ERANGE, errno);
|
||||
}
|
||||
#else
|
||||
# if __GLIBC_PREREQ(2, 15)
|
||||
# error this test should work now
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
@ -18,17 +18,6 @@
|
||||
|
||||
#include <sys/resource.h>
|
||||
|
||||
#if defined(__GLIBC__)
|
||||
/* The host glibc we're currently building with doesn't have prlimit64 yet. */
|
||||
static int prlimit64(pid_t, int resource, const struct rlimit64* new_limit, struct rlimit64* old_limit) {
|
||||
if (new_limit != NULL) {
|
||||
return setrlimit64(resource, new_limit);
|
||||
} else {
|
||||
return getrlimit64(resource, old_limit);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
TEST(sys_resource, smoke) {
|
||||
#if defined(__LP64__) || defined(__GLIBC__)
|
||||
ASSERT_EQ(sizeof(rlimit), sizeof(rlimit64));
|
||||
|
@ -29,7 +29,6 @@
|
||||
#include <sys/wait.h>
|
||||
#include <unistd.h>
|
||||
|
||||
|
||||
TEST(unistd, sysconf_SC_MONOTONIC_CLOCK) {
|
||||
ASSERT_GT(sysconf(_SC_MONOTONIC_CLOCK), 0);
|
||||
}
|
||||
@ -250,8 +249,6 @@ TEST(unistd, getenv_unsetenv) {
|
||||
}
|
||||
|
||||
TEST(unistd, unsetenv_EINVAL) {
|
||||
EXPECT_EQ(-1, unsetenv(NULL));
|
||||
EXPECT_EQ(EINVAL, errno);
|
||||
EXPECT_EQ(-1, unsetenv(""));
|
||||
EXPECT_EQ(EINVAL, errno);
|
||||
EXPECT_EQ(-1, unsetenv("a=b"));
|
||||
|
Loading…
x
Reference in New Issue
Block a user