{
  # Symbols marked as 'local' are not exported by the DSO and thus may not
  # be used by client applications.
  local:
    # libunwind
    _U*;
    unw_backtrace;

    # libev
    ev_*;

    # zlib
    adler32*;
    crc32*;
    deflate*;
    get_crc_table;
    inflate*;
    zError;
    zlib*;

    # devtoolset
    __cxa_throw_bad_array*;

    # breakpad
    ConvertUTF*;
    isLegalUTF8Sequence;
    my_*;

    extern "C++" {
      # glog, gflags, and protobuf
      *google::*;
      fL*::FLAGS_*;
      gflags_mutex_namespace::*;
      glog_internal_namespace_::*;

      # breakpad
      google_breakpad::*;
      logger::write*;
      CreateGUID*;
      GUIDToString*;

      # crcutil
      crcutil::*;
      crcutil_interface::*;

      # devtoolset - the Red Hat devtoolset statically links c++17 symbols
      # into binaries so that the result may be executed on a system with an
      # older libstdc++ which doesn't include the necessary c++17 symbols.
      std::*;
    };
};
