From: Nicholas Nethercote Date: Sun, 29 Feb 2004 15:50:04 +0000 (+0000) Subject: Patch from Bartosz Taudul: latest GCC requires regparm(n) attributes on both X-Git-Tag: svn/VALGRIND_2_1_1~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ffa1ae6f30cab9bc35916568c7fdc99ef343279f;p=thirdparty%2Fvalgrind.git Patch from Bartosz Taudul: latest GCC requires regparm(n) attributes on both function declarations and definitions. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2280 --- diff --git a/helgrind/hg_main.c b/helgrind/hg_main.c index 9895b87a5d..ac05374ca5 100644 --- a/helgrind/hg_main.c +++ b/helgrind/hg_main.c @@ -3103,42 +3103,42 @@ static void eraser_mem_write(Addr a, UInt size, ThreadId tid) #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)()); } diff --git a/memcheck/mc_include.h b/memcheck/mc_include.h index 6f5ff6bcb1..a3a39fd797 100644 --- a/memcheck/mc_include.h +++ b/memcheck/mc_include.h @@ -121,16 +121,16 @@ extern void MC_(helper_value_check0_fail) ( void ); /* 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 ); /* For client requests */