Меню Рубрики

Mips linux gnu gcc

Mips linux gnu gcc

Generate big-endian code.

Generate little-endian code. This is the default for ‘ mips*el-*-* ’ configurations.

Generate code that runs on arch , which can be the name of a generic MIPS ISA, or the name of a particular processor. The ISA names are: ‘ mips1 ’, ‘ mips2 ’, ‘ mips3 ’, ‘ mips4 ’, ‘ mips32 ’, ‘ mips32r2 ’, ‘ mips32r3 ’, ‘ mips32r5 ’, ‘ mips32r6 ’, ‘ mips64 ’, ‘ mips64r2 ’, ‘ mips64r3 ’, ‘ mips64r5 ’ and ‘ mips64r6 ’. The processor names are: ‘ 4kc ’, ‘ 4km ’, ‘ 4kp ’, ‘ 4ksc ’, ‘ 4kec ’, ‘ 4kem ’, ‘ 4kep ’, ‘ 4ksd ’, ‘ 5kc ’, ‘ 5kf ’, ‘ 20kc ’, ‘ 24kc ’, ‘ 24kf2_1 ’, ‘ 24kf1_1 ’, ‘ 24kec ’, ‘ 24kef2_1 ’, ‘ 24kef1_1 ’, ‘ 34kc ’, ‘ 34kf2_1 ’, ‘ 34kf1_1 ’, ‘ 34kn ’, ‘ 74kc ’, ‘ 74kf2_1 ’, ‘ 74kf1_1 ’, ‘ 74kf3_2 ’, ‘ 1004kc ’, ‘ 1004kf2_1 ’, ‘ 1004kf1_1 ’, ‘ i6400 ’, ‘ i6500 ’, ‘ interaptiv ’, ‘ loongson2e ’, ‘ loongson2f ’, ‘ loongson3a ’, ‘ gs464 ’, ‘ gs464e ’, ‘ gs264e ’, ‘ m4k ’, ‘ m14k ’, ‘ m14kc ’, ‘ m14ke ’, ‘ m14kec ’, ‘ m5100 ’, ‘ m5101 ’, ‘ octeon ’, ‘ octeon+ ’, ‘ octeon2 ’, ‘ octeon3 ’, ‘ orion ’, ‘ p5600 ’, ‘ p6600 ’, ‘ r2000 ’, ‘ r3000 ’, ‘ r3900 ’, ‘ r4000 ’, ‘ r4400 ’, ‘ r4600 ’, ‘ r4650 ’, ‘ r4700 ’, ‘ r5900 ’, ‘ r6000 ’, ‘ r8000 ’, ‘ rm7000 ’, ‘ rm9000 ’, ‘ r10000 ’, ‘ r12000 ’, ‘ r14000 ’, ‘ r16000 ’, ‘ sb1 ’, ‘ sr71000 ’, ‘ vr4100 ’, ‘ vr4111 ’, ‘ vr4120 ’, ‘ vr4130 ’, ‘ vr4300 ’, ‘ vr5000 ’, ‘ vr5400 ’, ‘ vr5500 ’, ‘ xlr ’ and ‘ xlp ’. The special value ‘ from-abi ’ selects the most compatible architecture for the selected ABI (that is, ‘ mips1 ’ for 32-bit ABIs and ‘ mips3 ’ for 64-bit ABIs).

The native Linux/GNU toolchain also supports the value ‘ native ’, which selects the best architecture option for the host processor. -march=native has no effect if GCC does not recognize the processor.

In processor names, a final ‘ 000 ’ can be abbreviated as ‘ k ’ (for example, -march=r2k ). Prefixes are optional, and ‘ vr ’ may be written ‘ r ’.

Names of the form ‘ n f2_1 ’ refer to processors with FPUs clocked at half the rate of the core, names of the form ‘ n f1_1 ’ refer to processors with FPUs clocked at the same rate as the core, and names of the form ‘ n f3_2 ’ refer to processors with FPUs clocked a ratio of 3:2 with respect to the core. For compatibility reasons, ‘ n f ’ is accepted as a synonym for ‘ n f2_1 ’ while ‘ n x ’ and ‘ b fx ’ are accepted as synonyms for ‘ n f1_1 ’.

GCC defines two macros based on the value of this option. The first is _MIPS_ARCH , which gives the name of target architecture, as a string. The second has the form _MIPS_ARCH_ foo , where foo is the capitalized value of _MIPS_ARCH . For example, -march=r2000 sets _MIPS_ARCH to «r2000» and defines the macro _MIPS_ARCH_R2000 .

Note that the _MIPS_ARCH macro uses the processor names given above. In other words, it has the full prefix and does not abbreviate ‘ 000 ’ as ‘ k ’. In the case of ‘ from-abi ’, the macro names the resolved architecture (either «mips1» or «mips3» ). It names the default architecture when no -march option is given.

Optimize for arch . Among other things, this option controls the way instructions are scheduled, and the perceived cost of arithmetic operations. The list of arch values is the same as for -march .

When this option is not used, GCC optimizes for the processor specified by -march . By using -march and -mtune together, it is possible to generate code that runs on a family of processors, but optimize the code for one particular member of that family.

-mtune defines the macros _MIPS_TUNE and _MIPS_TUNE_ foo , which work in the same way as the -march ones described above.

