* linux-next-20090324: undefined reference to `__this_fixmap_does_not_exist\' @ 2009-03-25 3:24 Tetsuo Handa 2009-03-25 4:58 ` Wang Chen 0 siblings, 1 reply; 6+ messages in thread From: Tetsuo Handa @ 2009-03-25 3:24 UTC (permalink / raw) To: wangchen, mingo; +Cc: linux-kernel Hello. I encountered below error. arch/x86/mm/built-in.o(.init.text+0x1831): In function `early_ioremap_init': : undefined reference to `__this_fixmap_does_not_exist' make: *** [.tmp_vmlinux1] Error 1 Config is at http://I-love.SAKURA.ne.jp/tmp/config-2.6.29-next-20090324 Regards. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: linux-next-20090324: undefined reference to `__this_fixmap_does_not_exist\' 2009-03-25 3:24 linux-next-20090324: undefined reference to `__this_fixmap_does_not_exist\' Tetsuo Handa @ 2009-03-25 4:58 ` Wang Chen 2009-03-25 8:52 ` Wang Chen 0 siblings, 1 reply; 6+ messages in thread From: Wang Chen @ 2009-03-25 4:58 UTC (permalink / raw) To: Tetsuo Handa; +Cc: mingo, linux-kernel Tetsuo Handa said the following on 2009-3-25 11:24: > Hello. > > I encountered below error. > > arch/x86/mm/built-in.o(.init.text+0x1831): In function `early_ioremap_init': > : undefined reference to `__this_fixmap_does_not_exist' > make: *** [.tmp_vmlinux1] Error 1 > > Config is at http://I-love.SAKURA.ne.jp/tmp/config-2.6.29-next-20090324 > Tetsuo, I've tried the latest tip, it's OK. I can't trigger the same problem as you do. So I will try linux-next later. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: linux-next-20090324: undefined reference to `__this_fixmap_does_not_exist\' 2009-03-25 4:58 ` Wang Chen @ 2009-03-25 8:52 ` Wang Chen 2009-03-25 9:56 ` Wang Chen 0 siblings, 1 reply; 6+ messages in thread From: Wang Chen @ 2009-03-25 8:52 UTC (permalink / raw) To: Tetsuo Handa; +Cc: mingo, linux-kernel Wang Chen said the following on 2009-3-25 12:58: > Tetsuo Handa said the following on 2009-3-25 11:24: >> Hello. >> >> I encountered below error. >> >> arch/x86/mm/built-in.o(.init.text+0x1831): In function `early_ioremap_init': >> : undefined reference to `__this_fixmap_does_not_exist' >> make: *** [.tmp_vmlinux1] Error 1 >> >> Config is at http://I-love.SAKURA.ne.jp/tmp/config-2.6.29-next-20090324 >> > > Tetsuo, I've tried the latest tip, it's OK. > I can't trigger the same problem as you do. > So I will try linux-next later. > Tetsuo I've "make" tested linux-next-20090324 with your config. Still can't trigger the error. It's strange :( ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: linux-next-20090324: undefined reference to `__this_fixmap_does_not_exist\' 2009-03-25 8:52 ` Wang Chen @ 2009-03-25 9:56 ` Wang Chen 2009-03-25 11:40 ` linux-next-20090324: undefined reference to `__this_fixmap_does_not_exist' Tetsuo Handa 2009-03-25 13:09 ` [tip:x86/mm] x86: early_ioremap_init(), use __fix_to_virt(), because we are sure it's safe Wang Chen 0 siblings, 2 replies; 6+ messages in thread From: Wang Chen @ 2009-03-25 9:56 UTC (permalink / raw) To: Tetsuo Handa; +Cc: mingo, linux-kernel, sfr Wang Chen said the following on 2009-3-25 16:52: > Wang Chen said the following on 2009-3-25 12:58: >> Tetsuo Handa said the following on 2009-3-25 11:24: >>> Hello. >>> >>> I encountered below error. >>> >>> arch/x86/mm/built-in.o(.init.text+0x1831): In function `early_ioremap_init': >>> : undefined reference to `__this_fixmap_does_not_exist' >>> make: *** [.tmp_vmlinux1] Error 1 >>> >>> Config is at http://I-love.SAKURA.ne.jp/tmp/config-2.6.29-next-20090324 >>> >> Tetsuo, I've tried the latest tip, it's OK. >> I can't trigger the same problem as you do. >> So I will try linux-next later. >> > > Tetsuo > > I've "make" tested linux-next-20090324 with your config. > Still can't trigger the error. > It's strange :( > Maybe we use different gcc versions. Please try following patch. From: Wang Chen <wangchen@cn.fujitsu.com> Subject: [PATCH] use __fix_to_virt(), because we are sure it's safe Commit:8827247ffcc9e880cbe4705655065cf011265157 used a variable(which would be optimized to constant) as fix_to_virt()'s parameter. It's depended on gcc's optimization and maybe failed on old gcc. We can use __fix_to_vir() insteadly, because we know it's safe and don't need link time error reporting. Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com> Reported-by: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp> --- ioremap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- arch/x86/mm/ioremap.c.orig 2009-03-25 17:36:01.000000000 +0800 +++ arch/x86/mm/ioremap.c 2009-03-25 17:36:54.000000000 +0800 @@ -523,7 +523,7 @@ void __init early_ioremap_init(void) printk(KERN_INFO "early_ioremap_init()\n"); for (i = 0; i < FIX_BTMAPS_SLOTS; i++) - slot_virt[i] = fix_to_virt(FIX_BTMAP_BEGIN - NR_FIX_BTMAPS*i); + slot_virt[i] = __fix_to_virt(FIX_BTMAP_BEGIN - NR_FIX_BTMAPS*i); pmd = early_ioremap_pmd(fix_to_virt(FIX_BTMAP_BEGIN)); if (sizeof(bm_pte)) { ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: linux-next-20090324: undefined reference to `__this_fixmap_does_not_exist' 2009-03-25 9:56 ` Wang Chen @ 2009-03-25 11:40 ` Tetsuo Handa 2009-03-25 13:09 ` [tip:x86/mm] x86: early_ioremap_init(), use __fix_to_virt(), because we are sure it's safe Wang Chen 1 sibling, 0 replies; 6+ messages in thread From: Tetsuo Handa @ 2009-03-25 11:40 UTC (permalink / raw) To: wangchen; +Cc: mingo, linux-kernel, sfr Hello. Wang Chen wrote: > Maybe we use different gcc versions. Yes. I'm using gcc 3.3 . # gcc --version gcc (GCC) 3.3.5 (Debian 1:3.3.5-13) Copyright (C) 2003 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # make -sj2 arch/x86/mm/built-in.o(.init.text+0x1831): In function `early_ioremap_init': : undefined reference to `__this_fixmap_does_not_exist' make: *** [.tmp_vmlinux1] Error 1 > Please try following patch. After applying that patch, this problem was solved. Thank you. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [tip:x86/mm] x86: early_ioremap_init(), use __fix_to_virt(), because we are sure it's safe 2009-03-25 9:56 ` Wang Chen 2009-03-25 11:40 ` linux-next-20090324: undefined reference to `__this_fixmap_does_not_exist' Tetsuo Handa @ 2009-03-25 13:09 ` Wang Chen 1 sibling, 0 replies; 6+ messages in thread From: Wang Chen @ 2009-03-25 13:09 UTC (permalink / raw) To: linux-tip-commits Cc: linux-kernel, hpa, mingo, tglx, wangchen, mingo, penguin-kernel Commit-ID: 9f4f25c86ff2233dd98d4bd6968afb1ca66558a0 Gitweb: http://git.kernel.org/tip/9f4f25c86ff2233dd98d4bd6968afb1ca66558a0 Author: Wang Chen <wangchen@cn.fujitsu.com> AuthorDate: Wed, 25 Mar 2009 14:07:11 +0100 Committer: Ingo Molnar <mingo@elte.hu> CommitDate: Wed, 25 Mar 2009 14:07:11 +0100 x86: early_ioremap_init(), use __fix_to_virt(), because we are sure it's safe Tetsuo Handa reported this link bug: | arch/x86/mm/built-in.o(.init.text+0x1831): In function `early_ioremap_init': | : undefined reference to `__this_fixmap_does_not_exist' | make: *** [.tmp_vmlinux1] Error 1 Commit:8827247ffcc9e880cbe4705655065cf011265157 used a variable (which would be optimized to constant) as fix_to_virt()'s parameter. It's depended on gcc's optimization and fails on old gcc. (Tetsuo used gcc 3.3) We can use __fix_to_vir() instead, because we know it's safe and don't need link time error reporting. Reported-by: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp> Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com> Cc: sfr@canb.auug.org.au LKML-Reference: <49C9FFEA.7060908@cn.fujitsu.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> --- arch/x86/mm/ioremap.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c index 83ed74a..0dfa09d 100644 --- a/arch/x86/mm/ioremap.c +++ b/arch/x86/mm/ioremap.c @@ -516,7 +516,7 @@ void __init early_ioremap_init(void) printk(KERN_INFO "early_ioremap_init()\n"); for (i = 0; i < FIX_BTMAPS_SLOTS; i++) - slot_virt[i] = fix_to_virt(FIX_BTMAP_BEGIN - NR_FIX_BTMAPS*i); + slot_virt[i] = __fix_to_virt(FIX_BTMAP_BEGIN - NR_FIX_BTMAPS*i); pmd = early_ioremap_pmd(fix_to_virt(FIX_BTMAP_BEGIN)); memset(bm_pte, 0, sizeof(bm_pte)); ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2009-03-25 13:10 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-03-25 3:24 linux-next-20090324: undefined reference to `__this_fixmap_does_not_exist\' Tetsuo Handa 2009-03-25 4:58 ` Wang Chen 2009-03-25 8:52 ` Wang Chen 2009-03-25 9:56 ` Wang Chen 2009-03-25 11:40 ` linux-next-20090324: undefined reference to `__this_fixmap_does_not_exist' Tetsuo Handa 2009-03-25 13:09 ` [tip:x86/mm] x86: early_ioremap_init(), use __fix_to_virt(), because we are sure it's safe Wang Chen
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox