out: exit if there is no room for more relocations or symbols
[neatcc/cc.git] / out.h
blobb91bc5837dbce014db691a728ce707b3c4886907
1 /* neatcc output object generation interface */
2 #define OUT_CS 0x0001 /* code segment symbol */
3 #define OUT_DS 0x0002 /* data segment symbol */
4 #define OUT_BSS 0x0004 /* bss segment symbol */
6 #define OUT_GLOB 0x0010 /* global symbol */
8 #define OUT_RLREL 0x0020 /* relative relocation */
9 #define OUT_RLSX 0x0040 /* sign extend relocation */
10 #define OUT_RL24 0x0400 /* 3-byte relocation */
11 #define OUT_RL32 0x0800 /* 4-byte relocation */
13 #define OUT_ALIGNMENT 16 /* amount of section alignment */
15 void out_init(int flags);
17 void out_sym(char *name, int flags, int off, int len);
18 void out_rel(char *name, int flags, int off);
20 void out_write(int fd, char *cs, int cslen, char *ds, int dslen);