This is the mail archive of the glibc-bugs@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libc/1016] New: Label l2 in ia64 strlen.S is not hidden


In sysdeps/ia64/strlen.S, there is a label l2. Since it does not have a '.' in
front of it, the symbol is made visible. This does not affect functionality, but
it does have a strange side effect. While disassembling strlen(), the
disassembly will stop when it encounters the label. Disassembling the code
address that follows shows the remaining strlen() code as part of the label.
Here's the output:
(gdb) disass strlen
Dump of assembler code for function strlen:
0x20000000024e2440 <strlen+0>:  [MII]       alloc r2=ar.pfs,1,1,0
0x20000000024e2441 <strlen+1>:              mov.i r18=ar.lc
0x20000000024e2442 <strlen+2>:              mov r19=r32
0x20000000024e2450 <strlen+16>: [MII]       mov r8=r0
0x20000000024e2451 <strlen+17>:             and r24=7,r32;;
0x20000000024e2452 <strlen+18>:             sub r30=8,r24
0x20000000024e2460 <strlen+32>: [MFB]       cmp.eq p6,p0=r24,r0
0x20000000024e2461 <strlen+33>:             nop.f 0x0
0x20000000024e2462 <strlen+34>:       (p06) br.cond.sptk.few 0x20000000024e24b0
<strlen+112>;;
0x20000000024e2470 <strlen+48>: [MMI]       adds r30=-1,r30;;
0x20000000024e2471 <strlen+49>:             nop.m 0x0
0x20000000024e2472 <strlen+50>:             mov.i ar.lc=r30
0x20000000024e2480 <strlen+64>: [MMI]       ld1 r22=[r19],1;;
0x20000000024e2481 <strlen+65>:             cmp.eq p6,p0=r22,r0
0x20000000024e2482 <strlen+66>:             nop.i 0x0
0x20000000024e2490 <strlen+80>: [MFB]       nop.m 0x0
0x20000000024e2491 <strlen+81>:             nop.f 0x0
0x20000000024e2492 <strlen+82>:       (p06) br.cond.spnt.few 0x20000000024e2530
<l2+96>
0x20000000024e24a0 <strlen+96>: [MFB]       adds r8=1,r8
0x20000000024e24a1 <strlen+97>:             nop.f 0x0
0x20000000024e24a2 <strlen+98>:             br.cloop.dptk.few 0x20000000024e2480
<strlen+64>
0x20000000024e24b0 <strlen+112>:        [MMB]       mov r23=r19
0x20000000024e24b1 <strlen+113>:                    ld8 r21=[r19],8
0x20000000024e24b2 <strlen+114>:                    nop.b 0x0;;
0x20000000024e24c0 <strlen+128>:        [BBB]       nop.b 0x0
0x20000000024e24c1 <strlen+129>:                    nop.b 0x0
0x20000000024e24c2 <strlen+130>:                    nop.b 0x0
End of assembler dump.
(gdb) disass 0x20000000024e24d0
Dump of assembler code for function l2:
0x20000000024e24d0 <l2+0>:      [MII]       ld8.s r22=[r19],8
0x20000000024e24d1 <l2+1>:                  czx1.r r20=r21;;
0x20000000024e24d2 <l2+2>:                  cmp.eq p0,p6=8,r20
0x20000000024e24e0 <l2+16>:     [BBB] (p06) br.cond.spnt.few 0x20000000024e2510
<l2+64>
0x20000000024e24e1 <l2+17>:                 nop.b 0x0
0x20000000024e24e2 <l2+18>:                 nop.b 0x0
0x20000000024e24f0 <l2+32>:     [MFB]       chk.s.m r22,0x20000000024e2540 <l2+112>
0x20000000024e24f1 <l2+33>:                 nop.f 0x0
0x20000000024e24f2 <l2+34>:                 nop.b 0x0
0x20000000024e2500 <l2+48>:     [MFB]       mov r21=r22
0x20000000024e2501 <l2+49>:                 nop.f 0x0
0x20000000024e2502 <l2+50>:                 br.cond.dptk.few 0x20000000024e24d0 <l2>
0x20000000024e2510 <l2+64>:     [MII]       sub r24=r19,r23
0x20000000024e2511 <l2+65>:                 add r8=r8,r20;;
0x20000000024e2512 <l2+66>:                 add r8=r8,r24;;
0x20000000024e2520 <l2+80>:     [MFB]       adds r8=-16,r8
0x20000000024e2521 <l2+81>:                 nop.f 0x0
0x20000000024e2522 <l2+82>:                 nop.b 0x0
0x20000000024e2530 <l2+96>:     [MIB]       nop.m 0x0
0x20000000024e2531 <l2+97>:                 mov.i ar.lc=r18
0x20000000024e2532 <l2+98>:                 br.ret.sptk.many b0
0x20000000024e2540 <l2+112>:    [MMI]       adds r19=-8,r19;;
0x20000000024e2541 <l2+113>:                ld8 r22=[r19],8
0x20000000024e2542 <l2+114>:                nop.i 0x0
0x20000000024e2550 <l2+128>:    [MFB]       nop.m 0x0
0x20000000024e2551 <l2+129>:                nop.f 0x0
0x20000000024e2552 <l2+130>:                br.few 0x20000000024e2500 <l2+48>;;
End of assembler dump.
(gdb)

