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
-~----------~----~----~----~------~----~------~--~---

Reply via email to