Messages in this thread | | | Date | Wed, 28 Dec 2005 18:46:06 +0100 (CET) | From | Andreas Kleen <> | Subject | Re: [patch 02/2] allow gcc4 to optimize unit-at-a-time |
| |
Am Mi 28.12.2005 16:41 schrieb Ingo Molnar <mingo@elte.hu>:
> > * Andi Kleen <ak@suse.de> wrote: > > > But one caveat: turning on unit-at-a-time makes objdump -S / make > > foo/bar.lst with CONFIG_DEBUG_INFO essentially useless because > > objdump > > cannot deal with functions being out of order in the object file. > > This > > can be a big problem while analyzing oopses - essentially you have > > to > > analyze the functions without source level information. And with > > unit-at-a-time they become bigger so it's more difficult. > > > > But I still think it's a good idea. > > hm, i dont seem to have problems with DEBUG_INFO. I picked a random > address within the kernel: > > c035766f T schedule_timeout > > (gdb) list *0xc035768f > 0xc035768f is in schedule_timeout (kernel/timer.c:1075). > 1070 * should never happens anyway). You just have the printk() > 1071 * that will tell you if something is gone wrong and where. > 1072 */ > 1073 if (timeout < 0) > 1074 { > 1075 printk(KERN_ERR "schedule_timeout: wrong timeout " > 1076 "value %lx from %p ", timeout, > 1077 __builtin_return_address(0)); > 1078 current->state = TASK_RUNNING; > 1079 goto out; > (gdb) > > or is it something else that breaks?
It's objdump that breaks. Try objdump -S. gdb can deal with it, but you can't generate mixed C/assembly listings with it, so it's hard to match up the exact lines.
(apparently it's possible through the gdb/mi interface, but I haven't attempted that yet)
-Andi
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |