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