Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.7 KiB

  1. //===- MCMachOSymbolFlags.h - MachO Symbol Flags ----------------*- C++ -*-===//
  2. //
  3. // The LLVM Compiler Infrastructure
  4. //
  5. // This file is distributed under the University of Illinois Open Source
  6. // License. See LICENSE.TXT for details.
  7. //
  8. //===----------------------------------------------------------------------===//
  9. //
  10. // This file declares the SymbolFlags used for the MachO target.
  11. //
  12. //===----------------------------------------------------------------------===//
  13. #ifndef LLVM_MC_MCMACHOSYMBOLFLAGS_H
  14. #define LLVM_MC_MCMACHOSYMBOLFLAGS_H
  15. // These flags are mostly used in MCMachOStreamer.cpp but also needed in
  16. // MachObjectWriter.cpp to test for Weak Definitions of symbols to emit
  17. // the correct relocation information.
  18. namespace llvm {
  19. /// SymbolFlags - We store the value for the 'desc' symbol field in the lowest
  20. /// 16 bits of the implementation defined flags.
  21. enum SymbolFlags { // See <mach-o/nlist.h>.
  22. SF_DescFlagsMask = 0xFFFF,
  23. // Reference type flags.
  24. SF_ReferenceTypeMask = 0x0007,
  25. SF_ReferenceTypeUndefinedNonLazy = 0x0000,
  26. SF_ReferenceTypeUndefinedLazy = 0x0001,
  27. SF_ReferenceTypeDefined = 0x0002,
  28. SF_ReferenceTypePrivateDefined = 0x0003,
  29. SF_ReferenceTypePrivateUndefinedNonLazy = 0x0004,
  30. SF_ReferenceTypePrivateUndefinedLazy = 0x0005,
  31. // Other 'desc' flags.
  32. SF_ThumbFunc = 0x0008,
  33. SF_NoDeadStrip = 0x0020,
  34. SF_WeakReference = 0x0040,
  35. SF_WeakDefinition = 0x0080,
  36. SF_SymbolResolver = 0x0100
  37. };
  38. } // end namespace llvm
  39. #endif