Mercurial > pub > dyncall > dyncall
annotate dyncallback/dyncall_args.c @ 588:dfc2e6ee8782 r1.4-RC3
- more robust endian detection, on some platforms inclusion of endian.h led to assuming wrong endianness (subtle if inclusion was in
- syscall test: added newline to output
author | Tassilo Philipp |
---|---|
date | Mon, 19 Sep 2022 09:54:21 +0200 |
parents | f5577f6bf97a |
children | 0c8838766866 |
rev | line source |
---|---|
0 | 1 /* |
2 | |
3 Package: dyncall | |
4 Library: dyncallback | |
5 File: dyncallback/dyncall_args.c | |
6 Description: Callback's Arguments VM - Implementation back-end selector | |
7 License: | |
8 | |
281 | 9 Copyright (c) 2007-2018 Daniel Adler <dadler@uni-goettingen.de>, |
0 | 10 Tassilo Philipp <tphilipp@potion-studios.com> |
11 | |
12 Permission to use, copy, modify, and distribute this software for any | |
13 purpose with or without fee is hereby granted, provided that the above | |
14 copyright notice and this permission notice appear in all copies. | |
15 | |
16 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
17 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
18 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
19 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
20 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
21 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
22 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
23 | |
24 */ | |
25 | |
26 #include "../dyncall/dyncall_macros.h" | |
27 | |
28 #if defined(DC__Arch_Intel_x86) | |
37 | 29 # include "dyncall_args_x86.c" |
122
f63467916f98
- first draft of mips64 n64 callbacks, not everything working, though
cslag
parents:
102
diff
changeset
|
30 #elif defined(DC__Arch_AMD64) |
37 | 31 # include "dyncall_args_x64.c" |
122
f63467916f98
- first draft of mips64 n64 callbacks, not everything working, though
cslag
parents:
102
diff
changeset
|
32 #elif defined(DC__Arch_PPC32) |
f63467916f98
- first draft of mips64 n64 callbacks, not everything working, though
cslag
parents:
102
diff
changeset
|
33 # if defined(DC__OS_Darwin) |
37 | 34 # include "dyncall_args_ppc32.c" |
35 # else | |
36 # include "dyncall_args_ppc32_sysv.c" | |
37 # endif | |
122
f63467916f98
- first draft of mips64 n64 callbacks, not everything working, though
cslag
parents:
102
diff
changeset
|
38 #elif defined(DC__Arch_PPC64) |
37 | 39 # include "dyncall_args_ppc64.c" |
143
170cde9e2a83
- arm arm/thumb cleanup, sharing more files, directly
cslag
parents:
122
diff
changeset
|
40 #elif defined(DC__Arch_ARM) |
170cde9e2a83
- arm arm/thumb cleanup, sharing more files, directly
cslag
parents:
122
diff
changeset
|
41 # include "dyncall_args_arm32.c" |
122
f63467916f98
- first draft of mips64 n64 callbacks, not everything working, though
cslag
parents:
102
diff
changeset
|
42 #elif defined(DC__Arch_MIPS) |
102
b7a9b524f0c3
- mips o32 callbacks, first draft (calls into handler correctly, with correct params, but doesn't return)
cslag
parents:
37
diff
changeset
|
43 # if defined(DC__ABI_MIPS_O32) |
b7a9b524f0c3
- mips o32 callbacks, first draft (calls into handler correctly, with correct params, but doesn't return)
cslag
parents:
37
diff
changeset
|
44 # include "dyncall_args_mips_o32.c" |
b7a9b524f0c3
- mips o32 callbacks, first draft (calls into handler correctly, with correct params, but doesn't return)
cslag
parents:
37
diff
changeset
|
45 # else |
b7a9b524f0c3
- mips o32 callbacks, first draft (calls into handler correctly, with correct params, but doesn't return)
cslag
parents:
37
diff
changeset
|
46 # include "dyncall_args_mips.c" |
b7a9b524f0c3
- mips o32 callbacks, first draft (calls into handler correctly, with correct params, but doesn't return)
cslag
parents:
37
diff
changeset
|
47 # endif |
122
f63467916f98
- first draft of mips64 n64 callbacks, not everything working, though
cslag
parents:
102
diff
changeset
|
48 #elif defined(DC__Arch_MIPS64) |
f63467916f98
- first draft of mips64 n64 callbacks, not everything working, though
cslag
parents:
102
diff
changeset
|
49 # include "dyncall_args_mips64.c" |
f63467916f98
- first draft of mips64 n64 callbacks, not everything working, though
cslag
parents:
102
diff
changeset
|
50 #elif defined(DC__Arch_Sparc) |
37 | 51 # include "dyncall_args_sparc32.c" |
179 | 52 #elif defined(DC__Arch_Sparc64) |
37 | 53 # include "dyncall_args_sparc64.c" |
122
f63467916f98
- first draft of mips64 n64 callbacks, not everything working, though
cslag
parents:
102
diff
changeset
|
54 #elif defined(DC__Arch_ARM64) |
f63467916f98
- first draft of mips64 n64 callbacks, not everything working, though
cslag
parents:
102
diff
changeset
|
55 # if defined(DC__OS_Darwin) |
0 | 56 # include "dyncall_args_arm64_apple.c" |
57 # else | |
58 # include "dyncall_args_arm64.c" | |
59 # endif | |
60 #endif | |
61 |