[sisyphus] ABI/API changes
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Ср Сен 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.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20050914/73e49640/attachment-0003.bin>
Подробная информация о списке рассылки Sisyphus