mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-21 03:29:40 +00:00
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193391 91177308-0d34-0410-b5e6-96231b3b80d8
47 lines
1.7 KiB
C++
47 lines
1.7 KiB
C++
//===- MCMachOSymbolFlags.h - MachO Symbol Flags ----------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This file declares the SymbolFlags used for the MachO target.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_MC_MCMACHOSYMBOLFLAGS_H
|
|
#define LLVM_MC_MCMACHOSYMBOLFLAGS_H
|
|
|
|
// These flags are mostly used in MCMachOStreamer.cpp but also needed in
|
|
// MachObjectWriter.cpp to test for Weak Definitions of symbols to emit
|
|
// the correct relocation information.
|
|
|
|
namespace llvm {
|
|
/// MachOSymbolFlags - We store the value for the 'desc' symbol field in the
|
|
/// lowest 16 bits of the implementation defined flags.
|
|
enum MachOSymbolFlags { // See <mach-o/nlist.h>.
|
|
SF_DescFlagsMask = 0xFFFF,
|
|
|
|
// Reference type flags.
|
|
SF_ReferenceTypeMask = 0x0007,
|
|
SF_ReferenceTypeUndefinedNonLazy = 0x0000,
|
|
SF_ReferenceTypeUndefinedLazy = 0x0001,
|
|
SF_ReferenceTypeDefined = 0x0002,
|
|
SF_ReferenceTypePrivateDefined = 0x0003,
|
|
SF_ReferenceTypePrivateUndefinedNonLazy = 0x0004,
|
|
SF_ReferenceTypePrivateUndefinedLazy = 0x0005,
|
|
|
|
// Other 'desc' flags.
|
|
SF_ThumbFunc = 0x0008,
|
|
SF_NoDeadStrip = 0x0020,
|
|
SF_WeakReference = 0x0040,
|
|
SF_WeakDefinition = 0x0080,
|
|
SF_SymbolResolver = 0x0100
|
|
};
|
|
|
|
} // end namespace llvm
|
|
|
|
#endif
|