Re[2]: ld.gold: internal error in fix_errata_and_relocate_erratum_s
От: Aleksey82  
Дата: 14.05.21 21:46
Оценка:
Здравствуйте, Zhendos, Вы писали:

Нашел в мейкфайле. Глобальная опция по выбору линковщика есть, но в папке с android частью лежит мейкфайл с захардкоженным ld.gold

Вот так выглядит этот кусок:

$(OBJLOCAL)/liblo-native-code.so : native-code.cxx $(ALL_STATIC_LIBS)
    @echo "Linking $@"
    mkdir -p $(OBJLOCAL)
    $(CXX) -fuse-ld=gold -Wl,--build-id=sha1 -Wl,--gc-sections -Wl,--version-script=../Bootstrap/version.map -Wl,--no-keep-files-mapped -Wl,--no-undefined -DANDROID -DDISABLE_DYNLOADING -shared -Wl,-soname,liblo-native-code.so -o $(OBJLOCAL)/liblo-native-code.so -I$(BUILDDIR)/config_host -I$(SRCDIR)/include native-code.cxx -L$(INSTDIR)/$(LIBO_LIB_FOLDER) $(WHOLELIBS) $(LIBS) -lc++_static -lc++abi $(if $(filter-out arm64-v8a x86_64,$(ANDROID_APP_ABI)),-landroid_support) $(if $(filter armeabi-v7a,$(ANDROID_APP_ABI)),-lunwind) $(addprefix -l,$(NSSLIBS)) -lGLESv2 -landroid -ljnigraphics -llog -lz


Если попробовать -fuse-ld=ld.bfd то будет ошибка "неизвестное значение параметра fuse-ld" или как-то так

Если поставить -fuse-ld=lld то оно попробует слинковаться, но выпадет с внутренней ошибкой линковщика, что-то типа "адрес долджен быть в пределах от а до б, но он вышел за предел"

Второе вероятно потому что какая-то из библиотек была слинкована не с помощью lld...

Непонятно, зачем есть глобальный параметр выбора линкера, а для андроида они захардкодили gold
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.