[Lldb-commits] [PATCH] D19480: Fix ARM attribute parsing for Android after rL267291
Tamas Berghammer via lldb-commits
lldb-commits at lists.llvm.org
Mon Apr 25 06:20:56 PDT 2016
tberghammer added inline comments.
Comment at: source/Core/ArchSpec.cpp:1017
@@ +1016,3 @@
+ // considered to be compatible. This is required as a workaround for shared libraries compiled
+ // for Android without the NOTE section indicating that they are using the Android ABI.
+ if (lhs == llvm::Triple::Android && (rhs == llvm::Triple::EABI || rhs == llvm::Triple::EABIHF))
> Are you sure AndroidEabi and EabiHF are compatible? Android is always soft-float, is it not?
They are not always compatible but I don't see any way to detect it in the current system and it is possible to have code compiled with AndroidEabi and AndroidEabiHF inside the same application if all API crossing the ABI boundaries are annotated with attribute((pcs("aapcs"))).
The android platform libraries are soft float with all API with floating point argument is marked with attribute((pcs("aapcs"))) so user libraries can be hard float (not sure how well it works)
More information about the lldb-commits