Ada_Ru форум

Обсуждение языка Ада

gnat inside

Оставить новое сообщение

Сообщения

Oleksandr Havva
gnat inside
2003-12-03 12:44:18

hi,

а кто-нить пытался gnat 3.15p "ковырять"

из-под отладчика?

Alex

Oleksandr Havva wrote:

hi,

 

а кто-нить пытался gnat 3.15p "ковырять"

из-под отладчика?

 

Я регулярно этим занимаюсь (не с 3.15p, а с распоследними вейфронтами)

А что?

hi,

"Sergey I. Rybin" wrote:

Oleksandr Havva wrote:

hi,

>

а кто-нить пытался gnat 3.15p "ковырять"

из-под отладчика?

>

Я регулярно этим занимаюсь (не с 3.15p, а с распоследними вейфронтами) А что?

так сотрудникам известной фирмы это "по уставу" положено :)

просто, интересно ближе и подробнее разобраться

с внутреностями и архитектурными особенностями

этого хозяйства. вот, собс-но, и решил поинтересоваться,

может кто-нибудь еще подобными "безобразиями"

занимается (ну и потом уже: чем/как/на какой платформе...)

кстати, а огласить набор "фирменного" инструментария можно?

(ес-сно, не наступая на грабли NDA)

Alex

кстати, а огласить набор "фирменного" инструментария можно?

(ес-сно, не наступая на грабли NDA)

 

Дык, "все свое ношу с собой" (с) Разработчики не пользуются ничем что бы не входило в стандартный комплект поставки.

 

Василий.

hi,

Vasiliy Fofanov wrote:

кстати, а огласить набор "фирменного" инструментария можно?

(ес-сно, не наступая на грабли NDA)

>

Дык, "все свое ношу с собой" (с) Разработчики не пользуются ничем что бы не входило в стандартный комплект поставки.

>

Василий.

мн-дя... предполагаю, что для удовлетворения любопытства,

мне сейчас предложит _купить_ этот стандартный комплект поставки :)

Alex

PS

Василий, твои сообщения почему-то постоянно дублируются:

одно - в список рассылки, второе - персонально.

это так задумано изначально?

мн-дя... предполагаю, что для удовлетворения любопытства,

мне сейчас предложит _купить_ этот стандартный комплект поставки :)

 

Комплект поставки бесплатный, это техподдержка платная :) В любом случае, там нет ничего чего не было бы в публичной версии.

 

Так что разработка и сопровождение идет с использованием все тех же gdb, gps, gnatmem, gprof и т.д. Ну и плюс разнообразные

опции компилятора включающие разнообразные отладочные режимы типа ассертов.

Василий, твои сообщения почему-то постоянно дублируются:

одно - в список рассылки, второе - персонально.

это так задумано изначально?

 

Эээ я просто делаю Reply all на автомате... сорри, это рефлекс. А почему не прописать в procmail удаление дубликатов?

 

Василий.

hi,

Vasiliy Fofanov wrote:

мн-дя... предполагаю, что для удовлетворения любопытства,

мне сейчас предложит _купить_ этот стандартный комплект поставки :)

>

Комплект поставки бесплатный, это техподдержка платная :) В любом случае, там нет ничего чего не было бы в публичной версии.

э-э-э дарагой товарисч... оно канЭшна да,

тока с таким ма-а-асеньким "но":

ни в комплекте поставки, ни в публичной версии

нет настроек окружения, которыми пользуется разработчик :)

ну и про методики отладки/сборки и проектную документацию

(что наверное не только мне интересно),

ввиду всяких там NDA, мы упоминать не будем ;)

Так что разработка и сопровождение идет с использованием все тех же gdb, gps, gnatmem, gprof и т.д. Ну и плюс разнообразные

опции компилятора включающие разнообразные отладочные режимы типа ассертов.

gps - штука, конечно, красивая... но вот я как-то ею не проникся... оно такие Makefile's "сочиняет", что разбираться в них потом,