Источник

gcc на mips

Привет всем. Помогите скомпилировать пакет gcc для mips-архитектуры. А точнее для ротуера Keenetic. У них свой тулчейн для сборки пакетов. Пакеты можно собирать из openwrt. Но gcc там нет.

В общем, мне нужен только Makefile.

и там еще много чего интересного, и это на debian squeeze

Вы не совсем так меня поняли. Дело в том, что для сборки пакетов под данный роутер нужно установить их (ZyXEL) тулчейн — http://code.google.com/p/zyxel-keenetic-packages/wiki/linux_compile.

Для сборки пакетов нужно делать

чтобы сделать «make where/is. » тебе нужен компилятор. Ты спросил, как собрать компилятор для mips, я предложил тебе взять готовый пакет.

Или ты хочешь собрать нативный компилятор и запустить его на роутере?

Да. Я неправильно выразился. Мне нужен нативный компилятор.

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

Тогда предлагаю кросс-компильнуть gcc и гуглить, как собрать ipk.

Либо расковырять какой-нибудь из готовых Makefile’ов и подсмотреть, как ipk создаются там.

Он же сказал, что кросс-компилятор ему не нужен. Ему нужно gcc на роутер впихнуть.

а вот с этим хуже.
Тогда предлагаю кросс-компильнуть gcc и гуглить, как собрать ipk.
Либо расковырять какой-нибудь из готовых Makefile’ов и подсмотреть, как ipk создаются там.

Какой именно Makefile. Можно поподробнее.

там есть пакет devel/gcc, внутри Makefile который лезет за исходниками примерно так:

Ну когда ты выбираешь пакеты в make menuconfig, они же собираются не просто так. Скорее всего, для них либо генерируются Makefile’ы, либо они уже есть готовые. Вот один из таких и расковыряй.

Makefile я нашел, вот только он для x86, как его переделать под MIPS

а как ты определил что он не для MIPS?

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

Ты говорил, что тебе нужно получить ipk. Я предлагал расковырять Makefile пакета, которые заведомо собирается в ipk и посмотреть, как там это реализовано. Возможно надо ковырять не пакет, а сам тулчейн, но сути это не меняет — главное понять, как сделать ipk.

А потом просто собираешь gcc с помощью имеющегося у тебя тулчейна, делаешь из него ipk и заливаешь на свой роутер. Это если я правильно понимаю твою задачу.

а как ты определил что он не для MIPS?

Ты говорил, что тебе нужно получить ipk. Я предлагал расковырять Makefile пакета, которые заведомо собирается в ipk и посмотреть, как там это реализовано. Возможно надо ковырять не пакет, а сам тулчейн, но сути это не меняет — главное понять, как сделать ipk.

Смотрел и нихрена не понял что и куда совать.

он собирается на x86, но это не означает что он собирается для x86

он собирается на x86, но это не означает что он собирается для x86

Странно. Я всегда думал, что TARGET — это выходной целевой пакет

После этого руками перенесем нужный пакет из

/keenetic/package/build. После этого запустим make menuconfig и добавим пакет в сборку через меню.

После этого руками перенесем нужный пакет из

/keenetic/package/build. После этого запустим make menuconfig и добавим пакет в сборку через меню.

Попробую и отпишусь. Вот от туда я и собирал aircrack-ng и vim. А вот gcc отказывался, мотивируя тем, что он не выбран, хотя при make menuconfig я его выбирал.

Не получается скомпилировать из того, что есть. Логи — http://pastebin.com/6sKdj9u6

Еще нагуглилось вот это. Может, надо так же сделать?

P.S.: Да, и если ты будешь отвечать самому себе, то вряд ли кто-нибудь это увидит.

Спасибо! Только не пойму, что делать с патчем и куда его пихать.

тот патч вообще для libtiff. Я просто предполагаю, что можно сделать нечто похожее. Поищи, где у тебя определяется _AC_ARG_VAR_PRECIOUS. Я бы начал с acinclude.m4, если верить твоим логам.

Зачем тебе на роутер gcc? Ты же будешь им чо угоднов ечность собирать.

Зачем тебе на роутер gcc? Ты же будешь им чо угоднов ечность собирать.

Пригодится. Просто ради эксперимента. Хочется научиться быть не просто Linux-пользователем и ничего сложнее, чем make && make install знать.

тот патч вообще для libtiff. Я просто предполагаю, что можно сделать нечто похожее. Поищи, где у тебя определяется _AC_ARG_VAR_PRECIOUS. Я бы начал с acinclude.m4, если верить твоим логам

Куда копать? У меня есть только Makefile, а acinclude.m4 — нет.

Еще раз настоятельно рекомендую смотреть, кому ты отвечаешь 🙂

Куда копать? У меня есть только Makefile, а acinclude.m4 — нет.

Ты же скидывал на pastebin:

Вот там и ищи. Или откуда этот файл взялся?

@TARGET_x86 таргет — это и есть целевая конфигурация архитектуры ЦПУ. Для мипс ахитектуры — @TARGET_mips

Плюс законный, хотя нубам можно было и простить. Все мы были нубами.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Консольные команды mac os x
  • Коннект менеджер мтс для mac os sierra
  • Конвертировать видео mac os
  • Конвертировать в mp3 в mac os
  • Конвертировать iso в dmg mac os