diff options
| author | Sylvestre Ledru <sylvestre@debian.org> | 2012-04-11 15:35:36 +0000 |
|---|---|---|
| committer | Sylvestre Ledru <sylvestre@debian.org> | 2012-04-11 15:35:36 +0000 |
| commit | 14ada94682fd7857e81e8dc58a2b37c309879a04 (patch) | |
| tree | 7410d7dff8ecc51ff55d085898e90f61f2f93664 | |
| parent | 28397be05985863cf3915aa789e574f63204bb70 (diff) | |
| download | bcm5719-llvm-14ada94682fd7857e81e8dc58a2b37c309879a04.tar.gz bcm5719-llvm-14ada94682fd7857e81e8dc58a2b37c309879a04.zip | |
Fix the build under Debian GNU/Hurd.
Thanks to Pino Toscano for the patch
llvm-svn: 154500
| -rw-r--r-- | llvm/Makefile.rules | 2 | ||||
| -rw-r--r-- | llvm/lib/Support/Unix/Path.inc | 5 | ||||
| -rw-r--r-- | llvm/lib/Support/Unix/PathV2.inc | 10 | ||||
| -rw-r--r-- | llvm/lib/Support/Unix/Process.inc | 4 | ||||
| -rw-r--r-- | llvm/tools/llvm-shlib/Makefile | 4 |
5 files changed, 20 insertions, 5 deletions
diff --git a/llvm/Makefile.rules b/llvm/Makefile.rules index 76cec18ff8a..0984dc07230 100644 --- a/llvm/Makefile.rules +++ b/llvm/Makefile.rules @@ -1432,7 +1432,7 @@ LD.Flags += -Wl,-exported_symbol,_main endif endif -ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux NetBSD FreeBSD)) +ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux NetBSD FreeBSD GNU)) ifneq ($(ARCH), Mips) LD.Flags += -Wl,--version-script=$(LLVM_SRC_ROOT)/autoconf/ExportMap.map endif diff --git a/llvm/lib/Support/Unix/Path.inc b/llvm/lib/Support/Unix/Path.inc index b85b574ce38..ddc1e0f9cec 100644 --- a/llvm/lib/Support/Unix/Path.inc +++ b/llvm/lib/Support/Unix/Path.inc @@ -60,6 +60,11 @@ #include <mach-o/dyld.h> #endif +// For GNU Hurd +#if defined(__GNU__) && !defined(MAXPATHLEN) +# define MAXPATHLEN 4096 +#endif + // Put in a hack for Cygwin which falsely reports that the mkdtemp function // is available when it is not. #ifdef __CYGWIN__ diff --git a/llvm/lib/Support/Unix/PathV2.inc b/llvm/lib/Support/Unix/PathV2.inc index c2d7df66d9c..edb101efb0f 100644 --- a/llvm/lib/Support/Unix/PathV2.inc +++ b/llvm/lib/Support/Unix/PathV2.inc @@ -46,6 +46,11 @@ #include <limits.h> #endif +// For GNU Hurd +#if defined(__GNU__) && !defined(PATH_MAX) +# define PATH_MAX 4096 +#endif + using namespace llvm; namespace { @@ -96,7 +101,12 @@ namespace sys { namespace fs { error_code current_path(SmallVectorImpl<char> &result) { +#ifdef MAXPATHLEN result.reserve(MAXPATHLEN); +#else +// For GNU Hurd + result.reserve(1024); +#endif while (true) { if (::getcwd(result.data(), result.capacity()) == 0) { diff --git a/llvm/lib/Support/Unix/Process.inc b/llvm/lib/Support/Unix/Process.inc index 5cdb11ccebc..2d7fd384e8b 100644 --- a/llvm/lib/Support/Unix/Process.inc +++ b/llvm/lib/Support/Unix/Process.inc @@ -136,7 +136,7 @@ int Process::GetCurrentGroupId() { return getgid(); } -#ifdef HAVE_MACH_MACH_H +#if defined(HAVE_MACH_MACH_H) && !defined(__GNU__) #include <mach/mach.h> #endif @@ -150,7 +150,7 @@ void Process::PreventCoreFiles() { setrlimit(RLIMIT_CORE, &rlim); #endif -#ifdef HAVE_MACH_MACH_H +#if defined(HAVE_MACH_MACH_H) && !defined(__GNU__) // Disable crash reporting on Mac OS X 10.0-10.4 // get information about the original set of exception ports for the task diff --git a/llvm/tools/llvm-shlib/Makefile b/llvm/tools/llvm-shlib/Makefile index 0035e3aebec..2d2e2c55b80 100644 --- a/llvm/tools/llvm-shlib/Makefile +++ b/llvm/tools/llvm-shlib/Makefile @@ -63,7 +63,7 @@ ifeq ($(HOST_OS),Darwin) endif endif -ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD OpenBSD)) +ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD OpenBSD GNU)) # Include everything from the .a's into the shared library. LLVMLibsOptions := -Wl,--whole-archive $(LLVMLibsOptions) \ -Wl,--no-whole-archive @@ -71,7 +71,7 @@ ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD OpenBSD)) LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)$(SHLIBEXT) endif -ifeq ($(HOST_OS),Linux) +ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux GNU)) # Don't allow unresolved symbols. LLVMLibsOptions += -Wl,--no-undefined endif |