мягко говоря, не весело :(

а на какой платформе вы релизы собираете?

(ежели это не военная тайна :)

Василий, твои сообщения почему-то постоянно дублируются:

одно - в список рассылки, второе - персонально.

это так задумано изначально?

>

Эээ я просто делаю Reply all на автомате... сорри, это рефлекс. А почему не прописать в procmail удаление дубликатов?

ничего страшного, а procmail-ом в нашей локалке

я не управляю

Alex

э-э-э дарагой товарисч... оно канЭшна да,

тока с таким ма-а-асеньким "но":

ни в комплекте поставки, ни в публичной версии

нет настроек окружения, которыми пользуется разработчик :)

ну и про методики отладки/сборки и проектную документацию

(что наверное не только мне интересно),

ввиду всяких там NDA, мы упоминать не будем ;)

 

Это все так. И на пределе подступает к NDA. Насколько я знаю,

Вадим в Линуксе компилятор собирал. А раз собирал - так нет

проблем собрать с ключем -g и загрузить в отладчик. ЧТо,

собственно говоря, я и многие другие в компании регулярно

проделываем.

 

А вот в форточках - и в самом деле некоторые пляски с бубнами. :(

 

И Василий абсолютно прав по поводу стандартного набора

инструментов. Я сейчас пользуюсь GPS, раньше - GVD.

Так что тут - никаких хитростев нет.

 

gps - штука, конечно, красивая... но вот я как-то ею не проникся...

оно такие Makefile's "сочиняет", что разбираться в них потом,

мягко говоря, не весело :(

 

А зачем? Просто скормить отладчику gnat1 - и все дела.

 

а на какой платформе вы релизы собираете?

(ежели это не военная тайна :)

 

Дык, native version на той самой платформе и строится,

для которой она ative version! Или я вопроса не понял?

Прежде всего привет всем и персонально участникам диалога.

 

 

Да интересный разговор получается, прямо как в анекдоте про нового русского - там где он в конце говорит "это все конечно хорошо, только что-то я не пойму, где ты меня кидаешь" ;).

 

Александр: как участник другого OSS проэкта (я developer Gentoo Linux) могу Вас заверить, что практически везде действует "что сами едим, то и другим даем". ACT конечно имеет несколько более коммерческий уклон, но при продукте распространяемом под GPL принцип примерно один для всех.

 

Теперь, пользуясь случаем и присутствием человека из ACT, хочу задать один вопрос. Наверное стоило бы его запостить в новый thread, но прошу прощения - не удержался.

 

Не так давно, кажется в comp.lang.ada, пробегало обьявление, что ACT берет на себя поддержку ada-кода в gcc. Что должно означать наконец-то полную интеграцию gnat и gcc (сейчас, насколько мне известо, ACT в основном посылает патчи, которые люди из gcc уже коверкают по своему).

Правда ли это, и каково состояние дел на данный момент?

 

Чтобы немножко прояснить мой интерес привожу некоторое обьяснение :). Как я уже упоминал, я один из разработчиков Gentoo Linux. Недавно был начан проэкт по созданию portage-ng (ng = new generation, а как же :)) - новой версии менеджера пакетов. Предидущий был писан на Python (что уже гораздо лучше чем perl или bash :)), но к сожалению превратился со временем в кучу нечитабельного кода (как всегда :)), который требует больших усилий по поддержанию и слишком больших для включения многих накопившихся расширений. Естественно встал вопрос о создании portage-ng и что очень приятно, придерживаясь "установленных процедур" :).

 

На данный момент проэкт этот находится на стадии дизайна и выбора реализации. Я готовлю предложение (естественно) использовать Ada для по крайней мере центральной части. Одно из требований к языку (и транслятору) это кроссплатформенность и доступность/"поддержка" (в смысле что его развитие не заброшено по крайней мере). Соответственно официальное включение Ada в комплект gcc было бы очень серьезным фактором.

 

