08-16-2012, 09:23 PM | #46 | |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
Posts: 6,586
Karma: 6299991
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
|
Quote:
Much obliged. (Didn't see your stealth message! some kind of skunk tech??) |
|
08-16-2012, 09:32 PM | #47 | |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
Posts: 6,586
Karma: 6299991
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
|
Quote:
There was some talk on a thread somewhere - that I fail to find right now as per - that did have a nice list of compiler optimisations too (with tests for why they were decent choices) they would be a nice addition to a) this thread and b) the project effort as a whole. I'll see if I can find it. I think GM was chatting on it. At the end of the day the type of people I envision - "Having a go" - at porting something will thank us for ensuring that the maximum amount of stuff-that-can-go-wrong has at least be thought about, documented, or covered. Thinking about it that's exactly what I would like too! So I will pretty much go with the consensus on best TC - knc has some string and clear ideas about what the possible benefits of such an endeavour could be so I defer to him on the final say on these matters. This kind of input is invaluable in making good decisions, thank you. So GM recommended TC DL (thanks GM, I really have to get my knowledge of this stuff sorted) Let's see how she goes. EDIT: [root@kindle fs]# strace -o /mnt/us/modules/gm-2008-CS.tc insmod /mnt/us/modules/smbfs.ko insmod: error inserting '/mnt/us/modules/smbfs.ko': -1 Unknown symbol in module [root@kindle fs]# Fail Spoiler:
Hmm Dunno. I'll try again tomorrow with knc's recommendation when it sufaces : ) see how we go. Last edited by twobob; 08-16-2012 at 10:14 PM. |
|
Advert | |
|
08-16-2012, 09:37 PM | #48 |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
Posts: 6,586
Karma: 6299991
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
|
If knc1 is right and we can create a truly native compiler, I suppose none of those details will matter in one sense. Hmm. Dunno.
|
08-16-2012, 09:42 PM | #49 | |
Carpe diem, c'est la vie.
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
Quote:
/CodeSourcery/arm-2008q1/bin/arm-none-linux-gnueabi-gcc --ver shows: gcc version 4.2.3 (Sourcery G++ Lite 2008q1-126) |
|
08-16-2012, 10:32 PM | #50 | |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
Posts: 6,586
Karma: 6299991
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
|
Quote:
[root@kindle fs]# strace -o /mnt/us/modules/gm-2008-CS.tc insmod /mnt/us/modules/binfmt_misc.ko Spoiler:
worked for this toolchain as well? Spoiler:
where the others modules failed???: maybe if I had tried other modules with my original TC they too would have failed... Hmm. Better test that tomorrow. Sigh, just when you think you've got it sorted.... Last edited by twobob; 08-16-2012 at 10:35 PM. |
|
Advert | |
|
08-16-2012, 10:39 PM | #51 |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
Posts: 6,586
Karma: 6299991
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
|
|
08-16-2012, 11:08 PM | #52 | |
Going Viral
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
Quote:
Ref: https://wiki.mobileread.com/wiki/Tool...Anix_Knowledge Code:
core2quad bin $ pwd /mnt/k321/bin core2quad bin $ objdump -sx mountpoint - - - - Contents of section .comment: 0000 00474343 3a202847 4e552920 342e312e .GCC: (GNU) 4.1. 0010 31000047 43433a20 28474e55 2920342e 1..GCC: (GNU) 4. 0020 312e3100 00474343 3a202847 4e552920 1.1..GCC: (GNU) 0030 342e312e 32000047 43433a20 28474e55 4.1.2..GCC: (GNU 0040 2920342e 312e3200 00474343 3a202847 ) 4.1.2..GCC: (G 0050 4e552920 342e312e 31000047 43433a20 NU) 4.1.1..GCC: 0060 28474e55 2920342e 312e3200 00474343 (GNU) 4.1.2..GCC 0070 3a202847 4e552920 342e312e 3100 : (GNU) 4.1.1. Contents of section .ARM.attributes: 0000 410f0000 00616561 62690001 05000000 A....aeabi...... |
|
08-16-2012, 11:13 PM | #53 | |
Carpe diem, c'est la vie.
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
Not close to WHAT? You said:
Quote:
Is this a "Canadian Cross" issue, where we need a "newer than 4.2.x" version x86 TC to build a gcc 4.2.x ARM native toolchain? What does your "4.1.1/4.1.2" hex dump have to do with 4.2.x/newer than 4.2.x? How is your link to the "*nix" section of your wiki page relevant to these gcc TC versions? Last edited by geekmaster; 08-16-2012 at 11:30 PM. |
|
08-16-2012, 11:30 PM | #54 |
Going Viral
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
NO - two different objectives being discussed here.
One - Twobob wants to build a current (e)glibc tool chain. For that, the link he had was to a 4.2 series compiler which is too old to build the current glibc. Second - Duplicate the original build tools of lab126. For that, as provided on the KeK resource server: Code:
core2quad bin $ pwd /home/mszick/arm-2006q3/bin core2quad bin $ ./arm-none-linux-gnueabi-gcc --version arm-none-linux-gnueabi-gcc (CodeSourcery ARM Sourcery G++ 2006q3-26) 4.1.1 - - - - Plus - I haven't seen **why** he wants to drop using the gcc-4.6 series tool chain he was using - it builds kernel modules acceptible to the Amazon kernel build. There might be some C++ interworking problems, but we haven't seen any examples of that (yet). The runtime Ruby errors are not related to the compiler that was used. But I am sure Twobob has a plan in mind, so there is the closest compiler, already "in stock". |
08-16-2012, 11:33 PM | #55 |
Carpe diem, c'est la vie.
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
I just hope to use the final product(s) that you guys come up with, without having to devote too much attention to the "birthing pains" you guys are suffering here while bringing it to fruition. Thanks for the effort. Now "push".
|
08-16-2012, 11:38 PM | #56 | |
Going Viral
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
Quote:
Use the binutils tools to isolate just the .text section of each and compare them. (or, just dump the section headers, which list the sizes, and check those for size differences). If you changed gcc versions between the two shown above, then yes, there should be size differences. Even with the same options and post-compile processing. |
|
08-16-2012, 11:48 PM | #57 |
BLAM!
Posts: 13,497
Karma: 26047188
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
@twobob:
K2/3: ARCH_FLAGS="-march=armv6j -mtune=arm1136jf-s -mfpu=vfp" K4/5: ARCH_FLAGS="-march=armv7-a -mtune=cortex-a8 -mfpu=neon" (or -mfpu=vfpv3, which might in fact be a better choice right now, even with the latest Linaro GCC series, I have some benchmarks to do...) The rest might start an unholy war, but I'd go with at least: -O2 -ffast-math ${ARCH_FLAGS} -pipe -fomit-frame-pointer (unless you care about debugging stuff, in which case you'll want to replace all this with -O0 -g3 ${ARCH_FLAGS} -pipe -fno-omit-frame-pointer). (FWIW, Linaro recommends using -O3 or -Ofast on armv7... Again, I have some benchmarks to do ). Unless you know that -ffast-math is going to break something, which should be approximately never, except for some really, really specific use cases. All this with a softfp TC defaulting to softfp. Unless you're planning on taking over the entire system (and I do mean everything, because it *will* break Amazon's stuff with the latest Linaro releases, while it only *might* break stuff in fun and interesting ways otherwise ), in which case you can go with hardfloat. And re: the kernel stuff: I'm still going with it needs a proper symbol table, while binfmt might not require some stuff exported, hence why it worked. At least check after a depmod run with the modules in the right place in /lib/modules, else it might need a full kernel flash & proper install. What does dmesg has to say about it? It should print the missing symbol(s), which should help pinpoint if it's indeed something that was EXPORT_SYMBOL'ed. Last edited by NiLuJe; 08-17-2012 at 12:08 AM. |
08-17-2012, 02:25 AM | #58 | |
Carpe diem, c'est la vie.
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
In case you are not aware of it, I used this patch a long time ago (when I first install CodeSourcery for a different ARM device):
Quote:
Last edited by geekmaster; 08-17-2012 at 02:31 AM. |
|
08-17-2012, 08:57 AM | #59 | |
Going Viral
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
@NiLuJe, towbob: Looks good, with two notes:
Quote:
-mfp=vfpv3-d16 Both notes above only apply to building code for the K4&K5 (armv7 core). The other machines, which are actually vfp1.1, are matched by the gcc option 'vfp' (which in fact generates code for vfp1.1, vfp1 code never got into gcc before the change in the cores). |
|
08-17-2012, 10:01 AM | #60 | |
Going Viral
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
Quote:
He does have a plan in mind, he wrote it, he posted it, I read it - - - But none of that had any effect on my mind. He wants to explore (or provide people with a way to explore) both ways of after-market modification of an embedded device (here: Kindles). Create a complete system based on current software versions and selectively replace things with older versions as required to keep the device working. (Most of his time so far has been on this track.) Create a complete system based on the originally shipped software versions and selectively replace things with newer versions as required to advance the device features. (This one is why he was looking for a "lab126-K3" compatible tool-chain.) NOW, I have it sorted out in my mind, and perhaps this post will help others follow the work being done here. The end result of all this will be a "check list" of things to do and things to avoid. Sort of a "recommended practices" list - all in one place. |
|
Tags |
buildroot, compile, howto, kernal, kindle 3.3 |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Linux | Titus | enTourage Archive | 6 | 09-07-2010 12:23 PM |
So as a Linux..... | tajreed | General Discussions | 13 | 04-05-2010 01:51 PM |
Linux? | Ron46 | Ectaco jetBook | 8 | 12-24-2009 09:07 AM |
Linux | coredump | Sony Reader | 12 | 11-17-2009 06:07 AM |
Linux Help | clewley | Bookeen | 3 | 04-04-2008 09:40 AM |