Это на ПК. Ксаш-то не только на Андроид портирован, а вообще на линукс. Впрочем, благодаря этому и порт на андроид родился.
Так вот, я таки решил проблему со сменой игры. Дело не в флагах и ничем другом.
В binutils есть два линкера -- bfd и gold. Последний как бы стремится заменить первый. Оба этих линкера на функции с шаблонами ставят флаг STB_GNU_UNIQUE. (которые из CUtlRBTree<I, T>::Links(T)).
libdl видит этот флаг и после dlclose() библиотеку закрывает, но из памяти не выгружает. (!)
В общем, переключил в системе линкер на gold, прописал флаг --no-gnu-unique и смена игры заработала так, как нужно.
Так вот, я таки решил проблему со сменой игры. Дело не в флагах и ничем другом.
В binutils есть два линкера -- bfd и gold. Последний как бы стремится заменить первый. Оба этих линкера на функции с шаблонами ставят флаг STB_GNU_UNIQUE. (которые из CUtlRBTree<I, T>::Links(T)).
libdl видит этот флаг и после dlclose() библиотеку закрывает, но из памяти не выгружает. (!)
В общем, переключил в системе линкер на gold, прописал флаг --no-gnu-unique и смена игры заработала так, как нужно.