Можно конечно использовать и отдельный gnat (что так или иначе придется делать до выхода стабильной версии gcc c ada), но это лишняя зависимость базовой системы и, что более важно, несколько больше работы по портированию на non-x86. А с учетом того, что людей знающих Ada не так много (но этот проэкт может это дело несколоко поправить ;)), последнее может быть несколько проблематично :(.

 

George

 

On Thursday 04 December 2003 08:17, Oleksandr Havva wrote:

hi,

"Sergey I. Rybin" wrote:

э-э-э дарагой товарисч... оно канЭшна да,

тока с таким ма-а-асеньким "но":

ни в комплекте поставки, ни в публичной версии

нет настроек окружения, которыми пользуется разработчик :)

ну и про методики отладки/сборки и проектную документацию

(что наверное не только мне интересно),

ввиду всяких там NDA, мы упоминать не будем ;)

>

Это все так. И на пределе подступает к NDA. Насколько я знаю,

Вадим в Линуксе компилятор собирал. А раз собирал - так нет

проблем собрать с ключем -g и загрузить в отладчик. ЧТо,

собственно говоря, я и многие другие в компании регулярно

проделываем.

ну... Вадика мы уже тоже давно "сосчитали" и "записали" :)

он, правда, сейчас "завяз" в других "задачках-не-беручках" :)

проблемы собрать с ключем -g (и другими ключами)

тоже как-то не наблюдается.

проблема/неудобство вылезло при отладке под gvd (v1.2.6)

суть вот в чем: gnat1 имеет кучу своих собственных

исходников, которые, ес-сно, хочется использовать при

отладке. есть такая себе кучка исходников, которые

надо "скормить" энтому gnat1 (наблюдаемому под отладчиком),

и эти исходники, по понятной причине, логичнее расположить

в отдельном от исходников gnat каталоге.

gvd позволяет менять текущий каталог, однако, когда текущим

каталогом является каталог с исходниками gnat, то не получается

достучаться до исходников, которые надо подсунуть gnat1,

а ежели текущий каталог - с подсовываемыми исходниками,

то gvd "не видит" исходников gnat1 :(

возможно, что для указания каталогов я чего-то "не сказал" gvd

(чесно искал, но не нашел _где_ сказать)

правда, все эти "извраты" с каталогами удалось легко

указать под ddd, однако, ddd - это в роде как "приблуда",

а gvd - "родной напильник" :-/

А вот в форточках - и в самом деле некоторые пляски с бубнами. :( >

И Василий абсолютно прав по поводу стандартного набора

инструментов. Я сейчас пользуюсь GPS, раньше - GVD.

Так что тут - никаких хитростев нет.

кста... а "фирменная" версия gps сейчас какая? ;)

(публичная - 1.4.0, правда до нее я еще не добрался)

gps - штука, конечно, красивая... но вот я как-то ею не проникся... оно такие Makefile's "сочиняет", что разбираться в них потом,

мягко говоря, не весело :(

>

А зачем?

хм.... да собирал (и таки собрал) я энтот самый gps-1.2.2

(с кириллизацией, правда, чего-то я перемудрил - не работало;

в общем, соответствующий *.mo уже есть)

вот и пришлось "побывать в нирване" от тучи перекрестных

ссылок в этих самых, автоматом генерируемых, Makefile's.

посему и делюсь, так сказать, своими впетчатлениями

от такого действа

Просто скормить отладчику gnat1 - и все дела.

угу... я уже все рассказал выше

а на какой платформе вы релизы собираете?

(ежели это не военная тайна :)

>

Дык, native version на той самой платформе и строится,

для которой она ative version! Или я вопроса не понял?

вопрос, судя по всему, ты понял правильно :)

однако... эт че, у вашей фирмочки в наличии весь

зоопарк железяк и операционок на которых

и для которых gnat-ство работает? 8-( )

Alex

э-э-э дарагой товарисч... оно канЭшна да,

тока с таким ма-а-асеньким "но":

ни в комплекте поставки, ни в публичной версии

нет настроек окружения, которыми пользуется разработчик :)

 

Так они у каждого свои. Был бы насчет них консенсус, они бы и были настройками по умолчанию в комплекте поставок. А так это целиком вопрос личной производительности.

 

ну и про методики отладки/сборки и проектную документацию

