Summary: | rpm macros for CXXABI | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Sergey V Turchin <zerg> |
Component: | libstdc++4.1-devel | Assignee: | Dmitry V. Levin <ldv> |
Status: | CLOSED NOTABUG | QA Contact: | qa-sisyphus |
Severity: | enhancement | ||
Priority: | P3 | CC: | glebfm |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
Sergey V Turchin
2004-12-28 19:58:32 MSK
Что за макрос нужен? Чтобы при сборке с libstdc++ (любой) возвращал либо пусто либо версию ABI Конкретно для текущей Qt3 c libstdc++3.3 нужно получить откуда то строку "CXXABI_1.2" Только, вот непонятно как отследить, если Qt начнет цепляться к CXXABI_1.2.1 :-( Почему именно эту строку, а не какую-нибудь другую? В чём суть того ABI change, которого ты опасаешься? Когда qt пересобрана с новым ABI. а kdelibs ещё нет, то пакеты встанут, но работать не будут. Все-таки, наверное проще вручную старым способом делать. Что за новый ABI? (In reply to comment #6) > Что за новый ABI? х.з. 1.2.2 например Все-таки перестал я видеть смысл в таком макросе, т.к. до сборки библиотеки всё, что нужно не вычислить, а после уже поздно :-( В смысле, не вычислить, какие ABI qt зацепит. Ага, понятно: libstdc++.so.6 Но я всё равно не понимаю, что за макрос тебе нужен. (In reply to comment #8) > Но я всё равно не понимаю, что за макрос тебе нужен. Чтобы более красивые и правильные символы экспортить, чем rpm -q --provides libqt3| grep CXX Если бы только один ABI был, а так их теоретически плавающее число может цепляться, так что проще вручную будет наверное. Короче говоря, макрос пока не нужен. gcc-4 уже близко нужен макрос, который выводит список CXXABI_* для текущей библиотеки libstdc++ Хотя, возможно, нужно макрос бы для вывода списка CXXABI, которые зацепила конкретная библиотека/программа (In reply to comment #12) > Хотя, возможно, нужно макрос бы для вывода списка CXXABI, которые зацепила > конкретная библиотека/программа $ objdump -p /usr/lib64/libstdc++.so.6 |sed -n '/^Version definitions:$/,/^$/p' Version definitions: 1 0x01 0x025f4d66 libstdc++.so.6 2 0x00 0x08922974 GLIBCXX_3.4 3 0x00 0x02297f81 GLIBCXX_3.4.1 GLIBCXX_3.4 4 0x00 0x02297f82 GLIBCXX_3.4.2 GLIBCXX_3.4.1 5 0x00 0x02297f83 GLIBCXX_3.4.3 GLIBCXX_3.4.2 6 0x00 0x02297f84 GLIBCXX_3.4.4 GLIBCXX_3.4.3 7 0x00 0x02297f85 GLIBCXX_3.4.5 GLIBCXX_3.4.4 8 0x00 0x02297f86 GLIBCXX_3.4.6 GLIBCXX_3.4.5 9 0x00 0x02297f87 GLIBCXX_3.4.7 GLIBCXX_3.4.6 10 0x00 0x02297f88 GLIBCXX_3.4.8 GLIBCXX_3.4.7 11 0x00 0x02297f89 GLIBCXX_3.4.9 GLIBCXX_3.4.8 12 0x00 0x0297f860 GLIBCXX_3.4.10 GLIBCXX_3.4.9 13 0x00 0x056bafd3 CXXABI_1.3 14 0x00 0x0bafd171 CXXABI_1.3.1 CXXABI_1.3 15 0x00 0x0bafd172 CXXABI_1.3.2 CXXABI_1.3.1 Какой тебе нужен макрос? Да я уже и сам не знаю :-( |