Print this page
8158 Want named threads API
9857 proc manpages should have LIBRARY section

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/sys/elf.h
          +++ new/usr/src/uts/common/sys/elf.h
↓ open down ↓ 421 lines elided ↑ open up ↑
 422  422  #define ELFOSABI_SOLARIS        6       /* Sun Solaris */
 423  423  #define ELFOSABI_AIX            7       /* AIX */
 424  424  #define ELFOSABI_IRIX           8       /* IRIX */
 425  425  #define ELFOSABI_FREEBSD        9       /* FreeBSD */
 426  426  #define ELFOSABI_TRU64          10      /* Compaq TRU64 UNIX */
 427  427  #define ELFOSABI_MODESTO        11      /* Novell Modesto */
 428  428  #define ELFOSABI_OPENBSD        12      /* Open BSD */
 429  429  #define ELFOSABI_OPENVMS        13      /* Open VMS */
 430  430  #define ELFOSABI_NSK            14      /* Hewlett-Packard Non-Stop Kernel */
 431  431  #define ELFOSABI_AROS           15      /* Amiga Research OS */
 432      -#define ELFOSABI_FENIXOS        16      /* The FenixOS highly scalable */
      432 +#define ELFOSABI_FENIXOS        16      /* The FenixOS highly scalable */
 433  433                                          /* multi-core OS */
 434      -#define ELFOSABI_CLOUDABI       17      /* Nuxi CloudABI */
 435      -#define ELFOSABI_OPENVOS        18      /* Stratus Technologies OpenVOS */
      434 +#define ELFOSABI_CLOUDABI       17      /* Nuxi CloudABI */
      435 +#define ELFOSABI_OPENVOS        18      /* Stratus Technologies OpenVOS */
 436  436  #define ELFOSABI_ARM            97      /* ARM */
 437  437  #define ELFOSABI_STANDALONE     255     /* standalone (embedded) application */
 438  438  
 439  439  #define EAV_SUNW_NONE           0       /* EI_ABIVERSION */
 440  440  #define EAV_SUNW_CURRENT        1
 441  441  #define EAV_SUNW_NUM            2
 442  442  
 443  443  
 444  444  /*
 445  445   *      Program header
↓ open down ↓ 323 lines elided ↑ open up ↑
 769  769   *      sym = ELF32_R_SYM(R.r_info)
 770  770   *      type = ELF32_R_TYPE(R.r_info)
 771  771   *      R.r_info = ELF32_R_INFO(sym, type)
 772  772   */
 773  773  
 774  774  #define ELF32_R_SYM(info)       ((info)>>8)
 775  775  #define ELF32_R_TYPE(info)      ((unsigned char)(info))
 776  776  #define ELF32_R_INFO(sym, type) (((sym)<<8)+(unsigned char)(type))
 777  777  
 778  778  #define ELF64_R_SYM(info)       ((info)>>32)
 779      -#define ELF64_R_TYPE(info)      ((Elf64_Word)(info))
      779 +#define ELF64_R_TYPE(info)      ((Elf64_Word)(info))
 780  780  #define ELF64_R_INFO(sym, type) (((Elf64_Xword)(sym)<<32)+(Elf64_Xword)(type))
 781  781  
 782  782  
 783  783  /*
 784  784   * The r_info field is composed of two 32-bit components: the symbol
 785  785   * table index and the relocation type.  The relocation type for SPARC V9
 786  786   * is further decomposed into an 8-bit type identifier and a 24-bit type
 787  787   * dependent data field.  For the existing Elf32 relocation types,
 788  788   * that data field is zero.
 789  789   */
