title: Create shared-library (`.so`) from static archive (`.a`) that exports only the global and visible symbols
body: <p>I have a static library (<code>foo.a</code>) that contains a lot of symbols, e.g.:</p>
  <pre><code>0000000000000000 l    d  .text.finish_doctype_system_id 00000000 .text.finish_doctype_system_id
  0000000000000000 gw    F .text._ZN16FlutterContainer14create_elementEPKcRKNSt6__ndk13mapINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES9_NS2_4lessIS9_EENS7_INS2_4pairIKS9_S9_EEEEEERKNS2_10shared_ptrIN8litehtml8documentEEE        0000003c .hidden _ZN16FlutterContainer14create_elementEPKcRKNSt6__ndk13mapINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEES9_NS2_4lessIS9_EENS7_INS2_4pairIKS9_S9_EEEEEERKNS2_10shared_ptrIN8litehtml8documentEEE
  
  ...
  
  0000000000000000 g     F .text.document_width   0000002c document_width
  </code></pre>
  <p>When I use <code>-whole-archive</code> to create an <code>.so</code> from that <code>.a</code>, ALL symbols appear in the <code>.so</code>. However, I only want the global and non-hidden symbols to be exported.</p>
  <p>In the case example above, I only want <code>document_width</code> to be exported.</p>