* link error in today's x86.git
@ 2008-01-17 18:29 Jeremy Fitzhardinge
0 siblings, 0 replies; only message in thread
From: Jeremy Fitzhardinge @ 2008-01-17 18:29 UTC (permalink / raw)
To: Ingo Molnar; +Cc: Linux Kernel Mailing List
I'm seeing this with the current x86.git:
arch/x86/mm/built-in.o: In function `fix_to_virt': /home/jeremy/hg/xen/paravirt/linux-i386/include2/asm/fixmap_32.h:157: undefined reference to `__this_fixmap_does_not_exist'
It appears to be coming from ioremap_32.c.
I can't see any particular change which would have caused this, but this
loop in early_ioremap_reset:
for (idx = FIX_BTMAP_BEGIN; idx <= FIX_BTMAP_END; idx--) {
addr = fix_to_virt(idx);
pte = early_ioremap_pte(addr);
if (!*pte & _PAGE_PRESENT) {
phys = *pte & PAGE_MASK;
set_fixmap(idx, phys);
}
}
seems incompatible with the test in fix_to_virt:
/*
* this branch gets completely eliminated after inlining,
* except when someone tries to use fixaddr indices in an
* illegal way. (such as mixing up address types or using
* out-of-range indices).
*
* If it doesn't get removed, the linker will complain
* loudly with a reasonably clear error message..
*/
if (idx >= __end_of_fixed_addresses)
__this_fixmap_does_not_exist();
While the compiler could prove that idx is within range here, it seems a
bit much to require it to.
J
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-01-17 18:29 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-17 18:29 link error in today's x86.git Jeremy Fitzhardinge
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.