xxx-hotfix-sh.patch 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. * thx to nsz from #musl
  2. diff -Nur musl-git/arch/sh/bits/user.h musl-sh/arch/sh/bits/user.h
  3. --- musl-git/arch/sh/bits/user.h 1970-01-01 01:00:00.000000000 +0100
  4. +++ musl-sh/arch/sh/bits/user.h 2014-03-07 15:08:42.000000000 +0100
  5. @@ -0,0 +1,75 @@
  6. +#undef __WORDSIZE
  7. +#define __WORDSIZE 32
  8. +
  9. +#define REG_REG0 0
  10. +#define REG_REG15 15
  11. +#define REG_PC 16
  12. +#define REG_PR 17
  13. +#define REG_SR 18
  14. +#define REG_GBR 19
  15. +#define REG_MACH 20
  16. +#define REG_MACL 21
  17. +#define REG_SYSCALL 22
  18. +#define REG_FPREG0 23
  19. +#define REG_FPREG15 38
  20. +#define REG_XFREG0 39
  21. +#define REG_XFREG15 54
  22. +#define REG_FPSCR 55
  23. +#define REG_FPUL 56
  24. +
  25. +struct pt_regs {
  26. + unsigned long regs[16];
  27. + unsigned long pc;
  28. + unsigned long pr;
  29. + unsigned long sr;
  30. + unsigned long gbr;
  31. + unsigned long mach;
  32. + unsigned long macl;
  33. + long tra;
  34. +};
  35. +
  36. +struct pt_dspregs {
  37. + unsigned long a1;
  38. + unsigned long a0g;
  39. + unsigned long a1g;
  40. + unsigned long m0;
  41. + unsigned long m1;
  42. + unsigned long a0;
  43. + unsigned long x0;
  44. + unsigned long x1;
  45. + unsigned long y0;
  46. + unsigned long y1;
  47. + unsigned long dsr;
  48. + unsigned long rs;
  49. + unsigned long re;
  50. + unsigned long mod;
  51. +};
  52. +
  53. +struct user_fpu_struct {
  54. + unsigned long fp_regs[16];
  55. + unsigned long xfp_regs[16];
  56. + unsigned long fpscr;
  57. + unsigned long fpul;
  58. +};
  59. +
  60. +#define ELF_NGREG 23
  61. +typedef unsigned long elf_greg_t;
  62. +typedef elf_greg_t elf_gregset_t[ELF_NGREG];
  63. +typedef struct user_fpu_struct elf_fpregset_t;
  64. +
  65. +struct user {
  66. + struct pt_regs regs;
  67. + struct user_fpu_struct fpu;
  68. + int u_fpvalid;
  69. + unsigned long u_tsize;
  70. + unsigned long u_dsize;
  71. + unsigned long u_ssize;
  72. + unsigned long start_code;
  73. + unsigned long start_data;
  74. + unsigned long start_stack;
  75. + long int signal;
  76. + unsigned long u_ar0;
  77. + struct user_fpu_struct *u_fpstate;
  78. + unsigned long magic;
  79. + char u_comm[32];
  80. +};