open("/dev/log/main", O_WRONLY|O_LARGEFILE) = -1 ENOENT (No such file
or
directory)
In your log informantion, the problem is possible no file "/dev/log/
main". Can you confirm your target system have "/dev/log/main" file?
Thanks.
On Nov 16, 10:58 am, ye xiangzhen <[email protected]> wrote:
> 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: [email protected]
website: http://groups.google.com/group/android-porting