<html>
    <head>
      <base href="http://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - support TLSDESC and TLSCALL / GNU2 tls dialect."
   href="http://llvm.org/bugs/show_bug.cgi?id=16814">16814</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>support TLSDESC and TLSCALL / GNU2 tls dialect.
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>MC
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>nlewycky@google.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvmbugs@cs.uiuc.edu
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>MC doesn't support the TLS relocations in the GNU2 TLS dialect.

$ cat t.s
__cxa_get_globals:
        leaq    _ZL3ccc@TLSDESC(%rip), %rax
        call    *_ZL3ccc@TLSCALL(%rax)
        addq    %fs:0, %rax
        ret

$ gcc -c t.s -o t.o
$ objdump -dr t.o

t.o:     file format elf64-x86-64


Disassembly of section .text:

0000000000000000 <__cxa_get_globals>:
   0:   48 8d 05 00 00 00 00    lea    0x0(%rip),%rax        # 7
<__cxa_get_globals+0x7>
                        3: R_X86_64_GOTPC32_TLSDESC     _ZL3ccc-0x4
   7:   ff 10                   callq  *(%rax)
                        7: R_X86_64_TLSDESC_CALL        _ZL3ccc
   9:   64 48 03 04 25 00 00    add    %fs:0x0,%rax
  10:   00 00 
  12:   c3                      retq   
$ llvm/Debug+Asserts/bin/clang t.s -c -o t.o
t.s:2:32: error: invalid variant 'TLSDESC'
        leaq    _ZL3ccc@TLSDESC(%rip), %rax
                               ^
t.s:3:33: error: invalid variant 'TLSCALL'
        call    *_ZL3ccc@TLSCALL(%rax)
                                ^</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>