History log of /external/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
1571ac370339050199691507058913a34ce2421a 24-Jun-2013 Ed Maste <emaste@freebsd.org> Sync FreeBSD files to Linux equivalents, to reduce noise in diff

- Sort functions in the same order
- Match whitespace
- Remove commetned out code
- Make filename in comments match filename


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184746 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
0e191607adcb0ea8ebd06c278be648a7f5c0097f 10-May-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13854277>
<rdar://problem/13594769>

Main changes in this patch include:
- cleanup plug-in interface and use ConstStrings for plug-in names
- Modfiied the BSD Archive plug-in to be able to pick out the correct .o file when .a files contain multiple .o files with the same name by using the timestamp
- Modified SymbolFileDWARFDebugMap to properly verify the timestamp on .o files it loads to ensure we don't load updated .o files and cause problems when debugging

The plug-in interface changes:

Modified the lldb_private::PluginInterface class that all plug-ins inherit from:

Changed:

virtual const char * GetPluginName() = 0;

To:

virtual ConstString GetPluginName() = 0;

Removed:

virtual const char * GetShortPluginName() = 0;

- Fixed up all plug-in to adhere to the new interface and to return lldb_private::ConstString values for the plug-in names.
- Fixed all plug-ins to return simple names with no prefixes. Some plug-ins had prefixes and most ones didn't, so now they all don't have prefixed names, just simple names like "linux", "gdb-remote", etc.






git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
97a19b21dacd9063bb5475812df7781777262198 29-Apr-2013 Greg Clayton <gclayton@apple.com> Cleanup logging to use the new "std::string FileSpec::GetPath()" function. Also added a similar function for modules:

std::string
Module::GetSpecificationDescription () const;

This returns the module as "/usr/lib/libfoo.dylib" for normal files (calls "std::string FileSpec::GetPath()" on m_file) but it also might include the object name in case the module is for a .o file in a BSD archive ("/usr/lib/libfoo.a(bar.o)"). Cleaned up necessary logging code to use it.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
40e278caddf5442776f9408f20d757cc85fe630a 13-Dec-2012 Sean Callanan <scallanan@apple.com> Removed the == and != operators from ArchSpec, since
equality can be strict or loose and we want code to
explicitly choose one or the other.

Also renamed the Compare function to IsEqualTo, to
avoid confusion.

<rdar://problem/12856749>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170152 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
d891f9b872103235cfd2ed452c6f14a4394d9b3a 05-Dec-2012 Daniel Malea <daniel.malea@intel.com> Fix Linux build warnings due to redefinition of macros:
- add new header lldb-python.h to be included before other system headers
- short term fix (eventually python dependencies must be cleaned up)

Patch by Matt Kopec!




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
7ce162bb32d1bbe97e6ab4e482847046390d7108 06-Nov-2012 Greg Clayton <gclayton@apple.com> Make sure to check the module is valid after trying to find a shared module.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@167471 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
ed0a0fbd021e44727469d6fa20cc337c58bd04c3 18-Oct-2012 Greg Clayton <gclayton@apple.com> <rdar://problem/12462048>
<rdar://problem/12068650>

More fixes to how we handle paths that are used to create a target.

This modification centralizes the location where and how what the user specifies gets resolved. Prior to this fix, the TargetList::CreateTarget variants took a FileSpec object which meant everyone had the opportunity to resolve the path their own way. Now both CreateTarget variants take a "const char *use_exe_path" which allows the TargetList::CreateTarget to centralize where the resolving happens and "do the right thing".




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
6c46fe68169c5d880bd34c736693f1be6e42cd1d 05-Sep-2012 Greg Clayton <gclayton@apple.com> <rdar://problem/12211320>

When the vendor and OS are not specified in a triple, only let unspecified vendor and OS fields matchs for the current host platform.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@163248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
49ce8969d3154e1560106cfe530444c09410f217 29-Aug-2012 Greg Clayton <gclayton@apple.com> <rdar://problem/11757916>

