as a followup to my earlier post, here's something i want to clarify. there's a difference in how much symbol-based debugging you can do based on whether you configured your running kernel with CONFIG_DEBUG_INFO or not, so i wanted to test what the differences were between two kernels, one configured with, one without. after i built both kernels, you can see the predictable difference in size (ignore vmlinux.o, of course): $ ls -l vmlinux* -rwxrwxr-x. 1 rpjday rpjday 15649485 2009-07-30 16:51 vmlinux -rwxrwxr-x. 1 rpjday rpjday 116565773 2009-07-30 16:34 vmlinux.debug.info -rw-rw-r--. 1 rpjday rpjday 15891639 2009-07-30 16:51 vmlinux.o $ my basic question with the above is whether, apart from the additional debug info embedded in the kernel image, were the two kernels *exactly* the same -- that is, would they have the same sections, with the same sizes, at the same offsets, so i could bounce from one to the other with "gdb" to test the differences and not have to keep rebooting? as a quick test, i ran $ objdump --section-headers <kernel image name> on both, and the only difference was the additional debug sections at the end of the debug version: 2c2 < vmlinux: file format elf64-x86-64 --- > vmlinux.debug.info: file format elf64-x86-64 89a90,107 > 42 .debug_aranges 0001b040 0000000000000000 0000000000000000 00cace00 2**4 > CONTENTS, READONLY, DEBUGGING > 43 .debug_pubnames 00051010 0000000000000000 0000000000000000 00cc7e40 2**0 > CONTENTS, READONLY, DEBUGGING > 44 .debug_info 04c22970 0000000000000000 0000000000000000 00d18e50 2**0 > CONTENTS, READONLY, DEBUGGING > 45 .debug_abbrev 001e0d1e 0000000000000000 0000000000000000 0593b7c0 2**0 > CONTENTS, READONLY, DEBUGGING > 46 .debug_line 0044f12b 0000000000000000 0000000000000000 05b1c4de 2**0 > CONTENTS, READONLY, DEBUGGING > 47 .debug_frame 0013ed00 0000000000000000 0000000000000000 05f6b610 2**3 > CONTENTS, READONLY, DEBUGGING > 48 .debug_str 0018f17c 0000000000000000 0000000000000000 060aa310 2**0 > CONTENTS, READONLY, DEBUGGING > 49 .debug_loc 0090b310 0000000000000000 0000000000000000 0623948c 2**0 > CONTENTS, READONLY, DEBUGGING > 50 .debug_ranges 001a5f10 0000000000000000 0000000000000000 06b447a0 2**4 > CONTENTS, READONLY, DEBUGGING the fact that all of the prior sections were (apparently) identical suggests that i can, in fact, swap one kernel image with the other for "gdb" and everything should continue to work, with the exception of having symbols or not. is that a safe assumption? it *seems* to be, i'm just wondering if anyone knows for sure. rday p.s. the above suggests that, if those debug sections are the only difference, rather than build both versions of the kernel, i could build the DEBUG_INFO version, save that, then strip a copy of it of all of those debug sections to get the same effect, yes? -- ======================================================================== Robert P. J. Day Waterloo, Ontario, CANADA Linux Consulting, Training and Annoying Kernel Pedantry. Web page: http://crashcourse.ca Twitter: http://twitter.com/rpjday "Kernel Newbie Corner" column @ linux.com: http://cli.gs/WG6WYX ======================================================================== -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