Hi

I was stepping over instructions (in fmd_scheme_lookup of fmdump) and was a bit
surprised that this did not step over the call to dlopen.  It also did
not single step into the dlopen, but stopped well down the stack
at rtld_db_dlactivity+4.  This is a stock snv_22 install.

# mdb /usr/sbin/fmdump
 > fmd_scheme_lookup::dis
...
fmd_scheme_lookup+0x114:        ld        [%fp - 8], %i0
fmd_scheme_lookup+0x118:        ret
fmd_scheme_lookup+0x11c:        restore
fmd_scheme_lookup+0x120:        call      +0x12e70      <PLT:dlopen>
fmd_scheme_lookup+0x124:        mov       2, %o1
fmd_scheme_lookup+0x128:        st        %o0, [%fp - 0x410]
...

 > fmd_scheme_lookup:b
 > ::run -v

mdb: stop at fmd_scheme_lookup
mdb: target stopped at:
fmd_scheme_lookup:      save      %sp, -0x470, %sp
 > :e
mdb: target stopped at:
fmd_scheme_lookup+4:    sethi     %hi(0x26400), %i5

(several more :e)

mdb: target stopped at:
fmd_scheme_lookup+0xec: tst       %o0
 > :e
mdb: target stopped at:
fmd_scheme_lookup+0xf0: be        +0x30         <fmd_scheme_lookup+0x120>
 > :e
mdb: target stopped at:
fmd_scheme_lookup+0xf4: add       %fp, -0x408, %o0
 > :e
mdb: target stopped at:
fmd_scheme_lookup+0x120:call      +0x12e70      <PLT:dlopen>
 > :e
mdb: target stopped at:
fmd_scheme_lookup+0x124:mov       2, %o1
 > :e
mdb: target stopped at:
ld.so.1`rtld_db_dlactivity+4:   call      +8            
<ld.so.1`rtld_db_dlactivity+0xc>

 > $c
ld.so.1`rtld_db_dlactivity+4(ff3ee000, 3, 1, 200000, 2f474, 0)
ld.so.1`relocate_lmc+0xb0(1c, 1c, 2821, ff3ee0f8, 2, 10000)
ld.so.1`dlmopen_core+0x388(ff3516b8, 10000, 1c, ff3f0f58, 0, ff3517c4)
ld.so.1`dlmopen_intn+0x20(ff3ee0f8, ffbff310, c02, ff3f0f58, 8000, 0)
ld.so.1`dlmopen_check+0x14c(ff3ee0f8, ffbff310, c02, ff3f0f58, ffbff2a4, c00)
ld.so.1`dlopen+0x64(ffbff310, 2, 821, 29508, 26008, 1d)
fmd_scheme_lookup+0x120(147b4, 2b1b8, 0, ffbff798, 0, 26400)
fmdump_nvl2str+0x54(2b148, 13, 0, ffbff804, 130, 14400)
flt_verb1+0xcc(268b0, ffbff878, 26548, 14400, 0, 0)
libfmd_log.so.1`fmd_log_xiter+0x1a0(268b0, 29bf8, 1, 0, 12f88, 11970)
main+0x7f4(0, 13d34, 268b0, 0, 1, ffbff910)
_start+0x108(0, 0, 0, 0, 0, 0)

Gavin

Reply via email to