At Sat, 26 Dec 2009 12:55:24 +0200, Ozan Çağlayan wrote: > > Hi, > > Compiling the latest alsa-driver with kernel > 2.6.31 results in gcd() > symbol duplication. Although there's a check in configure for > linux/gcd.h, no boolean is adjusted according to that. > > In acore/wrappers.c, gcd() is exported if CONFIG_GCD is not defined > which seems always the case for now. CONFIG_GCD looks new indeed. For 2.6.31 and 32, we need more check. I applied the following fix instead in case linux/gcd.h is defined by vendor kernels. thanks, Takashi === >From 68c3169b5f9aec19ade5a5619ee3dfa4be676855 Mon Sep 17 00:00:00 2001 From: Takashi Iwai <tiwai@xxxxxxx> Date: Sat, 26 Dec 2009 12:29:34 +0100 Subject: [PATCH] Don't define gcd() when already exists MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Define compatible gcd() only when linux/gcd. doesn't exist. CONFIG_GCD isn't defined for 2.6.31/32, so it can'be used reliablty as the compile condition. Reported-by: Ozan Çağlayan <ozan@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> --- acore/wrappers.c | 3 +++ include/gcd_compat.h | 1 + 2 files changed, 4 insertions(+), 0 deletions(-) diff --git a/acore/wrappers.c b/acore/wrappers.c index e9478bd..68750a7 100644 --- a/acore/wrappers.c +++ b/acore/wrappers.c @@ -340,6 +340,8 @@ EXPORT_SYMBOL(compat_skip_spaces); #endif /* < 2.6.33 */ #ifndef CONFIG_GCD +#include <linux/gcd.h> +#ifdef CONFIG_SND_COMPAT_GCD /* Greatest common divisor */ unsigned long gcd(unsigned long a, unsigned long b) { @@ -356,4 +358,5 @@ unsigned long gcd(unsigned long a, unsigned long b) return b; } EXPORT_SYMBOL(gcd); +#endif /* CONFIG_SND_COMPAT_GCD */ #endif /* !CONFIG_GCD */ diff --git a/include/gcd_compat.h b/include/gcd_compat.h index beeda05..daedab1 100644 --- a/include/gcd_compat.h +++ b/include/gcd_compat.h @@ -1,6 +1,7 @@ #ifndef _LINUX_GCD_H #define _LINUX_GCD_H +#define CONFIG_SND_COMPAT_GCD unsigned long gcd(unsigned long a, unsigned long b); #endif /* _LINUX_GCD_H */ -- 1.6.5.7 _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel