klen 1 19 июня, 2011 Опубликовано 19 июня, 2011 · Жалоба предыдущий пост был для тек кто "в танке", для нормальных людей собрал в кучу сборки для хоста x86_64-linux-gnu runtime сошки лежат в каждой сборке в ./lib64 - их надо прокешировать ldconfig'ом arm-kgp-eabi http://klen.org/Files/DevTools/linux-x86_6...110619.tar.lzma это для тех кто глумится с PIC32 mips-kgp-eabi http://klen.org/Files/DevTools/linux-x86_6...110619.tar.lzma это для тех кто не "в танке" но упорно перед ним бежит и никак не может свернуть i686-kgp-mingw32 http://klen.org/Files/DevTools/linux-x86_6...110619.tar.lzma x86_64-kgp-mingw32 http://klen.org/Files/DevTools/linux-x86_6...110619.tar.lzma это для КОМДИВЧИКА 5890ВЕ1Т от предыдущего поста отличается добавкой C++ и Fortran, все собрано с -march=r3000 -mhard-float -ffast-math , с такимиже ключами по умолчанию будет генерится новый код который ВЫ подсуните компиллеру. comdiv32-kgp-elf http://klen.org/Files/DevTools/linux-x86_6...110619.tar.lzma чето я седня разошелся... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 19 июня, 2011 Опубликовано 19 июня, 2011 · Жалоба arm-kgp-eabi http://klen.org/Files/DevTools/linux-x86_6...110619.tar.lzma Ура! :08: Наконец-то arm-kgp-eabi научился компилять мои проекты! :08: Теперь у меня есть kgp под линуксом:) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 19 июня, 2011 Опубликовано 19 июня, 2011 · Жалоба Ура! :08: Наконец-то arm-kgp-eabi научился компилять мои проекты! :08: Теперь у меня есть kgp под линуксом:) теперь точно пивопровод из Уфы ждать будем! 2_Ash_snz товарищи! отзовитесь что у Вас получилось. Я с дуру в НИИСИ РАН позвонил, пообщался за 5890ВЕ1Т и комдивы вообще. говорят штатно нету С++/Fortran а теперь возможно есть :08: но нада проверить! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ash_snz 0 21 июня, 2011 Опубликовано 21 июня, 2011 (изменено) · Жалоба 2_Ash_snz товарищи! отзовитесь что у Вас получилось. Я с дуру в НИИСИ РАН позвонил, пообщался за 5890ВЕ1Т и комдивы вообще. говорят штатно нету С++/Fortran а теперь возможно есть :08: но нада проверить! Вот это во истину влеикие новости! Наша благодарность не знает границ, времени и пространства . :yeah: Щас усё опробуем! Основная задача - заставить считать и делать это - БЫСТРО! Кстати. почему при работе с кешем оптимизации "-О", "-О2" и др. не работают? (они делают бинарник в 2 раза меньше и при переходе на С сегмент дазнт фанкшин) зы мы бы с радостью подогнать проц, но увы... 2 не маленьких просьбы: - 2 Klen, научите билдить библиотеки, а то понадобится другой/какой ключ - надо бы самим уметь. - 2 All, Подкиньте ссылочку - где почитать про создание ld файлов? Изменено 21 июня, 2011 пользователем Ash_snz Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 21 июня, 2011 Опубликовано 21 июня, 2011 · Жалоба Основная задача - заставить считать и делать это - БЫСТРО! а че? пока даже считать не получается заставить ;) с быстро ответ класический - какие бы у женщины небыли красивые сиськи - больше чем у нее при себе она вам дать не сможет ;) Кстати. почему при работе с кешем оптимизации "-О", "-О2" и др. не работают? (они делают бинарник в 2 раза меньше и при переходе на С сегмент дазнт фанкшин) это очень интересно, я бы хотел понять что происходит. дело в том что кеш это аппаратная вещь (за исключением того что иногда есть совершенно боковые инструкции проца по управлению этой штукой на подобии переферийного модуля) и для программы это прозрачно как стекло. если кусок не влез в кеш или промах - проц ждет обмена по шине, на выполнение трассы это никак не влияет, худшее что Вы можете словить - джитер времени выполнения заданного участка кода. пока ситуация мутная - мне ничего не понятно что происходит. оптимизация тут мне кажется нипричем. после получения бинаря уже низвестно - была эта оптимизация или Вы на асме руками написали - это просто программа в машинных кодах. жду пояснений также что такое С сегмент - это сегмент чего? зы мы бы с радостью подогнать проц, но увы... знаю. пирожки с повидлом штучные именные - только для тех детей кто хорошо кушал в течении года, и имеют прописку.... 2 не маленьких просьбы: - 2 Klen, научите билдить библиотеки, а то понадобится другой/какой ключ - надо бы самим уметь. - 2 All, Подкиньте ссылочку - где почитать про создание ld файлов? какие библиотеки? билдятся просто - компиляете исходники библиотеки, собираете в либу с помощью утилиты ar. получаете файл с лиьы который можно подлинковывать к проекту те которые libc и libm - они уже сбилдены, libc автоматом линкуется, для подлинковки libm воткните ключ -lm. но Вы это наверно и без меня знаеет. ненавязчивая рекомендация: пигмеи!!! бросте винду и поставте линукс. будете как люди разработку вести. по поводу ld - ВСЕ ТУТ!! http://sourceware.org/binutils/docs-2.21/ld/index.html я так понимаю что пока Вы это все прочтете потухнет солнце а комдив устаеет. поэтому давайте я Вам помогу сделать ld скрипт - мне хочется на Вас потренироватся с мипсом и скорее узнать результаты, а если все заработает то будете уже сами разбиратся в природе работающих явлений. сообщите карту адресного пространства проца, флеш то в нем есть или только ОЗУ? почту тоже неплохо былобы узнать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ash_snz 0 21 июня, 2011 Опубликовано 21 июня, 2011 (изменено) · Жалоба Первый билд (mips-kgp-elf-comdiv32-x86_32-20110619.7z) ругается на чем свет: (standart input): Assembler message: (standart input): Internal error! Assertion failure inpute_file_open ../../../../../src/bu/gas/input-file.c line 167 please report this bug. Второй билд (comdiv32-kgp-elf-20110619.tar.lzma) под линукс, по этому взяли с него только библиотеку(как собственно и с первого) увеличений в быстродействии не получили... а че? пока даже считать не получается заставить считает. но хотелось бы быстрее ;) зы make может влиять на сборку? а то у нас непойми откуда и зовется cs-make. Изменено 21 июня, 2011 пользователем Ash_snz Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 21 июня, 2011 Опубликовано 21 июня, 2011 (изменено) · Жалоба target arm (AT91SAM7Sxxx), host x86: работает. Память (с -flto): new version: Program: 23464 bytes (.text + .data + .bootloader) Data: 2416 bytes (.data + .bss + .noinit) previous version: Program: 23668 bytes (.text + .data + .bootloader) Data: 2412 bytes (.data + .bss + .noinit) Last version without "-flto": Program: 29872 bytes (.text + .data + .bootloader) Data: 3520 bytes (.data + .bss + .noinit) Только сейчас заметил, что ПЗУ за счёт ОЗУ уменьшилось... не понимаю, что со скриптами. upd: убрал свои ramfunc ненавязчивая рекомендация: пигмеи!!! бросте винду и поставте линукс. будете как люди разработку вести. Я полагаю, поведение линкскрипта не меняется от операционной системы? Изменено 21 июня, 2011 пользователем Genadi Zawidowski Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 21 июня, 2011 Опубликовано 21 июня, 2011 · Жалоба Я полагаю, поведение линкскрипта не меняется от операционной системы? неа, не меняется, одна и таже сборка для разных хостов должна давать байт в байт одинаковый выход - алгоритмы теже, меняется экосистема в которой работаеш. судя по цифрам LTO дает однозначный эффект в плюс. 2_Ash_snz 1. то что ругаеся это хорошо - значит дышит. 2. первый раз вижу чтоб бинутилс вываливался - это относительно довольно примитивный инструмент (в данном случае ассемблер). непонятно. 3. дайте контрольный кусок кода - желательно обрезаный по минимуму Ваш проект, после выкидывания всего кроме одной процедуры с вычислениями на плавучке. я соберу - посмотрим асм, и увидим - можно еще быстрее чтото сделать или нет. я перед выкладыванием тестил и под виндой и под линуксом - формулы компилялись с использованием инструкций плавучки. может у Вас тот не мой компиллер и так все на плавучке делат? я пересоберу для винды полную сборку, первая была пробная в любом случае необходим короткий контрольный пример. ни make ни cs-make повлиять не могут - это всеголиг инструменты, повлиять может содержимое скриптов в которых написано как и что этим инструментам делать. посмотрите в логи компеиляции и линковке - там видны опции компилятора и линкера - это конечная информации которая влияет на выдаваемый код. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 21 июня, 2011 Опубликовано 21 июня, 2011 · Жалоба Коллеги, а кто как делает ramfunc - и как оно с -flto уживается? Как я понял, секции с именами отличающимися от стандартных при -flto не оптимизируются и не удаляются из результирующего файля (или пару раз копируются в .data). У кого работает - как выглядит линкскрипт и имя секции? Ещё, у кого-нибудь -flto с кортексами дружит? Как помирили? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 22 июня, 2011 Опубликовано 22 июня, 2011 · Жалоба освеженная сборка для комдивчика на x86_32 масдай http://klen.org/Files/DevTools/comdiv32-kg..._32-20110622.7z тестовый проект на котором я проверял. для примера реализован функционал квадратурного ЧМ демодулятора. в примере демострируется совместная компиляция С, С++ и Fortran исходника и залинковывание в один бинарь. Это демострация того что можно например перемешивать в одном проекте вычислительные библиотеки на фортране, GUI написанные на С++ и например системные и иные библиотеки реалисзованные на С. Какой другой не GCC компиллер позволит сделать теже действия ? тамже есть листинги с выходным асмом - видно что компиляймый код и код libm собран с использованием инструкций плавучки. если и можно чтото сделать быстрее то только самому написать на асме элементраные функции - но чтото я сомневаюсь что есть более лучшие ряды или быстрые алгоритмы для их вычисления чем те что сейчас используются в libm http://klen.org/Files/DevTools/comdiv32_c_...fortran_test.7z есть вопросы по обходу глюков инструкции cvt если она идет за abs neg mov. но подозреваю что это старые кристаллы и может быть проблема сейчас не актуальна. в любом случае можно будет добавит окучивание этой неприятности если она вдруг окажется в наличии. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 22 июня, 2011 Опубликовано 22 июня, 2011 · Жалоба Ещё, у кого-нибудь -flto с кортексами дружит? Как помирили? У меня не заработало. Размер убавился изрядно, но результат не дышит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 22 июня, 2011 Опубликовано 22 июня, 2011 · Жалоба У меня не заработало. Размер убавился изрядно, но результат не дышит. у меня тоже с LTO весело - кода становится больше но работает!!! :) я думаю что моя проблема в том что я все раздробил на отдельные библиотеки и потом их уже слинковываю в оконечный бинарь. кода в кучу валил вроде нормално было - но это не кашерно, проект должен иметь структуру и архитектруру даже на уровне файлов. ну и в раме конечно функции присутствуют. ... если полумать то что мешает из либ разложить функции на ровном столе и правильно отсортировать... нада смотреть код LTO! неее... у меня нынче LTO не работает, при линковке выкидывает: lto1.exe: error: FPA is unsupported in the AAPCS у меня не собирается, у Вас собирается.. где разница вот в чем вопрос. я ликеру и компиллеру -flto добавил, мож чтот еще нада ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 22 июня, 2011 Опубликовано 22 июня, 2011 · Жалоба у меня не собирается, у Вас собирается.. где разница вот в чем вопрос. я ликеру и компиллеру -flto добавил, мож чтот еще нада ? Ещё зачем-то надо передать линкеру уровень оптимизации: ifeq ($(USE_LTO),YES) CFLAGS += -flto CXXFLAGS += -flto LD_FLAGS += -flto $(OPTIMIZE) endif lto1.exe: error: FPA is unsupported in the AAPCS lto1.exe?! А как же ненавязчивая рекомендация: пигмеи!!! бросте винду и поставте линукс. будете как люди разработку вести. ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 22 июня, 2011 Опубликовано 22 июня, 2011 · Жалоба не помогло у меня также lto1 ругается - FPA is unsupported in the AAPCS пытаюсь понять смысл и куда лезть .. понял с незапямятных времен в тестовом проекте остался ключ линкеру -mfpu=fpa, компиллеру когдато убрал а линкеру нет и оно работало до сейчас. теперь lto1.exe просто падает :) это уже приятней - хоть понятно что происходит, известно куда ковырять Ещё зачем-то надо передать линкеру уровень оптимизации: попробывал на MIPS в частности на сборке для комдива - подтверждаю линкеру зачемто это нужно - без проталкиваня ключа оптимизации размер наооборот больше чем без LTO это надо будет происследовать... ОБЪЯВЛЕНИЕ: у меня на сервере накопилось очень много старья около 100 сборок, собираюсь все это почитить и вообще сайтом занятся и привести его в порядок. если кому нада какаянибудь из старых сборок то забирайте до выходных. на выходных уборка на винчестере будет. FORTRAN в армах ктонибудь реально использует? были случаи? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 22 июня, 2011 Опубликовано 22 июня, 2011 · Жалоба НАсчёт архива сборок... Где смотреть? На страничке http://klen.org/Projects/Embeded-gnu-tools...cc_archive.html только новости от 2006 года... Маленький код с -flto с кортексом - у меня аналогично - в результат попадает только стартап, остальное, похоже, опитмизируется в ноль как суетное и бесполезное... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться