[okl4-developer] Would you teach the method of debug pistachio/iguana/wombat?
Carl van Schaik
carl at ok-labs.com
Mon May 28 13:59:17 EST 2007
Hi Tomohiro,
The debug sysmbols will be found in the actual application images, not
the final image. This is because the debugger won't understand a
bootimage with multiple applications etc anyway.
Look in the build/iguana/bin etc directories for the application
binaries. We would normally tell the debugger to load symbols from those
files.
regards,
Carl
Tomohiro Kitamura wrote:
> Hi Carl
>
>
> Many thanks.
> I have already tested the following settings.
>
>
> tools/machines.py
>
> test1 )
> class arm926ejs(armv5tej):
> c_flags = armv5tej.c_flags + ["-mtune=arm926ejs", "-g"]
>
> test2 )
> class arm926ejs(armv5tej):
> c_flags = armv5tej.c_flags + ["-mtune=arm926ejs"] + ["-g"]
>
> test3 )
> class vast926e_x1(arm926ejs):
> c_flags = arm926ejs.c_flags + ["-g"]
>
> * build command
> ./tools/build.py machine=vast926e_x1 project=iguana wombat=true
>
>
> But, I couldn't obtain the image with symbol.
> Does my configuration file have something wrong ?
>
>
> Tomohiro
>
>
> /////////// build result
> /////////////////////////////////////////////////////////////////
> kitamura at kitamura:~/ERTOS/okl4_release_1.4.1.1$file build/image.elf
> build/image.elf: ELF 32-bit LSB executable, ARM, version 1, statically
> linked, stripped
>
> kitamura at kitamura:~/ERTOS/okl4_release_1.4.1.1$ arm-linux-objdump -x
> build/image.elf
>
> build/image.elf: file format elf32-littlearm
> build/image.elf
> architecture: arm, flags 0x00000002:
> EXEC_P
> start address 0xf0000000
>
> Program Header:
> LOAD off 0x00008000 vaddr 0xf0000000 paddr 0x20000000 align 2**15
> filesz 0x0001a4c0 memsz 0x0001cb40 flags rwx
> LOAD off 0x00028000 vaddr 0xf0020000 paddr 0x20020000 align 2**15
> filesz 0x00006000 memsz 0x00006000 flags rw-
> LOAD off 0x00030000 vaddr 0x00100000 paddr 0x20026000 align 2**15
> filesz 0x0000ddaf memsz 0x0000ddaf flags r-x
> LOAD off 0x0003ddb0 vaddr 0x00115db0 paddr 0x20035db0 align 2**15
> filesz 0x00000214 memsz 0x00012250 flags rw-
> LOAD off 0x0003dfc4 vaddr 0x00500000 paddr 0x20500000 align 2**0
> filesz 0x007d0000 memsz 0x007d0000 flags rw-
> LOAD off 0x0080dfc4 vaddr 0x01300000 paddr 0x20062000 align 2**0
> filesz 0x00002000 memsz 0x00002000 flags rw-
> LOAD off 0x00810000 vaddr 0x00200000 paddr 0x20048000 align 2**15
> filesz 0x000075f6 memsz 0x000075f6 flags r-x
> LOAD off 0x008175f8 vaddr 0x0020f5f8 paddr 0x2001d5f8 align 2**15
> filesz 0x000000e8 memsz 0x000001cc flags rw-
> LOAD off 0x00818000 vaddr 0x00300000 paddr 0x20050000 align 2**15
> filesz 0x0000829a memsz 0x0000829a flags r-x
> LOAD off 0x0082029c vaddr 0x0031029c paddr 0x2001e29c align 2**15
> filesz 0x00000110 memsz 0x00000218 flags rw-
> LOAD off 0x00828000 vaddr 0x00400000 paddr 0x20059000 align 2**15
> filesz 0x00008125 memsz 0x00008125 flags r-x
> LOAD off 0x00830128 vaddr 0x00410128 paddr 0x20034128 align 2**15
> filesz 0x00000114 memsz 0x00000214 flags rw-
> LOAD off 0x00838000 vaddr 0x01100000 paddr 0x20d00000 align 2**15
> filesz 0x00179048 memsz 0x0019965c flags rwx
> private flags = 202: [APCS-32] [FPA float format] [software FP] [has
> entry po int]
>
> Sections:
> Idx Name Size VMA LMA File off Algn
> 0 kernel.text 0000ddf8 f0000000 20000000 00008000 2**12
> CONTENTS, ALLOC, LOAD, READONLY, CODE
> 1 kernel.glue_7 00000000 f000ddf8 2000ddf8 00015df8 2**2
> CONTENTS, ALLOC, LOAD, READONLY, CODE
> 2 kernel.glue_7t 00000000 f000ddf8 2000ddf8 00015df8 2**2
> CONTENTS, ALLOC, LOAD, READONLY, CODE
> 3 kernel.rodata 000038c7 f000ddf8 2000ddf8 00015df8 2**2
> CONTENTS, ALLOC, LOAD, READONLY, DATA
> 4 kernel.kdebug 00004c41 f00116bf 200116bf 000196bf 2**2
> CONTENTS, ALLOC, LOAD, READONLY, CODE
> 5 kernel.init 000020a0 f0016300 20016300 0001e300 2**2
> CONTENTS, ALLOC, LOAD, READONLY, CODE
> 6 kernel.data 00001d50 f0018400 20018400 00020400 2**10
> CONTENTS, ALLOC, LOAD, DATA
> 7 kernel.kdebug-data 00000370 f001a150 2001a150 00022150 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 8 kernel.sets 00000000 f001a4c0 f001a4c0 000224c0 2**0
> CONTENTS
> 9 kernel.bss 00002680 f001a4c0 2001a4c0 000224c0 2**5
> ALLOC
> 10 kernel.kspace 00004000 f0020000 20020000 00028000 2**14
> CONTENTS, ALLOC, LOAD, DATA
> 11 kernel.kip 00000a64 f0024000 20024000 0002c000 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 12 kernel.traps 00001000 f0025000 20025000 0002d000 2**12
> CONTENTS, ALLOC, LOAD, DATA
> 13 iguana_server.text 0000c7a0 00100000 20026000 00030000 2**2
> CONTENTS, ALLOC, LOAD, READONLY, CODE
> 14 iguana_server.rodata 0000160f 0010c7a0 200327a0 0003c7a0 2**2
> CONTENTS, ALLOC, LOAD, READONLY, DATA
> 15 iguana_server.data 00000204 00115db0 20035db0 0003ddb0 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 16 iguana_server.got 00000010 00115fb4 20035fb4 0003dfb4 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 17 iguana_server.bss 00012000 00116000 20036000 0003e000 2**12
> ALLOC
> 18 ext2ramdisk 007d0000 00500000 20500000 0003dfc4 2**0
> CONTENTS, ALLOC, LOAD, DATA
> 19 bootinfo 00002000 01300000 20062000 0080dfc4 2**0
> CONTENTS, ALLOC, LOAD, DATA
> 20 ig_naming.text 00006cdc 00200000 20048000 00810000 2**2
> CONTENTS, ALLOC, LOAD, READONLY, CODE
> 21 ig_naming.rodata 0000091a 00206cdc 2004ecdc 00816cdc 2**2
> CONTENTS, ALLOC, LOAD, READONLY, DATA
> 22 ig_naming.data 000000d8 0020f5f8 2001d5f8 008175f8 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 23 ig_naming.got 00000010 0020f6d0 2001d6d0 008176d0 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 24 ig_naming.bss 000000e4 0020f6e0 2001d6e0 008176e0 2**2
> ALLOC
> 25 ig_timer.text 00007558 00300000 20050000 00818000 2**2
> CONTENTS, ALLOC, LOAD, READONLY, CODE
> 26 ig_timer.rodata 00000d42 00307558 20057558 0081f558 2**2
> CONTENTS, ALLOC, LOAD, READONLY, DATA
> 27 ig_timer.data 00000100 0031029c 2001e29c 0082029c 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 28 ig_timer.got 00000010 0031039c 2001e39c 0082039c 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 29 ig_timer.bss 00000108 003103ac 2001e3ac 008203ac 2**2
> ALLOC
> 30 ig_serial.text 00007664 00400000 20059000 00828000 2**2
> CONTENTS, ALLOC, LOAD, READONLY, CODE
> 31 ig_serial.rodata 00000ac1 00407664 20060664 0082f664 2**2
> CONTENTS, ALLOC, LOAD, READONLY, DATA
> 32 ig_serial.data 00000104 00410128 20034128 00830128 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 33 ig_serial.got 00000010 0041022c 2003422c 0083022c 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 34 ig_serial.bss 00000100 0041023c 2003423c 0083023c 2**2
> ALLOC
> 35 vmlinux.text 00130000 01100000 20d00000 00838000 2**5
> CONTENTS, ALLOC, LOAD, READONLY, CODE
> 36 vmlinux.glue_7 00000000 01230000 20e30000 00968000 2**2
> CONTENTS, ALLOC, LOAD, READONLY, CODE
> 37 vmlinux.glue_7t 00000000 01230000 20e30000 00968000 2**2
> CONTENTS, ALLOC, LOAD, READONLY, CODE
> 38 vmlinux.exit.text 0000043c 01230000 20e30000 00968000 2**2
> CONTENTS, ALLOC, LOAD, READONLY, CODE
> 39 vmlinux.rodata 0000f16d 01230440 20e30440 00968440 2**2
> CONTENTS, ALLOC, LOAD, READONLY, DATA
> 40 vmlinux.pci_fixup 00000000 0123f5ad 0123f5ad 009775ad 2**0
> CONTENTS
> 41 vmlinux.__ksymtab 00002bb8 0123f5b0 20e3f5b0 009775b0 2**2
> CONTENTS, ALLOC, LOAD, READONLY, DATA
> 42 vmlinux.__ksymtab_gpl 00000418 01242168 20e42168 0097a168 2**2
> CONTENTS, ALLOC, LOAD, READONLY, DATA
> 43 vmlinux.__kcrctab 00000000 01242580 01242580 0097a580 2**0
> CONTENTS
> 44 vmlinux.__kcrctab_gpl 00000000 01242580 01242580 0097a580 2**0
> CONTENTS
> 45 vmlinux.__ksymtab_strings 00006884 01242580 20e42580 0097a580 2**2
> CONTENTS, ALLOC, LOAD, READONLY, DATA
> 46 vmlinux.__param 0000003c 01248e04 20e48e04 00980e04 2**2
> CONTENTS, ALLOC, LOAD, READONLY, DATA
> 47 vmlinux.data 00021000 01249000 20e49000 00981000 2**4
> CONTENTS, ALLOC, LOAD, DATA
> 48 vmlinux.got 00000004 0126a000 20e6a000 009a2000 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 49 vmlinux.got.plt 0000000c 0126a004 20e6a004 009a2004 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 50 vmlinux.data.cacheline_aligned 000008c0 0126a020 20e6a020 009a2020 2* *5
> CONTENTS, ALLOC, LOAD, DATA
> 51 vmlinux.init.text 0000bd14 0126b000 20e6b000 009a3000 2**2
> CONTENTS, ALLOC, LOAD, READONLY, CODE
> 52 vmlinux.init.data 000006c4 01276d14 20e76d14 009aed14 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 53 vmlinux.init.setup 00000150 012773e0 20e773e0 009af3e0 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 54 vmlinux.initcall.init 000000d8 01277530 20e77530 009af530 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 55 vmlinux.con_initcall.init 00000004 01277608 20e77608 009af608 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 56 vmlinux.security_initcall.init 00000000 0127760c 0127760c 009af60c 2* *0
> CONTENTS
> 57 vmlinux.init.ramfs 00000085 01278000 20e78000 009b0000 2**0
> CONTENTS, ALLOC, LOAD, READONLY, DATA
> 58 vmlinux.exitcall 00000048 01279000 20e79000 009b1000 2**2
> CONTENTS, ALLOC, LOAD, DATA
> 59 vmlinux.bss 000205fc 01279060 20e79060 009b1060 2**5
> ALLOC
> SYMBOL TABLE:
> no symbols
>
>
>
>
> Carl van Schaik wrote:
>
>> Tomohiro Kitamura wrote:
>>
>>> Hello okl4.org
>>>
>>> I would like to build the image with debug symbol in
>>> okl4_release_1.4.1.1.
>>> Although I research how I build the image for debug, I can't find it.
>>> Could you teach the method to build the image with symbol information?
>>>
>> You can add a "-g" flag to your platform's "c_flags" environment in
>> tools/machine.py
>>
>>> If it is impossible to do it, would you have a other method for debug
>>> about pistachio, iguana and wombat ?
>>> I want to know about wombat debug in particular.
>>> Wombat hang up in our hardware in the middle of boot process.
>>> I want to investigate about cause of hangup.
>>> When I added printk() to linux souorce for debug, many errors occur.
>>> Therefore I can't debug the wombat.
>>>
>>> I already know about kdb.
>>> but I don't know about detail of how to use it.
>>> Is there more detail documentation about kdb other than OKL4
>>> Microkernel Programing Manual?
>>>
>>>
>>> Tomohiro
>>>
>>> _______________________________________________
>>> Developer mailing list
>>> Developer at okl4.org
>>> https://lists.okl4.org/mailman/listinfo/developer
>>>
>>>
>>
>
>
>
More information about the Developer
mailing list