[llvm-dev] Linking Linux kernel with LLD
George Rimar via llvm-dev
llvm-dev at lists.llvm.org
Mon Feb 20 07:51:51 PST 2017
And I think current issue with "Kernel panic - not syncing: IO-APIC + timer doesn't work!" is also clear.
timer_irq_works(void) never returns 1:
https://github.com/torvalds/linux/blob/d966564fcdc19e13eb6ba1fbe6b8101070339c3d/arch/x86/kernel/apic/io_apic.c#L1641
I think it happens because of jiffies (http://www.makelinux.net/books/lkd2/ch10lev1sec3#ch10fig01)
It should have the same address as jiffies_64:
https://github.com/torvalds/linux/blob/b66484cd74706fa8681d051840fe4b18a3da40ff/arch/x86/kernel/vmlinux.lds.S#L41
And that is true for BFD linked binary:
10595: ffffffff8140b000 8 OBJECT GLOBAL DEFAULT 8 jiffies
11730: ffffffff8140b000 8 OBJECT GLOBAL DEFAULT 8 jiffies_64
But something is wrong with them for LLD case:
6422: ffffffff8140b000 8 OBJECT GLOBAL DEFAULT 19 jiffies
7416: ffffffff81400000 0 NOTYPE GLOBAL DEFAULT 19 jiffies_64
I think we probably incorrectly assign symbols outside SECTIONS declarations in scripts. Looking at it.
George.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170220/d2086522/attachment-0001.html>
More information about the llvm-dev
mailing list