|
From: Nicholas N. <nj...@ca...> - 2003-10-30 12:35:19
|
CVS commit by nethercote:
Increased the skin major version number, to reflect the changed return values
of functions like VG_(open), and also to cover any future changes between now
and the HEAD becoming an official release.
M +1 -1 vg_skin.h 1.97
--- valgrind/include/vg_skin.h #1.96:1.97
@@ -117,5 +117,5 @@ typedef unsigned char Bool;
will abort. The minor version indicates binary-compatible changes.
*/
-#define VG_CORE_INTERFACE_MAJOR_VERSION 3
+#define VG_CORE_INTERFACE_MAJOR_VERSION 4
#define VG_CORE_INTERFACE_MINOR_VERSION 0
|
|
From: Julian S. <js...@ac...> - 2003-11-06 00:00:35
|
CVS commit by jseward:
Change VG_CORE_INTERFACE_MAJOR_VERSION to 5.
M +1 -1 vg_skin.h 1.99
--- valgrind/include/vg_skin.h #1.98:1.99
@@ -117,5 +117,5 @@ typedef unsigned char Bool;
will abort. The minor version indicates binary-compatible changes.
*/
-#define VG_CORE_INTERFACE_MAJOR_VERSION 4
+#define VG_CORE_INTERFACE_MAJOR_VERSION 5
#define VG_CORE_INTERFACE_MINOR_VERSION 0
|
|
From: Dirk M. <mu...@kd...> - 2003-12-31 14:32:54
|
CVS commit by mueller:
mark the braced expression as C(++) extension
M +4 -1 valgrind.h 1.23
--- valgrind/include/valgrind.h #1.22:1.23
@@ -170,8 +170,11 @@ typedef
} Vg_ClientRequest;
+#ifndef __GNUC__
+#define __extension__
+#endif
/* Returns 1 if running on Valgrind, 0 if running on the real CPU.
Currently implemented but untested. */
-#define RUNNING_ON_VALGRIND \
+#define RUNNING_ON_VALGRIND __extension__ \
({unsigned int _qzz_res; \
VALGRIND_MAGIC_SEQUENCE(_qzz_res, 0 /* returned if not */, \
|
|
From: Robert W. <rj...@ke...> - 2004-01-04 23:16:00
|
CVS commit by rjwalsh: Add missing atoll16 prototype. I use this in the watchpoint stuff. M +3 -0 vg_skin.h.base 1.7 --- valgrind/include/vg_skin.h.base #1.6:1.7 @@ -405,4 +405,7 @@ extern Long VG_(atoll) ( Char* str ); +/* Like atoll(), but converts a number of base 16 */ +extern Long VG_(atoll16) ( Char* str ); + /* Like atoll(), but converts a number of base 2..36 */ extern Long VG_(atoll36) ( UInt base, Char* str ); |
|
From: Nicholas N. <nj...@ca...> - 2004-02-23 20:03:27
|
CVS commit by nethercote: Fix var names in prototypes. M +18 -18 vg_skin.h.base 1.15 --- valgrind/include/vg_skin.h.base #1.14:1.15 @@ -1131,22 +1131,22 @@ EV VG_(ccall_0_0) ( CB_F ); -EV VG_(ccall_R_0) ( CB_F, UInt r1, RPn ); -EV VG_(ccall_L_0) ( CB_F, UInt r1, RPn ); -EV VG_(ccall_R_R) ( CB_F, UInt r1, UInt r_ret, RPn ); -EV VG_(ccall_L_R) ( CB_F, UInt r1, UInt r_ret, RPn ); - -EV VG_(ccall_RR_0) ( CB_F, UInt r1, UInt r2, RPn ); -EV VG_(ccall_RL_0) ( CB_F, UInt r1, UInt r2, RPn ); -EV VG_(ccall_LR_0) ( CB_F, UInt r1, UInt r2, RPn ); -EV VG_(ccall_LL_0) ( CB_F, UInt r1, UInt r2, RPn ); -EV VG_(ccall_RR_R) ( CB_F, UInt r1, UInt r2, UInt r_ret, RPn ); -EV VG_(ccall_RL_R) ( CB_F, UInt r1, UInt r2, UInt r_ret, RPn ); -EV VG_(ccall_LR_R) ( CB_F, UInt r1, UInt r2, UInt r_ret, RPn ); -EV VG_(ccall_LL_R) ( CB_F, UInt r1, UInt r2, UInt r_ret, RPn ); - -EV VG_(ccall_RRR_0) ( CB_F, UInt r1, UInt r2, UInt r3, RPn ); -EV VG_(ccall_RLL_0) ( CB_F, UInt r1, UInt r2, UInt r3, RPn ); -EV VG_(ccall_LLR_0) ( CB_F, UInt r1, UInt r2, UInt r3, RPn ); -EV VG_(ccall_LLL_0) ( CB_F, UInt r1, UInt r2, UInt r3, RPn ); +EV VG_(ccall_R_0) ( CB_F, UInt R1, RPn ); +EV VG_(ccall_L_0) ( CB_F, UInt L1, RPn ); +EV VG_(ccall_R_R) ( CB_F, UInt R1, UInt R_ret, RPn ); +EV VG_(ccall_L_R) ( CB_F, UInt L1, UInt R_ret, RPn ); + +EV VG_(ccall_RR_0) ( CB_F, UInt R1, UInt R2, RPn ); +EV VG_(ccall_RL_0) ( CB_F, UInt R1, UInt RL, RPn ); +EV VG_(ccall_LR_0) ( CB_F, UInt L1, UInt R2, RPn ); +EV VG_(ccall_LL_0) ( CB_F, UInt L1, UInt L2, RPn ); +EV VG_(ccall_RR_R) ( CB_F, UInt R1, UInt R2, UInt R_ret, RPn ); +EV VG_(ccall_RL_R) ( CB_F, UInt R1, UInt L2, UInt R_ret, RPn ); +EV VG_(ccall_LR_R) ( CB_F, UInt L1, UInt R2, UInt R_ret, RPn ); +EV VG_(ccall_LL_R) ( CB_F, UInt L1, UInt L2, UInt R_ret, RPn ); + +EV VG_(ccall_RRR_0) ( CB_F, UInt R1, UInt R2, UInt R3, RPn ); +EV VG_(ccall_RLL_0) ( CB_F, UInt R1, UInt L2, UInt L3, RPn ); +EV VG_(ccall_LLR_0) ( CB_F, UInt L1, UInt L2, UInt R3, RPn ); +EV VG_(ccall_LLL_0) ( CB_F, UInt L1, UInt L2, UInt L3, RPn ); #undef CB_F |
|
From: Tom H. <th...@cy...> - 2004-06-27 18:10:26
|
CVS commit by thughes:
Bumped the core interface major version number to reflect changes
made to the interface when removing nested functions.
M +1 -1 vg_skin.h.base 1.24
--- valgrind/include/vg_skin.h.base #1.23:1.24
@@ -127,5 +127,5 @@
will abort. The minor version indicates binary-compatible changes.
*/
-#define VG_CORE_INTERFACE_MAJOR_VERSION 5
+#define VG_CORE_INTERFACE_MAJOR_VERSION 6
#define VG_CORE_INTERFACE_MINOR_VERSION 0
|
|
From: Nicholas N. <nj...@ca...> - 2004-07-01 12:21:11
|
CVS commit by nethercote:
Couple of clarifying comments about skip lists. (Comment change only)
M +17 -7 vg_skin.h.base 1.25
--- valgrind/include/vg_skin.h.base #1.24:1.25
@@ -1776,9 +1776,11 @@
/* List operations:
- SkipList_Find searchs a list. If it can't find an exact match, it either returns NULL
- or a pointer to the element before where k would go
- SkipList_Insert inserts a new element into the list. Duplicates are forbidden.
- SkipList_Remove removes an element from the list and returns it. It doesn't free the memory.
- */
+ SkipList_Find searchs a list. If it can't find an exact match, it either
+ returns NULL or a pointer to the element before where k would go
+ SkipList_Insert inserts a new element into the list. Duplicates are
+ forbidden. The element must have been created with SkipList_Alloc!
+ SkipList_Remove removes an element from the list and returns it. It
+ doesn't free the memory.
+*/
extern void *VG_(SkipList_Find) (const SkipList *l, void *key);
extern void VG_(SkipList_Insert)( SkipList *l, void *data);
@@ -1786,10 +1788,18 @@
/* Node (element) operations:
- SkipNode_Alloc: allocate memory for a new element on the list
+ SkipNode_Alloc: allocate memory for a new element on the list. Must be
+ used before an element can be inserted! Returns NULL if not enough
+ memory.
SkipNode_Free: free memory allocated above
SkipNode_First: return the first element on the list
SkipNode_Next: return the next element after "data" on the list -
NULL for none
- */
+
+ You can iterate through a SkipList like this:
+
+ for(x = VG_(SkipNode_First)(&list);
+ x != NULL;
+ x = VG_(SkipNode_Next)(&list, x)) { ... }
+*/
extern void *VG_(SkipNode_Alloc) (const SkipList *l);
extern void VG_(SkipNode_Free) (const SkipList *l, void *p);
|
|
From: Tom H. <th...@cy...> - 2004-07-16 06:03:33
|
CVS commit by thughes:
Commit missing kernel interface definitions for async I/O calls.
M +58 -0 vg_kerneliface.h 1.19
--- valgrind/include/vg_kerneliface.h #1.18:1.19
@@ -883,4 +883,62 @@ struct elf_prpsinfo
};
+/*
+ * linux/aio_abi.h
+ */
+
+typedef struct {
+ unsigned id; /* kernel internal index number */
+ unsigned nr; /* number of io_events */
+ unsigned head;
+ unsigned tail;
+
+ unsigned magic;
+ unsigned compat_features;
+ unsigned incompat_features;
+ unsigned header_length; /* size of aio_ring */
+} vki_aio_ring ;
+
+typedef vki_aio_ring *vki_aio_context_t;
+
+typedef struct {
+ ULong data;
+ ULong obj;
+ Long result;
+ Long result2;
+} vki_io_event;
+
+typedef struct {
+ /* these are internal to the kernel/libc. */
+ ULong aio_data; /* data to be returned in event's data */
+ ULong aio_key;
+ /* the kernel sets aio_key to the req # */
+
+ /* common fields */
+ UShort aio_lio_opcode; /* see IOCB_CMD_ above */
+ UShort aio_reqprio;
+ UInt aio_fildes;
+
+ ULong aio_buf;
+ ULong aio_nbytes;
+ Long aio_offset;
+
+ /* extra parameters */
+ ULong aio_reserved2; /* TODO: use this for a (struct sigevent *) */
+ ULong aio_reserved3;
+} vki_iocb; /* 64 bytes */
+
+enum {
+ VKI_IOCB_CMD_PREAD = 0,
+ VKI_IOCB_CMD_PWRITE = 1,
+ VKI_IOCB_CMD_FSYNC = 2,
+ VKI_IOCB_CMD_FDSYNC = 3,
+ /* These two are experimental.
+ * IOCB_CMD_PREADX = 4,
+ * IOCB_CMD_POLL = 5,
+ */
+ VKI_IOCB_CMD_NOOP = 6,
+};
+
+
#endif /* __VG_KERNELIFACE_H */
|
|
From: Nicholas N. <nj...@ca...> - 2004-08-04 10:07:54
|
CVS commit by nethercote: Remove no-longer-used prefixes. M +1 -3 vg_constants_skin.h 1.8 --- valgrind/include/vg_constants_skin.h #1.7:1.8 @@ -45,8 +45,6 @@ #define VGP_(str) VGAPPEND(vgProf_,str) #define VGOFF_(str) VGAPPEND(vgOff_,str) -#define VGR_(str) VGAPPEND(vgAllRoadsLeadToRome_,str) -#define VGINJ_(str) VGAPPEND(__vgInject_,str) -/* Skin specific ones. Note that final name still starts with "vg". */ +/* Tool-specific ones. Note that final name still starts with "vg". */ #define SK_(str) VGAPPEND(vgSkin_,str) |
|
From: Tom H. <th...@cy...> - 2004-08-25 13:25:36
|
CVS commit by thughes:
Removed comma at the end of an enumerator list - this is allowed
in C99 but not in C89 except as a GNU extension so it's probably
best not to rely on it.
Patch from Jeroen N. Witmond <jn...@xs...>.
M +1 -1 valgrind.h 1.27
--- valgrind/include/valgrind.h #1.26:1.27
@@ -172,5 +172,5 @@ typedef
/* Allow printfs to valgrind log. */
VG_USERREQ__PRINTF = 0x1401,
- VG_USERREQ__PRINTF_BACKTRACE = 0x1402,
+ VG_USERREQ__PRINTF_BACKTRACE = 0x1402
} Vg_ClientRequest;
|
|
From: Tom H. <th...@cy...> - 2004-08-30 20:31:45
|
CVS commit by thughes:
Add vki_itimerspec definition for POSIX timer support.
M +5 -0 vg_kerneliface.h 1.23
--- valgrind/include/vg_kerneliface.h #1.22:1.23
@@ -566,4 +566,9 @@ struct vki_timespec {
};
+/* POSIX.1b structure for timer start values and intervals. */
+struct vki_itimerspec {
+ struct vki_timespec it_interval;
+ struct vki_timespec it_value;
+};
/* STAT stuff
|
|
From: Nicholas N. <nj...@ca...> - 2004-09-02 08:54:32
|
CVS commit by nethercote: Arch-abstraction: Whoops, forgot to add tool.h.base. Also updated .cvsignore. A tool.h.base 1.1 M +1 -1 .cvsignore 1.3 --- valgrind/include/.cvsignore #1.2:1.3 @@ -1,3 +1,3 @@ Makefile.in Makefile -vg_skin.h +tool.h |
|
From: Nicholas N. <nj...@ca...> - 2004-09-02 08:55:39
|
CVS commit by nethercote: Arch-abstraction: whoops II, forgot to add the (residual) vg_skin.h, which just points to tool.h. M +3 -2520 vg_skin.h 1.104 |
|
From: Nicholas N. <nj...@ca...> - 2004-09-14 11:55:57
|
CVS commit by nethercote:
Remove unused macros.
M +0 -34 vg_kerneliface.h 1.25
--- valgrind/include/vg_kerneliface.h #1.24:1.25
@@ -462,38 +462,4 @@ typedef struct {
-/* Gawd ...
- Copied from /usr/src/linux-2.4.9-31/./include/asm-i386/posix_types.h
-*/
-#undef VKI_FD_SET
-#define VKI_FD_SET(fd,fdsetp) \
- __asm__ __volatile__("btsl %1,%0": \
- "=m" (*(vki_fd_set *) (fdsetp)):"r" ((int) (fd)))
-
-#undef VKI_FD_CLR
-#define VKI_FD_CLR(fd,fdsetp) \
- __asm__ __volatile__("btrl %1,%0": \
- "=m" (*(vki_fd_set *) (fdsetp)):"r" ((int) (fd)))
-
-#undef VKI_FD_ISSET
-#define VKI_FD_ISSET(fd,fdsetp) (__extension__ ({ \
- unsigned char __result; \
- __asm__ __volatile__("btl %1,%2 ; setb %0" \
- :"=q" (__result) :"r" ((int) (fd)), \
- "m" (*(vki_fd_set *) (fdsetp))); \
- __result; }))
-
-#undef VKI_FD_ZERO
-#define VKI_FD_ZERO(fdsetp) \
-do { \
- int __d0, __d1; \
- __asm__ __volatile__("cld ; rep ; stosl" \
- :"=m" (*(vki_fd_set *) (fdsetp)), \
- "=&c" (__d0), "=&D" (__d1) \
- :"a" (0), "1" (VKI_FDSET_LONGS), \
- "2" ((vki_fd_set *) (fdsetp)) : "memory"); \
-} while (0)
-
-
-
struct vki_pollfd {
Int fd;
|
|
From: Nicholas N. <nj...@ca...> - 2004-10-19 17:30:49
|
CVS commit by nethercote: Update M +1 -0 .cvsignore 1.4 --- valgrind/include/.cvsignore #1.3:1.4 @@ -2,2 +2,3 @@ Makefile tool.h +valgrind.h |
|
From: Nicholas N. <nj...@ca...> - 2004-10-25 19:33:30
|
CVS commit by nethercote: tweak M +2 -1 valgrind.h.in 1.2 --- valgrind/include/valgrind.h.in #1.1:1.2 @@ -62,5 +62,6 @@ #include <stdarg.h> -#define __@VG_ARCH@__ // Architecture we're installed on +#undef __@VG_ARCH@__ +#define __@VG_ARCH@__ 1 // Architecture we're installed on /* This file is for inclusion into client (your!) code. |
|
From: Nicholas N. <nj...@ca...> - 2004-10-26 12:57:01
|
CVS commit by nethercote:
Comment cleanups only.
M +10 -18 valgrind.h.in 1.3
--- valgrind/include/valgrind.h.in #1.2:1.3
@@ -81,6 +81,6 @@
#ifndef NVALGRIND
-/* The following defines the magic code sequence which the JITter spots and
- handles magically. Don't look too closely at this; it will rot
+/* The following defines the magic code sequences which the JITter spots and
+ handles magically. Don't look too closely at them; they will rot
your brain. We must ensure that the default value gets put in the return
slot, so that everything works when this is executed not under Valgrind.
@@ -88,4 +88,10 @@
the number that could be passed, but it's currently four.
+ The macro args are:
+ _zzq_rlval result lvalue
+ _zzq_default default value (result returned when running on real CPU)
+ _zzq_request request code
+ _zzq_arg1..4 request params
+
Nb: we put the assembly code sequences for all architectures in this one
file. This is because this file must be stand-alone, so we can't rely on
@@ -94,21 +100,7 @@
#ifdef __x86__
-/* This defines the magic code sequence which the JITter spots and
- handles magically. Don't look too closely at this; it will rot
- your brain. Valgrind dumps the result value in %EDX, so we first
- copy the default value there, so that it is returned when not
- running on Valgrind. Since %EAX points to a block of mem
- containing the args, you can pass as many args as you want like
- this. Currently this is set up to deal with 4 args since that's
- the max that we appear to need (pthread_create).
-*/
#define VALGRIND_MAGIC_SEQUENCE( \
- _zzq_rlval, /* result lvalue */ \
- _zzq_default, /* result returned when running on real CPU */ \
- _zzq_request, /* request code */ \
- _zzq_arg1, /* request first param */ \
- _zzq_arg2, /* request second param */ \
- _zzq_arg3, /* request third param */ \
- _zzq_arg4 /* request fourth param */ ) \
+ _zzq_rlval, _zzq_default, _zzq_request, \
+ _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4) \
\
{ volatile unsigned int _zzq_args[5]; \
|
|
From: Nicholas N. <nj...@ca...> - 2004-10-26 13:00:14
|
CVS commit by nethercote:
Code formatting changes only.
M +3 -7 valgrind.h.in 1.4
--- valgrind/include/valgrind.h.in #1.3:1.4
@@ -130,11 +130,6 @@
assert()) */
#define VALGRIND_MAGIC_SEQUENCE( \
- _zzq_rlval, /* result lvalue */ \
- _zzq_default, /* result returned when running on real CPU */ \
- _zzq_request, /* request code */ \
- _zzq_arg1, /* request first param */ \
- _zzq_arg2, /* request second param */ \
- _zzq_arg3, /* request third param */ \
- _zzq_arg4 /* request fourth param */ ) \
+ _zzq_rlval, _zzq_default, _zzq_request, \
+ _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4) \
{ \
(_zzq_rlval) = (_zzq_default); \
@@ -142,4 +137,5 @@
#endif /* NVALGRIND */
+
/* Some request codes. There are many more of these, but most are not
exposed to end-user view. These are the public ones, all of the
|
|
From: Nicholas N. <nj...@ca...> - 2004-11-01 19:36:51
|
CVS commit by nethercote:
unbreak compilation...
M +1 -1 Makefile.am 1.12
--- valgrind/include/Makefile.am #1.11:1.12
@@ -10,5 +10,5 @@
incinc_HEADERS = \
- basic_types.c \
+ basic_types.h \
tool.h \
tool_asm.h \
|
|
From: Jeremy F. <je...@go...> - 2004-12-04 01:08:17
|
CVS commit by fitzhardinge: If we have included valgrind.h, but are not compiling for a supported target architecture, don't emit any inline asms. M +11 -0 valgrind.h.in 1.5 --- valgrind/include/valgrind.h.in #1.4:1.5 @@ -65,4 +65,15 @@ #define __@VG_ARCH@__ 1 // Architecture we're installed on + +/* If we're not compiling for our target architecture, don't generate + any inline asms. This would be a bit neater if we used the same + CPP symbols as the compiler for identifying architectures. */ +#if !(__x86__ && __i386__) +# ifndef NVALGRIND +# define NVALGRIND 1 +# endif /* NVALGRIND */ +#endif + + /* This file is for inclusion into client (your!) code. |
|
From: Jeremy F. <je...@go...> - 2005-01-25 08:09:51
|
CVS commit by fitzhardinge:
Tweak the magic sequence to generate slightly better code.
M +18 -22 valgrind.h.in 1.6
--- valgrind/include/valgrind.h.in #1.5:1.6
@@ -1,4 +1,3 @@
-
-/*
+/* -*- c -*-
----------------------------------------------------------------
@@ -111,24 +110,21 @@
#ifdef __x86__
-#define VALGRIND_MAGIC_SEQUENCE( \
- _zzq_rlval, _zzq_default, _zzq_request, \
- _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4) \
- \
- { volatile unsigned int _zzq_args[5]; \
- _zzq_args[0] = (volatile unsigned int)(_zzq_request); \
- _zzq_args[1] = (volatile unsigned int)(_zzq_arg1); \
- _zzq_args[2] = (volatile unsigned int)(_zzq_arg2); \
- _zzq_args[3] = (volatile unsigned int)(_zzq_arg3); \
- _zzq_args[4] = (volatile unsigned int)(_zzq_arg4); \
- asm volatile("movl %1, %%eax\n\t" \
- "movl %2, %%edx\n\t" \
- "roll $29, %%eax ; roll $3, %%eax\n\t" \
- "rorl $27, %%eax ; rorl $5, %%eax\n\t" \
- "roll $13, %%eax ; roll $19, %%eax\n\t" \
- "movl %%edx, %0\t" \
- : "=r" (_zzq_rlval) \
- : "r" (&_zzq_args[0]), "r" (_zzq_default) \
- : "eax", "edx", "cc", "memory" \
- ); \
+#define VALGRIND_MAGIC_SEQUENCE( \
+ _zzq_rlval, _zzq_default, _zzq_request, \
+ _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4) \
+ \
+ { unsigned int _zzq_args[5]; \
+ _zzq_args[0] = (unsigned int)(_zzq_request); \
+ _zzq_args[1] = (unsigned int)(_zzq_arg1); \
+ _zzq_args[2] = (unsigned int)(_zzq_arg2); \
+ _zzq_args[3] = (unsigned int)(_zzq_arg3); \
+ _zzq_args[4] = (unsigned int)(_zzq_arg4); \
+ asm volatile("roll $29, %%eax ; roll $3, %%eax\n\t" \
+ "rorl $27, %%eax ; rorl $5, %%eax\n\t" \
+ "roll $13, %%eax ; roll $19, %%eax" \
+ : "=d" (_zzq_rlval) \
+ : "a" (&_zzq_args[0]), "0" (_zzq_default) \
+ : "cc", "memory" \
+ ); \
}
#endif // __x86__
|
|
From: Nicholas N. <nj...@cs...> - 2005-06-28 19:47:26
|
SVN commit 429765 by nethercote:
Don't use non-ansi features in valgrind.h in case it's used in a file =
=20
compiled with -ansi. Added a regtest for it. Fixed bug #103182. =20
MERGED FROM 3.0 REPOSITORY
M +4 -4 valgrind.h.in =20
--- trunk/valgrind/include/valgrind.h.in #429764:429765
@@ -61,7 +61,7 @@
#include <stdarg.h>
=20
#undef __@VG_ARCH@__
-#define __@VG_ARCH@__ 1 // Architecture we're installed on
+#define __@VG_ARCH@__ 1 /* Architecture we're installed on */
=20
=20
/* If we're not compiling for our target architecture, don't generate
@@ -119,7 +119,7 @@
_zzq_args[2] =3D (unsigned int)(_zzq_arg2); \
_zzq_args[3] =3D (unsigned int)(_zzq_arg3); \
_zzq_args[4] =3D (unsigned int)(_zzq_arg4); \
- asm volatile("roll $29, %%eax ; roll $3, %%eax\n\t" \
+ __asm__ volatile("roll $29, %%eax ; roll $3, %%eax\n\t" \
"rorl $27, %%eax ; rorl $5, %%eax\n\t" \
"roll $13, %%eax ; roll $19, %%eax" \
: "=3Dd" (_zzq_rlval) \
@@ -127,9 +127,9 @@
: "cc", "memory" \
); \
}
-#endif // __x86__
+#endif /* __x86__ */
=20
-// Insert assembly code for other architectures here...
+/* Insert assembly code for other architectures here... */
=20
#else /* NVALGRIND */
/* Define NVALGRIND to completely remove the Valgrind magic sequence
|