Messages in this thread |  | | | Date | Sun, 28 Sep 2008 03:22:48 -0400 | | From | "Daniel Rosenthal" <> | | Subject | Re: linux object file containing all kernel symbols and suitable for userspace linking? |
| |
On Sat, Sep 27, 2008 at 11:13 PM, Grant Coady wrote: > There's a vmlinux.o in top-level directory after a kernel compile, is > that what you're after?
It's looks close, but it seems to be missing some symbols. Below is an excerpt of some of the some of the error messages that come up when trying to link vmlinux.o to another object file. It looks like all the binary layout related symbols are missing, and jiffies also. How/when are these symbols normally linked into the final kernel image?
Daniel
... /usr/src/linux/vmlinux.o: In function `sched_clock': /usr/src/linux/kernel/sched.c:80: undefined reference to `jiffies' /usr/src/linux/vmlinux.o: In function `__might_sleep': /usr/src/linux/kernel/sched.c:7478: undefined reference to `jiffies' /usr/src/linux/kernel/sched.c:7480: undefined reference to `jiffies' /usr/src/linux/vmlinux.o: In function `in_sched_functions': /usr/src/linux/kernel/sched.c:7289: undefined reference to `__sched_text_start' /usr/src/linux/kernel/sched.c:7289: undefined reference to `__sched_text_end' /usr/src/linux/vmlinux.o: In function `print_cpu': /usr/src/linux/kernel/sched_debug.c:174: undefined reference to `jiffies' /usr/src/linux/kernel/sched_debug.c:174: undefined reference to `jiffies' /usr/src/linux/vmlinux.o: In function `printk_timed_ratelimit': /usr/src/linux/kernel/printk.c:1343: undefined reference to `jiffies' /usr/src/linux/kernel/printk.c:1344: undefined reference to `jiffies' /usr/src/linux/vmlinux.o: In function `zap_locks': /usr/src/linux/kernel/printk.c:550: undefined reference to `jiffies' /usr/src/linux/vmlinux.o:/usr/src/linux/kernel/printk.c:550: more undefined references to `jiffies' follow ... /usr/src/linux/vmlinux.o: In function `mem_init': /usr/src/linux/arch/x86/mm/init_32.c:603: undefined reference to `_text' /usr/src/linux/arch/x86/mm/init_32.c:605: undefined reference to `__init_end' /usr/src/linux/arch/x86/mm/init_32.c:605: undefined reference to `__init_begin' /usr/src/linux/arch/x86/mm/init_32.c:623: undefined reference to `_text' /usr/src/linux/arch/x86/mm/init_32.c:623: undefined reference to `__init_end' /usr/src/linux/arch/x86/mm/init_32.c:623: undefined reference to `__init_begin' /usr/src/linux/vmlinux.o: In function `is_kernel_text': /usr/src/linux/arch/x86/mm/init_32.c:147: undefined reference to `__init_end' /usr/src/linux/arch/x86/mm/init_32.c:147: undefined reference to `__init_end' /usr/src/linux/vmlinux.o: In function `kernel_physical_mapping_init': /usr/src/linux/arch/x86/mm/init_32.c:207: undefined reference to `__init_end' /usr/src/linux/vmlinux.o: In function `page_writeback_init': /usr/src/linux/mm/page-writeback.c:773: undefined reference to `jiffies' ...
|  |