LINUX.ORG.RU

Я тут вам GCC 6 для Raspbian 8 принёс

 , ,


0

1

Компилировал с параметрами, рекомендуемыми для Raspberry Pi 3: http://choccyhobnob.com/tutorials/gcc-6-on-raspberry-pi/

А вот как компилировать любую софтину:

export LD_LIBRARY_PATH=/opt/gcc-6.3.1/lib:$LD_LIBRARY_PATH
export CC=/opt/gcc-6.3.1/bin/gcc-6
export CXX=/opt/gcc-6.3.1/bin/g++-6
CFLAGS="-O2 -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -funsafe-math-optimizations" ./configure

Опционально поменять -O2 на -O3, а «neon-fp-armv8» на "crypto-neon-fp-armv8". В комментариях пишут что -funsafe-math-optimizations надо убрать. В ответ скажу что здесь пишут, что крутой mfpu не задействуется без этого ключа. Чему верить? Переходите по ссылкам и ознакомьтесь с доводами сторон.

>>> Скачать

Upd: Согласно пожеланиям, изменил -mcpu=cortex-a53 на -march=armv8-a+crc -mtune=cortex-a53. Насколько я понял, теперь бинарники будут работать не только на cortex-a53, но при этом на самом cortex-a53 не потеряют в скорости. А вот ещё ключи сборки!

★★★★★

Последнее исправление: ZenitharChampion (всего исправлений: 17)
Ответ на: комментарий от anonymous

«apt-cache search gcc | grep gcc» шестую версию не отображает. В Raspbian 3 шестая версия есть, но дистр ещё в бете.

ZenitharChampion ★★★★★
() автор топика

GCC 6 уже давным-давно есть в PiLFS'е. Скоро уже должны GCC 7 принести.

saahriktu ★★★★★
()

-funsafe-math-optimizations
Allow optimizations for floating-point arithmetic that (a) assume that arguments and results are valid and (b) may violate IEEE or ANSI standards. When used at link time, it may include libraries or startup files that change the default FPU control word or other similar optimizations.

This option is not turned on by any -O option since it can result in incorrect output for programs that depend on an exact implementation of IEEE or ISO rules/specifications for math functions. It may, however, yield faster code for programs that do not require the guarantees of these specifications. Enables -fno-signed-zeros, -fno-trapping-math, -fassociative-math and -freciprocal-math.

The default is -fno-unsafe-math-optimizations.

еще раз

it can result in incorrect output for programs that depend on an exact implementation of IEEE or ISO rules/specifications for math

совсем для непонятливых

it can result in incorrect output

anonymous
()

А я в своей гентощке до сих пор 4.9.4-версией компиляю

Harald ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Я не знаю почему, но у меня дефолтный компилятор отказывался компилировать код с дополнительными опциями компилятора. Например, если я указываю -mfpu=neon, но компиляция происходит успешно. А если -mfpu=neon-fp-armv8, то:

gcc -std=gnu99 -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing -I./compat/jansson -I./m7 -Im7 -Ofast -march=native -flto -fuse-linker-plugin   -mcpu=cortex-a53 -mfpu=neon-fp-armv8 -MT m_minerd-cpu-miner.o -MD -MP -MF .deps/m_minerd-cpu-miner.Tpo -c -o m_minerd-cpu-miner.o `test -f 'cpu-miner.c' || echo './'`cpu-miner.c
*** Error in `gcc': double free or corruption (top): 0x0018c038 ***

С недефолтным компилятором такой проблемы нет.

ZenitharChampion ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.