868b2b66 (kx 2024-12-20 16:11:07 +0300 1)
868b2b66 (kx 2024-12-20 16:11:07 +0300 2) /***************************************************************
868b2b66 (kx 2024-12-20 16:11:07 +0300 3) __MPU_SYMBOLS.H
868b2b66 (kx 2024-12-20 16:11:07 +0300 4)
868b2b66 (kx 2024-12-20 16:11:07 +0300 5) This file contains declarations of interface for define
868b2b66 (kx 2024-12-20 16:11:07 +0300 6) WEAK, ALIAS symbols in object files.
868b2b66 (kx 2024-12-20 16:11:07 +0300 7)
868b2b66 (kx 2024-12-20 16:11:07 +0300 8) PART OF : MPU - library .
868b2b66 (kx 2024-12-20 16:11:07 +0300 9)
868b2b66 (kx 2024-12-20 16:11:07 +0300 10) USAGE : Internal only .
868b2b66 (kx 2024-12-20 16:11:07 +0300 11)
868b2b66 (kx 2024-12-20 16:11:07 +0300 12) NOTE : Include "libmpu.h" before this FILE .
868b2b66 (kx 2024-12-20 16:11:07 +0300 13)
868b2b66 (kx 2024-12-20 16:11:07 +0300 14) Copyright (C) 2000 - 2024 by Andrew V.Kosteltsev.
868b2b66 (kx 2024-12-20 16:11:07 +0300 15) All Rights Reserved.
868b2b66 (kx 2024-12-20 16:11:07 +0300 16) ***************************************************************/
868b2b66 (kx 2024-12-20 16:11:07 +0300 17)
868b2b66 (kx 2024-12-20 16:11:07 +0300 18) #ifndef __MPU_SYMBOLS_H
868b2b66 (kx 2024-12-20 16:11:07 +0300 19) #define __MPU_SYMBOLS_H
868b2b66 (kx 2024-12-20 16:11:07 +0300 20)
868b2b66 (kx 2024-12-20 16:11:07 +0300 21) #ifdef __cplusplus
868b2b66 (kx 2024-12-20 16:11:07 +0300 22) extern "C" {
868b2b66 (kx 2024-12-20 16:11:07 +0300 23) #endif
868b2b66 (kx 2024-12-20 16:11:07 +0300 24)
868b2b66 (kx 2024-12-20 16:11:07 +0300 25)
868b2b66 (kx 2024-12-20 16:11:07 +0300 26) #ifndef __ASSEMBLER__
868b2b66 (kx 2024-12-20 16:11:07 +0300 27)
868b2b66 (kx 2024-12-20 16:11:07 +0300 28) #define __mpu_strong_alias( name, symbol ) \
868b2b66 (kx 2024-12-20 16:11:07 +0300 29) extern __typeof(name) symbol __attribute__ ((alias( #name )))
868b2b66 (kx 2024-12-20 16:11:07 +0300 30)
868b2b66 (kx 2024-12-20 16:11:07 +0300 31) #if defined( HAVE_WEAK_SYMBOLS ) && !defined( __CYGWIN__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300 32) /*********************************************************
868b2b66 (kx 2024-12-20 16:11:07 +0300 33) HAVE_WEAK_SYMBOLS:
868b2b66 (kx 2024-12-20 16:11:07 +0300 34) */
868b2b66 (kx 2024-12-20 16:11:07 +0300 35) #define __mpu_weak_alias( name, symbol ) \
868b2b66 (kx 2024-12-20 16:11:07 +0300 36) extern __typeof(name) symbol __attribute__ ((weak, alias( #name )))
868b2b66 (kx 2024-12-20 16:11:07 +0300 37)
868b2b66 (kx 2024-12-20 16:11:07 +0300 38) #define __MPU_WEAK 1
868b2b66 (kx 2024-12-20 16:11:07 +0300 39)
868b2b66 (kx 2024-12-20 16:11:07 +0300 40) #else /* HAVE_WEAK_SYMBOLS */
868b2b66 (kx 2024-12-20 16:11:07 +0300 41) /*********************************************************
868b2b66 (kx 2024-12-20 16:11:07 +0300 42) don't HAVE_WEAK_SYMBOLS (for example, in Cygwin):
868b2b66 (kx 2024-12-20 16:11:07 +0300 43) */
868b2b66 (kx 2024-12-20 16:11:07 +0300 44) #define __mpu_weak_alias( name, symbol ) \
868b2b66 (kx 2024-12-20 16:11:07 +0300 45) __mpu_strong_alias( name, symbol )
868b2b66 (kx 2024-12-20 16:11:07 +0300 46)
868b2b66 (kx 2024-12-20 16:11:07 +0300 47) #define __MPU_WEAK 0
868b2b66 (kx 2024-12-20 16:11:07 +0300 48)
868b2b66 (kx 2024-12-20 16:11:07 +0300 49) #endif /* HAVE_WEAK_SYMBOLS */
868b2b66 (kx 2024-12-20 16:11:07 +0300 50)
868b2b66 (kx 2024-12-20 16:11:07 +0300 51) #endif /* __ASSEMBLER__ */
868b2b66 (kx 2024-12-20 16:11:07 +0300 52)
868b2b66 (kx 2024-12-20 16:11:07 +0300 53)
868b2b66 (kx 2024-12-20 16:11:07 +0300 54) #if defined( SHARED ) && defined( HAVE_HIDDEN_VISIBILITY_ATTRIBUTE )
868b2b66 (kx 2024-12-20 16:11:07 +0300 55) #define __mpu_hidden_decl(name) \
868b2b66 (kx 2024-12-20 16:11:07 +0300 56) extern __typeof (name) __attribute__ ((visibility ("hidden"))) name
868b2b66 (kx 2024-12-20 16:11:07 +0300 57) #else
868b2b66 (kx 2024-12-20 16:11:07 +0300 58) #define __mpu_hidden_decl(name)
868b2b66 (kx 2024-12-20 16:11:07 +0300 59) #endif
868b2b66 (kx 2024-12-20 16:11:07 +0300 60)
868b2b66 (kx 2024-12-20 16:11:07 +0300 61)
868b2b66 (kx 2024-12-20 16:11:07 +0300 62) #ifdef __cplusplus
868b2b66 (kx 2024-12-20 16:11:07 +0300 63) } /* ... extern "C" */
868b2b66 (kx 2024-12-20 16:11:07 +0300 64) #endif
868b2b66 (kx 2024-12-20 16:11:07 +0300 65)
868b2b66 (kx 2024-12-20 16:11:07 +0300 66) #endif /* __MPU_SYMBOLS_H */