diff --git a/third_party/angle/src/vulkan_support/BUILD.gn b/third_party/angle/src/vulkan_support/BUILD.gn index 51c8c10..fb70649 100644 --- third_party/angle/src/vulkan_support/BUILD.gn +++ third_party/angle/src/vulkan_support/BUILD.gn @@ -204,8 +204,8 @@ config("vulkan_loader_config") { cflags = [ "/wd4201" ] } if (is_linux) { - # assume secure_getenv() is available - defines += [ "HAVE_SECURE_GETENV" ] + # assume getauxval() is available + defines += [ "HAVE_GETAUXVAL" ] } } diff --git a/third_party/vulkan-validation-layers/src/loader/loader.c b/third_party/vulkan-validation-layers/src/loader/loader.c index facddc1..b6a8ee9 100644 --- third_party/vulkan-validation-layers/src/loader/loader.c +++ third_party/vulkan-validation-layers/src/loader/loader.c @@ -31,6 +31,9 @@ #include #include #include +#if defined(HAVE_GETAUXVAL) +#include +#endif #include #if defined(_WIN32) @@ -218,6 +221,8 @@ static inline char *loader_secure_getenv(const char *name, const struct loader_i return secure_getenv(name); #elif defined(HAVE___SECURE_GETENV) return __secure_getenv(name); +#elif defined(HAVE_GETAUXVAL) + return getauxval(AT_SECURE) ? NULL : getenv(name); #else #pragma message("Warning: Falling back to non-secure getenv for environmental lookups! Consider" \ " updating to a different libc.")