Erro do kernel do Android 'fstack-protector-strong not supported'

1

Estou executando o Ubuntu 14.04. Eu tenho o GCC 4.9 instalado na minha máquina. Eu estou tentando compilar o kernel do Android e estou recebendo o erro abaixo,

Makefile:660: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler
  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: 'include/generated/mach-types.h' is up to date.
  CC      kernel/bounds.s
arm-linux-gnueabihf-gcc: error: unrecognized command line option ‘-fstack-protector-strong’
make[1]: *** [kernel/bounds.s] Error 1
make: *** [prepare0] Error 2

De alguma forma que eu poderia resolver isso?

    
por Kush 07.10.2016 / 23:03

2 respostas

0

Você precisa editar o MakeFile no diretório kernel / rpi em que estamos trabalhando. Veja: " Makefile: 660: Não é possível usar o CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong não suportado pelo compilador"

Vá para a linha 660 e comente o bloco de código relacionado a CONFIG_CC_STACKPROTECTOR_STRONG e tente novamente:)

    
por AvY 08.10.2016 / 09:39
0

Eu derretai esse problema. Quanto à saída Makefile:660: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler , o compilador não suporta -fstack-protector-strong.

Ao compilar o Android Kernel, o CROSS_COMPILE env define os toolchains do gcc que usamos. Então você pode definir o env para a posição do AOSP gcc toolchain ou você pode baixar novas toolchains e definir o env para ele.

Por exemplo:

# install toolchain,default in /usr/bin
sudo apt-get install gcc-aarch64-linux-gnu gcc-arm-linux-gnueab
export CROSS_COMPILE=/usr/bin/aarch64-linux-gnu-

ou

export CROSS_COMPILE=aarch64-linux-android-
export PATH=~/data/AOSP/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin:$PATH
    
por ycx think 09.03.2018 / 03:44