The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/sys/_elf_solaris.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * CDDL HEADER START
    3  *
    4  * The contents of this file are subject to the terms of the
    5  * Common Development and Distribution License (the "License").
    6  * You may not use this file except in compliance with the License.
    7  *
    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  * $FreeBSD$
   22  *
   23  * ELF compatibility definitions for OpenSolaris source.
   24  *
   25  */
   26 
   27 #ifndef _SYS__ELF_SOLARIS_H_
   28 #define _SYS__ELF_SOLARIS_H_
   29 
   30 #include <sys/elf_generic.h>
   31 
   32 #define __sElfN(x)       typedef __CONCAT(__CONCAT(__CONCAT(Elf,__ELF_WORD_SIZE),_),x) x
   33 
   34 __sElfN(Addr);
   35 __sElfN(Cap);
   36 __sElfN(Dyn);
   37 __sElfN(Ehdr);
   38 __sElfN(Move);
   39 __sElfN(Off);
   40 __sElfN(Phdr);
   41 __sElfN(Rel);
   42 __sElfN(Rela);
   43 __sElfN(Shdr);
   44 __sElfN(Sym);
   45 __sElfN(Syminfo);
   46 __sElfN(Verdaux);
   47 __sElfN(Verdef);
   48 __sElfN(Vernaux);
   49 __sElfN(Verneed);
   50 __sElfN(Versym);
   51 
   52 __sElfN(Half);
   53 __sElfN(Sword);
   54 __sElfN(Word);
   55 
   56 #if __ELF_WORD_SIZE == 32
   57 typedef Elf32_Word      Xword;  /* Xword/Sxword are 32-bits in Elf32 */
   58 typedef Elf32_Sword     Sxword;
   59 #else
   60 typedef Elf64_Xword     Xword;
   61 typedef Elf64_Sxword    Sxword;
   62 #endif
   63 
   64 #define ELF_M_INFO      __ELFN(M_INFO)
   65 #define ELF_M_SIZE      __ELFN(M_SIZE)
   66 #define ELF_M_SYM       __ELFN(M_SYM)
   67 
   68 /*
   69  * Elf `printf' type-cast macros.  These force arguments to be a fixed size
   70  * so that Elf32 and Elf64 can share common format strings.
   71  */
   72 #define EC_ADDR(a)      ((Elf64_Addr)(a))               /* "ull" */
   73 #define EC_OFF(a)       ((Elf64_Off)(a))                /* "ull"  */
   74 #define EC_HALF(a)      ((Elf64_Half)(a))               /* "d"   */
   75 #define EC_WORD(a)      ((Elf64_Word)(a))               /* "u"   */
   76 #define EC_SWORD(a)     ((Elf64_Sword)(a))              /* "d"   */
   77 #define EC_XWORD(a)     ((Elf64_Xword)(a))              /* "ull" */
   78 #define EC_SXWORD(a)    ((Elf64_Sxword)(a))             /* "ll"  */
   79 #define EC_LWORD(a)     ((Elf64_Lword)(a))              /* "ull" */
   80 
   81 #define elf_checksum            __elfN(checksum)
   82 #define elf_fsize               __elfN(fsize)
   83 #define elf_getehdr             __elfN(getehdr)
   84 #define elf_getphdr             __elfN(getphdr)
   85 #define elf_newehdr             __elfN(newehdr)
   86 #define elf_newphdr             __elfN(newphdr)
   87 #define elf_getshdr             __elfN(getshdr)
   88 #define elf_xlatetof            __elfN(xlatetof)
   89 #define elf_xlatetom            __elfN(xlatetom)
   90 
   91 #define Elf_cap_entry           __ElfN(cap_entry)
   92 #define Elf_cap_title           __ElfN(cap_title)
   93 #define Elf_demangle_name       __ElfN(demangle_name)
   94 #define Elf_dyn_entry           __ElfN(dyn_entry)
   95 #define Elf_dyn_title           __ElfN(dyn_title)
   96 #define Elf_ehdr                __ElfN(ehdr)
   97 #define Elf_got_entry           __ElfN(got_entry)
   98 #define Elf_got_title           __ElfN(got_title)
   99 #define Elf_reloc_apply_reg     __ElfN(reloc_apply_reg)
  100 #define Elf_reloc_apply_val     __ElfN(reloc_apply_val)
  101 #define Elf_reloc_entry_1       __ElfN(reloc_entry_1)
  102 #define Elf_reloc_entry_2       __ElfN(reloc_entry_2)
  103 #define Elf_reloc_title         __ElfN(reloc_title)
  104 #define Elf_phdr                __ElfN(phdr)
  105 #define Elf_shdr                __ElfN(shdr)
  106 #define Elf_syms_table_entry    __ElfN(syms_table_entry)
  107 #define Elf_syms_table_title    __ElfN(syms_table_title)
  108 #define Elf_ver_def_title       __ElfN(ver_def_title)
  109 #define Elf_ver_line_1          __ElfN(ver_line_1)
  110 #define Elf_ver_line_2          __ElfN(ver_line_2)
  111 #define Elf_ver_line_3          __ElfN(ver_line_3)
  112 #define Elf_ver_line_4          __ElfN(ver_line_4)
  113 #define Elf_ver_line_5          __ElfN(ver_line_5)
  114 #define Elf_ver_need_title      __ElfN(ver_need_title)
  115 
  116 #ifdef DOODAD
  117 void    Elf_cap_entry(Lm_list *, Cap *, int, Half);
  118 void    Elf_cap_title(Lm_list *);
  119 const char *Elf_demangle_name(const char *);
  120 void    Elf_dyn_entry(Lm_list *, Dyn *, int, const char *, Half);
  121 void    Elf_dyn_title(Lm_list *);
  122 void    Elf_ehdr(Lm_list *, Ehdr *, Shdr *);
  123 void    Elf_got_entry(Lm_list *, Sword, Addr, Xword, Half, Word, void *, const char *);
  124 void    Elf_got_title(Lm_list *);
  125 void    Elf_phdr(Lm_list *, Half, Phdr *);
  126 void    Elf_reloc_apply_val(Lm_list *, int, Xword, Xword);
  127 void    Elf_reloc_apply_reg(Lm_list *, int, Half, Xword, Xword);
  128 void    Elf_reloc_entry_1(Lm_list *, int, const char *, Half, Word, void *, const char *, const char *, const char *);
  129 void    Elf_reloc_entry_2(Lm_list *, int, const char *, Word, const char *, Off, Sxword, const char *, const char *, const char *);
  130 void    Elf_reloc_title(Lm_list *, int, Word);
  131 void    Elf_shdr(Lm_list *, Half, Shdr *);
  132 void    Elf_syms_table_entry(Lm_list *, int, const char *, Half, Sym *, Word, const char *, const char *);
  133 void    Elf_syms_table_title(Lm_list *, int);
  134 void    Elf_ver_def_title(Lm_list *);
  135 void    Elf_ver_line_1(Lm_list *, const char *, const char *, const char *, const char *);
  136 void    Elf_ver_line_2(Lm_list *, const char *, const char *);
  137 void    Elf_ver_line_3(Lm_list *, const char *, const char *, const char *);
  138 void    Elf_ver_line_4(Lm_list *, const char *);
  139 void    Elf_ver_line_5(Lm_list *, const char *, const char *);
  140 void    Elf_ver_need_title(Lm_list *);
  141 #endif
  142 
  143 #endif /* !_SYS__ELF_SOLARIS_H_ */

Cache object: 7996093821fcda1a48d9ba71fb524eed


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.