checks.c
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:2k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  * Copyright 2001 PPC 64 Team, IBM Corp
  3.  *
  4.  * This program is free software; you can redistribute it and/or
  5.  * modify it under the terms of the GNU General Public License
  6.  * as published by the Free Software Foundation; either version
  7.  * 2 of the License, or (at your option) any later version.
  8.  */
  9. #include <linux/errno.h>
  10. #include <linux/sched.h>
  11. #include <linux/kernel.h>
  12. #include <linux/mm.h>
  13. #include <linux/smp.h>
  14. #include <linux/smp_lock.h>
  15. #include <linux/stddef.h>
  16. #include <linux/unistd.h>
  17. #include <linux/ptrace.h>
  18. #include <linux/slab.h>
  19. #include <linux/user.h>
  20. #include <linux/a.out.h>
  21. #include <asm/pgtable.h>
  22. #include <asm/uaccess.h>
  23. #include <asm/system.h>
  24. #include <asm/io.h>
  25. /*
  26.  * Do various before compile checks of data structures
  27.  *
  28.  * This is invoked when you do a make checks 
  29.  * Is this enough or are there more things that we would like to do here?
  30.  * -- tgall
  31.  */
  32. int main(void)
  33. {
  34. int ret = 0;
  35. #if 0
  36. if ( sizeof(struct thread_struct) % 16 )
  37. {
  38. printf("Thread struct is not modulo 16 bytes: "
  39. "%d bytes total, %d bytes offn",
  40. sizeof(struct thread_struct),
  41. sizeof(struct thread_struct)%16);
  42. ret = -1;
  43. }
  44. #endif
  45. if ( sizeof(struct pt_regs) % 16 )
  46. {
  47. printf("pt_regs struct is not modulo 16 bytes: "
  48. "%d bytes total, %d bytes offn",
  49. sizeof(struct pt_regs),
  50. sizeof(struct pt_regs)%16);
  51. ret = -1;
  52. }
  53. printf("Task size        : %d bytesn"
  54.        "Tss size         : %d bytesn"
  55.        "pt_regs size     : %d bytesn"
  56.        "Kernel stack size: %d bytesn",
  57.        sizeof(struct task_struct), sizeof(struct thread_struct),
  58.        sizeof(struct pt_regs),
  59.        sizeof(union task_union) - sizeof(struct task_struct));
  60. return ret;
  61. }