реклама на сайте
подробности

 
 
> IAR ARM C 4.20a - bug
Andy Mozzhevilov
сообщение May 25 2005, 03:28
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



Потратил день времени на вылавливание следующего бага:

short mamont[128];
char slon1;
char slon2;

void mamont_init(void)
{
mamont[0] = 1;
slon1 = 0;
slon2 = 0;
}
\ mamont:
\ 00000000 DS8 256
2 char slon1;
\ slon1:
\ 00000100 DS8 1
3 char slon2;
\ slon2:
\ 00000101 DS8 1
4
...
5 void mamont_init(void)
6 {
7 mamont[0] = 1;
\ ??mamont_init:
\ 00000000 10009FE5 LDR R0,??mamont_init_1 ;; mamont
\ 00000004 0110A0E3 MOV R1,#+0x1
\ 00000008 B010C0E1 STRH R1,[R0, #+0]
8 slon1 = 0;
\ 0000000C 0010A0E3 MOV R1,#+0x0
\ 00000010 B010C0E1 STRH R1,[R0, #+256]
9 slon2 = 0;

slon1 и slon2 располагаются в памяти рядом. Компилятор, начиная с уровня оптимизации 6, считает, что раздельное обнуление этих переменных через STRB можно соптимизировать в одно обращение через STRH сразу для обеих переменных. При этом несколько забывая, что для STRH максимальный оффсет задается 8 битами и не может превышать 255. Баг проявляется, если нужно смещение 256,
если оффсет нужен больше, то там все нормально. В 4.11a этого бага нет.
regexp для поиска этого бага в lst файлах :
STRH R.+,\[R.+, #\+256\]


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Andy Mozzhevilov
сообщение Jun 1 2005, 05:56
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



Ответ IAR:

Thank for letting us know about this bug. The bug report have
been filed and the ID is EW16885. As we are going to make a
new version (4.30A) late in June, will we be able to correct this
bug quickly. Thank you once more.

-----

The Product Manager for EWARM got back to me and told
me that the work around is to turn of clustering when using
the higher optimizations.

Ну это понятно, но тогда код пухнет значительно.


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 09:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.0139 секунд с 7
ELECTRONIX ©2004-2016