8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright (c) 1990, 2010, Oracle and/or its affiliates. All rights reserved.
24 * Copyright 2016 Nexenta Systems, Inc.
25 * Copyright (c) 2017, Joyent, Inc. All rights reserved.
26 */
27
28 #if !defined(lint)
29 #include "assym.h"
30 #endif /* !lint */
31
32 #include <sys/asm_linkage.h>
33
34 #if defined(lint)
35
36 char stubs_base[1], stubs_end[1];
37
38 #else /* lint */
39
40 /*
41 * WARNING: there is no check for forgetting to write END_MODULE,
42 * and if you do, the kernel will most likely crash. Be careful
43 *
44 * This file assumes that all of the contributions to the data segment
45 * will be contiguous in the output file, even though they are separated
46 * by pieces of text. This is safe for all assemblers I know of now...
47 */
48
49 /*
50 * This file uses ansi preprocessor features:
51 *
52 * 1. #define mac(a) extra_ ## a --> mac(x) expands to extra_a
53 * The old version of this is
54 * #define mac(a) extra_/.*.*./a
55 * but this fails if the argument has spaces "mac ( x )"
56 * (Ignore the dots above, I had to put them in to keep this a comment.)
57 *
58 * 2. #define mac(a) #a --> mac(x) expands to "x"
59 * The old version is
1267 #endif
1268
1269 /*
1270 * Stubs for elfexec
1271 */
1272 #ifndef ELFEXEC_MODULE
1273 MODULE(elfexec,exec);
1274 STUB(elfexec, elfexec, nomod_einval);
1275 STUB(elfexec, elf32exec, nomod_einval);
1276 STUB(elfexec, mapexec_brand, nomod_einval);
1277 STUB(elfexec, mapexec32_brand, nomod_einval);
1278 END_MODULE(elfexec);
1279 #endif
1280
1281 ! this is just a marker for the area of text that contains stubs
1282 .seg ".text"
1283 .global stubs_end
1284 stubs_end:
1285 nop
1286
1287 #endif /* lint */
|
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright (c) 1990, 2010, Oracle and/or its affiliates. All rights reserved.
24 * Copyright 2016 Nexenta Systems, Inc.
25 * Copyright (c) 2017, Joyent, Inc. All rights reserved.
26 */
27
28 #include "assym.h"
29
30 #include <sys/asm_linkage.h>
31
32 /*
33 * WARNING: there is no check for forgetting to write END_MODULE,
34 * and if you do, the kernel will most likely crash. Be careful
35 *
36 * This file assumes that all of the contributions to the data segment
37 * will be contiguous in the output file, even though they are separated
38 * by pieces of text. This is safe for all assemblers I know of now...
39 */
40
41 /*
42 * This file uses ansi preprocessor features:
43 *
44 * 1. #define mac(a) extra_ ## a --> mac(x) expands to extra_a
45 * The old version of this is
46 * #define mac(a) extra_/.*.*./a
47 * but this fails if the argument has spaces "mac ( x )"
48 * (Ignore the dots above, I had to put them in to keep this a comment.)
49 *
50 * 2. #define mac(a) #a --> mac(x) expands to "x"
51 * The old version is
1259 #endif
1260
1261 /*
1262 * Stubs for elfexec
1263 */
1264 #ifndef ELFEXEC_MODULE
1265 MODULE(elfexec,exec);
1266 STUB(elfexec, elfexec, nomod_einval);
1267 STUB(elfexec, elf32exec, nomod_einval);
1268 STUB(elfexec, mapexec_brand, nomod_einval);
1269 STUB(elfexec, mapexec32_brand, nomod_einval);
1270 END_MODULE(elfexec);
1271 #endif
1272
1273 ! this is just a marker for the area of text that contains stubs
1274 .seg ".text"
1275 .global stubs_end
1276 stubs_end:
1277 nop
1278
|