1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI__A_OUT_GNU_H__ 8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI__A_OUT_GNU_H__ 9*8d67ca89SAndroid Build Coastguard Worker #define __GNU_EXEC_MACROS__ 10*8d67ca89SAndroid Build Coastguard Worker #ifndef __STRUCT_EXEC_OVERRIDE__ 11*8d67ca89SAndroid Build Coastguard Worker #include <asm/a.out.h> 12*8d67ca89SAndroid Build Coastguard Worker #endif 13*8d67ca89SAndroid Build Coastguard Worker #ifndef __ASSEMBLY__ 14*8d67ca89SAndroid Build Coastguard Worker enum machine_type { 15*8d67ca89SAndroid Build Coastguard Worker #ifdef M_OLDSUN2 16*8d67ca89SAndroid Build Coastguard Worker M__OLDSUN2 = M_OLDSUN2, 17*8d67ca89SAndroid Build Coastguard Worker #else 18*8d67ca89SAndroid Build Coastguard Worker M_OLDSUN2 = 0, 19*8d67ca89SAndroid Build Coastguard Worker #endif 20*8d67ca89SAndroid Build Coastguard Worker #ifdef M_68010 21*8d67ca89SAndroid Build Coastguard Worker M__68010 = M_68010, 22*8d67ca89SAndroid Build Coastguard Worker #else 23*8d67ca89SAndroid Build Coastguard Worker M_68010 = 1, 24*8d67ca89SAndroid Build Coastguard Worker #endif 25*8d67ca89SAndroid Build Coastguard Worker #ifdef M_68020 26*8d67ca89SAndroid Build Coastguard Worker M__68020 = M_68020, 27*8d67ca89SAndroid Build Coastguard Worker #else 28*8d67ca89SAndroid Build Coastguard Worker M_68020 = 2, 29*8d67ca89SAndroid Build Coastguard Worker #endif 30*8d67ca89SAndroid Build Coastguard Worker #ifdef M_SPARC 31*8d67ca89SAndroid Build Coastguard Worker M__SPARC = M_SPARC, 32*8d67ca89SAndroid Build Coastguard Worker #else 33*8d67ca89SAndroid Build Coastguard Worker M_SPARC = 3, 34*8d67ca89SAndroid Build Coastguard Worker #endif 35*8d67ca89SAndroid Build Coastguard Worker M_386 = 100, 36*8d67ca89SAndroid Build Coastguard Worker M_MIPS1 = 151, 37*8d67ca89SAndroid Build Coastguard Worker M_MIPS2 = 152 38*8d67ca89SAndroid Build Coastguard Worker }; 39*8d67ca89SAndroid Build Coastguard Worker #ifndef N_MAGIC 40*8d67ca89SAndroid Build Coastguard Worker #define N_MAGIC(exec) ((exec).a_info & 0xffff) 41*8d67ca89SAndroid Build Coastguard Worker #endif 42*8d67ca89SAndroid Build Coastguard Worker #define N_MACHTYPE(exec) ((enum machine_type) (((exec).a_info >> 16) & 0xff)) 43*8d67ca89SAndroid Build Coastguard Worker #define N_FLAGS(exec) (((exec).a_info >> 24) & 0xff) 44*8d67ca89SAndroid Build Coastguard Worker #define N_SET_INFO(exec,magic,type,flags) ((exec).a_info = ((magic) & 0xffff) | (((int) (type) & 0xff) << 16) | (((flags) & 0xff) << 24)) 45*8d67ca89SAndroid Build Coastguard Worker #define N_SET_MAGIC(exec,magic) ((exec).a_info = (((exec).a_info & 0xffff0000) | ((magic) & 0xffff))) 46*8d67ca89SAndroid Build Coastguard Worker #define N_SET_MACHTYPE(exec,machtype) ((exec).a_info = ((exec).a_info & 0xff00ffff) | ((((int) (machtype)) & 0xff) << 16)) 47*8d67ca89SAndroid Build Coastguard Worker #define N_SET_FLAGS(exec,flags) ((exec).a_info = ((exec).a_info & 0x00ffffff) | (((flags) & 0xff) << 24)) 48*8d67ca89SAndroid Build Coastguard Worker #define OMAGIC 0407 49*8d67ca89SAndroid Build Coastguard Worker #define NMAGIC 0410 50*8d67ca89SAndroid Build Coastguard Worker #define ZMAGIC 0413 51*8d67ca89SAndroid Build Coastguard Worker #define QMAGIC 0314 52*8d67ca89SAndroid Build Coastguard Worker #define CMAGIC 0421 53*8d67ca89SAndroid Build Coastguard Worker #ifndef N_BADMAG 54*8d67ca89SAndroid Build Coastguard Worker #define N_BADMAG(x) (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC && N_MAGIC(x) != ZMAGIC && N_MAGIC(x) != QMAGIC) 55*8d67ca89SAndroid Build Coastguard Worker #endif 56*8d67ca89SAndroid Build Coastguard Worker #define _N_HDROFF(x) (1024 - sizeof(struct exec)) 57*8d67ca89SAndroid Build Coastguard Worker #ifndef N_TXTOFF 58*8d67ca89SAndroid Build Coastguard Worker #define N_TXTOFF(x) (N_MAGIC(x) == ZMAGIC ? _N_HDROFF((x)) + sizeof(struct exec) : (N_MAGIC(x) == QMAGIC ? 0 : sizeof(struct exec))) 59*8d67ca89SAndroid Build Coastguard Worker #endif 60*8d67ca89SAndroid Build Coastguard Worker #ifndef N_DATOFF 61*8d67ca89SAndroid Build Coastguard Worker #define N_DATOFF(x) (N_TXTOFF(x) + (x).a_text) 62*8d67ca89SAndroid Build Coastguard Worker #endif 63*8d67ca89SAndroid Build Coastguard Worker #ifndef N_TRELOFF 64*8d67ca89SAndroid Build Coastguard Worker #define N_TRELOFF(x) (N_DATOFF(x) + (x).a_data) 65*8d67ca89SAndroid Build Coastguard Worker #endif 66*8d67ca89SAndroid Build Coastguard Worker #ifndef N_DRELOFF 67*8d67ca89SAndroid Build Coastguard Worker #define N_DRELOFF(x) (N_TRELOFF(x) + N_TRSIZE(x)) 68*8d67ca89SAndroid Build Coastguard Worker #endif 69*8d67ca89SAndroid Build Coastguard Worker #ifndef N_SYMOFF 70*8d67ca89SAndroid Build Coastguard Worker #define N_SYMOFF(x) (N_DRELOFF(x) + N_DRSIZE(x)) 71*8d67ca89SAndroid Build Coastguard Worker #endif 72*8d67ca89SAndroid Build Coastguard Worker #ifndef N_STROFF 73*8d67ca89SAndroid Build Coastguard Worker #define N_STROFF(x) (N_SYMOFF(x) + N_SYMSIZE(x)) 74*8d67ca89SAndroid Build Coastguard Worker #endif 75*8d67ca89SAndroid Build Coastguard Worker #ifndef N_TXTADDR 76*8d67ca89SAndroid Build Coastguard Worker #define N_TXTADDR(x) (N_MAGIC(x) == QMAGIC ? PAGE_SIZE : 0) 77*8d67ca89SAndroid Build Coastguard Worker #endif 78*8d67ca89SAndroid Build Coastguard Worker #include <unistd.h> 79*8d67ca89SAndroid Build Coastguard Worker #if defined(__i386__) || defined(__mc68000__) 80*8d67ca89SAndroid Build Coastguard Worker #define SEGMENT_SIZE 1024 81*8d67ca89SAndroid Build Coastguard Worker #else 82*8d67ca89SAndroid Build Coastguard Worker #ifndef SEGMENT_SIZE 83*8d67ca89SAndroid Build Coastguard Worker #define SEGMENT_SIZE getpagesize() 84*8d67ca89SAndroid Build Coastguard Worker #endif 85*8d67ca89SAndroid Build Coastguard Worker #endif 86*8d67ca89SAndroid Build Coastguard Worker #define _N_SEGMENT_ROUND(x) ALIGN(x, SEGMENT_SIZE) 87*8d67ca89SAndroid Build Coastguard Worker #define _N_TXTENDADDR(x) (N_TXTADDR(x) + (x).a_text) 88*8d67ca89SAndroid Build Coastguard Worker #ifndef N_DATADDR 89*8d67ca89SAndroid Build Coastguard Worker #define N_DATADDR(x) (N_MAGIC(x) == OMAGIC ? (_N_TXTENDADDR(x)) : (_N_SEGMENT_ROUND(_N_TXTENDADDR(x)))) 90*8d67ca89SAndroid Build Coastguard Worker #endif 91*8d67ca89SAndroid Build Coastguard Worker #ifndef N_BSSADDR 92*8d67ca89SAndroid Build Coastguard Worker #define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data) 93*8d67ca89SAndroid Build Coastguard Worker #endif 94*8d67ca89SAndroid Build Coastguard Worker #ifndef N_NLIST_DECLARED 95*8d67ca89SAndroid Build Coastguard Worker struct nlist { 96*8d67ca89SAndroid Build Coastguard Worker union { 97*8d67ca89SAndroid Build Coastguard Worker char * n_name; 98*8d67ca89SAndroid Build Coastguard Worker struct nlist * n_next; 99*8d67ca89SAndroid Build Coastguard Worker long n_strx; 100*8d67ca89SAndroid Build Coastguard Worker } n_un; 101*8d67ca89SAndroid Build Coastguard Worker unsigned char n_type; 102*8d67ca89SAndroid Build Coastguard Worker char n_other; 103*8d67ca89SAndroid Build Coastguard Worker short n_desc; 104*8d67ca89SAndroid Build Coastguard Worker unsigned long n_value; 105*8d67ca89SAndroid Build Coastguard Worker }; 106*8d67ca89SAndroid Build Coastguard Worker #endif 107*8d67ca89SAndroid Build Coastguard Worker #ifndef N_UNDF 108*8d67ca89SAndroid Build Coastguard Worker #define N_UNDF 0 109*8d67ca89SAndroid Build Coastguard Worker #endif 110*8d67ca89SAndroid Build Coastguard Worker #ifndef N_ABS 111*8d67ca89SAndroid Build Coastguard Worker #define N_ABS 2 112*8d67ca89SAndroid Build Coastguard Worker #endif 113*8d67ca89SAndroid Build Coastguard Worker #ifndef N_TEXT 114*8d67ca89SAndroid Build Coastguard Worker #define N_TEXT 4 115*8d67ca89SAndroid Build Coastguard Worker #endif 116*8d67ca89SAndroid Build Coastguard Worker #ifndef N_DATA 117*8d67ca89SAndroid Build Coastguard Worker #define N_DATA 6 118*8d67ca89SAndroid Build Coastguard Worker #endif 119*8d67ca89SAndroid Build Coastguard Worker #ifndef N_BSS 120*8d67ca89SAndroid Build Coastguard Worker #define N_BSS 8 121*8d67ca89SAndroid Build Coastguard Worker #endif 122*8d67ca89SAndroid Build Coastguard Worker #ifndef N_FN 123*8d67ca89SAndroid Build Coastguard Worker #define N_FN 15 124*8d67ca89SAndroid Build Coastguard Worker #endif 125*8d67ca89SAndroid Build Coastguard Worker #ifndef N_EXT 126*8d67ca89SAndroid Build Coastguard Worker #define N_EXT 1 127*8d67ca89SAndroid Build Coastguard Worker #endif 128*8d67ca89SAndroid Build Coastguard Worker #ifndef N_TYPE 129*8d67ca89SAndroid Build Coastguard Worker #define N_TYPE 036 130*8d67ca89SAndroid Build Coastguard Worker #endif 131*8d67ca89SAndroid Build Coastguard Worker #ifndef N_STAB 132*8d67ca89SAndroid Build Coastguard Worker #define N_STAB 0340 133*8d67ca89SAndroid Build Coastguard Worker #endif 134*8d67ca89SAndroid Build Coastguard Worker #define N_INDR 0xa 135*8d67ca89SAndroid Build Coastguard Worker #define N_SETA 0x14 136*8d67ca89SAndroid Build Coastguard Worker #define N_SETT 0x16 137*8d67ca89SAndroid Build Coastguard Worker #define N_SETD 0x18 138*8d67ca89SAndroid Build Coastguard Worker #define N_SETB 0x1A 139*8d67ca89SAndroid Build Coastguard Worker #define N_SETV 0x1C 140*8d67ca89SAndroid Build Coastguard Worker #ifndef N_RELOCATION_INFO_DECLARED 141*8d67ca89SAndroid Build Coastguard Worker struct relocation_info { 142*8d67ca89SAndroid Build Coastguard Worker int r_address; 143*8d67ca89SAndroid Build Coastguard Worker unsigned int r_symbolnum : 24; 144*8d67ca89SAndroid Build Coastguard Worker unsigned int r_pcrel : 1; 145*8d67ca89SAndroid Build Coastguard Worker unsigned int r_length : 2; 146*8d67ca89SAndroid Build Coastguard Worker unsigned int r_extern : 1; 147*8d67ca89SAndroid Build Coastguard Worker unsigned int r_pad : 4; 148*8d67ca89SAndroid Build Coastguard Worker }; 149*8d67ca89SAndroid Build Coastguard Worker #endif 150*8d67ca89SAndroid Build Coastguard Worker #endif 151*8d67ca89SAndroid Build Coastguard Worker #endif 152