Last change
on this file was
e16e8f2,
checked in by Edwin Eefting <edwin@datux.nl>, 3 years ago
|
bootstuff
|
-
Property mode set to
100644
|
File size:
804 bytes
|
Line | |
---|
1 | #ifndef _BITS_COMPILER_H |
---|
2 | #define _BITS_COMPILER_H |
---|
3 | |
---|
4 | FILE_LICENCE ( GPL2_OR_LATER ); |
---|
5 | |
---|
6 | #ifndef ASSEMBLY |
---|
7 | |
---|
8 | /** Declare a function with standard calling conventions */ |
---|
9 | #define __asmcall __attribute__ (( cdecl, regparm(0) )) |
---|
10 | |
---|
11 | /** |
---|
12 | * Declare a function with libgcc implicit linkage |
---|
13 | * |
---|
14 | * It seems as though gcc expects its implicit arithmetic functions to |
---|
15 | * be cdecl, even if -mrtd is specified. This is somewhat |
---|
16 | * inconsistent; for example, if -mregparm=3 is used then the implicit |
---|
17 | * functions do become regparm(3). |
---|
18 | * |
---|
19 | * The implicit calls to memcpy() and memset() which gcc can generate |
---|
20 | * do not seem to have this inconsistency; -mregparm and -mrtd affect |
---|
21 | * them in the same way as any other function. |
---|
22 | */ |
---|
23 | #define __libgcc __attribute__ (( cdecl )) |
---|
24 | |
---|
25 | #endif /* ASSEMBLY */ |
---|
26 | |
---|
27 | #endif /* _BITS_COMPILER_H */ |
---|
Note: See
TracBrowser
for help on using the repository browser.