(что наверное не только мне интересно),

ввиду всяких там NDA, мы упоминать не будем ;)

 

Не будем. И дело даже собственно не в NDA в данном случае, а в том что это тема для книги а не постинга.

 

gps - штука, конечно, красивая... но вот я как-то ею не проникся... оно такие Makefile's "сочиняет", что разбираться в них потом,

мягко говоря, не весело :(

 

Разрешите аналогию предложу:

 

Ворд - штука, конечно, красивая... но вот я как-то ею не проникся... она такой HTML-код "сочиняет", что разбираться в нем потом,

мягко говоря, не весело :(

 

Мэйкфайлы сочиняет не GPS а маааленький хэлпер gpr2make. Кроме него в GPS есть много еше чего...

 

Кстати ничто не мешает если недовольны хелпером предложить свой ;)

а на какой платформе вы релизы собираете?

(ежели это не военная тайна :)

 

Естественно на всех, на которых выходят нэйтив релизы, и на всех, которые являются

инструментальными платформами для кросс-релизов.

 

однако... эт че, у вашей фирмочки в наличии весь

зоопарк железяк и операционок на которых

и для которых gnat-ство работает? 8-( )

 

Разумеется. А разве возможно иначе? Я и больше скажу, весь этот зоопарк ежедневно отрабатывает на новом компиляторе ACATS и нашу собственную тест-систему. Включая целевые платформы кросс-релизов.

hi,

Vasiliy Fofanov wrote:

нет настроек окружения, которыми пользуется разработчик :)

>

Так они у каждого свои. Был бы насчет них консенсус, они бы и были настройками по умолчанию в комплекте поставок. А так это целиком вопрос личной производительности.

не уже ли все "так запущено"?

и, прям, ну никаких "фирменных" "шаманских заклинаний"? ;)

"не верю" (С) не мое :)

ну и про методики отладки/сборки и проектную документацию

(что наверное не только мне интересно),

ввиду всяких там NDA, мы упоминать не будем ;)

>

Не будем. И дело даже собственно не в NDA в данном случае, а в том что это тема для книги а не постинга.

хм... эт намек на то чтоб я еще одним сочинительством занялся? :)

gps - штука, конечно, красивая... но вот я как-то ею не проникся... оно такие Makefile's "сочиняет", что разбираться в них потом,

мягко говоря, не весело :(

>

Разрешите аналогию предложу:

>

Ворд - штука, конечно, красивая... но вот я как-то ею не проникся... она такой HTML-код "сочиняет", что разбираться в нем потом,

мягко говоря, не весело :(

ну дык... посему всю html-щину я "руками" набираю

Мэйкфайлы сочиняет не GPS а маааленький хэлпер gpr2make.

совершенно согласен

Кроме него в GPS

есть много еше чего...

посему, не вдаваясь в подробности, я и обозываю это _все_ скопом как gps :)

Кстати ничто не мешает если недовольны хелпером предложить свой ;)

ну... э-э-э... ту кто с его помощью Makefile's генерят,

те, наверное, вполне довольны, а вот те кто потом разбираются

с этими самыми Makefile's...

на прдмет предложить ноый хельпер...

оно конечно можно, только надо сперва разобраться

с идеями, которые заложены в существующий.

иначе можно такое предложить, что не будет "прилагаться" ;)

а на какой платформе вы релизы собираете?

(ежели это не военная тайна :)

>

Естественно на всех, на которых выходят нэйтив релизы, и на всех, которые являются

инструментальными платформами для кросс-релизов.

>

однако... эт че, у вашей фирмочки в наличии весь

зоопарк железяк и операционок на которых

и для которых gnat-ство работает? 8-( )

>

Разумеется. А разве возможно иначе? Я и больше скажу, весь этот зоопарк ежедневно отрабатывает на новом компиляторе ACATS и нашу собственную тест-систему. Включая целевые платформы кросс-релизов.

ну... где-то в подобных истязательствах gnat-ства

я на лунихе упражняюсь :)

