From ff33e09b16bfb4e2ae19c0c8859ec2ced1406bc9 Mon Sep 17 00:00:00 2001 From: Alastair McKinstry Date: Mon, 5 Feb 2018 09:06:53 +0000 Subject: [PATCH] build_hurd Gbp-Pq: Name build_hurd --- ompi/include/ompi_config.h | 4 ++++ ompi/mca/fbtl/posix/fbtl_posix_preadv.c | 4 ++++ ompi/mca/fbtl/posix/fbtl_posix_pwritev.c | 4 ++++ opal/mca/base/mca_base_var.c | 8 ++++++++ .../memory/patcher/memory_patcher_component.c | 4 ++++ opal/util/stacktrace.c | 4 ++++ orte/include/orte_config.h | 7 +++++++ orte/mca/odls/base/odls_base_default_fns.c | 20 ++++++++++++++++++- test/util/opal_path_nfs.c | 4 +++- 9 files changed, 57 insertions(+), 2 deletions(-) diff --git a/ompi/include/ompi_config.h b/ompi/include/ompi_config.h index a7a2c1fa..2428ddea 100644 --- a/ompi/include/ompi_config.h +++ b/ompi/include/ompi_config.h @@ -28,6 +28,10 @@ #include "opal_config.h" +#ifndef PATH_MAX /* Hurd */ +#define PATH_MAX 65535 +#endif + #define OMPI_IDENT_STRING OPAL_IDENT_STRING /*********************************************************************** diff --git a/ompi/mca/fbtl/posix/fbtl_posix_preadv.c b/ompi/mca/fbtl/posix/fbtl_posix_preadv.c index ceb8b1d9..20809611 100644 --- a/ompi/mca/fbtl/posix/fbtl_posix_preadv.c +++ b/ompi/mca/fbtl/posix/fbtl_posix_preadv.c @@ -28,6 +28,10 @@ #include "ompi/constants.h" #include "ompi/mca/fbtl/fbtl.h" +#ifndef IOV_MAX +#define IOV_MAX 1024 +#endif + ssize_t mca_fbtl_posix_preadv (mca_io_ompio_file_t *fh ) { /*int *fp = NULL;*/ diff --git a/ompi/mca/fbtl/posix/fbtl_posix_pwritev.c b/ompi/mca/fbtl/posix/fbtl_posix_pwritev.c index 5208716d..68a3e825 100644 --- a/ompi/mca/fbtl/posix/fbtl_posix_pwritev.c +++ b/ompi/mca/fbtl/posix/fbtl_posix_pwritev.c @@ -30,6 +30,10 @@ #include "ompi/constants.h" #include "ompi/mca/fbtl/fbtl.h" +#ifndef IOV_MAX +#define IOV_MAX 1024 +#endif + ssize_t mca_fbtl_posix_pwritev(mca_io_ompio_file_t *fh ) { /*int *fp = NULL;*/ diff --git a/opal/mca/base/mca_base_var.c b/opal/mca/base/mca_base_var.c index 5a5c4f91..3ce603db 100644 --- a/opal/mca/base/mca_base_var.c +++ b/opal/mca/base/mca_base_var.c @@ -50,6 +50,14 @@ #include "opal/util/opal_environ.h" #include "opal/runtime/opal.h" +#ifndef MAXPATHLEN /* Hurd */ +#define MAXPATHLEN 65535 +#endif + +#ifndef PATH_MAX /* Hurd */ +#define PATH_MAX 65535 +#endif + /* * local variables */ diff --git a/opal/mca/memory/patcher/memory_patcher_component.c b/opal/mca/memory/patcher/memory_patcher_component.c index c49cb8ce..72b70fcf 100644 --- a/opal/mca/memory/patcher/memory_patcher_component.c +++ b/opal/mca/memory/patcher/memory_patcher_component.c @@ -152,6 +152,7 @@ static void *intercept_mmap(void *start, size_t length, int prot, int flags, int #endif +#if defined (SYS_munmap) static int (*original_munmap) (void *, size_t); static int _intercept_munmap(void *start, size_t length) @@ -177,6 +178,7 @@ static int intercept_munmap(void *start, size_t length) OPAL_PATCHER_END; return result; } +#endif #if defined (SYS_mremap) @@ -484,10 +486,12 @@ static int patcher_open (void) } #endif +#if defined(SYS_munmap) rc = opal_patcher->patch_symbol ("munmap", (uintptr_t)intercept_munmap, (uintptr_t *) &original_munmap); if (OPAL_SUCCESS != rc) { return rc; } +#endif #if defined (SYS_mremap) rc = opal_patcher->patch_symbol ("mremap",(uintptr_t)intercept_mremap, (uintptr_t *) &original_mremap); diff --git a/opal/util/stacktrace.c b/opal/util/stacktrace.c index 58f3c924..9f9e71d1 100644 --- a/opal/util/stacktrace.c +++ b/opal/util/stacktrace.c @@ -579,8 +579,12 @@ int opal_util_register_stackhandlers (void) /* Setup the signals to catch */ memset(&act, 0, sizeof(act)); +#ifdef SA_SIGINFO act.sa_sigaction = show_stackframe; act.sa_flags = SA_SIGINFO; +#else + act.sa_handler = show_stackframe_handler; +#endif #ifdef SA_ONESHOT act.sa_flags |= SA_ONESHOT; #else diff --git a/orte/include/orte_config.h b/orte/include/orte_config.h index 9c951b7f..6ec28d08 100644 --- a/orte/include/orte_config.h +++ b/orte/include/orte_config.h @@ -26,6 +26,13 @@ #include "opal_config.h" +#ifndef PATH_MAX /* Hurd */ +#define PATH_MAX 65535 +#endif +#ifndef MAXPATHLEN +#define MAXPATHLEN 65535 +#endif + #define ORTE_IDENT_STRING OPAL_IDENT_STRING # if OPAL_C_HAVE_VISIBILITY diff --git a/orte/mca/odls/base/odls_base_default_fns.c b/orte/mca/odls/base/odls_base_default_fns.c index 5c05d80b..bdcbeab5 100644 --- a/orte/mca/odls/base/odls_base_default_fns.c +++ b/orte/mca/odls/base/odls_base_default_fns.c @@ -629,7 +629,12 @@ void orte_odls_base_default_launch_local(int fd, short sd, void *cbdata) orte_proc_t *child=NULL; int rc=ORTE_SUCCESS; orte_std_cntr_t proc_rank; + +#if !defined(MAXPATHLEN) && defined(__GLIBC__) + char *basedir=NULL; +#else char basedir[MAXPATHLEN]; +#endif char **argvsav=NULL; int inm, j, idx; int total_num_local_procs = 0; @@ -643,7 +648,11 @@ void orte_odls_base_default_launch_local(int fd, short sd, void *cbdata) * bouncing around as we execute various apps, but we will always return * to this place as our default directory */ +#if !defined(MAXPATHLEN) && defined(__GLIBC__) + basedir = get_current_dir_name(); +#else getcwd(basedir, sizeof(basedir)); +#endif /* find the jobdat for this job */ if (NULL == (jobdat = orte_get_job_data_object(job))) { @@ -1652,8 +1661,13 @@ int orte_odls_base_default_restart_proc(orte_proc_t *child, int rc; orte_app_context_t *app; orte_job_t *jobdat; +#if !defined(MAXPATHLEN) && defined(__GLIBC__) + char *basedir=NULL; + char *dir=NULL; +#else char basedir[MAXPATHLEN]; - +#endif + OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output, "%s odls:restart_proc for proc %s", ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), @@ -1663,7 +1677,11 @@ int orte_odls_base_default_restart_proc(orte_proc_t *child, * bouncing around as we execute this app, but we will always return * to this place as our default directory */ +#if !defined(MAXPATHLEN) && defined(__GLIBC__) + basedir = get_current_dir_name(); +#else getcwd(basedir, sizeof(basedir)); +#endif /* find this child's jobdat */ if (NULL == (jobdat = orte_get_job_data_object(child->name.jobid))) { diff --git a/test/util/opal_path_nfs.c b/test/util/opal_path_nfs.c index e2405bde..23ed1511 100644 --- a/test/util/opal_path_nfs.c +++ b/test/util/opal_path_nfs.c @@ -31,8 +31,10 @@ #include #include +#ifdef HAVE_SYS_MOUNT_H #include -#ifdef HAVE_SYS_STATFS_H +#endif +#if defined(__linux__) /* not present on Hurd */ #include #endif #ifdef HAVE_SYS_VFS_H -- 2.30.2