-
- про s0/fp не скажу - нужно компилять тестовые коды и смотреть асм на выходе. изучать. - klen(Сегодня, 21:45)
- Дык, он-жэ написал, что можно располагать данные в спецсекции, с
помощью аттрибута и менять ГП. - mse homjak(Сегодня, 21:34)
- да! и делать это о-о-о-очень аккуратно! чтоб не потерять $gp
вызывающего кода иначе он рухнет. поэтому ОС и ОС подобные либы,
код с ипользованием longjump/setjump прочей подобной ересью
необходимо собирать ключами -msmall-data-limit=0, -Wl,--no-relax, c обязательным контролем
асма на предмет использования $gp - klen(Сегодня, 21:43)
- Кстате, меня терзанули смутные сомненья нащщот gp в листинге.
Открыл и вотонооно! Это обычный прожэкт в МРС-1, я к этому никаких
усилий не прилагал. Однако-ж: mse homjak(360 знак., Сегодня, 22:03)
- это не все, скрип линкера важное звено - в нем определяется на этапе линковки чем будет по жизни фраза "la gp, __global_pointer$", кто то должен был написать в crt код с этой фразой, скрипт линкера и дать ключ --relax - поэтому неавтоматически, компиллер этого сам не сделает. Похоже вы взяли готовый шаблон MRS проекта где это настроено за вас. в посте я расписал как это сделать с нуля. - klen(Сегодня, 22:54)
- Кстате, меня терзанули смутные сомненья нащщот gp в листинге.
Открыл и вотонооно! Это обычный прожэкт в МРС-1, я к этому никаких
усилий не прилагал. Однако-ж: mse homjak(360 знак., Сегодня, 22:03)
- да! и делать это о-о-о-очень аккуратно! чтоб не потерять $gp
вызывающего кода иначе он рухнет. поэтому ОС и ОС подобные либы,
код с ипользованием longjump/setjump прочей подобной ересью
необходимо собирать ключами -msmall-data-limit=0, -Wl,--no-relax, c обязательным контролем
асма на предмет использования $gp - klen(Сегодня, 21:43)