- 论坛徽章:
- 1
|
本帖最后由 arm-linux-gcc 于 2014-03-22 15:12 编辑
回复 10# linuxfellow
systemtap我记得是依赖elfutils的,要先编译elfutils
编译elfutils-0.153
LDFLAGS="-L${OUT}/usr/local/lib -L${TARGET}/usr/lib -L${TARGET}/lib -Wl,-rpath -Wl,${OUT}/usr/local/lib" \
CFLAGS="-I${OUT}/usr/local/include -I${TARGET}/../usr/include" \
PKG_CONFIG_PATH=${OUT}/usr/local/lib/pkgconfig:${TARGET}/usr/lib/pkgconfig \
./configure --host=arm-linux --prefix=${OUT}/usr/local --target=arm-linux
make
make install
注意不能make clean,否则会删除一些头文件,如i386_dis.h,所以如果configure参数错了的话就得重新解包
注意不能make uninstall,否则PC上的相应文件也会被删除
这里必须加上--target=arm-linux和-rpath
编译systemtap
LDFLAGS="-L${OUT}/usr/local/lib -L${TARGET}/usr/lib -L${TARGET}/lib -Wl,-rpath -Wl,${OUT}/usr/local/lib" \
CFLAGS="-I${OUT}/usr/local/include -I${TARGET}/../usr/include" \
CXXFLAGS="-I${OUT}/usr/local/include -I${TARGET}/../usr/include" \
PKG_CONFIG_PATH=${OUT}/usr/local/lib/pkgconfig:${TARGET}/usr/lib/pkgconfig \
./configure --host=arm-linux --prefix=${OUT}/usr/local
make
make install
-rpath能不加就尽量不加,我编译其他库和应用的时候一般都不加这东西,但是elfutils和systemtap有点奇葩不加-rpath会configure不过
toolchain是用的codesourcery的,环境变量的值如下
hui@luffy:~/qi$ echo $TARGET
/opt/arm-2012.03/arm-none-linux-gnueabi/libc/thumb2/
hui@luffy:~/qi$ echo $OUT
/home/hui/qi/jill/out/
hui@luffy:~/qi$ cat /opt/arm-2012.03/bin/arm-linux-gcc
#!/bin/sh
arm-none-linux-gnueabi-gcc -mthumb -march=armv7-a -mtune=cortex-a9 -mfpu=neon -mfloat-abi=softfp -ftree-vectorize $*
hui@luffy:~/qi$ cat /opt/arm-2012.03/bin/arm-linux-g++
#!/bin/sh
arm-none-linux-gnueabi-g++ -mthumb -march=armv7-a -mtune=cortex-a9 -mfpu=neon -mfloat-abi=softfp -ftree-vectorize $*
hui@luffy:~/qi$ cat /opt/arm-2012.03/bin/arm-linux-gcc-4.6.3
#!/bin/sh
arm-none-linux-gnueabi-gcc-4.6.3 -mthumb -march=armv7-a -mtune=cortex-a9 -mfpu=neon -mfloat-abi=softfp -ftree-vectorize $*
其余的arm-linux-xxx都是软连接,指向同一个目录下的arm-none-linux-gnueabi-xxx
编译uboot和kernel时直接用arm-none-linux-gnueabi-gcc,编译app和库时用arm-linux-gcc
|
|