+ # DO NOT DELETE THE NEXT LINE. It fixes a rather subtle GC bug
+ # which showed up as a segfault reported by Ryszard Kubiak.
+ # Problem is with vector tables. They wind up as follows:
+ # .word some-word
+ # .word some-other-word
+ # fooble_vtbl:
+ # Problem is that we want the label fooble_vtbl to be considered
+ # in the same section as the vtbl itself, but the label actually
+ # lives at the next word along. If a data segment should happen
+ # to immediately follow the vtbl, as it can in GHCi, the label will
+ # be malclassified as in the data rather than text segment (during
+ # GC), and so we will regard references to it as static closure
+ # pointers rather than as code pointers, which is an error which
+ # usually crashes the garbage collectors.
+ # To fix this, we place a dummy word after the label, so as to
+ # ensure that the label is in the same segment as the vtbl proper.
+ # The native code generator has an analogous fix; see
+ # ghc/compiler/nativeGen/AbsCStixGen.lhs line 107.
+ print OUTASM "${T_create_word} 0\n";