|
MSP-GCC 4. Кто-нибудь пробовал?, Случайно наткнулся:) |
|
|
|
Oct 6 2009, 11:27
|

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

|
http://mspgcc4.sourceforge.net/Пишут, что Цитата GCC 4.x has several advantages over the old 3.2.3 branch. Here are the most important: - Better optimization. The generated code is typically 7%-10% smaller than code generated by MSPGCC-3.2.3
- Better debug info support. The objdump utility displays the mixed assembly/code correctly.
- Better C++ and inlining support. Unused local variables are automatically filtered out. Inline functions are implemented in a much more compact way.
- Support for various handy features. For example, gcc 4.3 correctly handles the #pragma once statements.
- Additionally, the MSPGCC4 port fixes the data-sections bug present in all original MSPGCC versions, allowing using -ffunction-sections and -fdata-sections switches.
Насчёт -ffunction-sections and -fdata-sections врут похоже, у меня и с ними и в текущем msp-gcc нет проблем. Короче, если кто-то пробовал, поделитесь пожалуйста впечатлениями.
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
 |
Ответов
|
May 21 2010, 13:06
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Нашёл предварительно, где копать: stdlib.h: Код extern __inline__ int abs(int __x) __ATTR_CONST__; extern __inline__ int abs(int __x) { return (__x < 0) ? -__x : __x; } extern __inline__ long labs(long __x) __ATTR_CONST__; extern __inline__ long labs(long __x) { return (__x < 0) ? -__x : __x; } Ну и каким местом он влезает во все модули, где есть stdlib.h ? Посмотрел, в старой версии этот файл один-в-один Таки победил  Пришлось extern __inline__ заменить на static __inline__ Цитата Build project 9010U - OK. text data bss dec hex filename 20191 72 742 21005 520d 9010U.elf msp430-gcc (MSPGCC4_r4-20100210) 4.4.3 Copyright © 2010 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. Ну ничего себе "Better optimization. The generated code is typically 7%-10% smaller than code generated by MSPGCC-3.2.3" - 20k против 12 от предыдущей версии!
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
May 21 2010, 13:14
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(MrYuran @ May 21 2010, 15:48)  Ну и каким местом он влезает во все модули, где есть stdlib.h ? Посмотрел, в старой версии этот файл один-в-один Сочетание extern и __inline__ выглядит, мягко говоря, странным. Возможно старый и новый компиляторы трактуют __inline__ по-разному или в новых заголовочниках где-нибудь стоит строка Код #define __inline__ Цитата(MrYuran @ May 21 2010, 16:06)  20k против 12 от предыдущей версии! Так там еще куча ключей должна была добавиться. Возможно с ними и получше будет. Пробуйте вот с этими поиграться: Код #CFLAGS += -fno-ivopts CFLAGS += -fno-tree-scev-cprop #CFLAGS += -fno-split-wide-types CFLAGS += -fno-inline-small-functions CFLAGS += -fno-inline-functions
#adjust --param inline-call-cost= to get minimal code size CFLAGS += --param inline-call-cost=1 #CFLAGS += -fno-reorder-blocks #CFLAGS += -fno-reorder-blocks-and-partition #CFLAGS += -fno-reorder-functions #CFLAGS += -fno-toplevel-reorder CFLAGS += -fno-move-loop-invariants #CFLAGS += -fno-unroll-loops #CFLAGS += -fno-unroll-all-loops #CFLAGS += --param max-unroll-times=0 Очень влияет --param inline-call-cost=, причем на разных исходниках оптимум дают разные значения.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
May 21 2010, 13:19
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(Сергей Борщ @ May 21 2010, 17:14)  Сочетание extern и __inline__ выглядит, мягко говоря, странным. Ну, не я ж это придумал! За ключики спасибо, буду играться. Предыдущий результат был с -O3. -Os даёт 13к против 12.7к, опять не в пользу 4 версии  Так и не понял, к какому месту DWARF2 прикручивать... Но в целом прогресс (с прошлого года) заметен. Даже установщик кой-какой приделали. В файлах периферии виднеются F5xx, СС430 и G2xx Да, и это надо ещё на железке прогнать. Старый компилятор, хоть и не без глюков, но собирал рабочие бинарники. Этот - пока не знаю.
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
Сообщений в этой теме
AHTOXA MSP-GCC 4. Кто-нибудь пробовал? Oct 6 2009, 11:27 Ko4egap Отличная новость! Завтра буду пробовать. Надею... Oct 11 2009, 08:23 mdmitry Цитата(Ko4egap @ Oct 11 2009, 12:23) Отли... Oct 11 2009, 19:02 MrYuran Выкачал, стал запускать - пишет, мол, файл исполня... Nov 1 2009, 13:32 AHTOXA Цитата(MrYuran @ Nov 1 2009, 18:32) Радуе... Nov 1 2009, 21:27  MrYuran Цитата(AHTOXA @ Nov 2 2009, 00:27) Наскол... Nov 2 2009, 06:07   mdmitry Цитата(MrYuran @ Nov 2 2009, 09:07) Кстат... Nov 2 2009, 12:22    MrYuran Цитата(mdmitry @ Nov 2 2009, 15:22) У IAR... Nov 2 2009, 12:39     mdmitry Цитата(MrYuran @ Nov 2 2009, 15:39) Ну та... Nov 2 2009, 16:29 MrYuran Таки распаковал... Йошкин кот!
265 МЕТРОВ... Nov 6 2009, 10:14 mdmitry Цитата(MrYuran @ Nov 6 2009, 13:14) Кстат... Nov 6 2009, 12:45 Сергей Борщ Цитата(MrYuran @ Nov 6 2009, 12:14) Кстат... Nov 6 2009, 13:09 MrYuran CODE#if !defined(__msp430_headers_usci_h__)
#d... Nov 6 2009, 12:49 mdmitry Цитата(MrYuran @ Nov 6 2009, 15:49) CODE#... Nov 6 2009, 13:56  Сергей Борщ Цитата(mdmitry @ Nov 6 2009, 15:56) Для э... Nov 6 2009, 15:10   mdmitry Цитата(Сергей Борщ @ Nov 6 2009, 18:10) Т... Nov 6 2009, 15:46    Сергей Борщ Цитата(mdmitry @ Nov 6 2009, 17:46) Имеет... Nov 6 2009, 16:45     mdmitry Цитата(Сергей Борщ @ Nov 6 2009, 19:45) Н... Nov 6 2009, 17:25      Сергей Борщ Цитата(mdmitry @ Nov 6 2009, 19:25) Получ... Nov 6 2009, 18:03       mdmitry Цитата(Сергей Борщ @ Nov 6 2009, 21:03) В... Nov 6 2009, 21:25        Сергей Борщ Цитата(mdmitry @ Nov 6 2009, 23:25) msp43... Nov 7 2009, 07:45         mdmitry Цитата(Сергей Борщ @ Nov 7 2009, 10:45) В... Nov 7 2009, 14:08          Сергей Борщ Цитата(mdmitry @ Nov 7 2009, 16:08) Хочет... Nov 7 2009, 18:33 MrYuran Таки попробовал...
Компилятор что-то компилит.
А в... May 21 2010, 11:41 AHTOXA Цитата(MrYuran @ May 21 2010, 19:06) Ну н... May 21 2010, 13:22  demiurg_spb Цитата(AHTOXA @ May 21 2010, 17:22) Это о... May 21 2010, 14:01   MrYuran Цитата(demiurg_spb @ May 21 2010, 18:01) ... May 24 2010, 09:37    demiurg_spb Цитата(MrYuran @ May 24 2010, 13:37) По о... May 24 2010, 10:40     AHTOXA Цитата(MrYuran @ May 24 2010, 15:37) По о... May 24 2010, 13:50      MrYuran Цитата(AHTOXA @ May 24 2010, 17:50) Круто... May 25 2010, 05:43       demiurg_spb Цитата(MrYuran @ May 25 2010, 09:43) Тако... May 25 2010, 09:24        MrYuran Цитата(demiurg_spb @ May 25 2010, 13:24) ... May 25 2010, 09:40         demiurg_spb Давайте посмотрим на всю стоку целиком.
Вот как у ... May 25 2010, 10:00 MrYuran ЦитатаЗа ключики спасибо, буду играться.
КодBuild ... May 21 2010, 13:34 MrYuran А как заставить make выводить весь поток полностью... May 25 2010, 10:23 AHTOXA make -n ? May 25 2010, 10:28 demiurg_spb Цитата(MrYuran @ May 25 2010, 14:23) А ка... May 25 2010, 11:33 MrYuran Цитатаd:\WORK\PROJECTS\MARK-1002T... May 25 2010, 10:55 MrYuran Короче, я понял.
Он все секции мапит на 0x0000, в ... May 25 2010, 12:06 MrYuran Противоречивые какие-то чувства навевает...
Поигра... Jun 11 2010, 13:29 demiurg_spb Цитата(MrYuran @ Jun 11 2010, 17:29) если... Jun 13 2010, 11:08 MrYuran ААААААААААААААААААААААААААААААА!!!... Jun 17 2010, 07:31 MrYuran Вот кстати интересно:
Кто структуры пакует - компи... Jun 17 2010, 08:45 demiurg_spb Про упаковку всех структур:
КодCFLAGS += -fpack-st... Jun 17 2010, 09:25  MrYuran Цитата(demiurg_spb @ Jun 17 2010, 13:25) ... Jun 17 2010, 09:31   Сергей Борщ Цитата(MrYuran @ Jun 17 2010, 12:31) Ура,... Jun 17 2010, 12:34    MrYuran Цитата(Сергей Борщ @ Jun 17 2010, 16:34) ... Jun 17 2010, 15:49 MrYuran Перекомпилил старый ИАРовский прожект, который ран... Jul 6 2010, 06:41 MrYuran В последнее время проект реанимирован, произошло (... Apr 5 2012, 06:16 MrYuran Попробовал дополнительные ключики
ЦитатаCFLAGS += ... Apr 5 2012, 07:40 AHTOXA Это про какой mspgcc? Про просто mspgcc или про ms... Apr 5 2012, 07:59  MrYuran Цитата(AHTOXA @ Apr 5 2012, 11:59) Это пр... Apr 5 2012, 08:21   AHTOXA А, ну с этим мы уже немножко познакомились Apr 5 2012, 08:32    MrYuran Цитата(AHTOXA @ Apr 5 2012, 12:32) А, ну ... Apr 5 2012, 08:36 MrYuran Попробовали крайнюю версию 4.6.2 - опять -combine ... Apr 5 2012, 10:54 AHTOXA Цитата(MrYuran @ Apr 5 2012, 14:36) Там ч... Apr 5 2012, 13:02 MrYuran Цитата(AHTOXA @ Apr 5 2012, 17:02) Глюки ... Apr 6 2012, 09:44 MrYuran Сегодня обнаружил эпический глюк в этой версии.
Вс... May 24 2012, 09:01 alx2 Цитата(MrYuran @ May 24 2012, 14:01) Сего... May 25 2012, 03:25  MrYuran Цитата(alx2 @ May 25 2012, 07:25) Если ош... May 25 2012, 05:04   Сергей Борщ Давно не работаю с MSP, но при беглом просмотре бр... May 25 2012, 06:27   alx2 Цитата(MrYuran @ May 25 2012, 10:04) При ... May 28 2012, 05:07 MrYuran Вот листинг старой версии (трэш и угар но работае... May 25 2012, 08:05 Сергей Борщ QUOTE (MrYuran @ May 25 2012, 11:05) Попу... May 25 2012, 08:59
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|