[LLVMbugs] [Bug 21328] New: Un-necessary relocations generated for local label subtractions in apple_xxx debug sections

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Oct 21 13:56:07 PDT 2014


http://llvm.org/bugs/show_bug.cgi?id=21328

            Bug ID: 21328
           Summary: Un-necessary relocations generated for local label
                    subtractions in apple_xxx debug sections
           Product: new-bugs
           Version: trunk
          Hardware: Macintosh
                OS: MacOS X
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: iains-llvm at btconnect.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

Nothing special source-code-wise.

$ ./Release+Asserts/bin/clang --version
clang version 3.6.0 (trunk 220265)
Target: x86_64-apple-darwin12.5.0

x86_64-apple-darwin12

./Release+Asserts/bin/clang /test/relocs-1.c -save-temps -O1 -g -c -o rl1.o

Asm excerpt:
=====
         .section        __DWARF,__apple_types,regular,debug
Ltypes_begin:
        .long   1212240712              ## Header Magic
        .short  1                       ## Header Version
        .short  0                       ## Header Hash Function
        .long   3                       ## Header Bucket Count
        .long   3                       ## Header Hash Count
        .long   20                      ## Header Data Length
        .long   0                       ## HeaderData Die Offset Base
        .long   3                       ## HeaderData Atom Count
        .short  1                       ## DW_ATOM_die_offset
        .short  6                       ## DW_FORM_data4
        .short  3                       ## DW_ATOM_die_tag
        .short  5                       ## DW_FORM_data2
        .short  4                       ## DW_ATOM_type_flags
        .short  11                      ## DW_FORM_data1
        .long   -1                      ## Bucket 0
        .long   -1                      ## Bucket 1
        .long   0                       ## Bucket 2
        .long   193495088               ## Hash in Bucket 2
        .long   2090805233              ## Hash in Bucket 2
        .long   2090147939              ## Hash in Bucket 2
        .long   Ltypes0-Ltypes_begin    ## Offset in Bucket 2
        .long   Ltypes1-Ltypes_begin    ## Offset in Bucket 2
        .long   Ltypes2-Ltypes_begin    ## Offset in Bucket 2
Ltypes0:
Lset29 = Linfo_string4-Linfo_string     ## int
        .long   Lset29
        .long   1                       ## Num DIEs
        .long   65
        .short  36
        .byte   0
        .long   0
Ltypes1:
Lset30 = Linfo_string7-Linfo_string     ## vPtr
        .long   Lset30
        .long   1                       ## Num DIEs
        .long   116
        .short  22
        .byte   0
        .long   0
Ltypes2:
Lset31 = Linfo_string16-Linfo_string    ## char
        .long   Lset31
        .long   1                       ## Num DIEs
        .long   305
        .short  36
        .byte   0
        .long   0

===

despite the fact that the labels are in the same section and there are no
externally-visible ones to cause the section to be split into atoms.

we're generating:
otool -rv rl1.o:

Relocation information (__DWARF,__apple_types) 6 entries
address  pcrel length extern type    scattered symbolnum/value
00000048 False long   False  SUB     False     15 (__DWARF,__apple_types)
00000048 False long   False  UNSIGND False     15 (__DWARF,__apple_types)
00000044 False long   False  SUB     False     15 (__DWARF,__apple_types)
00000044 False long   False  UNSIGND False     15 (__DWARF,__apple_types)
00000040 False long   False  SUB     False     15 (__DWARF,__apple_types)
00000040 False long   False  UNSIGND False     15 (__DWARF,__apple_types)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20141021/39f998f2/attachment.html>


More information about the llvm-bugs mailing list