Board.KolibriOS.org

Official KolibriOS board
It is currently Fri Nov 15, 2019 1:59 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 30 posts ]  Go to page Previous 1 2
Author Message
PostPosted: Mon Feb 21, 2011 4:34 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1621
Я закоммитила содержимое http://diamond.kolibrios.org/menuetlibc.7z с поправкой в опциях gcc в репозиторий.
Sorcerer, размер стека вполне достаточен.

_________________
Сделаем мир лучше!


Top
   
PostPosted: Mon Feb 21, 2011 5:10 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1621
"Программист, написавший код, понимает его скорее всего лучше, чем кто-либо еще, мне кажется." - это такой эвфемизм для "не буду я фиксить чужие баги"?


Top
   
PostPosted: Mon Feb 21, 2011 6:15 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Фиксированный размер стека не есть хорошо. Есть способ передать значение в ld из командной строки или только через скрипт ?
Разумеет речь идёт об ELF.


Top
   
PostPosted: Mon Feb 21, 2011 7:30 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1621
Serge, в формате ELF физически не существует поля размера стека. Если речь идёт о том, чтобы задавать нужный размер стека в программе для Колибри - у ld есть опция командной строки --defsym=SYMBOL=VALUE, с помощью которой можно определить какой-нибудь символ, который потом можно использовать в скрипте.

_________________
Сделаем мир лучше!


Top
   
PostPosted: Mon Feb 21, 2011 11:10 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
CleverMouse

Спасибо. Попробую сделать динамическое выделение стека как в newlib.


Top
   
PostPosted: Tue Feb 22, 2011 10:49 am 
Offline
Mentor
User avatar

Joined: Tue Jan 15, 2008 11:27 am
Posts: 752
Нашёл интересную статью о том, как можно разбирать строку на аргументы (в принципе, всё было и так понятно, но с ней вообще всё ясно). Да, алгоритм не идеальный, но очень простой. Будет время, попробую что-нибудь сделать с crt...
http://stackoverflow.com/questions/1706 ... -argv-argc


Top
   
PostPosted: Tue Feb 22, 2011 11:41 am 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1621
Albom, Sorcerer, вы действительно верите, что ошибка в коде разбора параметров? По второму из "спойлеров" из viewtopic.php?p=31758#p31758 очевидно же, что нет - иначе эквивалентное с точки зрения языка Си преобразование ничего бы не меняло.

_________________
Сделаем мир лучше!


Top
   
PostPosted: Tue Feb 22, 2011 11:53 am 
Offline
Mentor
User avatar

Joined: Tue Jan 15, 2008 11:27 am
Posts: 752
CleverMouse
Я понятия не имею - в разборе или нет. Что-то где-то затирается... Может стек виноват, сказать не могу. Но в crt, я считаю, покопаться нужно... Во-первых, там есть "#if 0" со старой реализацией разбора строки. Для удобства восприятия исходника можно всё связанное с ней убрать. А во-вторых, разбор строки работает неправильно, так как при запуске программы без параметров, argc = 0, а должно быть 1 и в argv[0] указатель на имя программы.


Top
   
PostPosted: Tue Feb 22, 2011 11:58 am 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1621
Albom, ага, из-за этого код нужно полностью переписать и верить, что ошибка, вызванная другими причинами, уйдёт сама.


Top
   
PostPosted: Tue Feb 22, 2011 12:44 pm 
Offline
Mentor
User avatar

Joined: Tue Jan 15, 2008 11:27 am
Posts: 752
Тогда что может быть причиной?


Top
   
PostPosted: Tue Feb 22, 2011 12:53 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Однако в коде действительно ошибки.
Code:
if(__menuet__app_param_area[0]!='\0')
 __crt0_setup_arguments();
Если командная строка пустая, то и argc=0.


Top
   
PostPosted: Tue Feb 22, 2011 1:01 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1621
Значит, Albom, возмущавшийся таким поведением, может не переписывать код, а удалить одну строчку. Естественно, к проблеме Sorcerer эта недоработка отношения не имеет.
P.S. Раз уж упоминали diamond'а... эти строчки присутствуют и на menuetlibc.sf.net, так что это не он.

_________________
Сделаем мир лучше!


Top
   
PostPosted: Tue Feb 22, 2011 1:11 pm 
Offline
Mentor
User avatar

Joined: Tue Jan 15, 2008 11:27 am
Posts: 752
Согласен, что к проблеме Sorcerer это отношения не имеет.
Кстати, я не возмущался, просто меня смущает несколько мест в коде.


Top
   
PostPosted: Tue Mar 03, 2015 9:08 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5066
http://websvn.kolibrios.org/filedetails ... uet%2Fos.h

Почему
Code:
#define EVENT_BUTTON              0x00000004

?

Кнопка ведь это 3 или я чего-то не понимаю.

_________________
Через тернии к звездам


Top
   
PostPosted: Tue Mar 03, 2015 9:52 pm 
Offline
Mentor
User avatar

Joined: Mon Oct 19, 2009 10:58 am
Posts: 435
Третий бит: 1 SHL 2. Третий с единицы, второй с нуля.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 30 posts ]  Go to page Previous 1 2

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited