<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/122805>122805</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
llvm-readelf: Invalid JSON on PE (COFF) object
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
sliedes
</td>
</tr>
</table>
<pre>
Similar to, but distinct from, #88880
This is on LLVM 19.1.5 on NixOS.
Doing `llvm-readelf --elf-outputs-style=JSON` on a PE object (in this case an UEFI executable from a BIOS dump) produces invalid JSON. A small PE object attached to demonstrate.
```
$ file 137_PspDxe.efi
137_PspDxe.efi: PE32+ executable for EFI (boot service driver), x86-64, 4 sections
$ llvm-readelf --elf-output-style=JSON 137_PspDxe.efi
[
"File":"137_PspDxe.efi","Format":"COFF-x86-64","Arch":"x86_64","AddressSize":"64bit"]
$ llvm-readelf --version
LLVM (http://llvm.org/):
LLVM version 19.1.5
Optimized build.
```
The output is not valid JSON because key:value can only exist in an object (`{}`), and here it's in a list.
[137_PspDxe.efi.zip](https://github.com/user-attachments/files/18402591/137_PspDxe.efi.zip)
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJx8VF2PqzYQ_TXmZQSyzUfggQeyWaStbm9WStvXK4OHxK3BkW3S7P76ypDdze5tKyFhm5nDmTNnLJxTxwmxJvmW5LtIzP5kbO20Qoku6ox8qQ9qVFpY8IbwB-hmD1I5r6bew2DNGA4JT8uyLCmhDaHNbyflQDkwE3z79sevwKqEJXnYflfX_SFZo3ZGTUcgBdX6MsYWhUQ9QByjHmIz-_PsXez8i0aS7n457L-TggYIAc-PYLo_sfdAeKkm8OF3vXAIYoLfH9snwCv2sxedxoUhCNg-7Q8g5_FMeAVna-TcowM1XYRWEgJ8Ag24UWh9hy-8F_0JJXgDEkczOW-Fx1sBpKC3hzaEZzAojcDSzY9nd95dMcFBEdp8OUgbeH5MOeHbTyyNhUCc8LIzxoNDe1E9grTqgpbwKoh8LYu4yMIqA4e9V2ZyNyY8g_9U8ZOIP_MLjQ8IvFUaCeckDZsvYZwT_hBijB2Ff4962Ldt_EbrFtLY_vQecC2LH_ffpLTo3EG9fvypyDq1IOa7f6_kgtYpMxHaLGYivDx5f16SW8LbEJ0Ye1x2VTimDay-u2Xe_BfO92evRvWKErpZaZl87WLwLsKqW3DwZDx8WAQ67MXsEP7CF5I2F6FnhF5MYCb9AnhVzoOaggs__BmAN1uy2YXF2kcxSTihRQh1b9ySAlo5_-arfPtZ_uRVnYM8a-XuvfSj8qe5S_owg-3s0MarYUecvCO8DYYMb1ZmlOcVC8ufgXkVyTqVVVqJCGu2SYuS5tWmiE51mQ5syLIsEzikvO86zjCtuqFnA0srVkaq5pTnlLGUc1qwIhmYSKshZbLPWSa7jmQUR6F08tamSDk3Y804L2keadGhdsvlw_mEf8PydXVDZOvFCd18dCSjQSD3AeOV11jfWyWM1tPdQIfL4vkx9CDYNMz92pVotrr-HyED5u0Vn60JKYS3C7FFzJX5peb_BAAA__8GKJic">