From: Andrew Stubbs <ams@codesourcery.com>
To: Joseph Myers <joseph@codesourcery.com>
Cc: <gcc-patches@gcc.gnu.org>
Subject: Re: [PATCH 21/25] GCN Back-end (part 2/2).
Date: Wed, 12 Sep 2018 13:42:00 -0000 [thread overview]
Message-ID: <71811e56-8c57-d691-efdc-1c7727d0465c@codesourcery.com> (raw)
In-Reply-To: <alpine.DEB.2.21.1809051414260.21278@digraph.polyomino.org.uk>
[-- Attachment #1: Type: text/plain, Size: 1001 bytes --]
On 05/09/18 15:22, Joseph Myers wrote:
> In cases like this with alternative diagnostic messages using ?:, you need
> to mark up each message with G_() so they both get extracted for
> translation by exgettext.
>
[...]
>
> This concatenation with a macro won't work with exgettext extracting
> messages for translation.
>
[...]
>
> Use %qs (presuming this code is using the generic diagnostic machinery
> that supports it).
>
> +gcn-run$(exeext): gcn-run.o
> + +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $< -ldl
>
> I'd expect this to fail on non-Unix configurations that don't have -ldl,
> and thus to need appropriate conditionals / configure tests to avoid that
> build failure.
The attached diff from the previous patch should address these issues, I
hope. If they're OK I'll incorporate the changes into the next version
of the (much) larger patch when I next post them.
> A new port should add an appropriate entry to contrib/config-list.mk.
I'm still testing this.
Andrew
[-- Attachment #2: 180912-fix-gcn-review-issues.patch --]
[-- Type: text/x-patch, Size: 7726 bytes --]
diff --git a/gcc/config.gcc b/gcc/config.gcc
index d28bee5..3d7aa43 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1387,7 +1387,13 @@ amdgcn-*-amdhsa)
extra_modes=gcn/gcn-modes.def
extra_objs="${extra_objs} gcn-tree.o"
extra_gcc_objs="driver-gcn.o"
- extra_programs="${extra_programs} gcn-run\$(exeext)"
+ case "$host" in
+ x86_64*-*-linux-gnu )
+ if test "$ac_res" != no; then
+ extra_programs="${extra_programs} gcn-run\$(exeext)"
+ fi
+ ;;
+ esac
if test x$enable_as_accelerator = xyes; then
extra_programs="${extra_programs} mkoffload\$(exeext)"
tm_file="${tm_file} gcn/offload.h"
diff --git a/gcc/config/gcn/gcn.c b/gcc/config/gcn/gcn.c
index ce03d5b..67cf907 100644
--- a/gcc/config/gcn/gcn.c
+++ b/gcc/config/gcn/gcn.c
@@ -48,6 +48,7 @@
#include "print-rtl.h"
#include "attribs.h"
#include "varasm.h"
+#include "intl.h"
/* This file should be included last. */
#include "target-def.h"
@@ -4614,8 +4615,9 @@ gcn_goacc_validate_dims (tree decl, int dims[], int fn_level)
warning_at (decl ? DECL_SOURCE_LOCATION (decl) : UNKNOWN_LOCATION,
OPT_Wopenacc_dims,
(dims[GOMP_DIM_VECTOR]
- ? "using vector_length (64), ignoring %d"
- : "using vector_length (64), ignoring runtime setting"),
+ ? G_("using vector_length (64), ignoring %d")
+ : G_("using vector_length (64), "
+ "ignoring runtime setting")),
dims[GOMP_DIM_VECTOR]);
dims[GOMP_DIM_VECTOR] = 1;
changed = true;
diff --git a/gcc/config/gcn/mkoffload.c b/gcc/config/gcn/mkoffload.c
index 57e0f25..d3b5b96 100644
--- a/gcc/config/gcn/mkoffload.c
+++ b/gcc/config/gcn/mkoffload.c
@@ -489,7 +489,7 @@ main (int argc, char **argv)
char *collect_gcc = getenv ("COLLECT_GCC");
if (collect_gcc == NULL)
- fatal_error (input_location, "COLLECT_GCC must be set.");
+ fatal_error (input_location, "COLLECT_GCC must be set");
const char *gcc_path = dirname (ASTRDUP (collect_gcc));
const char *gcc_exec = basename (ASTRDUP (collect_gcc));
@@ -555,7 +555,7 @@ main (int argc, char **argv)
offload_abi = OFFLOAD_ABI_ILP32;
else
fatal_error (input_location,
- "unrecognizable argument of option " STR);
+ "unrecognizable argument of option %s", argv[i]);
}
#undef STR
else if (strcmp (argv[i], "-fopenmp") == 0)
@@ -663,11 +663,11 @@ main (int argc, char **argv)
out = fopen (gcn_s2_name, "w");
if (!out)
- fatal_error (input_location, "cannot open '%s'", gcn_s2_name);
+ fatal_error (input_location, "cannot open %qs", gcn_s2_name);
cfile = fopen (gcn_cfile_name, "w");
if (!cfile)
- fatal_error (input_location, "cannot open '%s'", gcn_cfile_name);
+ fatal_error (input_location, "cannot open %qs", gcn_cfile_name);
process_asm (in, out, cfile);
diff --git a/gcc/configure b/gcc/configure
index b7a8e36..4123c2a 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -746,6 +746,7 @@ manext
LIBICONV_DEP
LTLIBICONV
LIBICONV
+DL_LIB
LDEXP_LIB
EXTRA_GCC_LIBS
GNAT_LIBEXC
@@ -9643,6 +9644,69 @@ LDEXP_LIB="$LIBS"
LIBS="$save_LIBS"
+# Some systems need dlopen
+save_LIBS="$LIBS"
+LIBS=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_cxx_try_link "$LINENO"; then :
+ ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if test "${ac_cv_search_dlopen+set}" = set; then :
+ break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
+else
+ ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+DL_LIB="$LIBS"
+LIBS="$save_LIBS"
+
+
# Use <inttypes.h> only if it exists,
# doesn't clash with <sys/types.h>, declares intmax_t and defines
# PRId64
@@ -18460,7 +18524,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 18463 "configure"
+#line 18527 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -18566,7 +18630,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 18569 "configure"
+#line 18633 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -19731,20 +19795,20 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
prelink_cmds_CXX='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
- compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
+ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
old_archive_cmds_CXX='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
- $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
$RANLIB $oldlib'
archive_cmds_CXX='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
archive_expsym_cmds_CXX='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
;;
*) # Version 6 and above use weak symbols
archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 65f9c92..d576198 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -1206,6 +1206,14 @@ LDEXP_LIB="$LIBS"
LIBS="$save_LIBS"
AC_SUBST(LDEXP_LIB)
+# Some systems need dlopen
+save_LIBS="$LIBS"
+LIBS=
+AC_SEARCH_LIBS(dlopen, dl)
+DL_LIB="$LIBS"
+LIBS="$save_LIBS"
+AC_SUBST(DL_LIB)
+
# Use <inttypes.h> only if it exists,
# doesn't clash with <sys/types.h>, declares intmax_t and defines
# PRId64
next prev parent reply other threads:[~2018-09-12 13:42 UTC|newest]
Thread overview: 187+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-05 11:49 [PATCH 00/25] AMD GCN Port ams
2018-09-05 11:49 ` [PATCH 02/25] Propagate address spaces to builtins ams
2018-09-20 13:09 ` Richard Biener
2018-09-22 19:22 ` Andreas Schwab
2018-09-24 16:53 ` Andrew Stubbs
2018-09-24 17:40 ` Andreas Schwab
2018-09-25 14:27 ` [patch] Fix AArch64 ILP ICE Andrew Stubbs
2018-09-26 8:55 ` Andreas Schwab
2018-09-26 13:39 ` Richard Biener
2018-09-26 16:17 ` Andrew Stubbs
2019-09-03 14:01 ` [PATCH 02/25] Propagate address spaces to builtins Kyrill Tkachov
2019-09-03 15:00 ` Jeff Law
2019-09-04 14:21 ` Kyrill Tkachov
2019-09-04 15:29 ` Kyrill Tkachov
2019-09-03 15:43 ` Andrew Stubbs
2018-09-05 11:49 ` [PATCH 04/25] SPECIAL_REGNO_P ams
2018-09-05 12:21 ` Joseph Myers
2018-09-11 22:42 ` Jeff Law
2018-09-12 11:30 ` Andrew Stubbs
2018-09-13 10:03 ` Andrew Stubbs
2018-09-13 14:14 ` Andrew Stubbs
2018-09-13 14:39 ` Paul Koning
2018-09-13 14:49 ` Andrew Stubbs
2018-09-13 14:58 ` Paul Koning
2018-09-13 15:22 ` Andrew Stubbs
2018-09-13 17:13 ` Paul Koning
2018-09-17 22:59 ` Jeff Law
2018-10-04 19:13 ` Jeff Law
2018-09-12 15:31 ` Richard Henderson
2018-09-12 16:14 ` Andrew Stubbs
2018-09-05 11:49 ` [PATCH 05/25] Add sorry_at diagnostic function ams
2018-09-05 13:39 ` David Malcolm
2018-09-05 13:41 ` David Malcolm
2018-09-11 10:30 ` Andrew Stubbs
2018-09-05 11:49 ` [PATCH 01/25] Handle vectors that don't fit in an integer ams
2018-09-05 11:54 ` Jakub Jelinek
2018-09-14 16:03 ` Richard Sandiford
2018-11-15 17:20 ` Andrew Stubbs
2018-09-05 11:50 ` [PATCH 08/25] Fix co-array allocation ams
[not found] ` <7f5064c3-afc6-b7b5-cade-f03af5b86331@moene.org>
2018-09-05 18:07 ` Janne Blomqvist
2018-09-19 16:38 ` Andrew Stubbs
2018-09-19 22:27 ` Damian Rouson
2018-09-19 22:55 ` Andrew Stubbs
2018-09-20 1:21 ` Damian Rouson
2018-09-20 20:49 ` Thomas Koenig
2018-09-20 20:59 ` Damian Rouson
2018-09-21 7:38 ` Toon Moene
2018-09-23 11:57 ` Janne Blomqvist
2018-09-21 16:37 ` OpenCoarrays integration with gfortran Jerry DeLisle
2018-09-21 19:37 ` Janne Blomqvist
2018-09-21 19:44 ` Richard Biener
2018-09-21 20:25 ` Damian Rouson
2018-09-22 3:47 ` Jerry DeLisle
2018-09-23 10:41 ` Toon Moene
2018-09-23 18:03 ` Bernhard Reutner-Fischer
2018-09-24 11:14 ` Alastair McKinstry
2018-09-27 12:51 ` Richard Biener
2018-09-20 15:59 ` [PATCH 08/25] Fix co-array allocation Janne Blomqvist
2018-09-20 16:37 ` Andrew Stubbs
2018-09-05 11:50 ` [PATCH 09/25] Elide repeated RTL elements ams
2018-09-11 22:46 ` Jeff Law
2018-09-12 8:47 ` Andrew Stubbs
2018-09-12 15:14 ` Jeff Law
2018-09-19 17:25 ` Andrew Stubbs
2018-09-20 11:42 ` Andrew Stubbs
2018-09-26 16:23 ` Andrew Stubbs
2018-10-04 18:24 ` Jeff Law
2018-10-11 14:28 ` Andrew Stubbs
2018-09-05 11:50 ` [PATCH 06/25] Remove constant vec_select restriction ams
2018-09-11 22:44 ` Jeff Law
2018-09-05 11:50 ` [PATCH 07/25] [pr82089] Don't sign-extend SFV 1 in BImode ams
2018-09-17 8:46 ` Richard Sandiford
2018-09-26 15:52 ` Andrew Stubbs
2018-09-26 16:49 ` Richard Sandiford
2018-09-27 12:20 ` Andrew Stubbs
2018-09-05 11:50 ` [PATCH 12/25] Make default_static_chain return NULL in non-static functions ams
2018-09-17 18:55 ` Richard Sandiford
2018-09-28 14:23 ` Andrew Stubbs
2018-09-05 11:50 ` [PATCH 10/25] Convert BImode vectors ams
2018-09-05 11:56 ` Jakub Jelinek
2018-09-05 12:05 ` Richard Biener
2018-09-05 12:40 ` Andrew Stubbs
2018-09-05 12:44 ` Richard Biener
2018-09-11 14:36 ` Andrew Stubbs
2018-09-12 14:37 ` Richard Biener
2018-09-17 8:51 ` Richard Sandiford
2018-09-05 11:50 ` [PATCH 03/25] Improve TARGET_MANGLE_DECL_ASSEMBLER_NAME ams
2018-09-11 22:56 ` Jeff Law
2018-09-12 14:43 ` Richard Biener
2018-09-12 15:07 ` Jeff Law
2018-09-12 15:16 ` Richard Biener
2018-09-12 16:32 ` Andrew Stubbs
2018-09-12 17:39 ` Julian Brown
2018-09-15 6:01 ` Julian Brown
2018-09-19 15:23 ` Julian Brown
2018-09-20 12:36 ` Richard Biener
2018-09-05 11:51 ` [PATCH 13/25] Create TARGET_DISABLE_CURRENT_VECTOR_SIZE ams
2018-09-17 19:31 ` Richard Sandiford
2018-09-18 9:02 ` Andrew Stubbs
2018-09-18 11:30 ` Richard Sandiford
2018-09-18 20:27 ` Andrew Stubbs
2018-09-19 13:46 ` Richard Biener
2018-09-28 12:48 ` Andrew Stubbs
2018-10-01 8:05 ` Richard Biener
2018-09-05 11:51 ` [PATCH 17/25] Fix Fortran STOP ams
[not found] ` <c0630914-1252-1391-9bf9-f03434d46f5a@moene.org>
2018-09-05 18:09 ` Janne Blomqvist
2018-09-12 13:56 ` Andrew Stubbs
2018-09-05 11:51 ` [PATCH 14/25] Disable inefficient vectorization of elementwise loads/stores ams
2018-09-17 9:16 ` Richard Sandiford
2018-09-17 9:54 ` Andrew Stubbs
2018-09-17 12:40 ` Richard Sandiford
2018-09-17 12:46 ` Andrew Stubbs
2018-09-20 13:01 ` Richard Biener
2018-09-20 13:51 ` Richard Sandiford
2018-09-20 14:14 ` Richard Biener
2018-09-20 14:22 ` Richard Sandiford
2018-09-05 11:51 ` [PATCH 15/25] Don't double-count early-clobber matches ams
2018-09-17 9:22 ` Richard Sandiford
2018-09-27 22:54 ` Andrew Stubbs
2018-10-04 22:43 ` Richard Sandiford
2018-10-22 15:36 ` Andrew Stubbs
2018-09-05 11:51 ` [PATCH 11/25] Simplify vec_merge according to the mask ams
2018-09-17 9:08 ` Richard Sandiford
2018-09-20 15:44 ` Andrew Stubbs
2018-09-26 16:26 ` Andrew Stubbs
2018-09-26 16:50 ` Richard Sandiford
2018-09-26 17:06 ` Andrew Stubbs
2018-09-27 7:28 ` Richard Sandiford
2018-09-27 14:13 ` Andrew Stubbs
2018-09-27 16:28 ` Richard Sandiford
2018-09-27 21:14 ` Andrew Stubbs
2018-09-28 8:42 ` Richard Sandiford
2018-09-28 13:50 ` Andrew Stubbs
2019-02-22 3:40 ` H.J. Lu
2018-09-05 11:51 ` [PATCH 18/25] Fix interleaving of Fortran stop messages ams
[not found] ` <994a9ec6-2494-9a83-cc84-bd8a551142c5@moene.org>
2018-09-05 18:11 ` Janne Blomqvist
2018-09-12 13:55 ` Andrew Stubbs
2018-09-05 11:51 ` [PATCH 16/25] Fix IRA ICE ams
2018-09-17 9:36 ` Richard Sandiford
2018-09-18 22:00 ` Andrew Stubbs
2018-09-20 12:47 ` Richard Sandiford
2018-09-20 13:36 ` Andrew Stubbs
2018-09-05 11:52 ` [PATCH 22/25] Add dg-require-effective-target exceptions ams
2018-09-17 9:40 ` Richard Sandiford
2018-09-17 17:53 ` Mike Stump
2018-09-20 16:10 ` Andrew Stubbs
2018-09-05 11:52 ` [PATCH 24/25] Ignore LLVM's blank lines ams
2018-09-14 16:19 ` Jeff Law
2020-03-23 15:29 ` Thomas Schwinge
2020-03-24 21:05 ` Thomas Schwinge
2018-09-05 11:52 ` [PATCH 20/25] GCN libgcc ams
2018-09-05 12:32 ` Joseph Myers
2018-11-09 18:49 ` Jeff Law
2018-11-12 12:01 ` Andrew Stubbs
2018-09-05 11:52 ` [PATCH 19/25] GCN libgfortran ams
[not found] ` <41281e27-ad85-e50c-8fed-6f4f6f18289c@moene.org>
2018-09-05 18:14 ` Janne Blomqvist
2018-09-06 12:37 ` Andrew Stubbs
2018-09-11 22:47 ` Jeff Law
2018-09-05 11:52 ` [PATCH 23/25] Testsuite: GCN is always PIE ams
2018-09-14 16:39 ` Jeff Law
2018-09-05 11:53 ` [PATCH 25/25] Port testsuite to GCN ams
2018-09-05 13:40 ` [PATCH 21/25] GCN Back-end (part 1/2) Andrew Stubbs
2018-11-09 19:11 ` Jeff Law
2018-11-12 12:13 ` Andrew Stubbs
2018-09-05 13:43 ` [PATCH 21/25] GCN Back-end (part 2/2) Andrew Stubbs
2018-09-05 14:22 ` Joseph Myers
2018-09-05 14:35 ` Andrew Stubbs
2018-09-05 14:44 ` Joseph Myers
2018-09-11 16:25 ` Andrew Stubbs
2018-09-11 16:41 ` Joseph Myers
2018-09-12 13:42 ` Andrew Stubbs [this message]
2018-09-12 15:32 ` Joseph Myers
2018-09-12 16:46 ` Andrew Stubbs
2018-09-12 16:50 ` Joseph Myers
2018-11-09 19:40 ` Jeff Law
2018-11-12 12:53 ` Andrew Stubbs
2018-11-12 17:20 ` Segher Boessenkool
2018-11-12 17:52 ` Andrew Stubbs
2018-11-12 18:33 ` Segher Boessenkool
2018-11-12 18:55 ` Jeff Law
2018-11-13 10:23 ` Andrew Stubbs
2018-11-13 10:33 ` Segher Boessenkool
2018-11-16 16:10 ` Segher Boessenkool
2018-11-17 14:07 ` Segher Boessenkool
2018-11-14 22:31 ` Jeff Law
2018-11-15 9:55 ` Andrew Stubbs
2018-11-16 13:33 ` Andrew Stubbs
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=71811e56-8c57-d691-efdc-1c7727d0465c@codesourcery.com \
--to=ams@codesourcery.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=joseph@codesourcery.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).