|
From: Nicholas N. <nj...@ca...> - 2004-02-29 15:57:31
|
CVS commit by nethercote:
Patch from Bartosz Taudul: latest GCC requires regparm(n) attributes on both
function declarations and definitions. [copied from HEAD]
M +8 -8 helgrind/hg_main.c 1.60.2.4
M +8 -8 memcheck/mc_include.h 1.16.2.1
--- valgrind/helgrind/hg_main.c #1.60.2.3:1.60.2.4
@@ -3102,40 +3102,40 @@ static void eraser_mem_write(Addr a, UIn
#undef DEBUG_STATE
-static void eraser_mem_help_read_1(Addr a)
+REGPARM(1) static void eraser_mem_help_read_1(Addr a)
{
eraser_mem_read(a, 1, VG_(get_current_tid)());
}
-static void eraser_mem_help_read_2(Addr a)
+REGPARM(1) static void eraser_mem_help_read_2(Addr a)
{
eraser_mem_read(a, 2, VG_(get_current_tid)());
}
-static void eraser_mem_help_read_4(Addr a)
+REGPARM(1) static void eraser_mem_help_read_4(Addr a)
{
eraser_mem_read(a, 4, VG_(get_current_tid)());
}
-static void eraser_mem_help_read_N(Addr a, UInt size)
+REGPARM(2) static void eraser_mem_help_read_N(Addr a, UInt size)
{
eraser_mem_read(a, size, VG_(get_current_tid)());
}
-static void eraser_mem_help_write_1(Addr a, UInt val)
+REGPARM(2) static void eraser_mem_help_write_1(Addr a, UInt val)
{
if (*(UChar *)a != val)
eraser_mem_write(a, 1, VG_(get_current_tid)());
}
-static void eraser_mem_help_write_2(Addr a, UInt val)
+REGPARM(2) static void eraser_mem_help_write_2(Addr a, UInt val)
{
if (*(UShort *)a != val)
eraser_mem_write(a, 2, VG_(get_current_tid)());
}
-static void eraser_mem_help_write_4(Addr a, UInt val)
+REGPARM(2) static void eraser_mem_help_write_4(Addr a, UInt val)
{
if (*(UInt *)a != val)
eraser_mem_write(a, 4, VG_(get_current_tid)());
}
-static void eraser_mem_help_write_N(Addr a, UInt size)
+REGPARM(2) static void eraser_mem_help_write_N(Addr a, UInt size)
{
eraser_mem_write(a, size, VG_(get_current_tid)());
--- valgrind/memcheck/mc_include.h #1.16:1.16.2.1
@@ -122,14 +122,14 @@ extern void MC_(helper_value_check0_fail
/* Functions defined in mc_main.c */
-extern void MC_(helperc_STOREV4) ( Addr, UInt );
-extern void MC_(helperc_STOREV2) ( Addr, UInt );
-extern void MC_(helperc_STOREV1) ( Addr, UInt );
+extern __attribute__ ((regparm(2))) void MC_(helperc_STOREV4) ( Addr, UInt );
+extern __attribute__ ((regparm(2))) void MC_(helperc_STOREV2) ( Addr, UInt );
+extern __attribute__ ((regparm(2))) void MC_(helperc_STOREV1) ( Addr, UInt );
-extern UInt MC_(helperc_LOADV1) ( Addr );
-extern UInt MC_(helperc_LOADV2) ( Addr );
-extern UInt MC_(helperc_LOADV4) ( Addr );
+extern __attribute__ ((regparm(1))) UInt MC_(helperc_LOADV1) ( Addr );
+extern __attribute__ ((regparm(1))) UInt MC_(helperc_LOADV2) ( Addr );
+extern __attribute__ ((regparm(1))) UInt MC_(helperc_LOADV4) ( Addr );
-extern void MC_(fpu_write_check) ( Addr addr, Int size );
-extern void MC_(fpu_read_check) ( Addr addr, Int size );
+extern __attribute__ ((regparm(2))) void MC_(fpu_write_check) ( Addr addr, Int size );
+extern __attribute__ ((regparm(2))) void MC_(fpu_read_check) ( Addr addr, Int size );
|