Thanks fadden for such a nice explaination. There was "-fno-short-enums" missing in my linux-arm.mk, while merging this file I did some mistake. Now it is working fine.
So simple steps to compile with armv6 are sync with latest android git and modified linux-arm.mk file as mentioned in my previous mail. Use the corresponding It will work fine. Now I am starting compilation for armv7, these are my changes ifeq ($(TARGET_ARCH_VERSION),armv7) ARCH_ARM_HAVE_THUMB_SUPPORT := true ARCH_ARM_HAVE_THUMB_INTERWORKING := true ARCH_ARM_HAVE_64BIT_DATA := true ARCH_ARM_HAVE_HALFWORD_MULTIPLY := true ARCH_ARM_HAVE_CLZ := true ARCH_ARM_HAVE_FFS := true arch_version_cflags := -march=armv7-a -D__ARM_ARCH_7__ I am getting this error: Copying: out/target/common/obj/APPS/SdkSetup_intermediates/classes.jar target Dex: SdkSetup target Package: SdkSetup (out/target/product/generic/obj/APPS/SdkSetup_intermediates/package.apk) target R.java/Manifest.java: SettingsProvider (out/target/common/obj/APPS/SettingsProvider_intermediates/src/R.stamp) target Java: SettingsProvider (out/target/common/obj/APPS/SettingsProvider_intermediates/classes) Note: frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. Copying out/target/common/obj/APPS/SettingsProvider_intermediates/classes-full-debug.jar Copying: out/target/common/obj/APPS/SettingsProvider_intermediates/classes.jar target Dex: SettingsProvider target Package: SettingsProvider (out/target/product/generic/obj/APPS/SettingsProvider_intermediates/package.apk) target R.java/Manifest.java: Settings (out/target/common/obj/APPS/Settings_intermediates/src/R.stamp) packages/apps/Settings/res/values-fr/strings.xml:590: WARNING: empty 'Protégez votre téléphone contre toute utilisation non autorisée en créant un motif personnel de déverrouillage de l'écran. 1 L'écran suivant vous présente un exemple de motif. 2 Lorsque vous êtes prêt(e), dessinez votre propre motif de déverrouillage. Essayez différents motifs, mais reliez au moins quatre points. ' span found for at text 'b' target Java: Settings (out/target/common/obj/APPS/Settings_intermediates/classes) Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. Copying out/target/common/obj/APPS/Settings_intermediates/classes-full-debug.jar Copying: out/target/common/obj/APPS/Settings_intermediates/classes.jar target Dex: Settings target Package: Settings (out/target/product/generic/obj/APPS/Settings_intermediates/package.apk) packages/apps/Settings/res/values-fr/strings.xml:590: WARNING: empty 'Protégez votre téléphone contre toute utilisation non autorisée en créant un motif personnel de déverrouillage de l'écran. 1 L'écran suivant vous présente un exemple de motif. 2 Lorsque vous êtes prêt(e), dessinez votre propre motif de déverrouillage. Essayez différents motifs, mais reliez au moins quatre points. ' span found for at text 'b' target Java: SettingsTests (out/target/common/obj/APPS/SettingsTests_intermediates/classes) Copying out/target/common/obj/APPS/SettingsTests_intermediates/classes-full-debug.jar Copying: out/target/common/obj/APPS/SettingsTests_intermediates/classes.jar target Dex: SettingsTests target Package: SettingsTests (out/target/product/generic/obj/APPS/SettingsTests_intermediates/package.apk) target thumb C++: libsimplejni <= development/samples/SimpleJNI/jni/native.cpp development/samples/SimpleJNI/jni/native.cpp:1: error: bad value (armv7-a) for -march= switch make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libsimplejni_intermediates/native.o] Error 1 Regards, MS On Tue, Apr 7, 2009 at 11:50 PM, fadden <fad...@android.com> wrote: > > On Apr 6, 10:52 pm, Manish Sharma <manishsharm...@gmail.com> wrote: > > If I miss anything it give VM aborting. I am still not understanding the > > logic of enabling HAVE_SHORT_ENUMS. If you have some idea please share. > > From the gcc "info" page: > > `-fshort-enums' > Allocate to an `enum' type only as many bytes as it needs for the > declared range of possible values. Specifically, the `enum' type > will be equivalent to the smallest integer type which has enough > room. > > *Warning:* the `-fshort-enums' switch causes GCC to generate code > that is not binary compatible with code generated without that > switch. Use it to conform to a non-default application binary > interface. > > The "mterp" stuff is written in assembly, and needs to coordinate with > the gcc setting. This is communicated through the HAVE_SHORT_ENUMS > define. > > Android switched from having short-enums enabled in 1.0 to having it > disabled in cupcake. You can either continue with the short enums or > switch to the no-short-enums. I recommend the latter. Whatever you > decide, you need to ensure that mterp is built with the same rule. > > > > --~--~---------~--~----~------------~-------~--~----~ unsubscribe: android-porting+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-porting -~----------~----~----~----~------~----~------~--~---