правда, масштаб у меня не тот :(

кстати, а что больше "весит" ACATS или ваша собственная тест-система?

Alex

не уже ли все "так запущено"?

и, прям, ну никаких "фирменных" "шаманских заклинаний"? ;)

"не верю" (С) не мое :)

 

Эээ мы утверждаем что наш инструментарий представляет собой полноценное решение задач разработки ПО на ЯП Ада. Было бы в высшей степени нечестно с нашей стороны при этом иметь за спиной фигу и пользоваться чем бы то ни было еще, разве нет? ;)

 

кстати, а что больше "весит" ACATS или ваша собственная тест-система?

 

Наша намного больше. Во сколько раз больше "в байтах" и в тестах смотреть лень, в несколько.

hi,

Vasiliy Fofanov wrote:

не уже ли все "так запущено"?

и, прям, ну никаких "фирменных" "шаманских заклинаний"? ;)

"не верю" (С) не мое :)

>

Эээ мы утверждаем что наш инструментарий представляет собой полноценное решение задач разработки ПО на ЯП Ада.

согласен ;)

Было бы в высшей степени нечестно с

нашей стороны при этом иметь за спиной фигу и пользоваться чем бы то ни было еще, разве нет? ;)

э-э-эх...

купил себе юзьверь коробку с адским инструментарием

и думает, что решит теперь все задачки-не-беручки.

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

(аж номера страниц на память знает! :) ).

ес-сно, что юзьверь, со всеми своими проблемами, вопросами

и коробкой, в придачу, бежит в любимую фирму,

которая ему коробку продала.

ну а на фирме, ес-сно, его весьма любезно просвещают:

ты, юзьверь, конечно, парень вумный, но ежели хошь,

чтобы наши "шаманы", которые "заветное заклинание" знают,

тебе с твоей проблемой пособили, то плати денюжку за суппорт?

imho, все чесно

...или чего-нить не так? ;)

кстати, а что больше "весит" ACATS или ваша собственная тест-система?

>

Наша намного больше. Во сколько раз больше "в байтах" и в тестах смотреть лень, в несколько.

такую вот поделку тоже можно расценивать как своеобразную "фигу" :)

Alex

чтобы наши "шаманы", которые "заветное заклинание" знают,

тебе с твоей проблемой пособили, то плати денюжку за суппорт?

imho, все чесно

...или чего-нить не так? ;)

 

Хм. В такой формулировке, искомое "заветное заклинание" называется так: несколько сот человеко-лет опыта разработки систем на ЯП Ада. Но инструмент тем не менее остается один и тот же, "ключ 20".

 

такую вот поделку тоже можно расценивать как своеобразную "фигу" :)

 

Разве что если поставить себе цель непременно расценить что-нибудь как фигу :)

hi,

Vasiliy Fofanov wrote:

чтобы наши "шаманы", которые "заветное заклинание" знают,

тебе с твоей проблемой пособили, то плати денюжку за суппорт?

imho, все чесно

...или чего-нить не так? ;)

>

Хм. В такой формулировке, искомое "заветное заклинание" называется так: несколько сот человеко-лет опыта разработки систем на ЯП Ада. Но инструмент тем не менее остается один и тот же, "ключ 20".

ну дык... "гайки крутить" все умеют,

а вот точно знать где она, "та самая гайка"...

такую вот поделку тоже можно расценивать как своеобразную "фигу" :)

>

Разве что если поставить себе цель непременно расценить что-нибудь как фигу :)

раз оно не всем доступно, знач "фига" :)

...причем фирменная :)

Alex

PS

а на вопрос об установке каталогов под gvd

