[Lldb-commits] [lldb] r316673 - Allow SysV-i386 ABI on everything other than Apple targets

Davide Italiano via lldb-commits lldb-commits at lists.llvm.org
Thu Oct 26 10:24:48 PDT 2017


On Thu, Oct 26, 2017 at 10:04 AM, Stephane Sezer via lldb-commits
<lldb-commits at lists.llvm.org> wrote:
> Author: sas
> Date: Thu Oct 26 10:04:20 2017
> New Revision: 316673
>
> URL: http://llvm.org/viewvc/llvm-project?rev=316673&view=rev
> Log:
> Allow SysV-i386 ABI on everything other than Apple targets
>
> Summary:
> This matches other SysV ABIs that are different on Apple and non-Apple targets,
> like `ABISysV_arm.cpp` for instance.
>
> Reviewers: clayborg, emaste
>
> Subscribers: aemerson, kristof.beyls, lldb-commits
>
> Differential Revision: https://reviews.llvm.org/D39335
>
> Modified:
>     lldb/trunk/source/Plugins/ABI/SysV-i386/ABISysV_i386.cpp
>
> Modified: lldb/trunk/source/Plugins/ABI/SysV-i386/ABISysV_i386.cpp
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ABI/SysV-i386/ABISysV_i386.cpp?rev=316673&r1=316672&r2=316673&view=diff
> ==============================================================================
> --- lldb/trunk/source/Plugins/ABI/SysV-i386/ABISysV_i386.cpp (original)
> +++ lldb/trunk/source/Plugins/ABI/SysV-i386/ABISysV_i386.cpp Thu Oct 26 10:04:20 2017
> @@ -205,11 +205,12 @@ ABISysV_i386::GetRegisterInfoArray(uint3
>  ABISP
>  ABISysV_i386::CreateInstance(lldb::ProcessSP process_sp, const ArchSpec &arch) {
>    static ABISP g_abi_sp;
> -  if ((arch.GetTriple().getArch() == llvm::Triple::x86) &&
> -      (arch.GetTriple().isOSLinux() || arch.GetTriple().isOSFreeBSD())) {
> -    if (!g_abi_sp)
> -      g_abi_sp.reset(new ABISysV_i386(process_sp));
> -    return g_abi_sp;
> +  if (arch.GetTriple().getVendor() != llvm::Triple::Apple) {
> +    if (arch.GetTriple().getArch() == llvm::Triple::x86) {
> +      if (!g_abi_sp)
> +        g_abi_sp.reset(new ABISysV_i386(process_sp));
> +      return g_abi_sp;
> +    }
>    }
>    return ABISP();
>  }
>

This seems to change a fairly fundamental function for lldb-i386.
I think we should have an unit-test for this. Sorry for being
pedantic, I promise I'll stop after this one.

Thanks,

--
Davide


More information about the lldb-commits mailing list