Print this page
de-linting of .s files


   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