<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/141541>141541</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [arm64ec] llvm/test/CodeGen/AArch64/arm64ec-varargs.ll fails with -filetype=obj
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
            efriedma-quic
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          MaskRay
      </td>
    </tr>
</table>

<pre>
    The test would fail with `-filetype=obj`. llvm/lib/Target/AArch64/AArch64MCInstLower.cpp:80 `Printer.OutStreamer->emitAssignment` calls `setVariableValue`, which has an assertion that `SymbolContents` must be SymContentsUnset/SymContentsVariable.
However, when using MCObjectStreamer, the SymbolContents would be SymContentsOffset.
```
% myllc -mtriple=arm64ec-pc-windows-msvc -arm64ec-generate-thunks=false < CodeGen/AArch64/arm64ec-varargs.ll -filetype=obj
llc: /home/ray/llvm/llvm/lib/MC/MCSymbol.cpp:52: void llvm::MCSymbol::setVariableValue(const MCExpr *): Assertion `(SymbolContents == SymContentsUnset || SymbolContents == SymContentsVariable) && "Cannot give common/offset symbol a variable value"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /tmp/Debug/bin/llc -mtriple=arm64ec-pc-windows-msvc -arm64ec-generate-thunks=false -filetype=obj
1.      Running pass 'Function Pass Manager' on module '<stdin>'.
2.      Running pass 'AArch64 Assembly Printer' on function '@varargs_caller'
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  libLLVMSupport.so.21.0git 0x000077b2cc05303d llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 61
^Cfish: Job 1, '/tmp/Debug/bin/llc $argv' terminated by signal SIGABRT (Abort)
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJysVduO4jgQ_RrzUgIZhyTwwEM6DTOzatStpnek3ZeWkxSJp33J2g4M-_UrmzDTF420Wi1CKMR1cdU5dYo7J1qNuCbpDWEMD1Zgo_j0r0HUhDGS3k744Dtj1zvuXh75eVKZ5rx-6hA8Og8nM8gGDlxIOAnfAcno9CAk-nOPJLk11TeS0RlIeVSEbaWoCNs-cduiJ2xbFLbussXPp135RTt_Z05oZ3Xfk6RY0hDywQrt0c7uB7_3FrlCOyXJBpXwRSxAofYko1BzKV3wcOi_cit4JfErlwOSjBJWwqkTdQcdd8A1cOfQemE0-I774LU_q8rI0miP2rsQUA3OQ4WwP6vr69-1i7d_9eqaakZo8dmc8Ij2kg01DE7oFnblffUN6x_XD8e-i3FfZRzb-Tbf_eHg0IfQoYjLlxaEpaDOUtYwVd6KXoZ2c6uyBdbTvp6ehG7MyU2VO9YwvR60qNFyj1PfDfrFkeT2wKVDIEkJpWnwE-o3uFz9jtxy27qZlPAeXlpIWZOkAMK2nVFI2NbycwB7xPw19Lsy_lyqHiFOWfA-GtFcaJIUJCmuNpd_H9Bky9po52FXbr73FggrCFuFMMUPTCPiy3f9JcktSW4_oAkkL0levkfjo_X1FoStgLCMsAwIYyXX2nhoxRGhNkqZ0EQTYQMXQwKH4-gKx0sFjLA8Dg42AduHu02x34AbKiU8cKiGFiz2xnrwBjrvexd6wbaEbVvhu6Ga1Ua9bfO0tyaQjLCtcG5AR9gWuG5A6FoODUbG1Za7Dipev3jL60jZvef1CzSDCnAQWtAZxM-DNa3lCrhtBxUn4gKzVz1h21ushpawbSV0zP__MPEjvebjbR4HrcMo9dw5ICzfDrqOSD-EFzuueRvmKgejQZlmkBisSFI63whNkg1heaiW_SLeyPpIIVXJM4yqM4Y8XNOFoAs6TsRzUJxo86aPUQzN8AN-zRWGJEvUbrAIZzNAx48YGT-9GIm_0YLQ4czCQ_H0GYyFQKGAGuqjsCbqXGBSYPfd3dfd8_6P3c393Zc_N4_PwSVIljfQG6Ejb4S_zEUAFUCKKjjthz7waubMjM1ntBUe6HdKKc3zitU1TROavJ5Fd3aXh9iQWORToA5hy59Glp-ejYvqFgejBKH9ZUxuIJsHxUo35UG4LpDoN1PBPBiFxv2aUIQtuG2PAQGPVgnNPTZQnSFoPpew__KpuHl8Co0tKmNjsa9kctKsk2aVrPgE1_N8sUzm2TzPJ906W61WnM_ZcpVUlNMsSXGRZEm6SulyiYvVRKwZZSlNWU4TxtJ8tlrliCnL8qRhDFNKFhQVF3IWOjAztp3EiVvPF_N0MZ9IXqF041LVeIJ4Oi5Uu46oV0PryIJK4bz7GcYLL-M2HgeFpLfX7RkWLmHbf6nTQVrcZSm_m6nJYOX6vyvKWOJxzf4JAAD__yNqrIg">