1

u-boot を android4.2 ソースに移植し、gcc バージョン 4.6.x-google 20120106 を持つ android ツールチェーンを使用しています。

私のビルド環境: Ubuntu 10.04、ホスト gcc バージョン 4.4.3。

私のプラットフォームは arm-v7、cotex-a5 です。

問題は、u-boot で次のコンパイル エラーが発生する場合があることです (私は Android のビルドにマルチジョブを使用しています)。

target thumb C++: libGLES_trace <= frameworks/native/opengl/libs/GLES_trace/src/gltrace_context.cpp

    CC  ispi.c

target thumb C++: libGLES_trace <= frameworks/native/opengl/libs/GLES_trace/src/gltrace_egl.cpp

    CC  spl.c

target thumb C++: libGLES_trace <= frameworks/native/opengl/libs/GLES_trace/src/gltrace_eglapi.cpp

    MAKE    arch/arm/lib/
    CC  timer.c
cc1: error: unrecognized command line option '-mshort-load-bytes'

make[2]: *** [/home/jenkins/workspace/droid-4.2.2_r1/out/target/product/aere/obj/u-boot/arch/arm/cpu/armv7/rda/timer.o] Error 1

make[1]: *** [/home/jenkins/workspace/droid-4.2.2_r1/out/target/product/aere/obj/u-boot/arch/arm/cpu/armv7/rda/librda.o] Error 2

make[1]: Leaving directory `/home/jenkins/workspace/rdadroid-4.2.2_r1/u-boot'
make: *** [out/target/product/aere/obj/u-boot/u-boot.img] Error 2

make: *** Waiting for unfinished jobs....

でもビルドし直せばコンパイルエラーは消えます。</p>

3.5 以降の GCC がこのオプションをサポートしていないことはわかってい-mshort-load-bytesますが、私の gcc バージョンは 4.6 であり、確認include/generated/cc_options.mkしたところ、ビルドが失敗した場合の内容は次のとおりです。

CC_OPTIONS += -marm
CC_OPTIONS += -mno-thumb-interwork
CC_OPTIONS += -mabi=apcs-gnu
CC_OPTIONS += -mabi=aapcs-linux
CC_OPTIONS += -march=armv7-a
CC_OPTIONS += -fno-stack-protector
CC_OPTIONS += -Wno-format-nonliteral
CC_OPTIONS += -Wno-format-security
CC_OPTIONS += -fstack-usage
CC_OPTIONS += -fno-toplevel-reorder
CC_OPTIONS += -mshort-load-bytes

成功した場合はありませんCC_OPTIONS += -mshort-load-bytes

それで、誰でもこの問題をデバッグする方法を教えてもらえますか? ありがとう!

4

1 に答える 1