Line | |
---|
1 | #ifndef _EMXSTDDEF_H
|
---|
2 | #define _EMXSTDDEF_H
|
---|
3 |
|
---|
4 |
|
---|
5 | #define __ASM_NAME(name) "_" name
|
---|
6 | #define __ASM_FUNC(name) ".type " __ASM_NAME(name) ",@function"
|
---|
7 |
|
---|
8 | #ifdef __GNUC__
|
---|
9 | # define __ASM_GLOBAL_FUNC(name,code) \
|
---|
10 | __asm__( ".align 4\n\t" \
|
---|
11 | ".globl " __ASM_NAME(#name) "\n\t" \
|
---|
12 | __ASM_FUNC(#name) "\n" \
|
---|
13 | __ASM_NAME(#name) ":\n\t" \
|
---|
14 | code );
|
---|
15 | #else /* __GNUC__ */
|
---|
16 | # define __ASM_GLOBAL_FUNC(name,code) \
|
---|
17 | void __asm_dummy_##name(void) { \
|
---|
18 | asm( ".align 4\n\t" \
|
---|
19 | ".globl " __ASM_NAME(#name) "\n\t" \
|
---|
20 | __ASM_FUNC(#name) "\n" \
|
---|
21 | __ASM_NAME(#name) ":\n\t" \
|
---|
22 | code ); \
|
---|
23 | }
|
---|
24 | #endif /* __GNUC__ */
|
---|
25 |
|
---|
26 | #endif
|
---|
Note:
See
TracBrowser
for help on using the repository browser.