Implement command-line options to alter a dylib's exported-symbols list:
- -exported_symbol* options override the default export list. The export list is compiled according to the command-line option(s) only.
- -unexported_symbol* options hide otherwise public symbols.
- -*exported_symbol PATTERN options specify a single literal or glob pattern.
- -*exported_symbols_list FILE options specify a file containing a series of lines containing symbol literals or glob patterns. Whitespace and #-prefix comments are stripped.
Note: This is a simple implementation of the primary use case. ld64 has much more complexity surrounding interactions with other options, many of which are obscure and undocumented. We will start simple and complexity as necessary.
Hmm, GlobPattern.cpp has a special case for patterns without wildcards, but I guess having a separate literals set is still faster with the O(1) lookup
Since we're optimizing for speed here, I would use CachedHashStringRef for the literals set