LINUX.ORG.RU

gcc -dumpversion работает по-разному в 4.5/4.6

 


0

1
testuser@ruhor:~$ g++-4.5 -dumpversion
4.5.3
testuser@ruhor:~$ g++-4.6 -dumpversion
4.6
testuser@ruhor:~$ g++-4.6 --version
g++-4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3

testuser@ruhor:~$ g++-4.5 --version
g++-4.5 (Ubuntu/Linaro 4.5.3-12ubuntu2) 4.5.3

Вопрос - зачем они формат dumpversion поменяли? Или, хотя бы, где можно найти ответ на этот вопрос?

★★★★★

А patch-номер может использоваться для чего-то полезного? Есть проекты, где требуется компилятор не gcc-4.6+, а gcc-4.6.2+?

Гугл выдаёт, что -dumpversion патчится дистрибутивом. В дебиане, 4.6, 4.7 уже по сокращённой схеме.

gag ★★★★★
()
Ответ на: комментарий от gag

-dumpversion патчится дистрибутивом

Не нашёл такого, можно ссылку?

Я видел только, что ванильный всегда выдаёт с патчем. Получается, так и есть - у меня 4.5.2 самособранный. Короче, кто как соберёт, в дистрибутивах по-своему.

Принципиальной разницы мне нет, просто был баг в чужом cmake-е. Стало интересно, отчего такие различия. Зачем в дистрибутивах (проверил сейчас на убунте и сусе) меняют.

queen3 ★★★★★
() автор топика
Ответ на: комментарий от mr_doug

А то, что ванильный выдает 3.0.x.

queen3 ★★★★★
() автор топика

ась?

[ megabaks@desktop ] ~ $ g++
g++        g++-4.4.7  g++-4.5.4  g++-4.6.3  g++-4.7.2  
[ megabaks@desktop ] ~ $ g++-4.5.4 -dumpversion
4.5.4
[ megabaks@desktop ] ~ $ g++-4.6.3 -dumpversion
4.6.3
[ megabaks@desktop ] ~ $ g++-4.7.2 -dumpversion
4.7.2
[ megabaks@desktop ] ~ $
гента

megabaks ★★★★
()

server ~ # g++-4.6.3 -dumpversion
4.6.3
server ~ # g++-4.6.3 --version
g++-4.6.3 (Gentoo 4.6.3 p1.5, pie-0.5.2) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

devl547 ★★★★★
()
Ответ на: комментарий от megabaks

А в убунте/сусе 4.5, например. Кто как соберёт. Вот меня и интересует - зачем они это делают, есть ли флаг ./configure для этого какой, или они даже патчи накатывают специально...

queen3 ★★★★★
() автор топика
Ответ на: комментарий от megabaks
+-	  -DDEFAULT_TARGET_VERSION=\«$(version)\» \
++ -DDEFAULT_TARGET_VERSION=\«$(short_version)\» \



Вот, заменили, этот дефайн используется в gcc.c в char *spec_version, которая и возвращается как -dumpversion.

Но это не то, интересно было бы увидеть коммит или коммент к патчу, зачем. Впрочем, они вообще мудрят с версиями, например:

+-version := $(shell $(CC) -dumpversion)
++version := $(shell cat $(srcdir)/../gcc/BASE-VER)


А впрочем это для go, мда.

queen3 ★★★★★
() автор топика
Последнее исправление: queen3 (всего исправлений: 1)
Ответ на: комментарий от queen3

зачем

опенсоурс он такой, бессмысленный и беспощадный.

true_admin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.