Rev | Line | |
---|
[9633] | 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.