Print this page
3263 link.h should work in a largefile environment

Split Close
Expand all
Collapse all
          --- old/usr/src/head/link.h
          +++ new/usr/src/head/link.h
↓ open down ↓ 20 lines elided ↑ open up ↑
  21   21  /*
  22   22   * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
  23   23   */
  24   24  
  25   25  #ifndef _LINK_H
  26   26  #define _LINK_H
  27   27  
  28   28  #include <sys/link.h>
  29   29  
  30   30  #ifndef _ASM
  31      -#include <libelf.h>
       31 +#include <elf.h>
  32   32  #include <sys/types.h>
  33   33  #include <dlfcn.h>
  34   34  #endif
  35   35  
  36   36  #ifdef  __cplusplus
  37   37  extern "C" {
  38   38  #endif
  39   39  
  40   40  #ifndef _ASM
  41   41  /*
  42      - * ld support library calls
       42 + * ld support library calls.
       43 + *
       44 + * These cannot be used in a 32bit large file capable environment,
       45 + * thanks to the use of libelf.
  43   46   */
       47 +#if !defined(_ILP32) || _FILE_OFFSET_BITS != 64
  44   48  #ifdef __STDC__
       49 +#include <libelf.h>
  45   50  extern uint_t   ld_version(uint_t);
  46   51  extern void     ld_input_done(uint_t *);
  47   52  
  48   53  extern void     ld_start(const char *, const Elf32_Half, const char *);
  49   54  extern void     ld_atexit(int);
  50   55  extern void     ld_open(const char **, const char **, int *, int, Elf **,
  51   56                          Elf *, size_t, const Elf_Kind);
  52   57  extern void     ld_file(const char *, const Elf_Kind, int, Elf *);
  53   58  extern void     ld_input_section(const char *, Elf32_Shdr **, Elf32_Word,
  54   59                          Elf_Data *, Elf *, uint_t *);
↓ open down ↓ 26 lines elided ↑ open up ↑
  81   86  #if defined(_LP64) || defined(_LONGLONG_TYPE)
  82   87  extern void     ld_start64();
  83   88  extern void     ld_atexit64();
  84   89  extern void     ld_open64();
  85   90  extern void     ld_file64();
  86   91  extern void     ld_input_section64();
  87   92  extern void     ld_section64();
  88   93  
  89   94  #endif /* (defined(_LP64) || defined(_LONGLONG_TYPE) */
  90   95  #endif /* __STDC__ */
       96 +#endif /* !defined(_ILP32) || _FILE_OFFSET_BITS != 64 */
  91   97  
  92   98  /*
  93   99   * ld_version() version values.
  94  100   */
  95  101  #define LD_SUP_VNONE    0
  96  102  #define LD_SUP_VERSION1 1
  97  103  #define LD_SUP_VERSION2 2
  98  104  #define LD_SUP_VERSION3 3
  99  105  #define LD_SUP_VCURRENT LD_SUP_VERSION3
 100  106  
↓ open down ↓ 232 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX