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