1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/lib/Support/Unix
Dimitry Andric 8046961dd3 Revert r303015, because it has the unintended side effect of breaking
driver-mode recognition in clang (this is because the sysctl method
always returns one and only one executable path, even for an executable
with multiple links):

Fix DynamicLibraryTest.cpp on FreeBSD and NetBSD

Summary:

After rL301562, on FreeBSD the DynamicLibrary unittests fail, because
the test uses getMainExecutable("DynamicLibraryTests", Ptr), and since
the path does not contain any slashes, retrieving the main executable
will not work.

Reimplement getMainExecutable() for FreeBSD and NetBSD using sysctl(3),
which is more reliable than fiddling with relative or absolute paths.

Also add retrieval of the original argv[] from the GoogleTest framework,
to use as a fallback for other OSes.

Reviewers: emaste, marsupial, hans, krytarowski

Reviewed By: krytarowski

Subscribers: krytarowski, llvm-commits

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

llvm-svn: 303285
2017-05-17 19:33:10 +00:00
..
COM.inc Fix build broken by incorrect class name. 2015-04-27 17:22:30 +00:00
DynamicLibrary.inc fix build on Cygwin 2017-05-05 16:08:22 +00:00
Host.inc
Memory.inc Correct mprotect page boundries to round up end page. Fixes PR30905. 2016-11-05 04:22:15 +00:00
Mutex.inc
Path.inc Revert r303015, because it has the unintended side effect of breaking 2017-05-17 19:33:10 +00:00
Process.inc Remove spurious cast of nullptr. NFC. 2017-05-11 08:53:00 +00:00
Program.inc Revert "Fix Clang-tidy modernize-deprecated-headers warnings in remaining files; other minor fixes." 2016-04-05 20:45:04 +00:00
README.txt
RWMutex.inc
Signals.inc Fix detection of backtrace() availability on FreeBSD 2017-04-12 13:51:00 +00:00
Threading.inc Try to fix thread name truncation on non-Windows. 2017-03-04 18:53:09 +00:00
ThreadLocal.inc Revert "Fix Clang-tidy modernize-deprecated-headers warnings in remaining files; other minor fixes." 2016-04-05 20:45:04 +00:00
Unix.h Remove TimeValue usage from llvm/Support 2016-10-24 10:59:17 +00:00
Watchdog.inc Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00

llvm/lib/Support/Unix README
===========================

This directory provides implementations of the lib/System classes that
are common to two or more variants of UNIX. For example, the directory
structure underneath this directory could look like this:

Unix           - only code that is truly generic to all UNIX platforms
  Posix        - code that is specific to Posix variants of UNIX
  SUS          - code that is specific to the Single Unix Specification
  SysV         - code that is specific to System V variants of UNIX

As a rule, only those directories actually needing to be created should be
created. Also, further subdirectories could be created to reflect versions of
the various standards. For example, under SUS there could be v1, v2, and v3
subdirectories to reflect the three major versions of SUS.