[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.
(cherry picked from commit 61eadc028fb8774ea05d893cd3eca6c671fb511e)
This commit is contained in:
Willy Tarreau 2008-08-17 17:06:37 +02:00
parent 2f9127b4b9
commit ee113f5345

View File

@ -70,9 +70,10 @@
/* CONFIG_HAP_USE_REGPARM
* 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 REGPRM2 __attribute__((regparm(2)))
#define REGPRM3 __attribute__((regparm(3)))