[libcxx-commits] [PATCH] D110647: [libc++] Resolve missing table_size symbol

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Nov 17 14:26:26 PST 2021


ldionne accepted this revision.
ldionne added a comment.
This revision is now accepted and ready to land.

LGTM once CI passes and comments have been addressed.



================
Comment at: libcxx/lib/abi/CHANGELOG.TXT:21
+
+  This commit added an out-of-line definition for table_size in the library.
+
----------------
Let's be verbose on the explanations.


================
Comment at: libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.abilist:1649
 {'is_defined': True, 'name': '__ZNSt3__15alignEmmRPvRm', 'type': 'FUNC'}
+{'is_defined': True, 'name': '_ZNSt3__15ctypeIcE10table_sizeE', 'size': 0, 'type': 'OBJECT'}
 {'is_defined': True, 'name': '__ZNSt3__15ctypeIcE13classic_tableEv', 'type': 'FUNC'}
----------------
I think this should be `{'name': '__ZNSt3__15ctypeIcE10table_sizeE', 'type': 'OBJECT', 'is_defined': True, 'size': 0}` instead. For some reason, mangled names on Darwin start with two underscores, and one underscore on Linux. I should investigate why that is.


================
Comment at: libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.abilist:1649
 {'is_defined': True, 'name': '__ZNSt3__15alignEmmRPvRm', 'type': 'FUNC'}
+{'is_defined': True, 'name': '_ZNSt3__15ctypeIcE10table_sizeE', 'size': 0, 'type': 'OBJECT'}
 {'is_defined': True, 'name': '__ZNSt3__15ctypeIcE13classic_tableEv', 'type': 'FUNC'}
----------------
Same.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D110647/new/

https://reviews.llvm.org/D110647



More information about the libcxx-commits mailing list