2 // RMAC - Renamed Macro Assembler for all Atari computers
3 // OBJECT.H - Writing Object Files
4 // Copyright (C) 199x Landon Dyer, 2011-2021 Reboot and Friends
5 // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986
6 // Source utilised with the kind permission of Landon Dyer
14 #define BSDHDRSIZE 0x20 // Size of BSD header
15 #define HDRSIZE 0x1C // Size of Alcyon header
18 // Alcyon symbol flags
20 #define AL_DEFINED 0x8000
21 #define AL_EQUATED 0x4000
22 #define AL_GLOBAL 0x2000
23 #define AL_EQUREG 0x1000
24 #define AL_EXTERN 0x0800
25 #define AL_DATA 0x0400
26 #define AL_TEXT 0x0200
28 #define AL_FILE 0x0080
32 ES_NULL, ES_TEXT, ES_DATA, ES_BSS, ES_RELATEXT, ES_RELADATA, ES_SHSTRTAB,
37 // ELF special section indices (field st_shndx)
38 // Lifted from glibc (https://sourceware.org/git/?p=glibc.git;a=blob;f=elf/elf.h)
40 #define SHN_UNDEF 0 /* Undefined section */
41 #define SHN_ABS 0xFFF1 /* Associated symbol is absolute */
42 #define SHN_COMMON 0xFFF2 /* Associated symbol is common */
44 // Exported variables.
45 extern uint8_t * objImage;
46 extern int elfHdrNum[];
47 extern uint32_t extraSyms;
52 #endif // __OBJECT_H__