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

@@ -26,24 +26,29 @@
 #define _LINK_H
 
 #include <sys/link.h>
 
 #ifndef _ASM
-#include <libelf.h>
+#include <elf.h>
 #include <sys/types.h>
 #include <dlfcn.h>
 #endif
 
 #ifdef  __cplusplus
 extern "C" {
 #endif
 
 #ifndef _ASM
 /*
- * ld support library calls
+ * ld support library calls.
+ *
+ * These cannot be used in a 32bit large file capable environment,
+ * thanks to the use of libelf.
  */
+#if !defined(_ILP32) || _FILE_OFFSET_BITS != 64
 #ifdef __STDC__
+#include <libelf.h>
 extern uint_t   ld_version(uint_t);
 extern void     ld_input_done(uint_t *);
 
 extern void     ld_start(const char *, const Elf32_Half, const char *);
 extern void     ld_atexit(int);

@@ -86,10 +91,11 @@
 extern void     ld_input_section64();
 extern void     ld_section64();
 
 #endif /* (defined(_LP64) || defined(_LONGLONG_TYPE) */
 #endif /* __STDC__ */
+#endif /* !defined(_ILP32) || _FILE_OFFSET_BITS != 64 */
 
 /*
  * ld_version() version values.
  */
 #define LD_SUP_VNONE    0