Product SiteDocumentation Site

6.3. Збірка компіляторів GCC

gcc було оновлено з версії 4.4.2 до версії 4.4.3. Зокрема оновлено gcc, gcc-c++, gcc-fortran, gcc-gnat, і gcc-objc.

6.3.1. GCC тепер використовує неявне компонування DSO

Ключові моменти:
  1. ld більше не виконує автоматичного пошуку у залежностях компонованих об’єктів.
  2. Якщо вашим проектом використовуються дві бібліотеки A і B, його не можна буде зібрати, якщо A і B не скомпоновано явним чином.
  3. Докладніші пояснення можна знайти на сторінці можливостей GCC вікі Fedora: http://fedoraproject.org/w/index.php?title=UnderstandingDSOLinkChange.
Через зміни, якщо ваш пакунок не вдається зібрати з повідомленнями подібними до:
/usr/bin/ld: gpx-parser.o: undefined reference to symbol 'acos@@GLIBC_2.0'
/usr/bin/ld: note: 'acos@@GLIBC_2.0' is defined in DSO /lib/libm.so.6 so try adding it to the linker command line
Тоді рядок, який збирає вказаний .o має явним чином компонувати libm.

6.3.2. _builtin_stdarg_start було повністю вилучено з gcc 4.4.3.

_builtin_stdarg_start повертатиме невизначене посилання на _builtin_stdarg_start через те, що <stdarg.h> вважається у gcc 4.x застарілим. Його замінено на _builtin_va_start.