Here is the information from strcmp breakpoint
---CUT---
Breakpoint 1, 0xf7ebd300 in strcmp () from /lib/sparc-linux-gnu/libc.so.6
(gdb) disas strcmp
Dump of assembler code for function strcmp:
=> 0xf7ebd300 <+0>: sethi %hi(0x1010000), %g1
0xf7ebd304 <+4>: btst 7, %o0
0xf7ebd308 <+8>: bne,pn %icc, 0xf7ebd4a0 <strcmp+416>
0xf7ebd30c <+12>: or %g1, 0x101, %g1
0xf7ebd310 <+16>: andcc %o1, 7, %g3
0xf7ebd314 <+20>: bne,pn %icc, 0xf7ebd4e4 <strcmp+484>
0xf7ebd318 <+24>: sllx %g1, 0x20, %g2
0xf7ebd31c <+28>: ldx [ %o0 ], %o2
---CUT---
As far as I can tell from stepping through this it seems like a correctly implementation of strcmp.