AsmMacroIoLib.inc 767 B

123456789101112131415161718192021222324252627282930313233
  1. ;%HEADER%
  2. ;/** @file
  3. ; Macros to work around lack of Apple support for LDR register, =expr
  4. ;
  5. ; Copyright (c) 2009, Apple Inc. All rights reserved.<BR>
  6. ; Copyright (c) 2011-2012, ARM Ltd. All rights reserved.<BR>
  7. ;
  8. ; SPDX-License-Identifier: BSD-2-Clause-Patent
  9. ;
  10. ;**/
  11. MACRO
  12. adrll $Reg, $Symbol
  13. add $Reg, pc, #-8
  14. RELOC R_ARM_ALU_PC_G0_NC, $Symbol
  15. add $Reg, $Reg, #-4
  16. RELOC R_ARM_ALU_PC_G1_NC, $Symbol
  17. add $Reg, $Reg, #0
  18. RELOC R_ARM_ALU_PC_G2, $Symbol
  19. MEND
  20. MACRO
  21. ldrl $Reg, $Symbol
  22. add $Reg, pc, #-8
  23. RELOC R_ARM_ALU_PC_G0_NC, $Symbol
  24. add $Reg, $Reg, #-4
  25. RELOC R_ARM_ALU_PC_G1_NC, $Symbol
  26. ldr $Reg, [$Reg, #0]
  27. RELOC R_ARM_LDR_PC_G2, $Symbol
  28. MEND
  29. END