[BUG] regparm is broken on gcc < 3

Gcc < 3 does not consider regparm declarations for function pointers.
This causes big trouble at least with pollers (and with any function
pointer after all). Disable CONFIG_HAP_USE_REGPARM for gcc < 3.
This commit is contained in:
Willy Tarreau 2008-08-17 17:06:37 +02:00
parent 6d2889ba3d
commit 61eadc028f
1 changed files with 3 additions and 2 deletions

View File

@ -70,9 +70,10 @@
/* CONFIG_HAP_USE_REGPARM /* CONFIG_HAP_USE_REGPARM
* This enables the use of register parameters for some functions where * This enables the use of register parameters for some functions where
* it may improve performance by a measurable factor. * it may improve performance by a measurable factor. This MUST NOT be
* enabled on gcc < 3 because it is ignored for function pointers.
*/ */
#ifdef CONFIG_HAP_USE_REGPARM #if CONFIG_HAP_USE_REGPARM && __GNUC__ >= 3
#define REGPRM1 __attribute__((regparm(1))) #define REGPRM1 __attribute__((regparm(1)))
#define REGPRM2 __attribute__((regparm(2))) #define REGPRM2 __attribute__((regparm(2)))
#define REGPRM3 __attribute__((regparm(3))) #define REGPRM3 __attribute__((regparm(3)))