|
IAR ARM C 4.20a - bug |
|
|
|
May 25 2005, 03:28
|

Знающий
   
Группа: Свой
Сообщений: 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\]
--------------------
Пасу котов...
|
|
|
|
|
 |
Ответов
|
Jun 2 2005, 03:34
|

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

|
Цитата(IgorKossak @ Jun 1 2005, 19:46) Цитата(Andy Mozzhevilov @ Jun 1 2005, 08:56) А как Вы им сообщили о баге? на support@iar.se
--------------------
Пасу котов...
|
|
|
|
Сообщений в этой теме
Andy Mozzhevilov IAR ARM C 4.20a - bug May 25 2005, 03:28 Master Цитата(Andy Mozzhevilov @ May 25 2005, 06:28)... May 26 2005, 09:09 Andy Mozzhevilov bug report я отослал. вопрос в том, обратят ли они... May 27 2005, 04:02 Muxa Друзья. раз уж разговор о версии 4.30A
мне показал... Aug 5 2005, 01:50 Andrey Sudnov Цитата(Muxa @ Aug 5 2005, 06:50)Друзья. раз у... Aug 10 2005, 13:45  Muxa Цитата(Andrey Sudnov @ Aug 10 2005, 16:45)Цит... Aug 10 2005, 23:45   Ёрген Re: в начале обработчика групповой push в списке к... Aug 11 2005, 03:18    Muxa Цитата(Ёрген @ Aug 11 2005, 06:18)Re: в начал... Aug 11 2005, 23:44
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|