Disassembling l2 generates the same code, but with a different address range:
(gdb) disass l2
Dump of assembler code for function l2:
0x2000000000020dd0 <l2+0>:      [MII]       ld8.s r22=[r19],8
0x2000000000020dd1 <l2+1>:                  czx1.r r20=r21;;
0x2000000000020dd2 <l2+2>:                  cmp.eq p0,p6=8,r20
0x2000000000020de0 <l2+16>:     [BBB] (p06) br.cond.spnt.few 0x2000000000020e10
<l2+64>
0x2000000000020de1 <l2+17>:                 nop.b 0x0
0x2000000000020de2 <l2+18>:                 nop.b 0x0
0x2000000000020df0 <l2+32>:     [MFB]       chk.s.m r22,0x2000000000020e40 <l2+112>
0x2000000000020df1 <l2+33>:                 nop.f 0x0
0x2000000000020df2 <l2+34>:                 nop.b 0x0
0x2000000000020e00 <l2+48>:     [MFB]       mov r21=r22
0x2000000000020e01 <l2+49>:                 nop.f 0x0
0x2000000000020e02 <l2+50>:                 br.cond.dptk.few 0x2000000000020dd0 <l2>
0x2000000000020e10 <l2+64>:     [MII]       sub r24=r19,r23
0x2000000000020e11 <l2+65>:                 add r8=r8,r20;;
0x2000000000020e12 <l2+66>:                 add r8=r8,r24;;
0x2000000000020e20 <l2+80>:     [MFB]       adds r8=-16,r8
0x2000000000020e21 <l2+81>:                 nop.f 0x0
0x2000000000020e22 <l2+82>:                 nop.b 0x0
0x2000000000020e30 <l2+96>:     [MIB]       nop.m 0x0
0x2000000000020e31 <l2+97>:                 mov.i ar.lc=r18
0x2000000000020e32 <l2+98>:                 br.ret.sptk.many b0
0x2000000000020e40 <l2+112>:    [MMI]       adds r19=-8,r19;;
0x2000000000020e41 <l2+113>:                ld8 r22=[r19],8
0x2000000000020e42 <l2+114>:                nop.i 0x0
0x2000000000020e50 <l2+128>:    [MFB]       nop.m 0x0
0x2000000000020e51 <l2+129>:                nop.f 0x0
0x2000000000020e52 <l2+130>:                br.few 0x2000000000020e00 <l2+48>;;
End of assembler dump.

-- 
           Summary: Label l2 in ia64 strlen.S is not hidden
           Product: glibc
           Version: 2.3.2
            Status: NEW
          Severity: minor
          Priority: P2
         Component: libc
        AssignedTo: gotom at debian dot or dot jp
        ReportedBy: cfb at hp dot com
                CC: glibc-bugs at sources dot redhat dot com
 GCC build triplet: ia64-gnu-linux
  GCC host triplet: ia64-gnu-linux
GCC target triplet: ia64-gnu-linux


http://sources.redhat.com/bugzilla/show_bug.cgi?id=1016

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]