123456789101112131415161718192021222324252627282930313233343536373839404142 |
- //===-- common.cpp ----------------------------------------------*- C++ -*-===//
- //
- // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
- // See https://llvm.org/LICENSE.txt for license information.
- // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- //
- //===----------------------------------------------------------------------===//
- #include "common.h"
- #include "atomic_helpers.h"
- #include "string_utils.h"
- namespace scudo {
- uptr PageSizeCached;
- uptr getPageSize();
- uptr getPageSizeSlow() {
- PageSizeCached = getPageSize();
- CHECK_NE(PageSizeCached, 0);
- return PageSizeCached;
- }
- // Fatal internal map() or unmap() error (potentially OOM related).
- void NORETURN dieOnMapUnmapError(uptr SizeIfOOM) {
- char Error[128] = "Scudo ERROR: internal map or unmap failure\n";
- if (SizeIfOOM) {
- formatString(
- Error, sizeof(Error),
- "Scudo ERROR: internal map failure (NO MEMORY) requesting %zuKB\n",
- SizeIfOOM >> 10);
- }
- outputRaw(Error);
- setAbortMessage(Error);
- die();
- }
- #if !SCUDO_LINUX
- uptr GetRSS() { return 0; }
- #endif
- } // namespace scudo
|