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
^
: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
^
:132:2: note: scanning from here
dir_index: 0
^
:139:21: note: possible intended match here
0x0000000000000008 13 0 1 0 0 is_stmt prologue_end
^
Input file:
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.
Extended Description
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 ^