Skip to content

Instantly share code, notes, and snippets.

@AmaanC
Last active August 12, 2018 21:47
Show Gist options
  • Save AmaanC/c59caf5232b03054d457dcacb5ab1c54 to your computer and use it in GitHub Desktop.
Save AmaanC/c59caf5232b03054d457dcacb5ab1c54 to your computer and use it in GitHub Desktop.
Breakpoint 13, _Timecounter_Microtime (tvp=tvp@entry=0x72d518)
at ../../../../../../kernel/c/src/../../cpukit/score/src/kern_tc.c:545
545 {
1: x/10i $rip
=> 0x108e00 <_Timecounter_Microtime>: push %rbx
0x108e01 <_Timecounter_Microtime+1>: movabs $0x108d40,%rax
0x108e0b <_Timecounter_Microtime+11>: mov %rdi,%rbx
0x108e0e <_Timecounter_Microtime+14>: sub $0x10,%rsp
0x108e12 <_Timecounter_Microtime+18>: mov %rsp,%rdi
0x108e15 <_Timecounter_Microtime+21>: callq *%rax
0x108e17 <_Timecounter_Microtime+23>: mov (%rsp),%rax
0x108e1b <_Timecounter_Microtime+27>: mov %rax,(%rbx)
0x108e1e <_Timecounter_Microtime+30>: mov 0xc(%rsp),%eax
0x108e22 <_Timecounter_Microtime+34>:
imul $0xf4240,%rax,%rax
(gdb) p Clock_driver_ticks
$1 = 500
(gdb) n
548 bintime(&bt);
1: x/10i $rip
=> 0x108e01 <_Timecounter_Microtime+1>: movabs $0x108d40,%rax
0x108e0b <_Timecounter_Microtime+11>: mov %rdi,%rbx
0x108e0e <_Timecounter_Microtime+14>: sub $0x10,%rsp
0x108e12 <_Timecounter_Microtime+18>: mov %rsp,%rdi
0x108e15 <_Timecounter_Microtime+21>: callq *%rax
0x108e17 <_Timecounter_Microtime+23>: mov (%rsp),%rax
0x108e1b <_Timecounter_Microtime+27>: mov %rax,(%rbx)
0x108e1e <_Timecounter_Microtime+30>: mov 0xc(%rsp),%eax
0x108e22 <_Timecounter_Microtime+34>:
imul $0xf4240,%rax,%rax
0x108e29 <_Timecounter_Microtime+41>: shr $0x20,%rax
(gdb)
545 {
1: x/10i $rip
=> 0x108e0b <_Timecounter_Microtime+11>: mov %rdi,%rbx
0x108e0e <_Timecounter_Microtime+14>: sub $0x10,%rsp
0x108e12 <_Timecounter_Microtime+18>: mov %rsp,%rdi
0x108e15 <_Timecounter_Microtime+21>: callq *%rax
0x108e17 <_Timecounter_Microtime+23>: mov (%rsp),%rax
0x108e1b <_Timecounter_Microtime+27>: mov %rax,(%rbx)
0x108e1e <_Timecounter_Microtime+30>: mov 0xc(%rsp),%eax
0x108e22 <_Timecounter_Microtime+34>:
imul $0xf4240,%rax,%rax
0x108e29 <_Timecounter_Microtime+41>: shr $0x20,%rax
0x108e2d <_Timecounter_Microtime+45>: mov %rax,0x8(%rbx)
(gdb)
548 bintime(&bt);
1: x/10i $rip
=> 0x108e12 <_Timecounter_Microtime+18>: mov %rsp,%rdi
0x108e15 <_Timecounter_Microtime+21>: callq *%rax
0x108e17 <_Timecounter_Microtime+23>: mov (%rsp),%rax
0x108e1b <_Timecounter_Microtime+27>: mov %rax,(%rbx)
0x108e1e <_Timecounter_Microtime+30>: mov 0xc(%rsp),%eax
0x108e22 <_Timecounter_Microtime+34>:
imul $0xf4240,%rax,%rax
0x108e29 <_Timecounter_Microtime+41>: shr $0x20,%rax
0x108e2d <_Timecounter_Microtime+45>: mov %rax,0x8(%rbx)
0x108e31 <_Timecounter_Microtime+49>: add $0x10,%rsp
0x108e35 <_Timecounter_Microtime+53>: pop %rbx
(gdb)
549 bintime2timeval(&bt, tvp);
1: x/10i $rip
=> 0x108e17 <_Timecounter_Microtime+23>: mov (%rsp),%rax
0x108e1b <_Timecounter_Microtime+27>: mov %rax,(%rbx)
0x108e1e <_Timecounter_Microtime+30>: mov 0xc(%rsp),%eax
0x108e22 <_Timecounter_Microtime+34>:
imul $0xf4240,%rax,%rax
0x108e29 <_Timecounter_Microtime+41>: shr $0x20,%rax
0x108e2d <_Timecounter_Microtime+45>: mov %rax,0x8(%rbx)
0x108e31 <_Timecounter_Microtime+49>: add $0x10,%rsp
0x108e35 <_Timecounter_Microtime+53>: pop %rbx
0x108e36 <_Timecounter_Microtime+54>: retq
0x108e37: nopw 0x0(%rax,%rax,1)
(gdb)
550 }
1: x/10i $rip
=> 0x108e31 <_Timecounter_Microtime+49>: add $0x10,%rsp
0x108e35 <_Timecounter_Microtime+53>: pop %rbx
0x108e36 <_Timecounter_Microtime+54>: retq
0x108e37: nopw 0x0(%rax,%rax,1)
0x108e40 <_Timecounter_Getbinuptime>: movabs $0x31f470,%rcx
0x108e4a <_Timecounter_Getbinuptime+10>:
nopw 0x0(%rax,%rax,1)
0x108e50 <_Timecounter_Getbinuptime+16>: mov (%rcx),%rax
0x108e53 <_Timecounter_Getbinuptime+19>: mov 0x70(%rax),%edx
0x108e56 <_Timecounter_Getbinuptime+22>:
movdqu 0x20(%rax),%xmm0
0x108e5b <_Timecounter_Getbinuptime+27>: movups %xmm0,(%rdi)
(gdb) p bt
$2 = {sec = 599562004, frac = 18446744073709551536}
(gdb) p *tvp
$3 = {tv_sec = 599562004, tv_usec = 999999}
(gdb) c
Continuing.
Breakpoint 12, rtems_clock_get_tod (
time_buffer=time_buffer@entry=0x72d568)
at ../../../../../../kernel/c/src/../../cpukit/rtems/src/clockgettod.c:134
134 return RTEMS_SUCCESSFUL;
1: x/10i $rip
=> 0x1068a0 <rtems_clock_get_tod+464>: xor %eax,%eax
0x1068a2 <rtems_clock_get_tod+466>: pop %rbx
0x1068a3 <rtems_clock_get_tod+467>: pop %rbp
0x1068a4 <rtems_clock_get_tod+468>: pop %r12
0x1068a6 <rtems_clock_get_tod+470>: retq
0x1068a7 <rtems_clock_get_tod+471>: nopw 0x0(%rax,%rax,1)
0x1068b0 <rtems_clock_get_tod+480>: repz retq
0x1068b2 <rtems_clock_get_tod+482>: nopw 0x0(%rax,%rax,1)
0x1068b8 <rtems_clock_get_tod+488>: lea 0x7b2(%r8),%edi
0x1068bf <rtems_clock_get_tod+495>: mov %edi,%eax
(gdb) p time_buffer
$4 = (rtems_time_of_day *) 0x72d568
(gdb) p *time_buffer
$5 = {year = 1988, month = 12, day = 31, hour = 9, minute = 0,
second = 4, ticks = 99}
(gdb)
(gdb) p now
$7 = {tv_sec = 599562004, tv_usec = 999999}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment