|
|
  |
GNU Tools for ARM Embedded Processors 4.8 - 2013q4-20131204 |
|
|
|
Dec 11 2014, 11:24
|

неотягощённый злом
     
Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643

|
Цитата(Aner @ Dec 10 2014, 22:45)  1) На чем, на каком коду, на каком проце сравнивалось? Чтобы понять откуда это 500 получилось. 2) Сравнивали с кейлом, иаром? На сколько больший код с gcc? Причём тут кейл и иар? Ветка о GNU'тых средствах разработки... Cравнивал на одном из своих проектов под stm32f103. Для особо любопытных детали: arm-gcc-none-eabi-4.7.4 размер секции text 28340 arm-gcc-none-eabi-4.8.4 размер секции text 26444 arm-gcc-none-eabi-4.9.3 размер секции text 25932 Сравнивать с keil и iar не вижу смысла, т.к. уже давным давно с ними завязал ввиду отсутствия желания порить себе карму крякнутым софтом. Да и на тот момент по моим замерам gcc был как минимум не хуже keil...
--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
|
|
|
|
|
Apr 7 2015, 12:54
|

Местный
  
Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091

|
Цитата(demiurg_spb @ Apr 6 2015, 19:16)  5 марта вышел очередной релиз arm-gcc-none-eabi-4.9.3 На launchpad.net по приведенной ссылке смотрю ReleaseNotes. Там указано, что собрано из ветки http://gcc.gnu.org/svn/gcc/branches/ARM/embedded-4_9-branch/. Открываю эту ветку и смотрю ChangeLog: Код 2014-12-04 Tobias Burnus <burnus@net-b.de>
* configure.ac: Permit also ISL 0.14 with CLooG. * Makefile.def: Make more dependent on mpfr, mpc, isl, and cloog. * Makefile.in: Regenerate. * configure: Regenerate.
2014-10-30 Release Manager
* GCC 4.9.2 released. То есть это gcc-4.9.2 с косметическими изменениями от декабря прошлого года. Поправьте меня если я ошибаюсь... На gcc.gnu.org до сих пор последним релизом числится 2.9.2, на официальном ftp и нескольких зеркалах, на которые я зашел, никакого 4.9.3 нет, только 4.9.2... Откуда Вы вообще взяли, что был релиз 4.9.3?
--------------------
Всего наилучшего, Alex Mogilnikov
|
|
|
|
|
Apr 7 2015, 13:32
|

неотягощённый злом
     
Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643

|
Цитата(alx2 @ Apr 7 2015, 15:54)  Откуда Вы вообще взяли, что был релиз 4.9.3? arm-none-eabi-gcc -v Код Using built-in specs. COLLECT_GCC=Z:\gcc\arm-gcc-none-eabi\bin\arm-none-eabi-gcc.exe COLLECT_LTO_WRAPPER=z:/gcc/arm-gcc-none-eabi/bin/../lib/gcc/arm-none-eabi/4.9.3/lto-wrapper.exe Target: arm-none-eabi Configured with: /home/build/work/GCC-4-9-build/src/gcc/configure --build=i686-linux-gnu --host=i686-w64-mingw32 --target=arm-none-eabi --prefix=/home/build/work/GCC-4-9-build/install-mingw --libexecdir=/home/build/work/GCC-4-9-build/install-mingw/lib --infodir=/home/build/work/GCC-4-9-build/install-mingw/share/doc/gcc-arm-none-eabi/info --mandir=/home/build/work/GCC-4-9-build/install-mingw/share/doc/gcc-arm-none-eabi/man --htmldir=/home/build/work/GCC-4-9-build/install-mingw/share/doc/gcc-arm-none-eabi/html --pdfdir=/home/build/work/GCC-4-9-build/install-mingw/share/doc/gcc-arm-none-eabi/pdf --enable-languages=c,c++ --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-headers=yes --with-newlib --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/home/build/work/GCC-4-9-build/install-mingw/arm-none-eabi --with-libiconv-prefix=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-gmp=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-mpfr=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-mpc=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-isl=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-cloog=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-libelf=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-pkgversion='GNU Tools for ARM Embedded Processors' --with-multilib-list=armv6-m,armv7-m,armv7e-m,cortex-m7,armv7-r Thread model: single gcc version 4.9.3 20150303 (release) [ARM/embedded-4_9-branch revision 221220] (GNU Tools for ARM Embedded Processors)
--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
|
|
|
|
|
Apr 8 2015, 05:46
|

