<div dir="ltr">No idea.  .def is the COFF way of giving metadata about a symbol: function vs. data vs. section, and other things.  MC has an extra set of methods for emitting it.</div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Wed, Oct 16, 2013 at 3:26 PM, Hans Wennborg <span dir="ltr"><<a href="mailto:hans@chromium.org" target="_blank">hans@chromium.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5">On Wed, Oct 16, 2013 at 3:15 PM, Rafael Espíndola<br>
<<a href="mailto:rafael.espindola@gmail.com">rafael.espindola@gmail.com</a>> wrote:<br>
>> with gas:<br>
>> 00000000 b .bss<br>
>> 00000000 d .data<br>
>> 00000000 t .text<br>
>> 00000000 T __Z1fv<br>
>><br>
>> with clang:<br>
>> 00000000 t .text<br>
>> 00000001 a @feat.00<br>
>> 00000000 T __Z1fv<br>
>><br>
>> So if gas doesn't understand the @feat.00 thing, maybe we should only<br>
>> do it when targeting win32 (which means using our own assembler,<br>
>> right?), thereby avoiding this whole problem?<br>
><br>
> What is wrong with using ".set"? That would work with gas too.<br>
<br>
</div></div>The file looks like this:<br>
<br>
.def "@feat.00";<br>
.scl 3;<br>
.type 0;<br>
.endef<br>
"@feat.00" = 1<br>
.def __Z1fv;<br>
.scl 2;<br>
.type 32;<br>
.endef<br>
.text<br>
.globl __Z1fv<br>
.align 16, 0x90<br>
__Z1fv:<br>
pushl %ebp<br>
movl %esp, %ebp<br>
movl $5, %eax<br>
popl %ebp<br>
ret<br>
<br>
I can fix the "@feat.00" = 1 by switching to .set, but it still<br>
complains about .def on line 1. I don't even know what's going on up<br>
there. Reid?<br>
</blockquote></div><br></div>