Bug 5791 - rpm macros for CXXABI
: rpm macros for CXXABI
Status: CLOSED NOTABUG
: Sisyphus
(All bugs in Sisyphus/libstdc++4.1-devel)
: unstable
: all Linux
: P3 enhancement
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2004-12-28 19:58 by
Modified: 2008-10-20 14:05 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2004-12-28 19:58:32
Позарез надо rpm макрос для определения CXXABI, т.к. временный workaround для 
Qt3 уже не подойдет для Qt4 из-за приближающейся возможности сменя ABI у 
libstdc++
------- Comment #1 From 2004-12-28 20:24:15 -------
Что за макрос нужен?
------- Comment #2 From 2004-12-28 21:51:28 -------
Чтобы при сборке с libstdc++ (любой) возвращал либо пусто либо версию ABI 
Конкретно для текущей Qt3 c libstdc++3.3 нужно получить откуда то строку 
"CXXABI_1.2" 

Только, вот непонятно как отследить, если Qt начнет цепляться к 
CXXABI_1.2.1 :-( 
------- Comment #3 From 2004-12-28 21:58:47 -------
Почему именно эту строку, а не какую-нибудь другую?
В чём суть того ABI change, которого ты опасаешься?
------- Comment #4 From 2004-12-29 13:38:04 -------
Когда qt пересобрана с новым ABI. а kdelibs ещё нет, то пакеты встанут, но 
работать не будут. 
------- Comment #5 From 2004-12-29 13:38:55 -------
Все-таки, наверное проще вручную старым способом делать. 
------- Comment #6 From 2004-12-29 14:17:08 -------
Что за новый ABI?
------- Comment #7 From 2004-12-29 14:23:00 -------
(In reply to comment #6) 
> Что за новый ABI? 
х.з. 1.2.2 например 
Все-таки перестал я видеть смысл в таком макросе, т.к. до сборки библиотеки 
всё, что нужно не вычислить, а после уже поздно :-( 
В смысле, не вычислить, какие ABI qt зацепит. 
 
------- Comment #8 From 2004-12-29 16:10:54 -------
Ага, понятно: libstdc++.so.6
Но я всё равно не понимаю, что за макрос тебе нужен.
------- Comment #9 From 2004-12-29 17:24:39 -------
(In reply to comment #8) 
> Но я всё равно не понимаю, что за макрос тебе нужен. 
Чтобы более красивые и правильные символы экспортить, чем 
rpm -q --provides libqt3| grep CXX 
 
Если бы только один ABI был, а так их теоретически плавающее число может 
цепляться, так что проще вручную будет наверное. 
 
------- Comment #10 From 2005-01-14 13:08:57 -------
Короче говоря, макрос пока не нужен.
------- Comment #11 From 2005-12-08 17:49:21 -------
gcc-4 уже близко 
нужен макрос, который выводит список CXXABI_* для текущей библиотеки libstdc++ 
------- Comment #12 From 2005-12-08 17:57:22 -------
Хотя, возможно, нужно макрос бы для вывода списка CXXABI, которые зацепила 
конкретная библиотека/программа 
------- Comment #13 From 2008-10-18 16:03:10 -------
(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 

Какой тебе нужен макрос?
------- Comment #14 From 2008-10-20 14:05:37 -------
Да я уже и сам не знаю :-(