Path: blob/main/system/lib/llvm-libc/hdr/fcntl_overlay.h
6194 views
//===-- Including fcntl.h in overlay mode ---------------------------------===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#ifndef LLVM_LIBC_HDR_FCNTL_OVERLAY_H9#define LLVM_LIBC_HDR_FCNTL_OVERLAY_H1011#ifdef LIBC_FULL_BUILD12#error "This header should only be included in overlay mode"13#endif1415// Overlay mode1617// glibc <fcntl.h> header might provide extern inline definitions for few18// functions, causing external alias errors. They are guarded by19// `__USE_FORTIFY_LEVEL`, which will be temporarily disabled20// with `_FORTIFY_SOURCE`.2122#ifdef _FORTIFY_SOURCE23#define LIBC_OLD_FORTIFY_SOURCE _FORTIFY_SOURCE24#undef _FORTIFY_SOURCE25#endif2627#ifdef __USE_FORTIFY_LEVEL28#define LIBC_OLD_USE_FORTIFY_LEVEL __USE_FORTIFY_LEVEL29#undef __USE_FORTIFY_LEVEL30#define __USE_FORTIFY_LEVEL 031#endif3233#include <fcntl.h>3435#ifdef LIBC_OLD_FORTIFY_SOURCE36#define _FORTIFY_SOURCE LIBC_OLD_FORTIFY_SOURCE37#undef LIBC_OLD_FORTIFY_SOURCE38#endif3940#ifdef LIBC_OLD_USE_FORTIFY_LEVEL41#undef __USE_FORTIFY_LEVEL42#define __USE_FORTIFY_LEVEL LIBC_OLD_USE_FORTIFY_LEVEL43#undef LIBC_OLD_USE_FORTIFY_LEVEL44#endif4546#endif // LLVM_LIBC_HDR_FCNTL_OVERLAY_H474849