так никто и не ответил :(

George Shapovalov wrote:

Прежде всего привет всем и персонально участникам диалога.

 

Не так давно, кажется в comp.lang.ada, пробегало обьявление, что ACT берет на себя поддержку ada-кода в gcc. Что должно означать наконец-то полную интеграцию gnat и gcc (сейчас, насколько мне известо, ACT в основном посылает патчи, которые люди из gcc уже коверкают по своему).

Правда ли это, и каково состояние дел на данный момент?

 

Насколько мне известно на сегодняшний день ACT каждую ночь синхронизирует внутренний репозиторий GNAT-а с репозиторием GCC. Получающийся в результате компилятор на настоящий день вполне можно использовать.

 

 

На данный момент проэкт этот находится на стадии дизайна и выбора реализации. Я готовлю предложение (естественно) использовать Ada для по крайней мере центральной части. Одно из требований к языку (и транслятору) это кроссплатформенность и доступность/"поддержка" (в смысле что его развитие не заброшено по крайней мере). Соответственно официальное включение Ada в комплект gcc было бы очень серьезным фактором.

См. выше.

 

Можно конечно использовать и отдельный gnat (что так или иначе придется делать до выхода стабильной версии gcc c ada), но это лишняя зависимость базовой системы и, что более важно, несколько больше работы по портированию на non-x86. А с учетом того, что людей знающих Ada не так много (но этот проэкт может это дело несколоко поправить ;)), последнее может быть несколько проблематично :(.

 

Вообще-то работы по портированию на POSIX совместимые платформы не занимают много времени: я перенес gnat на FreeBSD за два дня: первый перекомпилировал компилятор в кросс-варианте, а второй - писал необходимые RTL-модули для возможности использования задач.

 

Более того, единожды собрав компилятор на новую платформу все его новые версии можно на ней же и собирать.

 

 

-- Vadim Godunko

Здравствуйте Вадим.

 

Спасибо за некоторое разъяснение, хотя конечно хотелосъ бы услышатъ оффициалъный отзыв. Но для этого, думаю, мне нужно обратитъся к ним соответственно более оффициалъно.

 

On Friday 05 December 2003 06:44, Vadim Godunko wrote:

Вообще-то работы по портированию на POSIX совместимые платформы не занимают много времени: я перенес gnat на FreeBSD за два дня: первый перекомпилировал компилятор в кросс-варианте, а второй - писал

необходимые RTL-модули для возможности использования задач.

Хм, вообще-то имелисъ в виду другие архитектуры в первую очередъ, прежде всего Sparc, MIPS, Alpha. С этим как правило возни болъше. Причем, как я уже говорил, основная проблемма это найти людей с соответствующим железом и имеющих к Ada хотъ какое-то отношение. И это может бытъ нетривиалъно :(. Так что полноценное включение Ada в gcc было бы весъма небесполезно...

George

hi,

Vadim Godunko wrote:

>

Более того, единожды собрав компилятор на новую платформу все его новые версии можно на ней же и собирать.

эт точно! :)

...и со всеми ранее не найденными "блОхами" :(

Alex

PS

че-ч меня твой спам-фильтр нафинг шлет :(

George Shapovalov wrote:

 

Вообще-то работы по портированию на POSIX совместимые платформы не

занимают много времени: я перенес gnat на FreeBSD за два дня: первый

перекомпилировал компилятор в кросс-варианте, а второй - писал

необходимые RTL-модули для возможности использования задач.

 

Хм, вообще-то имелисъ в виду другие архитектуры в первую очередъ, прежде всего Sparc, MIPS, Alpha. С этим как правило возни болъше. Причем, как я уже говорил, основная проблемма это найти людей с соответствующим железом и имеющих к Ada хотъ какое-то отношение. И это может бытъ нетривиалъно :(. Так что полноценное включение Ada в gcc было бы весъма небесполезно...

 

На Sun Spark имеется фирменный копилятор => собрать GCC 3.x не составляет проблем (при наличии железа). На SGI MIPS компилятора готового нет, но насколько мне известно ACT активно занималась прикручиванием к нему GNAT-а (и это кажется даже имело официальный статус) => если помучаться, то собрать возможно. А вот как обстоят дела с DEC/Comapq Alpha - не знаю. :(

 

 

PS. Кстати, а этот самый Alpha ещё не загнулся?

 

 

-- Vadim Godunko

PS. Кстати, а этот самый Alpha ещё не загнулся?

 

Нет. Все швейцарские денежные переводы например обслуживаются

VMS-кластерами.

Новое сообщение:
Страницы: 1 2

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти