From ffa1ae6f30cab9bc35916568c7fdc99ef343279f Mon Sep 17 00:00:00 2001 From: Nicholas Nethercote Date: Sun, 29 Feb 2004 15:50:04 +0000 Subject: [PATCH] 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 --- helgrind/hg_main.c | 16 ++++++++-------- memcheck/mc_include.h | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) 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 */ -- 2.47.2