Set /tmp first, then /var/tmp. /tmp is volatile on NetBSD and /var/tmp not. This improves performance in the common use. The downstream copy of GCC was patched for this preference since 2015.
Remove occurence of /usr/tmp as it was never valid for NetBSD. It was already activey disabled in the GCC manual page in 1996 and in the GCC source code at least in 1998. This change is not a matter of user-preference but Operating System defaults that disagree with the libiberty detection plan. No functional change for other Operataing Systems/environments. libiberty/ChangeLog: * make-temp-file.c (choose_tmpdir): Honor NetBSD specific paths. --- libiberty/ChangeLog | 4 ++++ libiberty/make-temp-file.c | 8 +++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 106c107e91a..18b9357aaed 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,7 @@ +2020-03-18 Kamil Rytarowski <n...@gmx.com> + + * make-temp-file.c (choose_tmpdir): Honor NetBSD specific paths. + 2020-03-05 Egeyar Bagcioglu <egeyar.bagcio...@oracle.com> * simple-object.c (handle_lto_debug_sections): Name diff --git a/libiberty/make-temp-file.c b/libiberty/make-temp-file.c index cb08c27af6f..674333f042b 100644 --- a/libiberty/make-temp-file.c +++ b/libiberty/make-temp-file.c @@ -129,10 +129,16 @@ choose_tmpdir (void) base = try_dir (P_tmpdir, base); #endif - /* Try /var/tmp, /usr/tmp, then /tmp. */ +#if defined(__NetBSD__) + /* Try /tmp (volatile), then /var/tmp (non-volatile) on NetBSD. */ + base = try_dir (tmp, base); + base = try_dir (vartmp, base); +#else + /* For others try /var/tmp, /usr/tmp, then /tmp. */ base = try_dir (vartmp, base); base = try_dir (usrtmp, base); base = try_dir (tmp, base); +#endif /* If all else fails, use the current directory! */ if (base == 0) -- 2.25.0