Intermixing source code with disassembly

Joel Sherrill joel.sherrill at OARcorp.com
Mon Apr 7 14:43:16 UTC 2008


Teng Chee Wan Philip wrote:
> Thanks, Chris.  I tried the following.  The line number gets inserted
> (That is a positive step. :) ) but the disassembled code is still not
> intermixed with the application source.
>
> sparc-rtems4.8-objdump -D --line-numbers --source --demangle app.exe
>
> There is some differences between code disassembled for the RTEMS OS and
> the application.  I extracted part of it out for illustration.
>   
Did you compile your application code with the -g option?

> Disassembled code intermixed with RTEMS source
> =====================================
> 0200ddec <bsp_start>:
> bsp_start():
> C:/Msys/1.0/home/PhilipTeng/rtems-4.8/rtems-4.8.0/c/src/lib/libbsp/sparc
> /shared/bspstart.c:119
>  *
>  *  This routine does the bulk of the system initialization.
>  */
> void bsp_start( void )
> {
>  200ddec:       9d e3 bf 98     save  %sp, -104, %sp
> C:/Msys/1.0/home/PhilipTeng/rtems-4.8/rtems-4.8.0/c/src/lib/libbsp/sparc
> /shared/bspstart.c:137
>    *  This should be enough interrupt stack.
>    */
>
>   Cpu_table.interrupt_stack_size = CONFIGURE_INTERRUPT_STACK_MEMORY;
>
>   work_space_start =
>  200ddf0:       03 00 80 01     sethi  %hi(0x2000400), %g1
>  200ddf4:       23 00 8b 41     sethi  %hi(0x22d0400), %l1
>  200ddf8:       da 00 63 c0     ld  [ %g1 + 0x3c0 ], %o5
>  200ddfc:       82 14 63 dc     or  %l1, 0x3dc, %g1
>  200de00:       c8 00 60 04     ld  [ %g1 + 4 ], %g4
> C:/Msys/1.0/home/PhilipTeng/rtems-4.8/rtems-4.8.0/c/src/lib/libbsp/sparc
> /shared/bspstart.c:128
>    * Set up our hooks
>    * Make sure libc_init is done before drivers initialized so that
>    * they can use atexit()
>    */
>
>   Cpu_table.pretasking_hook = bsp_pretasking_hook;    /* init libc, etc.
> */
>  200de04:       03 00 80 37     sethi  %hi(0x200dc00), %g1
>  200de08:       82 10 62 64     or  %g1, 0x264, %g1     ! 200de64
> <bsp_pretasking_hook>
>  200de0c:       07 00 8b 41     sethi  %hi(0x22d0400), %g3
>
> Disassembled code intermixed with line number but not source
> ==============================================
> c:\msys\1.0\home\PhilipTeng\app/app.c:188
>  20013e4:       40 00 1b 78     call  20081c4 <canMastInit>
>  20013e8:       90 10 20 04     mov  4, %o0
>  20013ec:       80 a2 20 01     cmp  %o0, 1
>  20013f0:       22 80 00 8b     be,a   200161c <Init+0x43c>
>  20013f4:       11 00 80 8f     sethi  %hi(0x2023c00), %o0
> c:\msys\1.0\home\PhilipTeng\app/app.c:194
>  20013f8:       11 00 80 8f     sethi  %hi(0x2023c00), %o0
>  20013fc:       40 00 6f 15     call  201d050 <puts>
>  2001400:       90 12 23 d0     or  %o0, 0x3d0, %o0     ! 2023fd0
> <__DTOR_END__+0x300>
> c:\msys\1.0\home\PhilipTeng\app/app.c:198
>  2001404:       40 00 18 8f     call  2007640
> <ccsds_initialisePacketLayer>
>  2001408:       90 10 20 01     mov  1, %o0
>  200140c:       80 a2 20 01     cmp  %o0, 1
>  2001410:       22 80 00 8b     be,a   200163c <Init+0x45c>
>  2001414:       11 00 80 8f     sethi  %hi(0x2023c00), %o0
>
>
> -----Original Message-----
> From: Chris Johns [mailto:chrisj at rtems.org]
> Sent: Sunday, April 06, 2008 6:01 AM
> To: Teng Chee Wan Philip
> Cc: rtems-users at rtems.com
> Subject: Re: Intermixing source code with disassembly
>
> Teng Chee Wan Philip wrote:
>   
>> I was trying to disassemble my executable and intermix source code
>>     
> with
>   
>> the disassembly, but objdump did not managed to find the source code.
>>     
>
>   
>> Does anyone have any suggestions why this could be so?  Are there any
>> limitations on objdump or specific way that objdump uses to search for
>>     
>
>   
>> the source code?
>>
>> $ sparc-rtems4.8-objdump -d -S app.exe
>>
>>     
>
> You might want to check the Debugging Hints page in the Wiki:
>
> http://www.rtems.org/wiki/index.php/DebuggingHints#Symbolic_Debug_Inform
> ation
> http://www.rtems.org/wiki/index.php/DebuggingHints#GDB_Cannot_Find_My_So
> urce_Files
>
> Let us know if this does not help.
>
> Regards
> Chris
>
> _______________________________________________
> rtems-users mailing list
> rtems-users at rtems.com
> http://rtems.rtems.org/mailman/listinfo/rtems-users
>   


-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherrill at OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
   Support Available             (256) 722-9985





More information about the users mailing list