Warning: That file was not part of the compilation database. It may have many parsing errors.
1 | /* Copyright (C) 1991-2022 Free Software Foundation, Inc. |
---|---|
2 | |
3 | This file is part of the GNU C Library. |
4 | |
5 | The GNU C Library is free software; you can redistribute it and/or |
6 | modify it under the terms of the GNU Lesser General Public |
7 | License as published by the Free Software Foundation; either |
8 | version 2.1 of the License, or (at your option) any later version. |
9 | |
10 | The GNU C Library is distributed in the hope that it will be useful, |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
13 | Lesser General Public License for more details. |
14 | |
15 | You should have received a copy of the GNU Lesser General Public |
16 | License along with the GNU C Library; if not, see |
17 | <https://www.gnu.org/licenses/>. */ |
18 | |
19 | #ifndef _MACH_I386_SYSDEP_H |
20 | #define _MACH_I386_SYSDEP_H 1 |
21 | |
22 | /* Defines RTLD_PRIVATE_ERRNO and USE_DL_SYSINFO. */ |
23 | #include <dl-sysdep.h> |
24 | #include <tls.h> |
25 | |
26 | #define LOSE asm volatile ("hlt") |
27 | |
28 | #define SNARF_ARGS(entry_sp, argc, argv, envp) \ |
29 | do \ |
30 | { \ |
31 | char **p; \ |
32 | argc = (int) *entry_sp; \ |
33 | argv = (char **) (entry_sp + 1); \ |
34 | p = argv; \ |
35 | while (*p++ != NULL) \ |
36 | ; \ |
37 | if (p >= (char **) argv[0]) \ |
38 | --p; \ |
39 | envp = p; \ |
40 | } while (0) |
41 | |
42 | #define RETURN_TO(sp, pc, retval) \ |
43 | asm volatile ("movl %0, %%esp; jmp %*%1 # %2" \ |
44 | : : "g" (sp), "r" (pc), "a" (retval)) |
45 | |
46 | |
47 | #define STACK_GROWTH_DOWN |
48 | |
49 | /* Get the machine-independent Mach definitions. */ |
50 | #include <sysdeps/mach/sysdep.h> |
51 | |
52 | |
53 | /* This should be rearranged, but at the moment this file provides |
54 | the most useful definitions for assembler syntax details. */ |
55 | #undef ENTRY |
56 | #undef ALIGN |
57 | #include <sysdeps/unix/i386/sysdep.h> |
58 | |
59 | #endif /* mach/i386/sysdep.h */ |
60 |
Warning: That file was not part of the compilation database. It may have many parsing errors.