我在带有 linux 的 ARM CortexA8 的实际程序中发现了以下问题:
´*** glibc detected *** ./PRUssExternal: double free or corruption (top): 0x00024fe8 ***´
我在网上搜索它,我发现管理这个问题的最有用的程序是 Valgrind。
然后我尝试在交叉编译中编译到我的系统,在配置中使用以下选项。我正在使用 Valgrind 3.8.1
@-virtual-machine:~/valgrind-3.8.1$ CC=arm-cortexa8-linux-gnueabi-gcc CFLAGS="-pipe -Os -mtune=cortex-a8 -march=armv7-a -mabi=aapcs-linux -msoft-float -I/opt/OSELAS.Toolchain-2011.11.3/arm-cortexa8-linux-gnueabi/gcc-4.6.2-glibc-2.14.1-binutils-2.21.1a-kernel-2.6.39-sanitez /sysroot-arm-cortexa8-linux-gnueabi/usr/include" LDFLAGS="-L/opt/OSELAS.Toolchain-2011.11.3/arm-cortexa8-linux-gnueabi/gcc-4.6.2-glibc-2.14.1 -binutils-2.21.1a-kernel-2.6.39-sanitez/sysroot-arm-cortexa8-linux-gnueabi/usr/lib" ./configure -prefix=/opt/valgrid -host=arm-cortexa8-linux-gnueabi -目标=arm-none-linux-gnueabi-build=x86_64-ubuntu-linux
这个配置的输出是:
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for arm-cortexa8-linux-gnueabi-strip... arm-cortexa8-linux-gnueabi-strip
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether ln -s works... yes
checking for arm-cortexa8-linux-gnueabi-gcc... arm-cortexa8-linux-gnueabi-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether arm-cortexa8-linux-gnueabi-gcc accepts -g... yes
checking for arm-cortexa8-linux-gnueabi-gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of arm-cortexa8-linux-gnueabi-gcc... gcc3
checking whether arm-cortexa8-linux-gnueabi-gcc and cc understand -c and -o together... yes
checking how to run the C preprocessor... arm-cortexa8-linux-gnueabi-gcc -E
checking for arm-cortexa8-linux-gnueabi-g++... arm-cortexa8-linux-gnueabi-g++
checking whether we are using the GNU C++ compiler... yes
checking whether arm-cortexa8-linux-gnueabi-g++ accepts -g... yes
checking dependency style of arm-cortexa8-linux-gnueabi-g++... gcc3
checking for arm-cortexa8-linux-gnueabi-ranlib... arm-cortexa8-linux-gnueabi-ranlib
checking for a sed that does not truncate output... /bin/sed
checking for ar... /usr/bin/ar
checking for perl... /usr/bin/perl
checking for gdb... /usr/bin/gdb
checking dependency style of arm-cortexa8-linux-gnueabi-gcc... gcc3
checking for diff -u... yes
checking for a supported version of gcc... ok (4.6.2)
checking build system type... x86_64-ubuntu-linux-gnu
checking host system type... arm-cortexa8-linux-gnueabi
checking for a supported CPU... no (arm)
configure: error: Unsupported host architecture. Sorry
在此输出的最后一行,我的问题出现了,尽管我查找了一些信息,并且 Cortexa8 它是受支持的平台之一。
出于这个原因,我的问题是我的板是否不受支持,因为我使用的库不兼容,或者可能是其他原因。或者另一方面,我可以毫无畏惧地编译 valgrind 并跳过这个检查。
谢谢你的时间
-问候
布雷西01010...