View Single Post
Old 09-28-2012, 12:29 PM   #716
knc1
Helpdesk Junkie
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 7,005
Karma: 6359394
Join Date: Feb 2012
Device: Too many.
Quote:
Originally Posted by Kai771 View Post
If you mean this thread, I read it.

But, if I understood it correctly, the goal of that thread was to make QEMU VM, under which you run gcc, which compile linux apps.

My goal was a bit different. I was only interested in compiling kpdfview. I managed that first with x-tools-glibc2.5-gcc4.2.4.tar.gz, but since that file seemed controversial, I tried with CS next, since it was the default in kpdfview makefile. Actually, I lied in this post: the first CS TC I tried was 2008q1, because twobob said "I recommend the CS (Code Sourcery) 2008q1 now since it is the last TC that compiles natively (Runs applications without replacing the onboard system libraries) for the Kindle 3 ". It didn't work, as can be seen in my previous posts (default makefile has bugs that need to be fixed in order to be able to compile it with versions newer than 2007q3). THEN I downloaded all . So, this is "what TC can you use and how to build kpdfviewer" and not "what TCs are good for kindle cross compiling". Both topics have a lot in common, but the first one is more specific.

That said, I do plan to try out stuff from DIY - KeK a bit later. Wait for me!

Now, I followed your advice, and this is the output:
Code:
execve("./hello-linaro", ["./hello-linaro"], [/* 13 vars */]) = 0
brk(0)                                  = 0x11000
uname({sys="Linux", node="kindle", ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001b000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/var/run/ld.so.cache", O_RDONLY)  = 20
fstat64(20, {st_mode=S_IFREG|0644, st_size=14282, ...}) = 0
mmap2(NULL, 14282, PROT_READ, MAP_PRIVATE, 20, 0) = 0x4001c000
close(20)                               = 0
open("/lib/libc.so.6", O_RDONLY)        = 20
read(20, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\250J\1\000"..., 512) = 512
fstat64(20, {st_mode=S_IFREG|0755, st_size=1348230, ...}) = 0
mmap2(NULL, 1135004, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 20, 0) = 0x40025000
mprotect(0x4012e000, 28672, PROT_NONE)  = 0
mmap2(0x40135000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 20, 0x108) = 0x40135000
mmap2(0x40138000, 8604, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40138000
mprotect(0xbea67000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC|PROT_GROWSDOWN) = 0
close(20)                               = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40020000
syscall_983045(0x400204a0, 0x400204a0, 0x40024058, 0x40020b78, 0x40, 0x40024058, 0, 0xf0005, 0x6fffff40, 0x8034, 0x40024000, 0xbea67b6c, 0, 0xbea67890, 0x40014974, 0x400020c0, 0x20000010, 0x400204a0, 0, 0, 0xc764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) = 0
mprotect(0x40135000, 8192, PROT_READ)   = 0
munmap(0x4001c000, 14282)               = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
Process 1707 detached
Any comments greatly appreciated .
Your program is opening the Kindle's native system libc cache:
Code:
open("/var/run/ld.so.cache", O_RDONLY)  = 20
fstat64(20, {st_mode=S_IFREG|0644, st_size=14282, ...}) = 0
mmap2(NULL, 14282, PROT_READ, MAP_PRIVATE, 20, 0) = 0x4001c000
And then seg-faulting when it tries to un-map it:
Code:
munmap(0x4001c000, 14282)               = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
Process 1707 detached
Try instead to get your helloworld program to open the system library it was built against.

twobob has written extensively on how to do that.
knc1 is offline   Reply With Quote