Hi, all: I am porting android4.0 to our board, but found the binaries in /system/bin can not be executed. It always shows "Segmentation fault." # ./mediaserver Segmentation fault # ./wpa_cli Segmentation fault # ./vdc Segmentation fault I used the defalut config: ============================================ PLATFORM_VERSION_CODENAME=REL PLATFORM_VERSION=4.0.1 TARGET_PRODUCT=full TARGET_BUILD_VARIANT=eng TARGET_BUILD_TYPE=release TARGET_BUILD_APPS= TARGET_ARCH=arm TARGET_ARCH_VARIANT=armv7-a HOST_ARCH=x86 HOST_OS=linux HOST_BUILD_TYPE=release BUILD_ID=ITL41D ============================================
I traced with strace # strace ./vdc =========================== execve("./vdc", ["./vdc"], [/* 10 vars */]) = 0 syscall_983045(0xb0012c78, 0xb00144c4, 0xffffffc8, 0, 0, 0xb00094f0, 0xbe957e50, 0xf0005, 0xb0012c78, 0, 0, 0, 0, 0xbe957e00, 0xb00047c3, 0xb0001200, 0x10, 0xb0012c78, 0, 0, 0xd8d4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) = 0 getpid() = 1017 getuid32() = 0 geteuid32() = 0 getgid32() = 0 getegid32() = 0 sigaction(SIGILL, {0xb0005b31, [], SA_RESTART|SA_SIGINFO}, NULL, 0x45018) = 0 sigaction(SIGABRT, {0xb0005b31, [], SA_RESTART|SA_SIGINFO}, NULL, 0x45018) = 0 sigaction(SIGBUS, {0xb0005b31, [], SA_RESTART|SA_SIGINFO}, NULL, 0x45018) = 0 sigaction(SIGFPE, {0xb0005b31, [], SA_RESTART|SA_SIGINFO}, NULL, 0x45018) = 0 sigaction(SIGSEGV, {0xb0005b31, [], SA_RESTART|SA_SIGINFO}, NULL, 0x45018) = 0 sigaction(SIGSTKFLT, {0xb0005b31, [], SA_RESTART|SA_SIGINFO}, NULL, 0x45018) = 0 sigaction(SIGPIPE, {0xb0005b31, [], SA_RESTART|SA_SIGINFO}, NULL, 0x45018) = 0 stat64("/usr/local/lib/liblog.so", 0xbe957af0) = -1 ENOENT (No such file or directory) stat64("/vendor/lib/liblog.so", 0xbe957af0) = -1 ENOENT (No such file or directory) stat64("/system/lib/liblog.so", {st_mode=S_IFREG|0644, st_size=13888, ...}) = 0 open("/system/lib/liblog.so", O_RDONLY|O_LARGEFILE) = 3 lseek(3, 0, SEEK_SET) = 0 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\0\0\000"..., 4096) = 4096 lseek(3, -8, SEEK_END) = 13880 read(3, "\1\0\0\0\0\0\0\0", 8) = 8 mmap2(NULL, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40093000 mmap2(0x40093000, 10864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x40093000 mprotect(0x40093000, 12288, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 mmap2(0x40096000, 412, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x3) = 0x40096000 close(3) = 0 stat64("/usr/local/lib/libc.so", 0xbe957848) = -1 ENOENT (No such file or directory) stat64("/vendor/lib/libc.so", 0xbe957848) = -1 ENOENT (No such file or directory) stat64("/system/lib/libc.so", {st_mode=S_IFREG|0644, st_size=282244, ...}) = 0 open("/system/lib/libc.so", O_RDONLY|O_LARGEFILE) = 3 lseek(3, 0, SEEK_SET) = 0 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\0\0\000"..., 4096) = 4096 lseek(3, -8, SEEK_END) = 282236 read(3, "\1\0\0\0\0\0\0\0", 8) = 8 mmap2(NULL, 327680, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x400cb000 mmap2(0x400cb000, 268384, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x400cb000 mprotect(0x400cb000, 270336, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 mmap2(0x4010d000, 10132, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x42) = 0x4010d000 mmap2(0x40110000, 43804, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40110000 close(3) = 0 mprotect(0x400cb000, 270336, PROT_READ|PROT_EXEC) = 0 --- SIGSEGV (Segmentation fault) @ 0 (0) --- open("/dev/log/main", O_WRONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) gettid() = 1017 SYS_281(0x1, 0x1, 0, 0x72, 0xbe95745c) = 3 SYS_283(0x3, 0xbe95745c, 0x14, 0x72, 0xbe95745c) = -1 ECONNREFUSED (Connection refused) close(3) = 0 sigaction(SIGSEGV, {SIG_DFL}, {0xb0005b31, [], SA_RESTART|SA_SIGINFO}, 0) = 0 rt_sigreturn(0) = -61456 --- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV +++ Process 1017 detached =========================== And find the toolchain has been changed to ifeq ($(strip $(TARGET_TOOLS_PREFIX)),) TARGET_TOOLS_PREFIX := \ prebuilt/$(HOST_PREBUILT_TAG)/toolchain/arm-linux-androideabi-4.4.x/bin/arm-linux-androideabi- So I changed back to orginal prebuilt/$(HOST_PREBUILT_TAG)/toolchain/arm-eabi-4.4.3/bin/arm-eabi- like gingerbread. But failed to build whole source: -------------------------------- frameworks/base/include/binder/IInterface.h:62: error: template with C linkage frameworks/base/include/binder/IInterface.h:114: error: template with C linkage In file included from frameworks/base/include/ui/Region.h:25, from frameworks/base/include/surfaceflinger/Surface.h:28, from frameworks/base/media/libmedia/IMediaPlayer.cpp:27: frameworks/base/include/ui/Rect.h:145: error: template specialization with C linkage frameworks/base/include/ui/Rect.h:145: error: template specialization with C linkage frameworks/base/include/ui/Rect.h:145: error: template specialization with C linkage -------------------------------- Any one meet above problem? Regards xz -- unsubscribe: android-porting+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-porting