Prev: [PATCH] Warn on unnecessary spaces before quoted newlines
Next: Possible NULL pointer dereference in m32r
From: Borislav Petkov on 17 Feb 2010 12:40 On Wed, Feb 17, 2010 at 06:31:04PM +0100, Michal Marek wrote: > On 17.2.2010 18:20, Borislav Petkov wrote: > > On Wed, Feb 17, 2010 at 02:57:42PM +0100, Michal Marek wrote: > >> On 12.2.2010 20:05, H. Peter Anvin wrote: > >>> On 02/12/2010 09:47 AM, Borislav Petkov wrote: > >>>> > >>>> However, this is generic code and for the above to work we have to > >>>> enforce x86-specific CFLAGS for it. What is the preferred way to do > >>>> that? > >>>> > >>> > >>> That's a question for Michal and the kbuild list. Michal? > >> > >> (I was offline last week). > >> > >> The _preferred_ way probably is not to do it :), but otherwise you can > >> set CFLAGS_hweight.o depending on CONFIG_X86(_32|_64), just like you do > >> in arch/x86/lib/Makefile already. > > > > Wouldn't it be better if we had something like ARCH_CFLAGS_hweight.o > > which gets set in the arch Makefile instead? > > We could, but is it worth it if there is only one potential user so far? > IMO just put the condition to lib/Makefile now and if there turn out to > be more cases like this, we can add support for ARCH_CFLAGS_foo.o then. Ok, I'm fine with that too, thanks. -- Regards/Gruss, Boris. -- Advanced Micro Devices, Inc. Operating Systems Research Center -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Borislav Petkov on 18 Feb 2010 01:20 On Wed, Feb 17, 2010 at 06:39:13PM +0100, Michal Marek wrote: > It wouldn't work actually, because such variable would then apply to all > hweight.o targets in the tree. But another way would be: > > arch/x86/Kconfig > config ARCH_HWEIGHT_CFLAGS > string > default "..." if X86_32 > default "..." if X86_64 > > lib/Makefile > CFLAGS_hweight.o = $(CONFIG_ARCH_HWEIGHT_CFLAGS) Yep, this works, albeit with a small adjustment since CONFIG_ARCH_HWEIGHT_CFLAGS is quoted in the Kconfig and the quotes appear in the $(CC) call like this: gcc -Wp,-MD,lib/.hweight.o.d ... "-fcall-saved-ecx..." which I fixed like this (idea reused from the make manual): --- source "init/Kconfig" diff --git a/lib/Makefile b/lib/Makefile index 3b0b4a6..e2ad17c 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -39,7 +39,10 @@ lib-$(CONFIG_RWSEM_XCHGADD_ALGORITHM) += rwsem.o lib-$(CONFIG_GENERIC_FIND_FIRST_BIT) += find_next_bit.o lib-$(CONFIG_GENERIC_FIND_NEXT_BIT) += find_next_bit.o obj-$(CONFIG_GENERIC_FIND_LAST_BIT) += find_last_bit.o + +CFLAGS_hweight.o = $(subst $(quote),,$(CONFIG_ARCH_HWEIGHT_CFLAGS)) obj-$(CONFIG_GENERIC_HWEIGHT) += hweight.o + obj-$(CONFIG_LOCK_KERNEL) += kernel_lock.o obj-$(CONFIG_DEBUG_PREEMPT) += smp_processor_id.o obj-$(CONFIG_DEBUG_LIST) += list_debug.o diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index f9bdf26..cbcd654 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -245,3 +245,7 @@ quiet_cmd_lzo = LZO $@ cmd_lzo = (cat $(filter-out FORCE,$^) | \ lzop -9 && $(call size_append, $(filter-out FORCE,$^))) > $@ || \ (rm -f $@ ; false) + +# misc stuff +# --------------------------------------------------------------------------- +quote:=" I'm open for better suggestions though. -- Regards/Gruss, Boris. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Peter Zijlstra on 18 Feb 2010 06:00 On Wed, 2010-02-17 at 14:57 +0100, Michal Marek wrote: > On 12.2.2010 20:05, H. Peter Anvin wrote: > > On 02/12/2010 09:47 AM, Borislav Petkov wrote: > >> > >> However, this is generic code and for the above to work we have to > >> enforce x86-specific CFLAGS for it. What is the preferred way to do > >> that? > >> > > > > That's a question for Michal and the kbuild list. Michal? > > (I was offline last week). > > The _preferred_ way probably is not to do it :), but otherwise you can > set CFLAGS_hweight.o depending on CONFIG_X86(_32|_64), just like you do > in arch/x86/lib/Makefile already. I guess one way to achieve that is to create a arch/x86/lib/hweight.c that includes lib/hweight.c and give the x86 one special compile flags and not build the lib on. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Borislav Petkov on 18 Feb 2010 07:00 On Thu, Feb 18, 2010 at 11:51:50AM +0100, Peter Zijlstra wrote: > I guess one way to achieve that is to create a arch/x86/lib/hweight.c > that includes lib/hweight.c and give the x86 one special compile flags > and not build the lib on. That's what I thought initially too but that won't fly because the lib/hweight.c helpers have to be inlined into arch/x86/lib/hweight.c so that gcc can take care of the clobbered registers. Otherwise, it just a "call __sw_hweightXX" that gets issued into asm. -- Regards/Gruss, Boris. - Advanced Micro Devices, Inc. Operating Systems Research Center -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
First
|
Prev
|
Pages: 1 2 3 4 5 6 Prev: [PATCH] Warn on unnecessary spaces before quoted newlines Next: Possible NULL pointer dereference in m32r |