3 ;; Symbol mangling macros
4 ;; Copyright (c) 2001, David H. Hovemeyer <daveho@cs.umd.edu>
6 ;; Permission is hereby granted, free of charge, to any person
7 ;; obtaining a copy of this software and associated documentation
8 ;; files (the "Software"), to deal in the Software without restriction,
9 ;; including without limitation the rights to use, copy, modify, merge,
10 ;; publish, distribute, sublicense, and/or sell copies of the Software,
11 ;; and to permit persons to whom the Software is furnished to do so,
12 ;; subject to the following conditions:
14 ;; The above copyright notice and this permission notice shall be
15 ;; included in all copies or substantial portions of the Software.
17 ;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
18 ;; ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
19 ;; TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
20 ;; PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
21 ;; SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
22 ;; FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
23 ;; AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24 ;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
25 ;; THE USE OR OTHER DEALINGS IN THE SOFTWARE.
30 ; This file defines macros for dealing with externally-visible
31 ; symbols that must be mangled for some object file formats.
32 ; For example, PECOFF requires a leading underscore, while
35 ; EXPORT defines a symbol as global
36 ; IMPORT references a symbol defined in another module
38 ; Thanks to Christopher Giese for providing the NASM macros
39 ; (thus saving me hours of frustration).
41 %ifndef __VMM_SYMBOL_ASM
42 %define __VMM_SYMBOL_ASM
44 %ifdef NEED_UNDERSCORE