lg2: add experimental::source_location symbols on GCC
lg2: add experimental::source_location symbols on GCC

When we compile with a compiler that supports the C++20 source_location,
we use that support and do not support the older experimental version.
Recent versions of GCC support it but Clang does not.  This exposes an
issue when attempting to link a GCC-compiled lg2 with a Clang-compiled
application (missing symbol for experimental version).

Add a no-op symbol for experimental::source_location when the compiler
supports std::source_location.  This allows the Clang-compiled
applications to successfully compile and link, but they will lose out on
the lg2 functionality.  The primary use-case of this is to compile with
Clang in CI in order to get signal on the stricter warnings that Clang
often has, so functionality is not necessary.

Tested:

Built with GCC and confirmed additional symbol for
experimental::source_location support.

```
$ nm lib/libphosphor_logging.so.1.0.0 --defined-only -C | grep lg2::details::do_log
0000000000004520 T lg2::details::do_log(lg2::level, std::experimental::fundamentals_v2::source_location const&, char const*, ...)
0000000000004aa0 T lg2::details::do_log(lg2::level, std::source_location const&, char const*, ...)
0000000000003682 t lg2::details::do_log(lg2::level, std::source_location const&, char const*, ...) [clone .cold]
```

Signed-off-by: Patrick Williams <cbb7353e6d953ef360baf960c122346276c6e320@stwcx.xyz>
Change-Id: I4bc0b9f6619ce6088dfa44a3c18eb28d9080fb47

openbmc/phosphor-logging,openbmc/phosphor-logging,openbmc/phosphor-logging,openbmc/phosphor-logging