18.01.2014 20:52, KP Kirchdörfer пишет: > Am Samstag, 18. Januar 2014, 19:26:39 schrieb Andrew: >> 18.01.2014 17:53, KP Kirchdörfer пишет: >>> Am Samstag, 18. Januar 2014, 17:36:05 schrieb Andrew: >>>> 18.01.2014 13:03, KP Kirchdörfer пишет: >>>>> Am Donnerstag, 16. Januar 2014, 21:21:04 schrieb Andrew: >>>>>> 16.01.2014 19:54, KP Kirchdörfer пишет: >>>>>>> Am Donnerstag, 16. Januar 2014, 19:37:50 schrieb Andrew: >>>>>>>> Strange, but for me there are some errors on libs linking (like >>>>>>>> libnl3) >>>>>>>> for arm, for x86 all is OK. Maybe distro-related trouble. Maybe not. >>>>>>>> I >>>>>>>> checked on gentoo x86_64. >>>>>>> I'm building on kubuntu x86_64. >>>>>>> >>>>>>>> Maybe we should also upgrade gcc/binutils before alpha tagging? gcc >>>>>>>> 4.8.2 seems to be stable, and fresh binutils are compiled w/o >>>>>>>> troubles. >>>>>>> If it solves the errrors for you, I'll test on my platform. IMHO you >>>>>>> can >>>>>>> reuse branch andrew-headers or whatever branch you'll add for remote >>>>>>> access. >>>>>>> >>>>>>> But, still learning git, I'm not the one to give anyone/you any hints >>>>>>> how >>>>>>> to work with git :) >>>>>>> >>>>>>> kp >>>>>> It doesn't solve errors, but it should break nothing. Also it seems >>>>>> like >>>>>> gcc 4.8.2 will generate more optimized code. Also gcc-4.6 has MIPS >>>>>> regressions which results in non-optimal code. >>>>>> So I think that we should update them. >>>>> I'm able to build all toolchains, gdb still fails, but any other issues >>>>> are >>>>> solved. A drawback is binary size - it's more often bigger than before. >>>>> >>>>> e.g. >>>>> drobear old 87k, dropbear new 110k >>>>> dnsmasq old 125k, dnsmasq new 143k >>>>> >>>>> Looks we need to tweak some more/new optimiziation settings. >>>>> >>>>> kp >>>> Maybe we should define 'resource-hungry' packages which should be >>>> assembled with -O2/-O3, and generic packages (like bind, dhcpd, >>>> iptables) which usually doesn't consumes much resources, that will be >>>> assembled with -Os? >>> "Resource-hungry" defined as CPU intensive? >>> And -Os as default? >> Right. Also -O2 (or -O3) we may use for some libs (incl. system >> libs)which seems to be used with that apps. > > Ok, I've recompiled the toolchain and dropbear and dnsmasq (unfortunately I > have not looked into more packages) and git mixed results: > > > drobear gcc 4.6 -O2 87k > dropbear 4.8.2 -O2 110k > dropbear gcc 4.8.2 -Os 96k > > dnsmasq gcc 4.6 -O2 125k > dnsmasq gcc 4.8.2 -O2 143k > dnsmasq gcc 4.8.2 -Os 117k > > So mixed results; and probably gcc 4.6 with -Os is also smaller than the > results above. Maybe, for x86. This is compressed code size, or executables size? For MIPS - gcc 4.5-4.7 has regression which results in bigger code. This was a major reason for update. > >> I think we should use something like this into platform include: >> ifdef OPT_SPEED >> CFLAGS=-O2 >> else >> CFLAGS=-Os >> endif >> CFLAGS+=..... > Well I prefer to do compile specific packages with -O2 instead of complete > toolchains. But then we do have time to decide after alpha-1. I orefer to specify it into toolchain files to specify for each platform different options for CPU-intensive and generic packages. For CPU-intensive packages we should define OPT_SPEED (so it'll be compiled with -O2 or other flags), other packages were compiled with -Os. And for platforms with limited resources (like MIPS routers) we'll have to specify -Os for both variants. > > But the results above makes me questioning, if moving to gcc 4.8.2 is really a > win and the way to go? In most cases it is equivalent/faster than gcc-4.6 (http://www.phoronix.com/scan.php?page=article&item=gcc_4248_intelamd), and it'll produce more compact code for MIPS. I think that we'll make a port for some SOHO MIPS router in near future - these boxes have limited hadware resources (usually - 32M RAM, 4M ROM; higher models - 64M RAM and 8M ROM), and we should place base system (all that is needed for booting/mounting USB flash) on ROM. With small jffs2 partition for configs/most important packages. Or we can provide different compilers for different platforms...
------------------------------------------------------------------------------ CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk _______________________________________________ leaf-devel mailing list leaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/leaf-devel