[all-commits] [llvm/llvm-project] 5cc817: [lldb] Introduce i386 support in NetBSD Process pl...

Michał Górny via All-commits all-commits at lists.llvm.org
Wed Feb 5 04:31:35 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 5cc817be75011ac3a07a1a079cca10988555d519
      https://github.com/llvm/llvm-project/commit/5cc817be75011ac3a07a1a079cca10988555d519
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2020-02-05 (Wed, 05 Feb 2020)

  Changed paths:
    M lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.cpp
    M lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.h
    M lldb/source/Plugins/Process/Utility/CMakeLists.txt
    A lldb/source/Plugins/Process/Utility/RegisterContextNetBSD_i386.cpp
    A lldb/source/Plugins/Process/Utility/RegisterContextNetBSD_i386.h
    M lldb/source/Plugins/Process/Utility/RegisterInfos_i386.h
    M lldb/source/Plugins/Process/Utility/lldb-x86-register-enums.h

  Log Message:
  -----------
  [lldb] Introduce i386 support in NetBSD Process plugin

Introduce support for i386 platform that is shared with amd64
in the same plugin.  The concept is partially based on the Linux
implementation.

The plugin tries to reuse as much code as possible.  As a result, i386
register enums are mapped into amd64 values and those are used in actual
code.  The code for accessing FPU and debug registers is shared,
although general-purpose register layouts do not match between the two
kernel APIs and need to be #ifdef-ed.

This layout will also make it possible to add support for debugging
32-bit programs on amd64 with minimal added code.

In order for this to work, I had to add missing data for debug registers
on i386.

Differential Revision: https://reviews.llvm.org/D73802




More information about the All-commits mailing list