aboutsummaryrefslogtreecommitdiff
path: root/libgomp/fortran.c
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2018-12-13 18:04:05 +0000
committerTom de Vries <vries@gcc.gnu.org>2018-12-13 18:04:05 +0000
commitfe0827eed09d14064efe070dc0f4db71bc66bbd4 (patch)
tree1d57d9badd25c6a5f1a76878106124d6add57a25 /libgomp/fortran.c
parentb3147e59284d2a916eac1972f44bd9aff72178a4 (diff)
downloadgcc-fe0827eed09d14064efe070dc0f4db71bc66bbd4.zip
gcc-fe0827eed09d14064efe070dc0f4db71bc66bbd4.tar.gz
gcc-fe0827eed09d14064efe070dc0f4db71bc66bbd4.tar.bz2
[libgomp, nvptx] Fix libgomp.c/target-5.c compilation
Libgomp test-case libgomp.c/target-5.c is failing to compile when building for x86_64 with nvptx accelerator due to missing: - getpid - gethostname - isatty (pulled in by fwrite) in the nvptx newlib. This patch fixes the build failure by: - adding a function gomp_print_string which limits the use of fwrite to a single location (in affinity-fmt.c), and - creating an nvptx version of affinity-fmt.c, which: - overrides the configure test results HAVE_GETPID and HAVE_GETHOSTNAME, and - implements fwrite using write. Build and reg-tested on x86_64 with nvptx accelerator. 2018-12-13 Tom de Vries <tdevries@suse.de> * affinity-fmt.c (gomp_print_string): New function, factored out of ... (omp_display_affinity, gomp_display_affinity_thread): ... here, and ... * fortran.c (omp_display_affinity_): ... here. * libgomp.h (gomp_print_string): Declare. * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c, undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to write. From-SVN: r267100
Diffstat (limited to 'libgomp/fortran.c')
-rw-r--r--libgomp/fortran.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libgomp/fortran.c b/libgomp/fortran.c
index 0157bae..328bf9c 100644
--- a/libgomp/fortran.c
+++ b/libgomp/fortran.c
@@ -626,7 +626,7 @@ omp_display_affinity_ (const char *format, size_t format_len)
if (ret < sizeof buf)
{
buf[ret] = '\n';
- fwrite (buf, 1, ret + 1, stderr);
+ gomp_print_string (buf, ret + 1);
}
else
{
@@ -635,7 +635,7 @@ omp_display_affinity_ (const char *format, size_t format_len)
format_len ? fmt : gomp_affinity_format_var,
gomp_thread_self (), &thr->ts, thr->place);
b[ret] = '\n';
- fwrite (b, 1, ret + 1, stderr);
+ gomp_print_string (b, ret + 1);
free (b);
}
if (fmt && fmt != fmt_buf)