nuttx/libs/libc/modlib/modlib_globals.S
guoshichao 04f5aaebfa greenhills: fix macro undefined warning
AS:  modlib/modlib_globals.S "modlib/modlib_globals.S", line 38: warning #193-D: zero used for undefined
          preprocessing identifier "__SIZEOF_POINTER__"
  #if __SIZEOF_POINTER__ == 8
      ^

Signed-off-by: guoshichao <guoshichao@xiaomi.com>
2024-08-24 20:43:53 +08:00

77 lines
1.3 KiB
ArmAsm

#ifdef __CYGWIN__
# define SYMBOL(s) _##s
# define GLOBAL .global
# define SECTION .data
.macro GLOBAL ep
.global SYMBOL(\ep)
.type SYMBOL(\ep), "object"
.endm
.macro SIZE ep
.endm
#elif defined(__ELF__)
# define SYMBOL(s) s
# define SECTION .data
.macro GLOBAL ep
.global SYMBOL(\ep)
.type SYMBOL(\ep), "object"
.endm
.macro SIZE ep
# if defined(__ghs__)
.size SYMBOL(ep), . - SYMBOL(ep)
# else
.size SYMBOL(\ep), . - SYMBOL(\ep)
# endif
.endm
#else
# define SYMBOL(s) _##s
# define SECTION .section __DATA,__data
.macro GLOBAL ep
.private_extern SYMBOL(\ep)
.globl SYMBOL(\ep)
.endm
.macro SIZE ep
.endm
#endif
#if defined(__SIZEOF_POINTER__ ) && __SIZEOF_POINTER__ == 8
.macro globalEntry index, ep
.quad .l\index
.quad \ep
.endm
# define ALIGN 8
#else
.macro globalEntry index, ep
.long .l\index
.long \ep
.endm
# define ALIGN 4
#endif
#ifdef __ARM_ARCH_ISA_THUMB2
# ifdef __ARM_ARCH_7M__
.arch armv7e-m
# elif defined ___ARM_ARCH 8
.arch armv8-m.base
#endif
#ifdef __ARM_ASM_SYNTAX_UNIFIED__
.syntax unified
#endif
.thumb
#endif
.data
.align ALIGN
GLOBAL globalNames
SYMBOL(globalNames):
SIZE globalNames
.align ALIGN
GLOBAL nglobals
SYMBOL(nglobals):
.word 0
SIZE nglobals
.align ALIGN
GLOBAL global_table
SYMBOL(global_table):
SIZE global_table