valgrind.patch 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. --- valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c.orig 2006-08-02 16:51:51.000000000 -0600
  2. +++ valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c 2006-08-02 16:53:19.000000000 -0600
  3. @@ -1124,7 +1124,7 @@
  4. GENXY(__NR_times, sys_times), // 100
  5. PLAXY(__NR_ptrace, sys_ptrace), // 101
  6. GENX_(__NR_getuid, sys_getuid), // 102
  7. - // (__NR_syslog, sys_syslog), // 103
  8. + LINXY(__NR_syslog, sys_syslog), // 103
  9. GENX_(__NR_getgid, sys_getgid), // 104
  10. GENX_(__NR_setuid, sys_setuid), // 105
  11. --- valgrind/include/vki-linux.h.orig 2006-08-02 18:22:21.000000000 -0600
  12. +++ valgrind/include/vki-linux.h 2006-08-02 18:38:02.000000000 -0600
  13. @@ -1556,7 +1556,9 @@
  14. #define VKI_BLKROSET _VKI_IO(0x12,93) /* set device read-only (0 = read-write) */
  15. #define VKI_BLKROGET _VKI_IO(0x12,94) /* get read-only status (0 = read_write) */
  16. +#define VKI_BLKRRPART _VKI_IO(0x12,95) /* re-read partition table */
  17. #define VKI_BLKGETSIZE _VKI_IO(0x12,96) /* return device size /512 (long *arg) */
  18. +#define VKI_BLKFLSBUF _VKI_IO(0x12,97) /* flush buffer cache */
  19. #define VKI_BLKRASET _VKI_IO(0x12,98) /* set read ahead for block device */
  20. #define VKI_BLKRAGET _VKI_IO(0x12,99) /* get current read ahead setting */
  21. #define VKI_BLKFRASET _VKI_IO(0x12,100)/* set filesystem (mm/filemap.c) read-ahead */
  22. @@ -1631,6 +1633,54 @@
  23. //#define SG_GET_COMMAND_Q 0x2270 /* Yields 0 (queuing off) or 1 (on) */
  24. #define VKI_SG_SET_COMMAND_Q 0x2271 /* Change queuing state with 0 or 1 */
  25. +
  26. +typedef struct vki_scsi_idlun
  27. +{
  28. + int mux4;
  29. + int host_unique_id;
  30. +
  31. +} vki_scsi_idlun_t;
  32. +#define VKI_SCSI_IOCTL_GET_IDLUN 0x5382 /* Gets a struct vki_scsi_idlun */
  33. +#define VKI_SCSI_IOCTL_PROBE_HOST 0x5385 /* Gets an arrary describing the SCSI host */
  34. +#define VKI_SCSI_IOCTL_GET_BUS_NUMBER 0x5386 /* Get the bus number for a device */
  35. +
  36. +//----------------------------------------------------------------------
  37. +// From linux-2.6.8.1/include/linux/fd.h
  38. +//----------------------------------------------------------------------
  39. +#define VKI_FDRESET 0x254 /* Takes an int by value */
  40. +#define VKI_FDGETDRVTYP 0x20f /* Returns char floppy_drive_name[16] */
  41. +typedef struct vki_floppy_drive_struct {
  42. + unsigned long flags;
  43. + unsigned long spinup_date;
  44. + unsigned long select_date;
  45. + unsigned long first_read_date;
  46. + short probed_format;
  47. + short track;
  48. + short maxblock;
  49. + short maxtrack;
  50. + int generation;
  51. + int keep_data;
  52. + int fd_ref;
  53. + int fd_device;
  54. + unsigned long last_checked;
  55. + char *dmabuf;
  56. + int bufblocks;
  57. +} vki_floppy_drive_struct_t;
  58. +#define VKI_FDPOLLDRVSTAT 0x213 /* returns a struct floppy_drive_struct */
  59. +typedef struct vki_floppy_struct {
  60. + unsigned int size;
  61. + unsigned int sect;
  62. + unsigned int head;
  63. + unsigned int track;
  64. + unsigned int stretch;
  65. + unsigned char gap;
  66. + unsigned char rate;
  67. + unsigned char spec1;
  68. + unsigned char fmt_gap;
  69. + const char * name;
  70. +} vki_floppy_struct_t;
  71. +#define VKI_FDGETPRM 0x204 /* returns a struct floppy_struct */
  72. +
  73. //----------------------------------------------------------------------
  74. // From linux-2.6.8.1/include/linux/cdrom.h
  75. //----------------------------------------------------------------------
  76. @@ -1640,6 +1690,7 @@
  77. (struct cdrom_tochdr) */
  78. #define VKI_CDROMREADTOCENTRY 0x5306 /* Read TOC entry
  79. (struct cdrom_tocentry) */
  80. +#define VKI_CDROMEJECT 0x5309 /* Eject cdrom media */
  81. #define VKI_CDROMSUBCHNL 0x530b /* Read subchannel data
  82. (struct cdrom_subchnl) */
  83. #define VKI_CDROMREADMODE2 0x530c /* Read CDROM mode 2 data (2336 Bytes)
  84. --- valgrind/coregrind/m_syswrap/syswrap-generic.c.orig 2006-08-02 18:22:13.000000000 -0600
  85. +++ valgrind/coregrind/m_syswrap/syswrap-generic.c 2006-08-02 18:43:49.000000000 -0600
  86. @@ -3227,6 +3227,33 @@
  87. case VKI_SG_GET_SG_TABLESIZE: /* 0x227f */
  88. PRE_MEM_WRITE( "ioctl(SG_GET_SG_TABLESIZE)", ARG3, sizeof(int) );
  89. break;
  90. + case VKI_SCSI_IOCTL_GET_IDLUN:
  91. + PRE_MEM_WRITE( "ioctl(SCSI_IOCTL_GET_IDLUN)", ARG3, sizeof(vki_scsi_idlun_t) );
  92. + break;
  93. + case VKI_SCSI_IOCTL_PROBE_HOST:
  94. + {
  95. + int arraylen;
  96. + char *array = (char*)ARG3;
  97. + PRE_MEM_READ("ioctl(SCSI_IOCTL_PROBE_HOST)", ARG3, sizeof(char)*4 );
  98. + arraylen = array[0] + (array[1]<<8) + (array[2]<<16) + (array[3]<<24);
  99. + PRE_MEM_WRITE( "ioctl(SCSI_IOCTL_PROBE_HOST)", ARG3, sizeof(char)*arraylen );
  100. + }
  101. + break;
  102. + case VKI_SCSI_IOCTL_GET_BUS_NUMBER:
  103. + PRE_MEM_WRITE( "ioctl(SCSI_IOCTL_GET_BUS_NUMBER)", ARG3, sizeof(int) );
  104. + break;
  105. +
  106. + case VKI_FDRESET:
  107. + break;
  108. + case VKI_FDGETDRVTYP:
  109. + PRE_MEM_WRITE( "ioctl(FDGETDRVTYP)", ARG3, sizeof(char)*16 );
  110. + break;
  111. + case VKI_FDPOLLDRVSTAT:
  112. + PRE_MEM_WRITE( "ioctl(FDPOLLDRVSTAT)", ARG3, sizeof(vki_floppy_drive_struct_t) );
  113. + break;
  114. + case VKI_FDGETPRM:
  115. + PRE_MEM_WRITE( "ioctl(FDGETPRM)", ARG3, sizeof(vki_floppy_struct_t) );
  116. + break;
  117. case VKI_IIOCGETCPS:
  118. PRE_MEM_WRITE( "ioctl(IIOCGETCPS)", ARG3,
  119. @@ -3550,6 +3578,8 @@
  120. case VKI_BLKROGET:
  121. PRE_MEM_WRITE( "ioctl(BLKROGET)", ARG3, sizeof(int));
  122. break;
  123. + case VKI_BLKRRPART:
  124. + break;
  125. case VKI_BLKGETSIZE:
  126. PRE_MEM_WRITE( "ioctl(BLKGETSIZE)", ARG3, sizeof(unsigned long));
  127. break;
  128. @@ -3558,6 +3588,8 @@
  129. case VKI_BLKRAGET:
  130. PRE_MEM_WRITE( "ioctl(BLKRAGET)", ARG3, sizeof(long));
  131. break;
  132. + case VKI_BLKFLSBUF:
  133. + break;
  134. case VKI_BLKFRASET:
  135. break;
  136. case VKI_BLKFRAGET:
  137. @@ -3624,6 +3656,8 @@
  138. PRE_MEM_WRITE( "ioctl(CDROMREADTOCENTRY)", ARG3,
  139. sizeof(struct vki_cdrom_tocentry));
  140. break;
  141. + case VKI_CDROMEJECT:
  142. + break;
  143. case VKI_CDROMMULTISESSION: /* 0x5310 */
  144. PRE_MEM_WRITE( "ioctl(CDROMMULTISESSION)", ARG3,
  145. sizeof(struct vki_cdrom_multisession));
  146. @@ -4042,6 +4076,28 @@
  147. case VKI_SG_GET_SG_TABLESIZE:
  148. POST_MEM_WRITE(ARG3, sizeof(int));
  149. break;
  150. + case VKI_SCSI_IOCTL_GET_IDLUN:
  151. + POST_MEM_WRITE(ARG3, sizeof(vki_scsi_idlun_t));
  152. + break;
  153. + case VKI_SCSI_IOCTL_PROBE_HOST:
  154. + if (RES > 0 && ARG3 )
  155. + POST_MEM_WRITE(ARG3, sizeof(char)*RES);
  156. + break;
  157. + case VKI_SCSI_IOCTL_GET_BUS_NUMBER:
  158. + POST_MEM_WRITE(ARG3, sizeof(int));
  159. + break;
  160. +
  161. + case VKI_FDRESET:
  162. + break;
  163. + case VKI_FDGETDRVTYP:
  164. + POST_MEM_WRITE( ARG3, sizeof(char)*16 );
  165. + break;
  166. + case VKI_FDPOLLDRVSTAT:
  167. + POST_MEM_WRITE( ARG3, sizeof(vki_floppy_drive_struct_t) );
  168. + break;
  169. + case VKI_FDGETPRM:
  170. + POST_MEM_WRITE( ARG3, sizeof(vki_floppy_struct_t) );
  171. + break;
  172. case VKI_IIOCGETCPS:
  173. POST_MEM_WRITE( ARG3, VKI_ISDN_MAX_CHANNELS * 2 * sizeof(unsigned long) );
  174. @@ -4260,6 +4317,8 @@
  175. case VKI_BLKROGET:
  176. POST_MEM_WRITE(ARG3, sizeof(int));
  177. break;
  178. + case VKI_BLKRRPART:
  179. + break;
  180. case VKI_BLKGETSIZE:
  181. POST_MEM_WRITE(ARG3, sizeof(unsigned long));
  182. break;
  183. @@ -4268,6 +4327,8 @@
  184. case VKI_BLKRAGET:
  185. POST_MEM_WRITE(ARG3, sizeof(long));
  186. break;
  187. + case VKI_BLKFLSBUF:
  188. + break;
  189. case VKI_BLKFRASET:
  190. break;
  191. case VKI_BLKFRAGET:
  192. @@ -4309,6 +4370,8 @@
  193. case VKI_CDROMREADTOCENTRY:
  194. POST_MEM_WRITE(ARG3, sizeof(struct vki_cdrom_tocentry));
  195. break;
  196. + case VKI_CDROMEJECT:
  197. + break;
  198. case VKI_CDROMMULTISESSION:
  199. POST_MEM_WRITE(ARG3, sizeof(struct vki_cdrom_multisession));
  200. break;