[sisyphus] ABI/API changes
Alexey Tourbin
at на altlinux.ru
Ср Сен 14 16:19:31 MSD 2005
On Wed, Sep 14, 2005 at 02:22:18PM +0300, Andrei Bulava wrote:
> 2) wxGTK2 будет ломаться до тех пор, пока инициатива at@, прочитавшего
> people.redhat.com/drepper/dsohowto.pdf, не дойдёт до разработчиков GTK2;
Да не дойдёт. Есть две технические проблемы, я о них уже писал.
1) ld/ldlang.c не позволяет одновременно иметь дефолтный интерфейс без
названия и версионированные интерфейсы с названием. Это аццки неудобно.
И зачем тогда soname нужен?
2) libtool не понимает version scripts. То есть ему можно впарить через
-Wl,--version-script=symver.map, но это не портабельно, разработчики
GTK2 на такое не пойдут.
Самим пока придётся кашу варить.
> ответа на вопрос, как сделать диагностику несовместимости API перед
> запуском программы, а не в момент вызова функции - зато рассказывали о
Несовместимость на уровне семантики никак проверить нельзя.
Несовместимость на уровне сигнатуры функции в C++ хорошо проверяется
за счёт symbol mangling. В Си такого нет, можно попробовать извлекать
прототипы функций из хедеров. perldoc h2xs.
> P.S. Ткните, пожалуйста, меня в описание методик отслеживания изменений
> API/ABI в языках, отличных от C/C++. Меня интересуют Scheme, Perl,
> Python, Ruby. Спасибо.
А методика простая. Сначала делается дамп API/ABI для версии 1.0.
Потом делается дамп API/ABI для версии 2.0. Потом запускается чудная
команда diff.
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 189 байтов
Описание: отсутствует
Url : http://lists.altlinux.ru/pipermail/sisyphus/attachments/20050914/73e49640/attachment.bin
Подробная информация о списке рассылки Sisyphus