<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/57492>57492</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
what does clang option '-o -' mean?
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
caneatcansleep
</td>
</tr>
</table>
<pre>
I am now learning ebpf,when compiling samples/bpf in linux kernel source code, I found how the Makefile compile xx_kern.c:
```
CLANG-bpf samples/bpf/cpustat_kern.o
clang -nostdinc -I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -fno-stack-protector -g \
-Isamples/bpf -I./tools/testing/selftests/bpf/ \
-I/home/ruge/Desktop/linux-5.19.1/samples/bpf/libbpf/include \
-D__KERNEL__ -D__BPF_TRACING__ -Wno-unused-value -Wno-pointer-sign \
-D__TARGET_ARCH_x86 -Wno-compare-distinct-pointer-types \
-Wno-gnu-variable-sized-type-not-at-end \
-Wno-address-of-packed-member -Wno-tautological-compare \
-Wno-unknown-warning-option \
-fno-asynchronous-unwind-tables \
-I./samples/bpf/ -include asm_goto_workaround.h \
-O2 -emit-llvm -Xclang -disable-llvm-passes -c samples/bpf/cpustat_kern.c -o - | \
opt -O2 -mtriple=bpf-pc-linux | llvm-dis | \
llc -march=bpf -filetype=obj -o samples/bpf/cpustat_kern.o
```
My question is what's meaning of the '-' symbol behind the '-o' option?
` -O2 -emit-llvm -Xclang -disable-llvm-passes -c samples/bpf/cpustat_kern.c -o - | \
`
Is it used to generate LLVM IR?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy9Vctu6zYQ_Rp5M6Ahy--FFo4dp0aTtDCCtjuBkkYSrylSJak47tffoWQnsFOkWRWw9RjOnHkfpTo_xTvgNSh9BIncKKFKwLQpgvttcLcOFutjhQoyXTdC-jPL60aiDaItKYFQQNL2DQ5oFEqwujUZknqOQbSGHRS6VTlUhO4qhCd-wEJIPOMhvL0l3nKYBeNVEG6CcBXMwvOvewVYP66eH5h3du2brlnTWsddD6F7g0xyipIpbV0uVAZsNyRNbrKKbm-LGV1JLNscvziipxIVGu4wh7Pet6xa3ohv4l5r_yvEV1aXcK71umb4yvT1NewVjRVaDav_sjhkWhWi9IqF0ozqmh1YY7TDzGkDrIRguj63KFyy3fUc9PE6raWXOLSOZoWeLMrCv3307AaGJJWufSCmLf1tg_bgdHOJjE2Ho-Vw5KFumi9F2j9c8roC3iTJr_f75_vHJAH_cvf7NnnZr9a75wcv-ZNSbFVrMWevXLbYSxotlKOiWVGqT3Avq_3D_Uuy2q9_SaipvYWvMzfIcuEzztw7hDs1aK8xvH6pWnJoBE8lkpt_yL_XpHF1jDuGtCufbHieG7SW6YI11BQyqbFO0fQRON46LXUpMi4v4XzGaNWBNlyxY7_hTDeOpgKuFX3fuT2prDJa6daS1VEoitBHe5NM1-_blnzMGLd1Umqnk6M2B248CdBkXSH8FgHDWjgm5WsN7K_z4lIlu-J4KeVrLXlm2derT1uugUEwX1-5oCShc1M7I8g6GG_ImDUZ6znL63duyOcnYykJte6WuDMjGvDM5btFAp3-8D6_Q0g3hPZ0gr9bvx9UfnJ7rLgLormFGnnHvbromJJkjP5gT3WqJaRYUSfeT7Q_6nsYjGml3h39D3W9JLKzIBz4FQKn4UJQ8Pj4xxPs9ufPx3I7wHg0m0VhuJgvo0Eej_PleMkHTjiJsc8eck2h9FGex7JLEbr8fVkoxUFrZFw511j_oYi2nhKFq9p0SCPvyYCyOt88af0g0vLMYG3b5TadT8h5FS8mY8yRLwuezWc8n06iYrbI5wv6p-MonQwkT1HaOJjeBVGk8AgdBD0H081AxFEYReEyHIXTcDaOhvPFOBsV6SyfZpP5cjkNJiHWXMihj2OoTTkwcRdS2paWDiWxhP04pCYQ0SB27gifNrnSJs64Qu7oaiViM-giiLsMfgJNr3G4">