x86 uses the x86_64 toolchain. There's no separate 32-bit toolchain.
I started to refactor so we could add FindToolchain tests, but that doesn't
work because FindToolchain depends on environment variables set up by 'lunch'.
Change-Id: I264b95e1e83a7e795f8cac49bc9e1cf497514029
The value corresponds to whether or not the line has matched one of the
detected formats (registers, header, backtrace, etc.) and can be used to
identify what logcat lines don't correspond to one of these formats.
Change-Id: Ibd7bc5a211dcfe86ea2f92d7e7941091afff4fc4
Every architecture was at least slightly wrong. Rather than try to
tune the heuristics, let's just keep lists of all the registers.
Also start adding some unit tests.
Change-Id: I490dcc9855f7af1e3529734711400f366ffc4e0f
This includes the fairly large change of refactoring stack_core.py into
a class so that its behavior is compatible with adbs. Additionally, if
the ABI line does not come before lines that require it to determine
proper widths (registers, stack), then it will assume that the ABI is
32 bit and not 64.
Change-Id: I6ad84a55337d86d25f7f8197048dc93868b0a01a
next CL will populate mips64r6 lib and lib-boostrap in real directory
previous symlink to android-9/arch-mips which is mips64r2
Change-Id: I59baeb4e5b6f32e0c52c6a0d1a54985808f0534f
Revert bionic c54ca40aef48009e7b0e5b2b3069aad62ffd3453 because
endian.h is seen by APP_ABI=armeabi as well. Instruction
"rev" and "rev16" doesn't exist until ARMv6
Change-Id: I653740e3704b9b64e3e2a2e17452675635a14776
1. Set APP_ABI:=all in almost all samples
2. Enhance hello-jni to report more ABIs
3. Fix warnings
Change-Id: I2851c42b77ef8225e32143d225edcf973633e782
This fixes the bug where we can't (currently) find the toolchain
for arm because it's at a different GCC version (4.8) from arm64 (4.9).
Change-Id: I22351af55298255f3ac4adfcae7e20080712fba4
The generator now takes files first from prebuilts/tools
and then if not found takes them from prebuilds/sdk.
Change-Id: Ia099c26202292537e92eaaaa5c26ad2916114f1e
1) Add ldexp. ldexp used to co-exist in both libc.so and libm.so until
the removal from libm.so in ICS. Unfortunately the sole copy of libm_hard.a
in NDK was compiled from JB source and miss ldexp. Code compiled with
hard-float using ldexp may use libc.so which follows soft-float and misbehave
2) Turns out the following (all in fpclassify.o) also exists in recent libc.so
too. Add them in libm_hard.a as well:
__fpclassifyd
__fpclassifyf
__fpclassifyl
__isfinitef
__isfinite
__isfinitel
__isinff
__isinf
__isinfl
__isnanl
__isnormalf
__isnormal
__isnormall
isinf
isnan
isnanf
Change-Id: Ia157fb2911341988de102e55d0c6f6141a9c3dda
1) ssize_t is int, instead of long int
2) WCHAR_MIN and WCHAR_MAX be consistent with bionic's:
respond to __WCHAR_UNSIGNED__, work for both signed (X86/MIPS)
and unsigned (ARM) wchar_t, and work for -fshort-wchar too
Change-Id: Ief1be007571b50c5d63a819df489f9d3f9b47bc8
SDK_HOST_ARCH will be x86 if we are doing 32-bit host multilib build,
in which HOST_ARCH is actually x86_64.
Bug: 13751317
Change-Id: I8b7893b10cc4d0e71076b3b3625ec2f352aa8602
Such that the following can correctly populate sysroot just enough to rebuild
mips64el toolchain
./build/tools/gen-platforms.sh --minimal --dst-dir=$NDK --ndk-dir=$NDK --arch=mips64
Change-Id: Ib37516bfe4c4b6a0c5b479d7cec8764c161f02c8