summaryrefslogtreecommitdiff
path: root/ld/syshead.h
blob: 33f11234e98316d5a25158b68be5b2b046261e73 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121

#ifndef STDC_HEADERS_MISSING
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#endif

#ifndef POSIX_HEADERS_MISSING
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#endif

#ifdef MSDOS
#undef POSIX_HEADERS_MISSING

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#define A_OUT_INCL	"a_out.h"
#undef min
#define R_OK	0
#define mode_t		unsigned short
#define SEEK_SET	0
#define STDOUT_FILENO	0
#endif

#ifndef A_OUT_INCL
#define A_OUT_INCL	"a.out.h"
#endif

#ifndef O_BINARY
#define O_BINARY	0
#endif

/******************************************************************************/

/* EEEEyuk!! */

#ifdef __STDC__
#define P(x)	x
#else
#define P(x)	()
#endif

#ifdef STDC_HEADERS_MISSING
extern int errno;
char *strcat P((char *dest, const char *src));
unsigned long strtoul P((const char *s, char **endptr, int base));
void exit P((int status));
void *malloc P((unsigned size));
int strncmp P((const char *s1, const char *s2, unsigned n));
char *strncpy P((char *dest, const char *src, unsigned n));
char * strcpy P((char* dest, char* src));
void *memset P((void *s, int c, unsigned n));
#endif

#ifdef POSIX_HEADERS_MISSING
#include <sys/types.h>
#include <sys/stat.h>

#define R_OK	0
int access P((const char *path, int amode));
#define SEEK_SET	0
#define STDOUT_FILENO	0

#define mode_t		unsigned short
#define off_t		long

int chmod P((const char *path, int mode));
int close P((int fd));
int creat P((const char *path, int mode));
int fstat P((int fd, struct stat *statbuf));
off_t lseek P((int fd, off_t offset, int whence));
int open P((const char *path, int oflag, ...));
int read P((int fd, void *buf, unsigned nbytes));
mode_t umask P((int oldmask));
int write P((int fd, const void *buf, unsigned nbytes));
#endif

#ifndef A_OUT_INCL
# ifdef BSD_A_OUT
#  ifdef STANDARD_GNU_A_OUT
#   define A_OUT_INCL <a.out.h>
#  else
#   define A_OUT_INCL "bsd-a.out.h"
#  endif

#  ifdef MSDOS
#   define A_OUT_INCL "a_out.h"
#  else
#   define A_OUT_INCL "a.out.h"	/* maybe local copy of <a.out.h> for X-link */
#  endif
# endif /* BSD_A_OUT */
#endif

# ifdef BSD_A_OUT
#  ifdef STANDARD_GNU_A_OUT
#   define RELOC_INFO_SIZE 8	/* unportable bitfields - bcc doesn't pack */
#  else
#   define RELOC_INFO_SIZE (sizeof (struct relocation_info))
#  endif
#  define C_EXT N_EXT
#  define C_STAT 0
#  define n_was_name n_un.n_name
#  define n_was_numaux n_other
#  define n_was_other n_numaux
#  define n_was_sclass n_type
#  define n_was_strx n_un.n_strx
#  define n_was_type n_desc
# else /* not BSD_A_OUT */
#  define n_was_name n_name
#  define n_was_numaux n_numaux
#  define n_was_other n_other
#  define n_was_sclass n_sclass
#  define n_was_strx n_value
#  define n_was_type n_type
# endif /* BSD_A_OUT */