Summary: | Android: Support dual ABI (x86 i686 *and* ARMv7arm), i.e. pick 'best' ABI | ||
---|---|---|---|
Product: | [JogAmp] Gluegen | Reporter: | Sven Gothel <sgothel> |
Component: | core | Assignee: | Sven Gothel <sgothel> |
Status: | RESOLVED FIXED | ||
Severity: | enhancement | CC: | brice.figureau, ericb |
Priority: | P5 | ||
Version: | 2 | ||
Hardware: | All | ||
OS: | all | ||
Type: | --- | SCM Refs: | |
Workaround: | --- | ||
Bug Depends on: | |||
Bug Blocks: | 855, 853 |
Description
Sven Gothel
2013-10-10 17:07:06 CEST
it seems that the ABI2 (armv7) is emulated on the device, since the Intel Atom Z2xxx does not support this ABI natively. 022c31eefaa0c11fbc069fd35cf5311a556c9ae5 - Use 'os.arch' as a prelim CPUType for MachineDescription - Always attempt to load a binary and parse it's elf header - Linux: self-exe - Android: gluegen-rt library - Other: java lib - Always use details (ABI) if ARM - Android: Check CPU_TYPE and CPU_TYPE2 // FIXME / HACK: // We use sCPUType for MachineDescriptionRuntime.getStatic() // until we have determined the final CPU_TYPE, etc. // MachineDescriptionRuntime gets notified via // MachineDescriptionRuntime.notifyPropsInitialized() below. // // We could use Elf Ehdr's machine value to determine the bit-size // used for it's offset table! // However, 'os.arch' should be a good guess for this task. Tested manually on - Linux x86, x86_64, armhf (raspi) - Android intel and arm - Windows x86_64 - OSX x86_64 |