<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/132766>132766</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[lld] [hexagon] Assertion `auxIdx == 0'
</td>
</tr>
<tr>
<th>Labels</th>
<td>
lld:ELF
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
androm3da
</td>
</tr>
</table>
<pre>
While building `libclang_rt.asan-hexagon.so`, lld asserts in ` lld::elf::hexagonTLSSymbolUpdate()`.
Reduced to the case below:
```
cat <<EOF > one.yaml
--- !ELF
FileHeader:
Class: ELFCLASS32
Data: ELFDATA2LSB
Type: ET_REL
Machine: EM_HEXAGON
SectionHeaderStringTable: .strtab
Sections:
- Name: .text
Type: SHT_PROGBITS
- Name: .text._ZN11__sanitizer24InternalMmapVectorNoCtorIjLb0EE7ReallocEj
Type: SHT_PROGBITS
- Name: .text._ZTW21__sancov_lowest_stack
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR, SHF_GROUP ]
- Name: .rela.text
Type: SHT_RELA
Info: .text
- Name: .rela.text._ZN11__sanitizer24InternalMmapVectorNoCtorIjLb0EE7ReallocEj
Type: SHT_RELA
Info: .text._ZN11__sanitizer24InternalMmapVectorNoCtorIjLb0EE7ReallocEj
- Name: .rela.text._ZTW21__sancov_lowest_stack
Info: .text._ZTW21__sancov_lowest_stack
Relocations:
- Offset: 0xC
Symbol: __sancov_lowest_stack
Type: R_HEX_GD_PLT_B22_PCREL
Type: SHT_RELA
- Type: SectionHeaderTable
Sections:
- Name: .strtab
- Name: .text
- Name: .rela.text
- Name: .text._ZN11__sanitizer24InternalMmapVectorNoCtorIjLb0EE7ReallocEj
- Name: .rela.text._ZN11__sanitizer24InternalMmapVectorNoCtorIjLb0EE7ReallocEj
- Name: .text._ZTW21__sancov_lowest_stack
- Name: .rela.text._ZTW21__sancov_lowest_stack
- Name: .symtab
Symbols:
- Name: __sancov_lowest_stack
Type: STT_TLS
Binding: STB_WEAK
EOF
cat <<EOF > two.yaml
--- !ELF
FileHeader:
Class: ELFCLASS32
Data: ELFDATA2LSB
Type: ET_REL
Machine: EM_HEXAGON
Sections:
- Name: .text
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
- Name: .rela.text
Type: SHT_RELA
Info: .text
Relocations:
- Symbol: _GLOBAL_OFFSET_TABLE_
Type: R_HEX_B32_PCREL_X
Symbol: __tls_get_addr
Symbols:
- Name: __tls_get_addr
Binding: STB_GLOBAL
EOF
yaml2obj one.yaml > one.o
yaml2obj two.yaml > two.o
./bin/ld.lld -shared -o ./out.so one.o two.o
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy0Vl1v4jgU_TXmxUpkHAjlIQ8GkhZtplQks632xXISA-6auIpNP_bXr5ykNDAwQ0cdq1KJfc_xtX3uB9NarEvOAzCcgOGsx3Zmo6qAlUWltl7Bepkq3oL7jZAcZjshC1GuIfCRFFkuWbmmlXGZZqWz4a9srUpXK-AjgKdQygIyrXllNBSlxdgp4BHgES5XzY8WlcZJ8rbNlPz-VDDDAb4CeAx85AJEACJLXuxyXkCjoNlwmDPNYcalerEktYXds_lDJGcGAm8KvGm4iCDwQqhK7r6xrQSIOI4DAe6HcQQQiYTkN5wVvGqIIJxKpjXwCAzjaBqTJPFwPT9jhtnpzgjjaEZSguNkUpukb0_82CSlyzC2q99YvhHlwXr4jd6ED-R6cVvDE54bocrGncRUolynLJM1xNWmMiwDiLRWuvXXgbdse7yra_irqTlPOpXcpPRuubiezNOktvogqZEu_ee236dUs1IY8R-v8GBeGl6VTH7bsqe_eW5UdaumRlXzxzhDYThacialysNHy_d7W6b3uNkzV89UqheuDdWG5f9efpBIsrU-tAHDCUxuIkrieDG1orQf4UM4nd8m6fJ94nq5-H4HwXB27FvFJbvgNpdhTFqLeblSZ5_jFPMfuu0TLn3JdufO8KvnO3biV_ZLLlXOulKvhwMXq5XmxlKh1-l-HsImfRzcxM_4u6-5tHFIr2f0Lk7pBGN6N22j9oInd_YWBwHchG5DcRSz7UFOBe4-zH9m1NHjOZNj3X55jP8JJZ8_7QV6-W1hHgD127ZNs7Wa9i920rVLslWSpjSNk3Z2IkpbPrs8STqh9yH5CyASLqKmlv1Yv8yL-mz9-hhnKtmnyle3fh3UrWNtX1yQfigJ8PP5-2tTdhd1Nv2cSjPX8WJCYrqIoiRMaUomcUjPpOYm1Uy8NsfQh5MZjFIjNV1zQ1lRVBfL8Qh0pDirtMbTrtasqrDKHvct0r5fUt3VdwHu1agauAtwlIkS4EgWrm34HL1hFS-go6BdUzvjatXwdXH7dq1XBF4x9sasx4P-aICvPDwcDXqbYDREo3w8uhqP-1nmD3ixWmW-52crxopxPmQ9EWCEh8jDg76PrtDA9f3-lZfjUdFHq2E2YGCA-JYJ6Ur5vHVVte4JrXc86Ht45Ps9yTIudd32Ytw0pjaoMLZdcBVYkJPt1hoMkBTa6A8aI4ys-2WLGs6sSNs21n6RuuUVqu542e51XrxC4M2AN4MI4FFvV8lgY8xT_Zo4AjhaC7PZZW6utvYe5fP7P-epUo88NwBHteca4Kh1_jnA_wcAAP__3rRlfg">