#include typedef unsigned int __u32; typedef __u32 pri_t; #define __mips_TYPES_H_ #include "../../arch/mips/include/context.h" #define FILENAME "../../arch/mips/src/context_offset.h" int main(void) { FILE *f; struct context ctx; struct context *pctx = &ctx; f = fopen(FILENAME,"w"); if (!f) { perror(FILENAME); return 1; } fprintf(f, "/* This file is automatically generated by %s. */\n", __FILE__); fprintf(f,"#define OFFSET_SP 0x%x\n",((int)&pctx->sp) - (int )pctx); fprintf(f,"#define OFFSET_PC 0x%x\n",((int)&pctx->pc) - (int )pctx); fprintf(f,"#define OFFSET_S0 0x%x\n",((int)&pctx->s0) - (int )pctx); fprintf(f,"#define OFFSET_S1 0x%x\n",((int)&pctx->s1) - (int )pctx); fprintf(f,"#define OFFSET_S2 0x%x\n",((int)&pctx->s2) - (int )pctx); fprintf(f,"#define OFFSET_S3 0x%x\n",((int)&pctx->s3) - (int )pctx); fprintf(f,"#define OFFSET_S4 0x%x\n",((int)&pctx->s4) - (int )pctx); fprintf(f,"#define OFFSET_S5 0x%x\n",((int)&pctx->s5) - (int )pctx); fprintf(f,"#define OFFSET_S6 0x%x\n",((int)&pctx->s6) - (int )pctx); fprintf(f,"#define OFFSET_S7 0x%x\n",((int)&pctx->s7) - (int )pctx); fprintf(f,"#define OFFSET_S8 0x%x\n",((int)&pctx->s8) - (int )pctx); fprintf(f,"#define OFFSET_GP 0x%x\n",((int)&pctx->gp) - (int )pctx); fclose(f); return 0; }