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