Местный
  
Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091

|
Цитата(scifi @ Apr 7 2015, 20:20)  Поправляю: см. историю ветки ARM/embedded-4_9-branchТам много чего есть, причём подозреваю, что большая часть изменений кроется за "Sync with upstream 4.9 branch". Хм... Действительно. Спасибо за подсказку. Да, изменения не косметические. Решил посмотреть содержимое ветки более детально. Смотрю, что написано в gcc/BASE-VER: действительно, там стоит 4.9.3, аж с ноября прошлого года. Смотрю, что написано в gcc/DEV-PHASE: prerelease. Опять же, поправьте меня если я ошибаюсь, но из написанного выше следует, что релиза 4.9.3 еще не было. Почему у уважаемого demiurg_spb gcc пишет, что он release, я не знаю... Ну и до кучи, здесь: https://gcc.gnu.org/gcc-4.9/index.html о релизе 4.9.3 тоже ничего нет. ..
--------------------
Всего наилучшего, Alex Mogilnikov
|
|
|
|
|
Apr 8 2015, 06:19
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(alx2 @ Apr 8 2015, 08:46)  Смотрю, что написано в gcc/BASE-VER: действительно, там стоит 4.9.3, аж с ноября прошлого года. Смотрю, что написано в gcc/DEV-PHASE: prerelease. Опять же, поправьте меня если я ошибаюсь, но из написанного выше следует, что релиза 4.9.3 еще не было. Почему у уважаемого demiurg_spb gcc пишет, что он release, я не знаю... Вы смотрите на объявления о релизах для основной ветки (trunk). Там релизы происходят шумно под звуки фанфар и аплодисменты. Ветка ARM/embedded-4_9-branch живёт несколько отдельной жизнью, поэтому сабантуй по поводу изменения номера версии никто не устраивает. Это моё ИМХО, если что.
|
|
|
|
|
Apr 8 2015, 08:24
|

неотягощённый злом
     
Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643

|
Цитата(AHTOXA @ Apr 8 2015, 11:22)  Я -O3 использую и такие ключи для оптимизации: Код CFLAGS += -flto CFLAGS += -fomit-frame-pointer CFLAGS += -falign-functions=16 CFLAGS += -fgraphite CFLAGS += -funroll-loops CFLAGS += -fno-math-errno CFLAGS += -ffunction-sections CFLAGS += -fdata-sections И такие ключи для линкера: Код LDFLAGS += -nostartfiles LDFLAGS += -nodefaultlibs LDFLAGS += --specs=nano.specs
ifeq ($(DEBUG_BUILD),1) LDFLAGS += -u _printf_float endif
LDFLAGS += -Wl,--relax LDFLAGS += -Wl,--gc-section LDFLAGS += -Wl,--static LDFLAGS += -Wl,--start-group LDFLAGS += -lm -lc -lgcc -lnosys LDFLAGS += -Wl,--end-group
--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
|
|
|
|
|
Apr 8 2015, 08:31
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
C -O3 разница ещё больше: было 55948, стало 59884. Мои флаги: Код CXXFLAGS += -std=c++11 CXXFLAGS += -fno-exceptions -fno-rtti CXXFLAGS += -ffunction-sections -fdata-sections CXXFLAGS += -funsigned-bitfields -fshort-enums (LTO у меня не работает, не видит вызовов функций из инлайн-ассемблера). -- Посмотрел с -Os: 43388/43524. Видимо, убрали какую-то проблемную оптимизацию. Вероятно, в плюсах.
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|