* 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