<div dir="ltr"><div class="gmail_default">Hi Nicolas,</div><div class="gmail_default"><br></div><div class="gmail_default">    the fix really belongs in specific platform makefiles because the labelling is exactly intended for profiling the stack VMs.  Bugs in the clang compiler when using -Os (small size) cause it to duplicate the labels and consequently for the assembler stage to fail.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Dec 27, 2020 at 3:25 AM Nicolas Cellier <<a href="mailto:noreply@github.com">noreply@github.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"> <br>
  Branch: refs/heads/Cog<br>
  Home:   <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm" rel="noreferrer" target="_blank">https://github.com/OpenSmalltalk/opensmalltalk-vm</a><br>
  Commit: 5094685a21c0c283228b5246855084e4e91c3e8f<br>
      <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5094685a21c0c283228b5246855084e4e91c3e8f" rel="noreferrer" target="_blank">https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5094685a21c0c283228b5246855084e4e91c3e8f</a><br>
  Author: Nicolas Cellier <<a href="mailto:nicolas.cellier.aka.nice@gmail.com" target="_blank">nicolas.cellier.aka.nice@gmail.com</a>><br>
  Date:   2020-12-27 (Sun, 27 Dec 2020)<br>
<br>
  Changed paths:<br>
    M platforms/Mac OS/vm/sqPlatformSpecific.h<br>
    M platforms/iOS/vm/OSX/sqPlatformSpecific.h<br>
    M platforms/iOS/vm/iPhone/sqPlatformSpecific.h<br>
    M platforms/minheadless/unix/sqPlatformSpecific-Unix.h<br>
    M platforms/minheadless/windows/sqPlatformSpecific-Win32.h<br>
    M platforms/unix/vm/sqPlatformSpecific.h<br>
    M platforms/win32/vm/sqPlatformSpecific.h<br>
<br>
  Log Message:<br>
  -----------<br>
  Salvage the stack builds<br>
<br>
For some reasons (?) the VM_LABEL macro is now barking like this:<br>
<br>
>../../spurstack64src/vm/gcc3x-interp.c:9419:5: error: invalid symbol redefinition<br>
>                                VM_LABEL(extPushPseudoVariable);<br>
>                                ^<br>
>In file included from ../../spurstack64src/vm/gcc3x-interp.c:29:<br>
>In file included from ../../platforms/iOS/vm/Common/sqGnu.h:46:<br>
>In file included from ../../platforms/Cross/vm/sq.h:252:<br>
>../../platforms/iOS/vm/OSX/sqPlatformSpecific.h:174:52: note: expanded from macro 'VM_LABEL'<br>
>#         define VM_LABEL(foo) asm("\n.globl _L" #foo "\n_L" #foo ":")<br>
>                                                         ^<br>
><inline asm>:3:1: note: instantiated into assembly here<br>
>_LextPushPseudoVariable:<br>
>^<br>
<br>
Since this does not happen in cog builds, avoid brainstorming and just use the same workaround.<br>
<br>
<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>