Ошибка компоновщика libgcc: на скрытый символ __aarch64_swp1_acq_rel в libgcc.a ссылается DSOC++

Программы на C++. Форум разработчиков
Anonymous
Ошибка компоновщика libgcc: на скрытый символ __aarch64_swp1_acq_rel в libgcc.a ссылается DSO

Сообщение Anonymous »

Я пытаюсь связать общую библиотеку, которую не могу контролировать. Эта библиотека имеет неопределенный символ (вывод nm):

Код: Выделить всё

U __aarch64_swp1_acq_rel
Это, кажется, определено в libgcc.a:

Код: Выделить всё

[user@fedora ~]$ nm -a /usr/lib/gcc/aarch64-redhat-linux/12/libgcc.a | grep swp1_acq_rel
0000000000000000 T __aarch64_swp1_acq_rel
[user@fedora ~]$ objdump -t /usr/lib/gcc/aarch64-redhat-linux/12/libgcc.a | grep swp1_acq_rel
0000000000000000 g     F .text  000000000000002c .hidden __aarch64_swp1_acq_rel
Но всякий раз, когда я пытаюсь установить ссылку, я получаю ошибку в заголовке этого вопроса. Я понимаю, что этот символ скрыт для динамического связывания (пожалуйста, подтвердите, если я ошибаюсь). Итак, мой вопрос заключается в том, каков правильный подход к связыванию с этим символом libgcc, когда общая библиотека, которую я использую (и ссылаюсь на нее), не определяет его.
Я ожидал, что это будет возможно. чтобы разрешить этот символ с помощью libgcc.a в моей системе. Почему это скрыто?

Подробнее здесь: https://stackoverflow.com/questions/750 ... is-referen

Вернуться в «C++»