Android.bp assumed only an armv7-a-neon core needs to set HAS_VFP_D32.
In fact, an armv8 core also has 32 double-word floating point registers
for A32 and T32 ISAs (AArch32 or 32-bit armv8).
Bug: 65568426
Test: lunch aosp_arm64; emulator # on oc-mr1-dev; boot to home screen.
Check crashglue.o actually uses VFP_D16-31 for 32-bit armv8 core.
Change-Id: I34584a27fa24a55bb4809ccd7f99a8122971df0e
82 lines
1.5 KiB
Text
82 lines
1.5 KiB
Text
cc_defaults {
|
|
name: "crasher-defaults",
|
|
|
|
cppflags: [
|
|
"-W",
|
|
"-Wall",
|
|
"-Wextra",
|
|
"-Wunused",
|
|
"-Werror",
|
|
"-O0",
|
|
"-fstack-protector-all",
|
|
"-Wno-free-nonheap-object",
|
|
"-Wno-date-time",
|
|
],
|
|
srcs: ["crasher.cpp"],
|
|
arch: {
|
|
arm: {
|
|
srcs: ["arm/crashglue.S"],
|
|
|
|
neon: {
|
|
asflags: ["-DHAS_VFP_D32"],
|
|
},
|
|
},
|
|
arm64: {
|
|
srcs: ["arm64/crashglue.S"],
|
|
},
|
|
mips: {
|
|
srcs: ["mips/crashglue.S"],
|
|
},
|
|
mips64: {
|
|
srcs: ["mips64/crashglue.S"],
|
|
},
|
|
x86: {
|
|
srcs: ["x86/crashglue.S"],
|
|
},
|
|
x86_64: {
|
|
srcs: ["x86_64/crashglue.S"],
|
|
},
|
|
},
|
|
compile_multilib: "both",
|
|
}
|
|
|
|
cc_binary {
|
|
name: "crasher",
|
|
|
|
defaults: ["crasher-defaults"],
|
|
shared_libs: [
|
|
"libbase",
|
|
"liblog",
|
|
"libseccomp_policy",
|
|
],
|
|
multilib: {
|
|
lib32: {
|
|
stem: "crasher",
|
|
},
|
|
lib64: {
|
|
stem: "crasher64",
|
|
},
|
|
},
|
|
}
|
|
|
|
cc_binary {
|
|
name: "static_crasher",
|
|
|
|
defaults: ["crasher-defaults"],
|
|
cppflags: ["-DSTATIC_CRASHER"],
|
|
static_executable: true,
|
|
static_libs: [
|
|
"libdebuggerd_handler",
|
|
"libbase",
|
|
"liblog",
|
|
"libseccomp_policy",
|
|
],
|
|
multilib: {
|
|
lib32: {
|
|
stem: "static_crasher",
|
|
},
|
|
lib64: {
|
|
stem: "static_crasher64",
|
|
},
|
|
},
|
|
}
|