mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-26 21:47:07 +00:00
3807a4746a
external and the item to be relocated should not have the address of the symbol added in. llvm-svn: 103302
45 lines
1.6 KiB
C++
45 lines
1.6 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 {
|
|
/// SymbolFlags - We store the value for the 'desc' symbol field in the lowest
|
|
/// 16 bits of the implementation defined flags.
|
|
enum SymbolFlags { // 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_NoDeadStrip = 0x0020,
|
|
SF_WeakReference = 0x0040,
|
|
SF_WeakDefinition = 0x0080
|
|
};
|
|
|
|
} // end namespace llvm
|
|
|
|
#endif
|