It has indeed always been the plan that some C++ bits will be in the main
libdw DSO. At least the reading-only bits will be, and perhaps more.
We've just managed not to really need it yet and so have been able to put
off figuring out how to handle the C++ symbols for symbol versioning. I
want to keep putting that off since the C++ ABIs are still far from being
firm.
Instead, I've added a temporary hack version set to export __libdw_formptr.
You should now be able to use it directly in the c++/values.cc code. (I
wouldn't add a private wrapper method like you did, it doesn't seem to buy
much. If you need anything more than using it directly, you can use a
static function in value.cc instead, I think.)
Thanks,
Roland