Print this page
3263 link.h should work in a largefile environment
*** 26,49 ****
#define _LINK_H
#include <sys/link.h>
#ifndef _ASM
! #include <libelf.h>
#include <sys/types.h>
#include <dlfcn.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _ASM
/*
! * ld support library calls
*/
#ifdef __STDC__
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);
--- 26,54 ----
#define _LINK_H
#include <sys/link.h>
#ifndef _ASM
! #include <elf.h>
#include <sys/types.h>
#include <dlfcn.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _ASM
/*
! * 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,95 ****
--- 91,101 ----
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