Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Сб май 27, 2017 3:24 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 30 сообщений ]  На страницу Пред. 1 2
Автор Сообщение
 Заголовок сообщения: Re: LibC(MenuetLibC) + GCC
СообщениеДобавлено: Пн фев 21, 2011 4:34 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1593
Я закоммитила содержимое http://diamond.kolibrios.org/menuetlibc.7z с поправкой в опциях gcc в репозиторий.
Sorcerer, размер стека вполне достаточен.

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


Вернуться к началу
 Заголовок сообщения: Re: LibC(MenuetLibC) + GCC
СообщениеДобавлено: Пн фев 21, 2011 5:10 pm 
Не в сети
Kernel Developer
Аватара пользователя

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


Вернуться к началу
 Заголовок сообщения: Re: LibC(MenuetLibC) + GCC
СообщениеДобавлено: Пн фев 21, 2011 6:15 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3925
Фиксированный размер стека не есть хорошо. Есть способ передать значение в ld из командной строки или только через скрипт ?
Разумеет речь идёт об ELF.


Вернуться к началу
 Заголовок сообщения: Re: LibC(MenuetLibC) + GCC
СообщениеДобавлено: Пн фев 21, 2011 7:30 pm 
Не в сети
Kernel Developer
Аватара пользователя

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

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


Вернуться к началу
 Заголовок сообщения: Re: LibC(MenuetLibC) + GCC
СообщениеДобавлено: Пн фев 21, 2011 11:10 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3925
CleverMouse

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


Вернуться к началу
 Заголовок сообщения: Re: LibC(MenuetLibC) + GCC
СообщениеДобавлено: Вт фев 22, 2011 10:49 am 
Не в сети
Mentor
Аватара пользователя

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


Вернуться к началу
 Заголовок сообщения: Re: LibC(MenuetLibC) + GCC
СообщениеДобавлено: Вт фев 22, 2011 11:41 am 
Не в сети
Kernel Developer
Аватара пользователя

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

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


Вернуться к началу
 Заголовок сообщения: Re: LibC(MenuetLibC) + GCC
СообщениеДобавлено: Вт фев 22, 2011 11:53 am 
Не в сети
Mentor
Аватара пользователя

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


Вернуться к началу
 Заголовок сообщения: Re: LibC(MenuetLibC) + GCC
СообщениеДобавлено: Вт фев 22, 2011 11:58 am 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1593
Albom, ага, из-за этого код нужно полностью переписать и верить, что ошибка, вызванная другими причинами, уйдёт сама.


Вернуться к началу
 Заголовок сообщения: Re: LibC(MenuetLibC) + GCC
СообщениеДобавлено: Вт фев 22, 2011 12:44 pm 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
Тогда что может быть причиной?


Вернуться к началу
 Заголовок сообщения: Re: LibC(MenuetLibC) + GCC
СообщениеДобавлено: Вт фев 22, 2011 12:53 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3925
Однако в коде действительно ошибки.
Код:
if(__menuet__app_param_area[0]!='\0')
 __crt0_setup_arguments();
Если командная строка пустая, то и argc=0.


Вернуться к началу
 Заголовок сообщения: Re: LibC(MenuetLibC) + GCC
СообщениеДобавлено: Вт фев 22, 2011 1:01 pm 
Не в сети
Kernel Developer
Аватара пользователя

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

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


Вернуться к началу
 Заголовок сообщения: Re: LibC(MenuetLibC) + GCC
СообщениеДобавлено: Вт фев 22, 2011 1:11 pm 
Не в сети
Mentor
Аватара пользователя

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


Вернуться к началу
 Заголовок сообщения: Re: LibC(MenuetLibC) + GCC
СообщениеДобавлено: Вт мар 03, 2015 9:08 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4081
http://websvn.kolibrios.org/filedetails ... uet%2Fos.h

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

?

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

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


Вернуться к началу
 Заголовок сообщения: Re: LibC(MenuetLibC) + GCC
СообщениеДобавлено: Вт мар 03, 2015 9:52 pm 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Пн окт 19, 2009 10:58 am
Сообщения: 328
Третий бит: 1 SHL 2. Третий с единицы, второй с нуля.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 30 сообщений ]  На страницу Пред. 1 2

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB