-
- # As a temporary solution for compiling "foreign export" declarations,
- # we use global variables to pass arguments from C to STG land.
- # These declarations live in the .hc file and not in the generated C
- # stub file, so we let them pass through here.
- } elsif ( /^\t\.comm\t__fexp_.*$/ ) {
+ # Treat .comm variables as data. These show up in two (known) places:
+ #
+ # - the module_registered variable used in the __stginit fragment.
+ # even though these are declared static and initialised, gcc 3.3
+ # likes to make them .comm, presumably to save space in the
+ # object file.
+ #
+ # - global variables used to pass arguments from C to STG in
+ # a foreign export. (is this still true? --SDM)
+ #
+ } elsif ( /^\t\.comm.*$/ ) {