build-gnu-libstdc++.sh: separate static and shared library builds

This change uses different configuration flags for the static and
shared builds of GNU libstdc++, this allows up to disable visible
symbols for the static library, but keep them for the shared one.

+ Fix gnustl_shared module exports. We need to export the
  static libsupc++ library as well. Curiously the library
  isn't part of the shared library (but is part of the
  static one).

  It's probably something we would want to fix with a local
  GNU libstdc++ in the future.

+ New unit test to check that exceptions cross binaries
  properly (i.e. an exception thrown in a shared library
  is properly caught in the executable that links against
  it).

Change-Id: Iba1f9bc6f0d4f7333dd3b7a87d5b84dbd7991be2
8 files changed