Board.KolibriOS.org
http://board.kolibrios.org/

LibC(MenuetLibC) + GCC
http://board.kolibrios.org/viewtopic.php?f=24&t=1510
Page 2 of 2

Author:  CleverMouse [ Mon Feb 21, 2011 4:34 pm ]
Post subject:  Re: LibC(MenuetLibC) + GCC

Я закоммитила содержимое http://diamond.kolibrios.org/menuetlibc.7z с поправкой в опциях gcc в репозиторий.
Sorcerer, размер стека вполне достаточен.

Author:  CleverMouse [ Mon Feb 21, 2011 5:10 pm ]
Post subject:  Re: LibC(MenuetLibC) + GCC

"Программист, написавший код, понимает его скорее всего лучше, чем кто-либо еще, мне кажется." - это такой эвфемизм для "не буду я фиксить чужие баги"?

Author:  Serge [ Mon Feb 21, 2011 6:15 pm ]
Post subject:  Re: LibC(MenuetLibC) + GCC

Фиксированный размер стека не есть хорошо. Есть способ передать значение в ld из командной строки или только через скрипт ?
Разумеет речь идёт об ELF.

Author:  CleverMouse [ Mon Feb 21, 2011 7:30 pm ]
Post subject:  Re: LibC(MenuetLibC) + GCC

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

Author:  Serge [ Mon Feb 21, 2011 11:10 pm ]
Post subject:  Re: LibC(MenuetLibC) + GCC

CleverMouse

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

Author:  Albom [ Tue Feb 22, 2011 10:49 am ]
Post subject:  Re: LibC(MenuetLibC) + GCC

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

Author:  CleverMouse [ Tue Feb 22, 2011 11:41 am ]
Post subject:  Re: LibC(MenuetLibC) + GCC

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

Author:  Albom [ Tue Feb 22, 2011 11:53 am ]
Post subject:  Re: LibC(MenuetLibC) + GCC

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

Author:  CleverMouse [ Tue Feb 22, 2011 11:58 am ]
Post subject:  Re: LibC(MenuetLibC) + GCC

Albom, ага, из-за этого код нужно полностью переписать и верить, что ошибка, вызванная другими причинами, уйдёт сама.

Author:  Albom [ Tue Feb 22, 2011 12:44 pm ]
Post subject:  Re: LibC(MenuetLibC) + GCC

Тогда что может быть причиной?

Author:  Serge [ Tue Feb 22, 2011 12:53 pm ]
Post subject:  Re: LibC(MenuetLibC) + GCC

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

Author:  CleverMouse [ Tue Feb 22, 2011 1:01 pm ]
Post subject:  Re: LibC(MenuetLibC) + GCC

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

Author:  Albom [ Tue Feb 22, 2011 1:11 pm ]
Post subject:  Re: LibC(MenuetLibC) + GCC

Согласен, что к проблеме Sorcerer это отношения не имеет.
Кстати, я не возмущался, просто меня смущает несколько мест в коде.

Author:  Leency [ Tue Mar 03, 2015 9:08 pm ]
Post subject:  Re: LibC(MenuetLibC) + GCC

http://websvn.kolibrios.org/filedetails ... uet%2Fos.h

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

?

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

Author:  dunkaist [ Tue Mar 03, 2015 9:52 pm ]
Post subject:  Re: LibC(MenuetLibC) + GCC

Третий бит: 1 SHL 2. Третий с единицы, второй с нуля.

Page 2 of 2 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/