Make breakpoint setting by file and line much more efficient by only looking for inlined breakpoint locations if we are setting a breakpoint in anything but a source implementation file. Implementing this complex for a many reasons. Turns out that parsing compile units lazily had some issues with respect to how we need to do things with DWARF in .o files. So the fixes in the checkin for this makes these changes:
- Add a new setting called "target.inline-breakpoint-strategy" which can be set to "never", "always", or "headers". "never" will never try and set any inlined breakpoints (fastest). "always" always looks for inlined breakpoint locations (slowest, but most accurate). "headers", which is the default setting, will only look for inlined breakpoint locations if the breakpoint is set in what are consudered to be header files, which is realy defined as "not in an implementation source file".
- modify the breakpoint setting by file and line to check the current "target.inline-breakpoint-strategy" setting and act accordingly
- Modify compile units to be able to get their language and other info lazily. This allows us to create compile units from the debug map and not have to fill all of the details in, and then lazily discover this information as we go on debuggging. This is needed to avoid parsing all .o files when setting breakpoints in implementation only files (no inlines). Otherwise we would need to parse the .o file, the object file (mach-o in our case) and the symbol file (DWARF in the object file) just to see what the compile unit was.
- modify the "SymbolFileDWARFDebugMap" to subclass lldb_private::Module so that the virtual "GetObjectFile()" and "GetSymbolVendor()" functions can be intercepted when the .o file contenst are later lazilly needed. Prior to this fix, when we first instantiated the "SymbolFileDWARFDebugMap" class, we would also make modules, object files and symbol files for every .o file in the debug map because we needed to fix up the sections in the .o files with information that is in the executable debug map. Now we lazily do this in the DebugMapModule::GetObjectFile()

Cleaned up header includes a bit as well.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@162860 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
b170aee2daacc83e3d71c3e3acc9d56c89893a7b 08-May-2012 Greg Clayton <gclayton@apple.com> <rdar://problem/11358639>

Switch over to the "*-apple-macosx" for desktop and "*-apple-ios" for iOS triples.

Also make the selection process for auto selecting platforms based off of an arch much better.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156354 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
78dae82bea7365f3a3501618c5d724a1a11d944f 14-Apr-2012 Johnny Chen <johnny.chen@apple.com> Patch from Viktor Kutuzov <vkutuzov@accesssoftek.com>:

Hello everyone,

please find the attached patch for TOT and lldb-platform-work branch, which provides the following changes:
- fixed a crash in the ProcessPOSIX constructor when an executable module object is not yet created.
- added support for the multi instanciated FreeBSD platform objects (the local host and remote as example).
- enabled the remote gdb plugin on FreeBSD.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@154724 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
b1db658333cdebca31a128be95e926d80c3c7796 20-Mar-2012 Greg Clayton <gclayton@apple.com> Platforms can now auto-select themselves if you specify a full target triple when doing a "target create" command.

Each platform now knows if it can handle an architecture and a platform can be found using an architecture. Each platform can look at the arch, vendor and OS and know if it should be used or not.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153104 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
a605c64524e6bb1e43de4ca0ea95967a596f08dd 27-Feb-2012 Greg Clayton <gclayton@apple.com> Enabled the PlatformLinux and PlatforFreeBSD on MacOSX so they can be used
and also so we don't break them with our code changes.

The _only_ plug-ins that should be #ifdef'ed out and not compiled in LLDB
are those that only work when running natively on the host system.

This fixed bot the PlatformLinux and PlatformFreeBSD build breakages that
were due to ModuleSpec changes.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151539 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
2b737df3a92e30bb66aec108cb4d09ec1c1e86fe 27-Feb-2012 Greg Clayton <gclayton@apple.com> Patch from Pawel Worach to make FreeBSD work again after ModuleSpec changes.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151532 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
7e9964783acae183c23a7ea470cedd64472eb233 05-Jan-2012 Johnny Chen <johnny.chen@apple.com> This patch combines common code from Linux and FreeBSD into
a new POSIX platform. It also contains fixes for 64bit FreeBSD.

The patch is based on changes by Mark Peek <mp@FreeBSD.org> and
"K. Macy" <kmacy@freebsd.org> in their github repo located at
https://github.com/fbsd/lldb.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@147609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
01b79d26bdaa340aea156bb7fbf3ad8e13321819 09-Sep-2011 Johnny Chen <johnny.chen@apple.com> FreeBSD platform patch from Filipe!


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139338 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
6b0f149de64d4a6383ff8c750f56e3801f33a99c 29-Aug-2011 Johnny Chen <johnny.chen@apple.com> Patch by Filipe for FreeBSD platform plugin!


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138761 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
4b66329ac82b5f3d939bd31b4d1498da9257d85a 02-Aug-2011 Johnny Chen <johnny.chen@apple.com> Patch by David Forsythe to build lldb on FreeBSD!

I did not take the patch for ClangExpressionParser.cpp since there was a
recent change by Peter for the same line. Feel free to disagree. :-)

Reference:
----------------------------------------------------------------------
r136580 | pcc | 2011-07-30 15:42:24 -0700 (Sat, 30 Jul 2011) | 3 lines

Add reloc arg to standard JIT createJIT()

Fixes non-__APPLE__ build. Patch by Matt Johnson!
----------------------------------------------------------------------

Also, I ignore the part of the patch to remove the RegisterContextDarwin*.h/.cpp.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136720 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp