In a very recent change I introduced a --no-export-default flag
but after conferring with others it seems that this feature already
exists in gnu GNU ld and lld in the form the --export-dynamic flag
which is off by default.
This change replaced export-default with export-dynamic and also
changes the default to match the traditional linker behaviour.
Now, by default only the entry point is exported. If other symbols
are required by the embedder then --export-dynamic or --export can
be used to export either all visibility hidden symbols or individual
symbols respectively.
This change touches a lot of tests that were relying on synmbols
being exported by default. I imagine it will also effect many
users but do think the change is worth it match of the traditional
behaviour and flag names.