Отговори на тема  [ 2 мнения ] 
Странности при компилиране за Renesas RL78 с KPIT 
Автор Съобщение
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Пет Юли 01, 2005 10:46 pm
Мнения: 229
Местоположение: Гложене/София
Мнение Странности при компилиране за Renesas RL78 с KPIT
Някой да е настъпвал мотика с неправилно link-ване за Renesas RL78 при работа с KPIT GNU?
Имаме функция от вида:
Код:
DoSomething(char * argument)
{
    strcpy(somewhere, argument);
    DoAnotherThings();
}


Кода е от вида на:
Код:
    DoSomething("blabla");
    Func1();
    Func2();
    DoSomething("ala bala");


Първото извикване работи коректно в повечето случаи.
Следващото извикване, работи полу коректно или изобщо не работи.
Като под полу коректно разбираме това, че като спрем с брейкпойнт в DoSomething, стринга argument е до някъде верен, след това в него има глупости.
Изобщо неработи - като спрем с брейкпоинт в DoSomething - стринга argument е празен - т.е. пълен с нули.

Между двете извиквания няма шанс да омажем паметта.
И вече по-интересното е, че при дизасемблиране, се вижда, че не инициализира стринга в стека от правилното място, а примерно го инициализира от някой друг буфер в програмата, или дори първо го пълни от адресите на няколко променливи, след това го допълва от някой буфер.
Вградени функции като atof, isdigit в един момент също спряха да работят. След неизвестен брои прекомпилирания и мамата го докарвахме да работят понякога.
В общи линии прилича на неправилно link-ване, ама не се сещам какво да му направим.
Работим с Renesas E2 Studio, KPIT последна им версия, и също така пробвахме три версии назад спрямо последната на KPIT.
За съжаление не е ясно как го предизвикахме, защото до известно време вероятно работеше нормално, т.е. може да е имало някакви такива неща, но да не сме ги забелязали и да сме ги отдавали на други бъгове.


Пон Авг 10, 2015 2:53 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Ное 22, 2004 11:24 pm
Мнения: 1923
Местоположение: Габрово
Мнение Re: Странности при компилиране за Renesas RL78 с KPIT
Aз си мислех, че са го оправили за толкова години от как са платинен партньор на Renesas. :D
Индийци...
Това не е само при RL78, и при RX62 ги има тези номера.


Ползвайте компилатора на Renesas.


Пон Авг 10, 2015 3:40 pm
Профил ICQ
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 2 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 7 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни