Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> cross compile for specific target, need help 
:(
    Опции темы
slater
Дата 13.2.2011, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 20.11.2009

Репутация: -2
Всего: -4



приветствую!

необходимо собрать binutils и gcc для конкретной target(например, sh(superH) архитектуру).
1) Как правильно это сделать(с какими опциями собирать)
2) собрав такой набор под конкретную платформу, нужно ли будет при компиляции передовать в опциях подо что собирать elf?
3) как, используя стандартный набор binutils и gcc, например,под CentOS, наиболее коректно собрать под специфичную платформу

люди, прошу не отсылать в гугл, по существу там ничего не нашел
PM MAIL   Вверх
boostcoder
Дата 13.2.2011, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 16
Всего: 110



Цитата(slater @  13.2.2011,  13:18 Найти цитируемый пост)
1) Как правильно это сделать(с какими опциями собирать)

смотри опции --target и --build

Цитата(slater @  13.2.2011,  13:18 Найти цитируемый пост)
2) собрав такой набор под конкретную платформу, нужно ли будет при компиляции передовать в опциях подо что собирать elf?

нет. потому что он будет собирать под целевую платформу.

Цитата(slater @  13.2.2011,  13:18 Найти цитируемый пост)
3) как, используя стандартный набор binutils и gcc, например,под CentOS, наиболее коректно собрать под специфичную платформу

это зависит от огромного количества факторов...
PM WWW   Вверх
slater
Дата 13.2.2011, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 20.11.2009

Репутация: -2
Всего: -4



boostcoder,
спасиб
а еще такой вопрос, gdb нужно собрать тоже как кросс-платформенный, чтобы можно было дебажить код под спцифичную платформу, или же сгодится стандартный?

Это сообщение отредактировал(а) slater - 13.2.2011, 14:06
PM MAIL   Вверх
boostcoder
Дата 13.2.2011, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 16
Всего: 110



Цитата(slater @  13.2.2011,  14:06 Найти цитируемый пост)
gdb нужно собрать тоже как кросс-платформенный

во первых - то, что вы соберете, кросс-платформенным не будет. т.к. будет работать только на целевой архитектуре.
во вторых - gdb никогда не собирал, посему не знаю. но полагаю что тоже нужно собирать.
PM WWW   Вверх
slater
Дата 13.2.2011, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 20.11.2009

Репутация: -2
Всего: -4



хм, не совсем понятно

термин cross compile что означает?
1) это компилятор, который работает например на x86 под linux, но компилирует под конкретную target?
2) или же это в значении, что все утилитки будут работать только на tsrget(т.е. компиляция будет осуществляться на target)
3) или же это компилятор, который способен собирать под любые архитектуры?

и еще, как можно посмотреть, под какие target можно собрать тот жу binutils? в доках к нему вообще про это не написано

Добавлено через 2 минуты и 16 секунд
вообще, в вики написано:
A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is run. Cross compiler tools are used to generate executables for embedded system or multiple platforms.

http://en.wikipedia.org/wiki/Cross_compiler

Добавлено через 5 минут и 5 секунд
я же хочу собрать:
1) набор утилит для компиляции на самой таргет(т.е. запускать буду на таргет)
2) набор утилит, для компиляции бинарников для конкретной таргет, но запускать эти утилитки буду на x86 под linux

Это сообщение отредактировал(а) slater - 13.2.2011, 14:48
PM MAIL   Вверх
boostcoder
Дата 13.2.2011, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 16
Всего: 110



Цитата(slater @  13.2.2011,  14:47 Найти цитируемый пост)
хм, не совсем понятно

термин cross compile что означает?
1) это компилятор, который работает например на x86 под linux, но компилирует под конкретную target?
2) или же это в значении, что все утилитки будут работать только на tsrget(т.е. компиляция будет осуществляться на target)
3) или же это компилятор, который способен собирать под любые архитектуры?

и еще, как можно посмотреть, под какие target можно собрать тот жу binutils? в доках к нему вообще про это не написано

Добавлено через 2 минуты и 16 секунд
вообще, в вики написано:
A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is run. Cross compiler tools are used to generate executables for embedded system or multiple platforms.

похоже я вас не верно понял.
PM WWW   Вверх
slater
Дата 13.2.2011, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 20.11.2009

Репутация: -2
Всего: -4



почему
PM MAIL   Вверх
slater
Дата 13.2.2011, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 20.11.2009

Репутация: -2
Всего: -4



как можно посмотреть, под какие target можно собрать тот жу binutils? в доках к нему вообще про это не написано
какие значения может принимать --target=?
PM MAIL   Вверх
xvr
Дата 14.2.2011, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 20
Всего: 223



Цитата(slater @  13.2.2011,  16:17 Найти цитируемый пост)
как можно посмотреть, под какие target можно собрать тот жу binutils?
configure --help не помогает?


Цитата(slater @  13.2.2011,  14:47 Найти цитируемый пост)
термин cross compile что означает?
1) это компилятор, который работает например на x86 под linux, но компилирует под конкретную target?

Именно это

И еще учтите, что кроме cross compiler'а вым еще понадобятся cross libraries (их тоже надо собрать и установить)


PM MAIL   Вверх
boostcoder
Дата 14.2.2011, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 16
Всего: 110



Цитата(xvr @  14.2.2011,  13:20 Найти цитируемый пост)
configure --help не помогает?

нет)
гуглением ничего не нашел. нужно пробовать. если не поддерживается, вероятно, это станет понятно на этапе configure.
PM WWW   Вверх
bsa
Дата 14.2.2011, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 16
Всего: 196



Target, обычно, принимает значения: <arch>-<vendor>-<os>-<libc>. Например, i686-pc-linux-gnu, sh-vendor-linux-uclibc, sh1-vendor-linux-gnu, sh5-vendor-linux-klibc, sh64-vendor-linux-gnu...
PM   Вверх
slater
Дата 14.2.2011, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 20.11.2009

Репутация: -2
Всего: -4



ребята, спасибо

bsa,
да, совершенно верно, в таком виде и формируется target/
если внимательно посмотреть configure, то так оно собственно и есть.

видимо какого то строго определенно списка таргетов не существуют, но как я понял, играют важную роль только arch и os, остальные параметры несущественны
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0574 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.