[llvm-bugs] [Bug 47131] New: Linker/subprogram-linkonce-weak.ll FAILs

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Aug 12 04:14:06 PDT 2020


https://bugs.llvm.org/show_bug.cgi?id=47131

            Bug ID: 47131
           Summary: Linker/subprogram-linkonce-weak.ll FAILs
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Solaris
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Linker
          Assignee: unassignedbugs at nondot.org
          Reporter: ro at gcc.gnu.org
                CC: llvm-bugs at lists.llvm.org

The Linker/subprogram-linkonce-weak.ll test FAILs on Sparc, both
sparcv9-sun-solaris2.11
and sparc64-unknown-linux-gnu.  So this seems like a generic Sparc issue rather
than being related to Solaris.

Command Output (stderr):
--
warning: failed to compute relocation: R_SPARC_DISP32, Invalid data was
encountered while parsing the file
warning: failed to compute relocation: R_SPARC_DISP32, Invalid data was
encountered while parsing the file
/vol/llvm/src/llvm-project/local/llvm/test/Linker/subprogram-linkonce-weak.ll:97:13:
error: DWLW-NOT: excluded string found in input
; DWLW-NOT: DW_AT_low_pc
            ^
<stdin>:39:2: note: found here
 DW_AT_low_pc (0x0000000000000000)
 ^~~~~~~~~~~~
/vol/llvm/src/llvm-project/local/llvm/test/Linker/subprogram-linkonce-weak.ll:151:9:
error: DWLW: expected string not found in input
; DWLW: 2 0 1 0 0 is_stmt prologue_end
        ^
<stdin>:132:2: note: scanning from here
 dir_index: 0
 ^
<stdin>:139:21: note: possible intended match here
0x0000000000000008 13 0 1 0 0 is_stmt prologue_end
                    ^

Input file: <stdin>
Check file:
/vol/llvm/src/llvm-project/local/llvm/test/Linker/subprogram-linkonce-weak.ll

-dump-input=help explains the following input dump.

Input was:
<<<<<<
             .
             .
             .
            34:  DW_AT_GNU_pubnames (true)
            35:  DW_AT_low_pc (0x0000000000000000)
            36:  DW_AT_high_pc (0x0000000000000010)
            37:
            38: 0x0000002a: DW_TAG_subprogram
            39:  DW_AT_low_pc (0x0000000000000000)
not:97           !~~~~~~~~~~~                      error: no match expected
            40:  DW_AT_high_pc (0x0000000000000010)
            41:  DW_AT_frame_base (DW_OP_reg30 I6)
            42:  DW_AT_name ("bar")
            43:  DW_AT_decl_file ("/path/to/dir/bar.c")
            44:  DW_AT_decl_line (11)
             .
             .
             .
           127: standard_opcode_lengths[DW_LNS_set_prologue_end] = 0
           128: standard_opcode_lengths[DW_LNS_set_epilogue_begin] = 0
           129: standard_opcode_lengths[DW_LNS_set_isa] = 1
           130: file_names[ 1]:
           131:  name: "bar.c"
           132:  dir_index: 0
check:151'0      X~~~~~~~~~~~ error: no match found
           133:  mod_time: 0x00000000
check:151'0     ~~~~~~~~~~~~~~~~~~~~~
           134:  length: 0x00000000
check:151'0     ~~~~~~~~~~~~~~~~~~~
           135:
check:151'0     ~
           136: Address Line Column File ISA Discriminator Flags
check:151'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           137: ------------------ ------ ------ ------ --- -------------
-------------
check:151'0    
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           138: 0x0000000000000000 0 0 1 0 0 is_stmt
check:151'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           139: 0x0000000000000008 13 0 1 0 0 is_stmt prologue_end
check:151'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:151'1                         ?                              possible
intended match
           140: 0x0000000000000038 13 0 1 0 0 is_stmt end_sequence
check:151'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           141:
check:151'0     ~
           142: debug_line[0x0000003c]
check:151'0     ~~~~~~~~~~~~~~~~~~~~~~
           143: Line table prologue:
check:151'0     ~~~~~~~~~~~~~~~~~~~~
           144:  total_length: 0x0000003a
check:151'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
             .
             .
        .
>>>>>>

* On amd64-pc-solaris2.11, the DW_TAG_compile_unit entry for bar.c is followed
  by

0x0000002a:   DW_TAG_subprogram
                DW_AT_name      ("foo")
                DW_AT_decl_file ("/path/to/dir/bar.c")
                DW_AT_decl_line (1)
                DW_AT_external  (true)
                DW_AT_inline    (DW_INL_inlined)

  and only then by the DW_TAG_subprogram entry for bar.

* On sparcv9-sun-solaris2.11 however, after the DW_TAG_compile_unit entry for
  bar.c follows imediately the DW_TAG_subprogram entry for bar.

This might be related to Bug 47129.

-- 
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/20200812/7ccc6b06/attachment-0001.html>


More information about the llvm-bugs mailing list