Search Issue Tracker

Fixed in 6000.4.0b2

Fixed in 6000.4.X, 6000.5.X, 6000.5.0a4

Votes

0

Found in

6000.5.0a4

Issue ID

UUM-129815

Regression

Yes

UDM is exporting its symbols from player and editor binaries

Unity Data Model

-

UDM is exporting its symbols from the editor and player binaries when linked in statically. This has size implications as exported symbols cannot be stripped.

To reproduce:

1. Find Unity.dll (for the editor) or UnityPlayer.dll (for the player)
2. Open Visual Studio Developer Command Prompt
3. Type in `dumpbin /exports <PATH>\<TO>\UnityPlayer.dll`
4. Notice all the UDM related exports (normally editor only supposed to have one export and player two exports):

1 0 02598920 ?DoubleToStringAccurate@udm@@YA_KNPEAD_K@Z = ?DoubleToStringAccurate@udm@@YA_KNPEAD_K@Z (unsigned __int64 __cdecl udm::DoubleToStringAccurate(double,char ,unsigned __int64))
2 1 02599170 ?FloatToStringAccurate@udm@@YA_KMPEAD_K@Z = ?FloatToStringAccurate@udm@@YA_KMPEAD_K@Z (unsigned __int64 __cdecl udm::FloatToStringAccurate(float,char
,unsigned __int64))
3 2 0259C290 ?StringToDoubleAccurate@udm@@YA_KPEBD_KPEAN@Z = ?StringToDoubleAccurate@udm@@YA_KPEBD_KPEAN@Z (unsigned __int64 __cdecl udm::StringToDoubleAccurate(char const ,unsigned __int64,double ))
4 3 0259C2D0 ?StringToFloatAccurate@udm@@YA_KPEBD_KPEAM@Z = ?StringToFloatAccurate@udm@@YA_KPEBD_KPEAM@Z (unsigned __int64 __cdecl udm::StringToFloatAccurate(char const ,unsigned __int64,float ))
5 4 018BC990 UnityMain = UnityMain
6 5 018BC990 UnityMain2 = UnityMain
7 6 02587510 get_schema_builder_build_basic_schema_function = get_schema_builder_build_basic_schema_function
8 7 025893A0 get_sm_get_or_create_schema_function = get_sm_get_or_create_schema_function
9 8 025893B0 get_sm_get_schema_function = get_sm_get_schema_function
10 9 025893C0 get_sm_get_schema_id_by_schema_function = get_sm_get_schema_id_by_schema_function
11 A 025893D0 get_sm_get_schema_id_by_type_function = get_sm_get_schema_id_by_type_function
12 B 025893E0 get_sm_register_schema_function = get_sm_register_schema_function
13 C 025893F0 schema_manager_clear_schemas = schema_manager_clear_schemas
14 D 02589400 schema_manager_delete = schema_manager_delete
15 E 02589520 schema_manager_get_or_create_schema = schema_manager_get_or_create_schema
16 F 02589950 schema_manager_load_schemas = schema_manager_load_schemas
17 10 02589960 schema_manager_new = schema_manager_new
18 11 025899D0 schema_manager_register_schema = schema_manager_register_schema
19 12 025899E0 schema_manager_save_schemas = schema_manager_save_schemas
20 13 02589B70 schema_manager_schema_iterator_delete = schema_manager_schema_iterator_delete
21 14 02589BB0 schema_manager_schema_iterator_new = schema_manager_schema_iterator_new
22 15 02589C40 schema_manager_schema_iterator_next = schema_manager_schema_iterator_next
23 16 02589C90 schema_manager_schema_iterator_reset = schema_manager_schema_iterator_reset
24 17 0258F7A0 udm_accessor_assign = udm_accessor_assign
25 18 0258F7D0 udm_accessor_get_field_accessor = udm_accessor_get_field_accessor
26 19 0258F840 udm_accessor_initialize = udm_accessor_initialize
27 1A 0258CAC0 udm_allocate_with_tags = udm_allocate_with_tags
28 1B 0258AB70 udm_binary_header_get_component_collections = udm_binary_header_get_component_collections
29 1C 0258AB80 udm_binary_header_get_external_document_ids = udm_binary_header_get_external_document_ids
30 1D 0258AB90 udm_binary_header_get_object_collections = udm_binary_header_get_object_collections
31 1E 0258ABA0 udm_binary_header_get_object_ids = udm_binary_header_get_object_ids
32 1F 0258ABB0 udm_binary_header_get_references = udm_binary_header_get_references
33 20 0258ABC0 udm_binary_header_is_valid = udm_binary_header_is_valid
34 21 0258F8A0 udm_cleanup = udm_cleanup
35 22 0258F7D0 udm_const_accessor_get_field_accessor = udm_accessor_get_field_accessor
36 23 0258F900 udm_const_accessor_is_equal = udm_const_accessor_is_equal
37 24 0258CAE0 udm_const_object_model_iterator_delete = udm_const_object_model_iterator_delete
38 25 0258CB20 udm_const_object_model_iterator_new = udm_const_object_model_iterator_new
39 26 0258CB70 udm_const_object_model_iterator_next = udm_const_object_model_iterator_next
40 27 0258CB80 udm_const_object_model_iterator_reset = udm_const_object_model_iterator_reset
41 28 0258CB90 udm_const_utf8string_c_str = udm_const_utf8string_c_str
42 29 0258CBA0 udm_const_utf8string_string_length = udm_const_utf8string_string_length
43 2A 0258ACD0 udm_const_vector_data = udm_const_vector_data
44 2B 0258CC10 udm_deallocate_with_tags = udm_deallocate_with_tags
45 2C 0258CC30 udm_document_model_add_ecs_component = udm_document_model_add_ecs_component
46 2D 0258CC70 udm_document_model_copy_object_model_from_source = udm_document_model_copy_object_model_from_source
47 2E 0258CCA0 udm_document_model_delete = udm_document_model_delete
48 2F 0258CCE0 udm_document_model_delete_object_model = udm_document_model_delete_object_model
49 30 0258CCF0 udm_document_model_extract_external_document_ids = udm_document_model_extract_external_document_ids
50 31 0258CD00 udm_document_model_get_const_ecs_component = udm_document_model_get_const_ecs_component
51 32 0258CD40 udm_document_model_get_const_ecs_components = udm_document_model_get_const_ecs_components
52 33 0258CD50 udm_document_model_get_const_object_model = udm_document_model_get_const_object_model
53 34 0258CD80 udm_document_model_get_const_objects_per_schema = udm_document_model_get_const_objects_per_schema
54 35 01846CF0 udm_document_model_get_dynamic_memory_usage = ?GetPresentQueue@OnscreenSwapChain@vk@@UEBAPEAUVkQueue_T@@XZ (public: virtual struct VkQueue_T * __cdecl vk::OnscreenSwapChain::GetPresentQueue(void)const )
55 36 0258CD90 udm_document_model_get_ecs_component = udm_document_model_get_ecs_component
56 37 0258CDD0 udm_document_model_get_ecs_components = udm_document_model_get_ecs_components
57 38 0258CDE0 udm_document_model_get_external_document_ids = udm_document_model_get_external_document_ids
58 39 0258CDF0 udm_document_model_get_external_document_ids_size = udm_document_model_get_external_document_ids_size
59 3A 0258CE00 udm_document_model_get_object_model = udm_document_model_get_object_model
60 3B 0258CE30 udm_document_model_get_objects_count = udm_document_model_get_objects_count
61 3C 0258CE40 udm_document_model_get_objects_per_schema = udm_document_model_get_objects_per_schema
62 3D 0258CE50 udm_document_model_get_references = udm_document_model_get_references
63 3E 0258CE60 udm_document_model_get_references_size = udm_document_model_get_references_size
64 3F 0258CE70 udm_document_model_new = udm_document_model_new
65 40 0258CEB0 udm_document_model_new_from_binary_header = udm_document_model_new_from_binary_header
66 41 0258CED0 udm_document_model_new_from_text = udm_document_model_new_from_text
67 42 0258CF40 udm_document_model_new_object_model = udm_document_model_new_object_model
68 43 0258CF70 udm_document_model_new_object_model_with_id = udm_document_model_new_object_model_with_id
69 44 0258CFA0 udm_document_model_remove_ecs_component = udm_document_model_remove_ecs_component
70 45 0258ACE0 udm_document_model_schema_iterator_delete = udm_document_model_schema_iterator_delete
71 46 0258AD10 udm_document_model_schema_iterator_new = udm_document_model_schema_iterator_new
72 47 0258AD50 udm_document_model_schema_iterator_next = udm_document_model_schema_iterator_next
73 48 0258AD60 udm_document_model_schema_iterator_reset = udm_document_model_schema_iterator_reset
74 49 0258CFB0 udm_document_model_set_reference = udm_document_model_set_reference
75 4A 0258CFE0 udm_document_model_to_binary = udm_document_model_to_binary
76 4B 0258D170 udm_document_model_to_text = udm_document_model_to_text
77 4C 0258D200 udm_double_schema = udm_double_schema
78 4D 00111340 udm_field_get_name = ??$convert_for_visit@W4int128_opt@detail@v11@fmt@@@detail@v11@fmt@@YA?AUmonostate@12@W4int128_opt@012@@Z (struct fmt::v11::monostate __cdecl fmt::v11::detail::convert_for_visit<enum fmt::v11::detail::int128_opt>(enum fmt::v11::detail::int128_opt))
79 4E 0258AD70 udm_field_get_schema = udm_field_get_schema
80 4F 0258AD80 udm_field_get_type_id = udm_field_get_type_id
81 50 0258ADA0 udm_field_get_type_version = udm_field_get_type_version
82 51 0258D250 udm_float_schema = udm_float_schema
83 52 0258ADC0 udm_get_current_binary_version = udm_get_current_binary_version
84 53 0258D2A0 udm_get_default_allocator = udm_get_default_allocator
85 54 0258F940 udm_get_default_data_system_acquire = udm_get_default_data_system_acquire
86 55 0258F950 udm_get_default_data_system_commit = udm_get_default_data_system_commit
87 56 0258F960 udm_get_default_data_system_release = udm_get_default_data_system_release
88 57 0258D2B0 udm_get_default_deallocator = udm_get_default_deallocator
89 58 0258F970 udm_get_default_logger = udm_get_default_logger
90 59 0258F990 udm_get_schema_manager = udm_get_schema_manager
91 5A 0258F9A0 udm_get_stderr_logger = udm_get_stderr_logger
92 5B 01AE6E60 udm_guid_initialize = ?Reset@Hash128@@QEAAXXZ (public: void __cdecl Hash128::Reset(void))
93 5C 0258ADD0 udm_guid_initialize_from_bytes = udm_guid_initialize_from_bytes
94 5D 0258ADE0 udm_guid_initialize_from_hex = udm_guid_initialize_from_hex
95 5E 0258AE00 udm_guid_is_valid = udm_guid_is_valid
96 5F 0258D2C0 udm_guid_schema = udm_guid_schema
97 60 0258AE20 udm_guid_to_hex = udm_guid_to_hex
98 61 01AE6E60 udm_hash_initialize = ?Reset@Hash128@@QEAAXXZ (public: void __cdecl Hash128::Reset(void))
99 62 0258AE50 udm_hash_initialize_from_hex = udm_hash_initialize_from_hex
100 63 0258AE70 udm_hash_is_valid = udm_hash_is_valid
101 64 0258D310 udm_hash_schema = udm_hash_schema
102 65 0258AE90 udm_hash_to_hex = udm_hash_to_hex
103 66 0258F9D0 udm_initialize = udm_initialize
104 67 0258D360 udm_int16_schema = udm_int16_schema
105 68 0258D3B0 udm_int32_schema = udm_int32_schema
106 69 0258D400 udm_int64_schema = udm_int64_schema
107 6A 0258D450 udm_int8_schema = udm_int8_schema
108 6B 0258AEC0 udm_is_binary_header = udm_is_binary_header
109 6C 0258D4A0 udm_is_document_model_text = udm_is_document_model_text
110 6D 0258FAD0 udm_logger_log = udm_logger_log
111 6E 0258FB00 udm_logger_logf = udm_logger_logf
112 6F 0258FB30 udm_logger_vlogf = udm_logger_vlogf
113 70 0258D4F0 udm_object_model_iterator_delete = udm_object_model_iterator_delete
114 71 0258D530 udm_object_model_iterator_new = udm_object_model_iterator_new
115 72 0258D580 udm_object_model_iterator_next = udm_object_model_iterator_next
116 73 0258D590 udm_object_model_iterator_reset = udm_object_model_iterator_reset
117 74 0258FC90 udm_reference_initialize = FMOD_vorbis_comment_init
118 75 0258FCA0 udm_reference_is_external = udm_reference_is_external
119 76 0258FCD0 udm_reference_is_internal = udm_reference_is_internal
120 77 0258FD00 udm_reference_is_valid = udm_reference_is_valid
121 78 0258D5A0 udm_reference_schema = udm_reference_schema
122 79 02587520 udm_schema_builder_add_field = udm_schema_builder_add_field
123 7A 02587560 udm_schema_builder_build_basic_schema = udm_schema_builder_build_basic_schema
124 7B 02587640 udm_schema_builder_build_basic_schema_with_underlying_type = udm_schema_builder_build_basic_schema_with_underlying_type
125 7C 02587740 udm_schema_builder_build_map_schema = udm_schema_builder_build_map_schema
126 7D 02587810 udm_schema_builder_build_schema = udm_schema_builder_build_schema
127 7E 02587820 udm_schema_builder_build_vector_schema = udm_schema_builder_build_vector_schema
128 7F 02587920 udm_schema_builder_delete = udm_schema_builder_delete
129 80 02587950 udm_schema_builder_get_fields_count = udm_schema_builder_get_fields_count
130 81 02587980 udm_schema_builder_new = udm_schema_builder_new
131 82 02587A00 udm_schema_builder_set_as_fixed_buffer = udm_schema_builder_set_as_fixed_buffer
132 83 02587A10 udm_schema_builder_set_as_managed = udm_schema_builder_set_as_managed
133 84 02587A20 udm_schema_builder_set_inline_text_serialization = udm_schema_builder_set_inline_text_serialization
134 85 02587A30 udm_schema_builder_set_underlying_type_id = udm_schema_builder_set_underlying_type_id
135 86 0258D5F0 udm_schema_get_by_id = udm_schema_get_by_id
136 87 0258D610 udm_schema_get_by_type = udm_schema_get_by_type
137 88 0258D670 udm_schema_get_const_accessor = udm_schema_get_const_accessor
138 89 0258D6A0 udm_schema_get_field_by_name = udm_schema_get_field_by_name
139 8A 0258D700 udm_schema_get_field_index = udm_schema_get_field_index
140 8B 0258D740 udm_schema_get_fields = udm_schema_get_fields
141 8C 0258D750 udm_schema_get_id = udm_schema_get_id
142 8D 0258D780 udm_schema_get_map_key_schema = udm_schema_get_map_key_schema
143 8E 0258D800 udm_schema_get_map_value_schema = udm_schema_get_map_value_schema
144 8F 0258D880 udm_schema_get_or_create_by_id = udm_schema_get_or_create_by_id
145 90 009F1010 udm_schema_get_type_name = ?Allocate@?$MTEAllocator@VNonTaggableSizeFakeAllocator@SuiteMTEAllocatorkUnitTestCategory@@@@UEAAPEAX_KH@Z (public: virtual void * __cdecl MTEAllocator<class SuiteMTEAllocatorkUnitTestCategory::NonTaggableSizeFakeAllocator>::Allocate(unsigned __int64,int))
146 91 0258D8A0 udm_schema_get_vector_element_schema = udm_schema_get_vector_element_schema
147 92 0258D8E0 udm_schema_has_field = udm_schema_has_field
148 93 0258D930 udm_schema_to_text = udm_schema_to_text
149 94 0258FD10 udm_set_default_logger = udm_set_default_logger
150 95 0258AF00 udm_type_id_combine = udm_type_id_combine
151 96 0258AF70 udm_type_id_get_map_type_id = udm_type_id_get_map_type_id
152 97 02590650 udm_type_id_get_map_type_name = udm_type_id_get_map_type_name
153 98 025906A0 udm_type_id_get_pair_type_name = udm_type_id_get_pair_type_name
154 99 0258AFC0 udm_type_id_get_vector_type_id = udm_type_id_get_vector_type_id
155 9A 02590710 udm_type_id_get_vector_type_name = udm_type_id_get_vector_type_name
156 9B 0258B000 udm_type_id_initialize_from_bytes = udm_type_id_initialize_from_bytes
157 9C 025949B0 udm_types_initialize = udm_types_initialize
158 9D 0258D970 udm_uint16_schema = udm_uint16_schema
159 9E 0258D9C0 udm_uint32_schema = udm_uint32_schema
160 9F 0258DA10 udm_uint64_schema = udm_uint64_schema
161 A0 0258DA60 udm_uint8_schema = udm_uint8_schema
162 A1 0258DAB0 udm_utf8string_append = udm_utf8string_append
163 A2 0258DB50 udm_utf8string_append_uninitialized = udm_utf8string_append_uninitialized
164 A3 0258DBC0 udm_utf8string_assign = udm_utf8string_assign
165 A4 0258CB90 udm_utf8string_c_str = udm_const_utf8string_c_str
166 A5 0258DCE0 udm_utf8string_capacity = udm_utf8string_capacity
167 A6 0258DD40 udm_utf8string_clear = udm_utf8string_clear
168 A7 0258DDC0 udm_utf8string_replace_uninitialized = udm_utf8string_replace_uninitialized
169 A8 0258DEF0 udm_utf8string_reserve = udm_utf8string_reserve
170 A9 0258E000 udm_utf8string_schema = udm_utf8string_schema
171 AA 0258CBA0 udm_utf8string_string_length = udm_const_utf8string_string_length
172 AB 0258B030 udm_vector_assign = udm_vector_assign
173 AC 0258B150 udm_vector_clear = udm_vector_clear
174 AD 0258ACD0 udm_vector_data = udm_const_vector_data
175 AE 0258B200 udm_vector_erase = udm_vector_erase
176 AF 0258B360 udm_vector_insert_uninitialized = udm_vector_insert_uninitialized
177 B0 0258B4A0 udm_vector_push_back_uninitialized = udm_vector_push_back_uninitialized
178 B1 0258B520 udm_vector_reserve = udm_vector_reserve
179 B2 0258B690 udm_vector_resize_uninitialized = udm_vector_resize_uninitialized
180 B3 02590760 udm_xxh3_128 = udm_xxh3_128
181 B4 02590790 udm_xxhash32 = udm_xxhash32

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.