On 10 June 2011 00:08, Ken Werner <ken.wer...@linaro.org> wrote: > Hi there, > > I've got an android build system up and running and had a quick look into > this. When using the gcc-linaro-4.5-2011.05-0 the bootanimation runs forever > when compiling the libgui.so using -O[s|1|2]. For me it only works when > disabling all optimizations (-O0). So, I've started with -O0 and tried to > bisect the various optimization switches but I didn't fail. Next I've > started with -O1 and disabled all the optimizations but it didn't pass. So, > this approach was a dead end. Then I realized that the build system employs > some sort of a prelinker called apriori. Adding 'LOCAL_PRELINK_MODULE := > false' to the makefile disables the prelink step. And the resulting ELF > binary finally worked (tested with -O[s|1|2]).
hi Ken, Thanks for your progress in advance. Disabling prelinking looks fine, and actually SensorService in "master" branch disables prelinking as well: http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=services/sensorservice/Android.mk;hb=HEAD The library libsensorservice is highly related to SensorService, which is activated by SystemServer, an essential process to bring up Android framework functionality. In directory frameworks/base/services, libsensorservice is the only library which is attributed as non-prelinked. > It would be good to understand the root cause of this because the workaround > probably has drawbacks at run (load) time. Apriori gets two input files. The > prelink-linux-arm.map which lists the start of the prelink addresses: > libui.so 0xAB900000 # [~1M] > libgui.so 0xAB800000 # [~1M] > libskia.so 0xAB100000 # [~2M] > and the libgui.so to be prelinked. I'd expect to see the resulting > PhysAddr's somewhere nearby 0xAB800000 but this doesn't seem to be the case > somehow. In order to exclude a miscompiled apriori, I've prelinked libgui > using an apriori binary build with the prebuilt gcc44 - no difference. > Therefore I don't think gcc is miscompiling but something went wrong whith > the prelink step. But still - the android prelinking remains a mystery to me > as I don't know what is supposed to be prelinked and what is actually > failing. However, I think we are one step further. So, can you verify the behavior difference between prelink maps as well? Cheers, -jserv _______________________________________________ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev