Lines Matching full:platform
1 //===-- Platform.h ----------------------------------------------*- C++ -*-===//
63 /// \class Platform Platform.h "lldb/Target/Platform.h"
64 /// A plug-in interface definition class for debug platform that
65 /// includes many platform abilities such as:
66 /// \li getting platform information such as supported architectures,
73 /// \li attaching and possibly debugging the platform's kernel
74 class Platform : public PluginInterface {
77 Platform(bool is_host_platform);
81 ~Platform() override;
89 /// Get the native host platform plug-in.
96 /// This platform will be used as the default platform when launching or
97 /// attaching to processes unless another platform is specified.
106 /// Augments the triple either with information from platform or the host
107 /// system (if platform is null).
108 static ArchSpec GetAugmentedArchSpec(Platform *platform,
114 /// Each platform knows the architectures that it supports and can select
119 /// platform should select the default architecture from \a exe_file. Any
124 /// Returns \b true if this Platform plug-in was able to find
132 /// Each platform might have tricks to find symbol files for an executable
158 /// local/remote platform.
183 /// Get the OS version from a connected platform.
185 /// Some platforms might not be connected to a remote platform, but can
198 // Returns the name of the platform
207 /// Report the current status for this platform.
211 /// file caching, and if connected a quick blurb about what this platform is
230 // Remote Platform subclasses need to override this function
241 /// Locate a file for a platform.
247 /// The platform file path to locate and cache locally.
254 /// If the UUID is known, it is best to supply it to platform
259 /// A locally cached version of the platform file. For platforms
321 /// Get the platform's supported architectures in the order in which they
333 /// Launch a new process on a platform, not necessarily for debugging, it
340 /// argument magic the platform defines as part of its typical
344 /// Kill process on a platform.
347 /// Lets a platform answer if it is compatible with a given architecture and
356 /// flag) and then attaching. If your platform doesn't support this,
361 /// Platform::LaunchProcess() followed by Platform::Attach (). Remote
381 /// Each platform subclass needs to implement this function and attempt to
382 /// attach to the process with the process ID of \a pid. The platform
389 /// to the default Process subclass for the platform that is
418 // The base class Platform will take care of the host platform. Subclasses
428 // this platform. This is needed when running expressions and also for
442 return m_is_host; // Is this the default host platform? in IsHost()
461 /// parts, we "augment" these using information from the platform and return
481 // Override this to return true if your platform supports Clang modules. You
483 // right Clang flags for your platform.
486 // Appends the platform-specific options required to find the modules for the
487 // current platform.
497 // like "setting breakpoint by name". The platform will return "true" from
542 /// Install is similar to Platform::PutFile(), but it differs in that if an
543 /// application/framework/shared library is installed on a remote platform
544 /// and the remote platform requires something to be done to register the
555 /// will use the platform working directory. If \a dst has a
557 /// platform working directory will be prepended to the relative
654 /// dispatch_qaddr this Platform method will locate the queue name and
678 /// dispatch_qaddr this Platform method will locate the queue ID and provide
695 /// Provide a list of trap handler function names for this platform
707 /// The Platform base class provides the m_trap_handlers ivar but it does
737 /// Executable might exist within the Platform SDK directories, or in
742 /// platform.
749 /// Allow the platform to set preferred memory cache line size. If non-zero
837 /// If the platform have a list of processes waiting for a debugger to
854 /// If the platform have a crashed process with crash information entries,
872 /// Detect a binary in memory that will determine which Platform and
874 /// the Platform/DynamicLoader.
877 /// true to indicate that this is a platform binary and has been
911 /// to bypass pulling files from remote platform, or to search symbol files
934 // connect to a remote platform. For the host platform this will be set to
947 m_system_arch; // The architecture of the kernel or the remote platform
949 // Mutex for modifying Platform data structures that should only be used for
966 /// Ask the Platform subclass to fill in the list of trap handler names
974 /// The base class Platform ivar m_trap_handlers should be updated by the
975 /// Platform subclass when this method is called. If there are no
1034 /// Select the active platform.
1036 /// In order to debug remotely, other platform's can be remotely connected
1037 /// to and set as the selected platform for any subsequent debugging. This
1071 /// Get the platform for the given list of architectures.
1075 /// 1. Returns the selected platform if it matches any of the architectures.
1076 /// 2. Returns the host platform if it matches any of the architectures.
1077 /// 3. Returns the platform that matches all the architectures.
1079 /// If none of the above apply, this function returns a default platform. The
1089 /// Detect a binary in memory that will determine which Platform and
1091 /// the Platform/DynamicLoader.
1094 /// true to indicate that this is a platform binary and has been