[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 12:45:11 PDT 2017


On Thu, Oct 26, 2017 at 12:39 PM, Stephane Sezer <sas at cd80.net> wrote:
> This changes nothing except for 32bit Windows, which used to not be able to
> benefit from ABISysV_i386 but can use it now. The ABI support is tested
> independently from Windows itself.
>

Sure, makes sense. I guess we should still be able to unittest this
change as we do for the stuff in lib/Support?

Thanks!

--
Davide

> On Thu, Oct 26, 2017 at 10:25 AM Davide Italiano <dccitaliano at gmail.com>
> wrote:
>>
>> 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();
>> >  }
>> >
>>


More information about the lldb-commits mailing list