virtio linking fails with LTO
Job:
FAILED: src/virtio/vulkan/libvulkan_virtio.so
/usr/lib/ccache/i686-linux-gnu-g++ -o src/virtio/vulkan/libvulkan_virtio.so src/virtio/vulkan/libvulkan_virtio.so.p/meson-generated_.._vn_entrypoints.c.o src/virtio/vulkan/libvulkan_virtio.so.p/vn_buffer.c.o src/virtio/vulkan/libvulkan_virtio.so.p/vn_command_buffer.c.o src/virtio/vulkan/libvulkan_virtio.so.p/vn_common.c.o src/virtio/vulkan/libvulkan_virtio.so.p/vn_cs.c.o src/virtio/vulkan/libvulkan_virtio.so.p/vn_descriptor_set.c.o src/virtio/vulkan/libvulkan_virtio.so.p/vn_device.c.o src/virtio/vulkan/libvulkan_virtio.so.p/vn_device_memory.c.o src/virtio/vulkan/libvulkan_virtio.so.p/vn_feedback.c.o src/virtio/vulkan/libvulkan_virtio.so.p/vn_icd.c.o src/virtio/vulkan/libvulkan_virtio.so.p/vn_image.c.o src/virtio/vulkan/libvulkan_virtio.so.p/vn_instance.c.o src/virtio/vulkan/libvulkan_virtio.so.p/vn_physical_device.c.o src/virtio/vulkan/libvulkan_virtio.so.p/vn_pipeline.c.o src/virtio/vulkan/libvulkan_virtio.so.p/vn_query_pool.c.o src/virtio/vulkan/libvulkan_virtio.so.p/vn_queue.c.o src/virtio/vulkan/libvulkan_virtio.so.p/vn_render_pass.c.o src/virtio/vulkan/libvulkan_virtio.so.p/vn_ring.c.o src/virtio/vulkan/libvulkan_virtio.so.p/vn_renderer_internal.c.o src/virtio/vulkan/libvulkan_virtio.so.p/vn_renderer_util.c.o src/virtio/vulkan/libvulkan_virtio.so.p/vn_renderer_virtgpu.c.o src/virtio/vulkan/libvulkan_virtio.so.p/vn_renderer_vtest.c.o src/virtio/vulkan/libvulkan_virtio.so.p/vn_wsi.c.o -flto -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libvulkan_virtio.so -Wl,--whole-archive src/vulkan/runtime/libvulkan_lite_runtime.a src/vulkan/runtime/libvulkan_lite_instance.a src/vulkan/wsi/libvulkan_wsi.a -Wl,--no-whole-archive -Wl,-rpath,/usr/local/lib/i386-linux-gnu -Wl,-rpath-link,/usr/local/lib/i386-linux-gnu src/util/libmesa_util.a src/util/libmesa_util_sse41.a src/util/blake3/libblake3.a src/c11/impl/libmesa_util_c11.a src/vulkan/util/libvulkan_util.a src/util/libxmlconfig.a src/loader/libloader_wayland_helper.a -Wl,--version-script /builds/dh/mesa/src/vulkan/vulkan.sym -Wl,-Bsymbolic -Wl,--gc-sections /usr/lib/i386-linux-gnu/libdrm.so -pthread /usr/lib/i386-linux-gnu/libz.so -lm /usr/lib/i386-linux-gnu/libxcb.so /usr/lib/i386-linux-gnu/libX11-xcb.so /usr/lib/i386-linux-gnu/libX11.so /usr/lib/i386-linux-gnu/libxcb-dri3.so /usr/lib/i386-linux-gnu/libxcb-present.so /usr/lib/i386-linux-gnu/libxcb-xfixes.so /usr/lib/i386-linux-gnu/libxcb-sync.so /usr/lib/i386-linux-gnu/libxcb-randr.so /usr/lib/i386-linux-gnu/libxcb-shm.so /usr/lib/i386-linux-gnu/libxshmfence.so /usr/local/lib/i386-linux-gnu/libwayland-client.so /usr/lib/i386-linux-gnu/libXrandr.so /usr/lib/i386-linux-gnu/libexpat.so -Wl,--end-group
../src/vulkan/runtime/vk_command_buffer.c:47: error: undefined reference to 'vk_meta_object_list_init'
../src/vulkan/runtime/vk_command_buffer.c:64: error: undefined reference to 'vk_meta_object_list_reset'
../src/vulkan/runtime/vk_command_buffer.c:101: error: undefined reference to 'vk_meta_object_list_finish'
Job
mold: error: undefined symbol: vk_meta_object_list_init
>>> referenced by <artificial>
>>> /tmp/ccW6HQ2A.ltrans0.ltrans.o:(vk_command_buffer_init)
mold: error: undefined symbol: vk_meta_object_list_reset
>>> referenced by <artificial>
>>> /tmp/ccW6HQ2A.ltrans0.ltrans.o:(vk_command_buffer_reset)
mold: error: undefined symbol: vk_meta_object_list_finish
>>> referenced by <artificial>
>>> /tmp/ccW6HQ2A.ltrans0.ltrans.o:(vk_command_buffer_finish)
collect2: error: ld returned 1 exit status
Edited by David Heidelberg