↓ open down ↓ 26 lines elided ↑ open up ↑
 816  816          Elf64_Word      n_type;         /* type of note */
 817  817  } Elf64_Nhdr;
 818  818  #endif  /* defined(_LP64) || defined(_LONGLONG_TYPE) */
 819  819  
 820  820  /*
 821  821   *      Move entry
 822  822   */
 823  823  #if defined(_LP64) || defined(_LONGLONG_TYPE)
 824  824  typedef struct {
 825  825          Elf32_Lword     m_value;        /* symbol value */
 826      -        Elf32_Word      m_info;         /* size + index */
      826 +        Elf32_Word      m_info;         /* size + index */
 827  827          Elf32_Word      m_poffset;      /* symbol offset */
 828  828          Elf32_Half      m_repeat;       /* repeat count */
 829  829          Elf32_Half      m_stride;       /* stride info */
 830  830  } Elf32_Move;
 831  831  
 832  832  /*
 833  833   *      Macros to compose and decompose values for Move.r_info
 834  834   *
 835  835   *      sym = ELF32_M_SYM(M.m_info)
 836  836   *      size = ELF32_M_SIZE(M.m_info)
 837  837   *      M.m_info = ELF32_M_INFO(sym, size)
 838  838   */
 839  839  #define ELF32_M_SYM(info)       ((info)>>8)
 840  840  #define ELF32_M_SIZE(info)      ((unsigned char)(info))
 841  841  #define ELF32_M_INFO(sym, size) (((sym)<<8)+(unsigned char)(size))
 842  842  
 843  843  typedef struct {
 844  844          Elf64_Lword     m_value;        /* symbol value */
 845      -        Elf64_Xword     m_info;         /* size + index */
      845 +        Elf64_Xword     m_info;         /* size + index */
 846  846          Elf64_Xword     m_poffset;      /* symbol offset */
 847  847          Elf64_Half      m_repeat;       /* repeat count */
 848  848          Elf64_Half      m_stride;       /* stride info */
 849  849  } Elf64_Move;
 850  850  #define ELF64_M_SYM(info)       ((info)>>8)
 851  851  #define ELF64_M_SIZE(info)      ((unsigned char)(info))
 852  852  #define ELF64_M_INFO(sym, size) (((sym)<<8)+(unsigned char)(size))
 853  853  
 854  854  #endif  /* defined(_LP64) || defined(_LONGLONG_TYPE) */
 855  855  
↓ open down ↓ 38 lines elided ↑ open up ↑
 894  894  typedef Elf64_Word      Elf64_Capchain;
 895  895  
 896  896  /*
 897  897   *      Macros to compose and decompose values for capabilities info.
 898  898   *
 899  899   *      sym = ELF64_C_SYM(info)
 900  900   *      grp = ELF64_C_GROUP(info)
 901  901   *      info = ELF64_C_INFO(sym, grp)
 902  902   */
 903  903  #define ELF64_C_SYM(info)       ((info)>>32)
 904      -#define ELF64_C_GROUP(info)     ((Elf64_Word)(info))
      904 +#define ELF64_C_GROUP(info)     ((Elf64_Word)(info))
 905  905  #define ELF64_C_INFO(sym, grp)  (((Elf64_Xword)(sym)<<32)+(Elf64_Xword)(grp))
 906  906  
 907  907  #endif  /* defined(_LP64) || defined(_LONGLONG_TYPE) */
 908  908  #endif
 909  909  
 910  910  /*
 911  911   * Version numbers for SHT_SUNW_capinfo and SHT_SUNW_capchain.
 912  912   */
 913  913  #define CAPINFO_NONE            0
 914  914  #define CAPINFO_CURRENT         1
↓ open down ↓ 48 lines elided ↑ open up ↑
 963  963  #define NT_PSTATUS      10      /* pstatus_t    <sys/procfs.h>          */
 964  964  #define NT_PSINFO       13      /* psinfo_t     <sys/procfs.h>          */
 965  965  #define NT_PRCRED       14      /* prcred_t     <sys/procfs.h>          */
 966  966  #define NT_UTSNAME      15      /* struct utsname <sys/utsname.h>       */
 967  967  #define NT_LWPSTATUS    16      /* lwpstatus_t  <sys/procfs.h>          */
 968  968  #define NT_LWPSINFO     17      /* lwpsinfo_t   <sys/procfs.h>          */
 969  969  #define NT_PRPRIV       18      /* prpriv_t     <sys/procfs.h>          */
 970  970  #define NT_PRPRIVINFO   19      /* priv_impl_info_t <sys/priv.h>        */
 971  971  #define NT_CONTENT      20      /* core_content_t <sys/corectl.h>       */
 972  972  #define NT_ZONENAME     21      /* string from getzonenamebyid(3C)      */
 973      -#define NT_FDINFO       22      /* open fd info                         */
      973 +#define NT_FDINFO       22      /* open fd info                         */
 974  974  #define NT_SPYMASTER    23      /* psinfo_t for agent LWP spymaster     */
 975  975  #define NT_SECFLAGS     24      /* process security-flags */
 976      -#define NT_NUM          24
      976 +#define NT_LWPNAME      25      /* prlwpname_t */
      977 +#define NT_NUM          25
 977  978  
 978  979  
 979  980  #ifdef _KERNEL
 980  981  /*
 981  982   * The following routine checks the processor-specific
 982  983   * fields of an ELF header.
 983  984   */
 984  985  int     elfheadcheck(unsigned char, Elf32_Half, Elf32_Word);
 985  986  #endif
 986  987  
↓ open down ↓ 17 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX