* [PATCH] x86: Update PR 35513 tests
@ 2022-02-10 13:55 H.J. Lu
2022-02-12 5:43 ` Hongtao Liu
2024-01-24 12:23 ` Thomas Schwinge
0 siblings, 2 replies; 5+ messages in thread
From: H.J. Lu @ 2022-02-10 13:55 UTC (permalink / raw)
To: gcc-patches
1. Require linker with GNU_PROPERTY_1_NEEDED support for PR 35513
run-time tests.
2. Compile pr35513-8.c to scan assembly code.
PR testsuite/104481
* g++.target/i386/pr35513-1.C: Require property_1_needed target.
* g++.target/i386/pr35513-2.C: Likewise.
* gcc.target/i386/pr35513-8.c: Change to compile.
* lib/target-supports.exp (check_compile): Support assembly code.
(check_effective_target_property_1_needed): New proc.
---
gcc/testsuite/g++.target/i386/pr35513-1.C | 2 +-
gcc/testsuite/g++.target/i386/pr35513-2.C | 2 +-
gcc/testsuite/gcc.target/i386/pr35513-8.c | 2 +-
gcc/testsuite/lib/target-supports.exp | 37 +++++++++++++++++++++++
4 files changed, 40 insertions(+), 3 deletions(-)
diff --git a/gcc/testsuite/g++.target/i386/pr35513-1.C b/gcc/testsuite/g++.target/i386/pr35513-1.C
index 6f8db37fb7c..daa615662c5 100644
--- a/gcc/testsuite/g++.target/i386/pr35513-1.C
+++ b/gcc/testsuite/g++.target/i386/pr35513-1.C
@@ -1,4 +1,4 @@
-// { dg-do run }
+// { dg-do run { target property_1_needed } }
// { dg-options "-O2 -mno-direct-extern-access" }
#include <iostream>
diff --git a/gcc/testsuite/g++.target/i386/pr35513-2.C b/gcc/testsuite/g++.target/i386/pr35513-2.C
index 9143ff3f0a5..ecccdaeb666 100644
--- a/gcc/testsuite/g++.target/i386/pr35513-2.C
+++ b/gcc/testsuite/g++.target/i386/pr35513-2.C
@@ -1,4 +1,4 @@
-// { dg-do run }
+// { dg-do run { target property_1_needed } }
// { dg-options "-O2 -mno-direct-extern-access" }
class Foo
diff --git a/gcc/testsuite/gcc.target/i386/pr35513-8.c b/gcc/testsuite/gcc.target/i386/pr35513-8.c
index 7ba67de2156..d51f7efb353 100644
--- a/gcc/testsuite/gcc.target/i386/pr35513-8.c
+++ b/gcc/testsuite/gcc.target/i386/pr35513-8.c
@@ -1,4 +1,4 @@
-/* { dg-do assemble { target { *-*-linux* && { ! ia32 } } } } */
+/* { dg-do compile { target { *-*-linux* && { ! ia32 } } } } */
/* { dg-require-effective-target maybe_x32 } */
/* { dg-options "-mx32 -O2 -fno-pic -fexceptions -fasynchronous-unwind-tables -mno-direct-extern-access" } */
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 4463cc8d7ed..0d8a7df5026 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -30,6 +30,7 @@
#
# Assume by default that CONTENTS is C code.
# Otherwise, code should contain:
+# "/* Assembly" for assembly code,
# "// C++" for c++,
# "// D" for D,
# "! Fortran" for Fortran code,
@@ -57,6 +58,7 @@ proc check_compile {basename type contents args} {
set options ""
}
switch -glob -- $contents {
+ "*/* Assembly*" { set src ${basename}[pid].S }
"*! Fortran*" { set src ${basename}[pid].f90 }
"*// C++*" { set src ${basename}[pid].cc }
"*// D*" { set src ${basename}[pid].d }
@@ -11758,3 +11760,38 @@ proc check_effective_target_pytest3 { } {
return 0;
}
}
+
+proc check_effective_target_property_1_needed { } {
+ return [check_no_compiler_messages_nocache property_1_needed executable {
+/* Assembly code */
+#ifdef __LP64__
+# define __PROPERTY_ALIGN 3
+#else
+# define __PROPERTY_ALIGN 2
+#endif
+
+ .section ".note.gnu.property", "a"
+ .p2align __PROPERTY_ALIGN
+ .long 1f - 0f /* name length. */
+ .long 4f - 1f /* data length. */
+ /* NT_GNU_PROPERTY_TYPE_0. */
+ .long 5 /* note type. */
+0:
+ .asciz "GNU" /* vendor name. */
+1:
+ .p2align __PROPERTY_ALIGN
+ /* GNU_PROPERTY_1_NEEDED. */
+ .long 0xb0008000 /* pr_type. */
+ .long 3f - 2f /* pr_datasz. */
+2:
+ /* GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS. */
+ .long 1
+3:
+ .p2align __PROPERTY_ALIGN
+4:
+ .text
+ .globl main
+main:
+ .byte 0
+ } ""]
+}
--
2.34.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] x86: Update PR 35513 tests
2022-02-10 13:55 [PATCH] x86: Update PR 35513 tests H.J. Lu
@ 2022-02-12 5:43 ` Hongtao Liu
2022-02-12 13:12 ` H.J. Lu
2024-01-24 12:23 ` Thomas Schwinge
1 sibling, 1 reply; 5+ messages in thread
From: Hongtao Liu @ 2022-02-12 5:43 UTC (permalink / raw)
To: H.J. Lu; +Cc: GCC Patches
On Thu, Feb 10, 2022 at 9:58 PM H.J. Lu via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> 1. Require linker with GNU_PROPERTY_1_NEEDED support for PR 35513
> run-time tests.
> 2. Compile pr35513-8.c to scan assembly code.
>
> PR testsuite/104481
> * g++.target/i386/pr35513-1.C: Require property_1_needed target.
> * g++.target/i386/pr35513-2.C: Likewise.
> * gcc.target/i386/pr35513-8.c: Change to compile.
> * lib/target-supports.exp (check_compile): Support assembly code.
> (check_effective_target_property_1_needed): New proc.
This is for testcase fixup, and i think it should be ok.
> ---
> gcc/testsuite/g++.target/i386/pr35513-1.C | 2 +-
> gcc/testsuite/g++.target/i386/pr35513-2.C | 2 +-
> gcc/testsuite/gcc.target/i386/pr35513-8.c | 2 +-
> gcc/testsuite/lib/target-supports.exp | 37 +++++++++++++++++++++++
> 4 files changed, 40 insertions(+), 3 deletions(-)
>
> diff --git a/gcc/testsuite/g++.target/i386/pr35513-1.C b/gcc/testsuite/g++.target/i386/pr35513-1.C
> index 6f8db37fb7c..daa615662c5 100644
> --- a/gcc/testsuite/g++.target/i386/pr35513-1.C
> +++ b/gcc/testsuite/g++.target/i386/pr35513-1.C
> @@ -1,4 +1,4 @@
> -// { dg-do run }
> +// { dg-do run { target property_1_needed } }
> // { dg-options "-O2 -mno-direct-extern-access" }
>
> #include <iostream>
> diff --git a/gcc/testsuite/g++.target/i386/pr35513-2.C b/gcc/testsuite/g++.target/i386/pr35513-2.C
> index 9143ff3f0a5..ecccdaeb666 100644
> --- a/gcc/testsuite/g++.target/i386/pr35513-2.C
> +++ b/gcc/testsuite/g++.target/i386/pr35513-2.C
> @@ -1,4 +1,4 @@
> -// { dg-do run }
> +// { dg-do run { target property_1_needed } }
> // { dg-options "-O2 -mno-direct-extern-access" }
>
> class Foo
> diff --git a/gcc/testsuite/gcc.target/i386/pr35513-8.c b/gcc/testsuite/gcc.target/i386/pr35513-8.c
> index 7ba67de2156..d51f7efb353 100644
> --- a/gcc/testsuite/gcc.target/i386/pr35513-8.c
> +++ b/gcc/testsuite/gcc.target/i386/pr35513-8.c
> @@ -1,4 +1,4 @@
> -/* { dg-do assemble { target { *-*-linux* && { ! ia32 } } } } */
> +/* { dg-do compile { target { *-*-linux* && { ! ia32 } } } } */
> /* { dg-require-effective-target maybe_x32 } */
> /* { dg-options "-mx32 -O2 -fno-pic -fexceptions -fasynchronous-unwind-tables -mno-direct-extern-access" } */
>
> diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
> index 4463cc8d7ed..0d8a7df5026 100644
> --- a/gcc/testsuite/lib/target-supports.exp
> +++ b/gcc/testsuite/lib/target-supports.exp
> @@ -30,6 +30,7 @@
> #
> # Assume by default that CONTENTS is C code.
> # Otherwise, code should contain:
> +# "/* Assembly" for assembly code,
> # "// C++" for c++,
> # "// D" for D,
> # "! Fortran" for Fortran code,
> @@ -57,6 +58,7 @@ proc check_compile {basename type contents args} {
> set options ""
> }
> switch -glob -- $contents {
> + "*/* Assembly*" { set src ${basename}[pid].S }
> "*! Fortran*" { set src ${basename}[pid].f90 }
> "*// C++*" { set src ${basename}[pid].cc }
> "*// D*" { set src ${basename}[pid].d }
> @@ -11758,3 +11760,38 @@ proc check_effective_target_pytest3 { } {
> return 0;
> }
> }
> +
> +proc check_effective_target_property_1_needed { } {
> + return [check_no_compiler_messages_nocache property_1_needed executable {
> +/* Assembly code */
> +#ifdef __LP64__
> +# define __PROPERTY_ALIGN 3
> +#else
> +# define __PROPERTY_ALIGN 2
> +#endif
> +
> + .section ".note.gnu.property", "a"
> + .p2align __PROPERTY_ALIGN
> + .long 1f - 0f /* name length. */
> + .long 4f - 1f /* data length. */
> + /* NT_GNU_PROPERTY_TYPE_0. */
> + .long 5 /* note type. */
> +0:
> + .asciz "GNU" /* vendor name. */
> +1:
> + .p2align __PROPERTY_ALIGN
> + /* GNU_PROPERTY_1_NEEDED. */
> + .long 0xb0008000 /* pr_type. */
> + .long 3f - 2f /* pr_datasz. */
> +2:
> + /* GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS. */
> + .long 1
> +3:
> + .p2align __PROPERTY_ALIGN
> +4:
> + .text
> + .globl main
> +main:
> + .byte 0
> + } ""]
> +}
> --
> 2.34.1
>
--
BR,
Hongtao
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] x86: Update PR 35513 tests
2022-02-12 5:43 ` Hongtao Liu
@ 2022-02-12 13:12 ` H.J. Lu
0 siblings, 0 replies; 5+ messages in thread
From: H.J. Lu @ 2022-02-12 13:12 UTC (permalink / raw)
To: Hongtao Liu; +Cc: GCC Patches
On Fri, Feb 11, 2022 at 9:43 PM Hongtao Liu <crazylht@gmail.com> wrote:
>
> On Thu, Feb 10, 2022 at 9:58 PM H.J. Lu via Gcc-patches
> <gcc-patches@gcc.gnu.org> wrote:
> >
> > 1. Require linker with GNU_PROPERTY_1_NEEDED support for PR 35513
> > run-time tests.
> > 2. Compile pr35513-8.c to scan assembly code.
> >
> > PR testsuite/104481
> > * g++.target/i386/pr35513-1.C: Require property_1_needed target.
> > * g++.target/i386/pr35513-2.C: Likewise.
> > * gcc.target/i386/pr35513-8.c: Change to compile.
> > * lib/target-supports.exp (check_compile): Support assembly code.
> > (check_effective_target_property_1_needed): New proc.
> This is for testcase fixup, and i think it should be ok.
I am checking it in.
Thanks.
> > ---
> > gcc/testsuite/g++.target/i386/pr35513-1.C | 2 +-
> > gcc/testsuite/g++.target/i386/pr35513-2.C | 2 +-
> > gcc/testsuite/gcc.target/i386/pr35513-8.c | 2 +-
> > gcc/testsuite/lib/target-supports.exp | 37 +++++++++++++++++++++++
> > 4 files changed, 40 insertions(+), 3 deletions(-)
> >
> > diff --git a/gcc/testsuite/g++.target/i386/pr35513-1.C b/gcc/testsuite/g++.target/i386/pr35513-1.C
> > index 6f8db37fb7c..daa615662c5 100644
> > --- a/gcc/testsuite/g++.target/i386/pr35513-1.C
> > +++ b/gcc/testsuite/g++.target/i386/pr35513-1.C
> > @@ -1,4 +1,4 @@
> > -// { dg-do run }
> > +// { dg-do run { target property_1_needed } }
> > // { dg-options "-O2 -mno-direct-extern-access" }
> >
> > #include <iostream>
> > diff --git a/gcc/testsuite/g++.target/i386/pr35513-2.C b/gcc/testsuite/g++.target/i386/pr35513-2.C
> > index 9143ff3f0a5..ecccdaeb666 100644
> > --- a/gcc/testsuite/g++.target/i386/pr35513-2.C
> > +++ b/gcc/testsuite/g++.target/i386/pr35513-2.C
> > @@ -1,4 +1,4 @@
> > -// { dg-do run }
> > +// { dg-do run { target property_1_needed } }
> > // { dg-options "-O2 -mno-direct-extern-access" }
> >
> > class Foo
> > diff --git a/gcc/testsuite/gcc.target/i386/pr35513-8.c b/gcc/testsuite/gcc.target/i386/pr35513-8.c
> > index 7ba67de2156..d51f7efb353 100644
> > --- a/gcc/testsuite/gcc.target/i386/pr35513-8.c
> > +++ b/gcc/testsuite/gcc.target/i386/pr35513-8.c
> > @@ -1,4 +1,4 @@
> > -/* { dg-do assemble { target { *-*-linux* && { ! ia32 } } } } */
> > +/* { dg-do compile { target { *-*-linux* && { ! ia32 } } } } */
> > /* { dg-require-effective-target maybe_x32 } */
> > /* { dg-options "-mx32 -O2 -fno-pic -fexceptions -fasynchronous-unwind-tables -mno-direct-extern-access" } */
> >
> > diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
> > index 4463cc8d7ed..0d8a7df5026 100644
> > --- a/gcc/testsuite/lib/target-supports.exp
> > +++ b/gcc/testsuite/lib/target-supports.exp
> > @@ -30,6 +30,7 @@
> > #
> > # Assume by default that CONTENTS is C code.
> > # Otherwise, code should contain:
> > +# "/* Assembly" for assembly code,
> > # "// C++" for c++,
> > # "// D" for D,
> > # "! Fortran" for Fortran code,
> > @@ -57,6 +58,7 @@ proc check_compile {basename type contents args} {
> > set options ""
> > }
> > switch -glob -- $contents {
> > + "*/* Assembly*" { set src ${basename}[pid].S }
> > "*! Fortran*" { set src ${basename}[pid].f90 }
> > "*// C++*" { set src ${basename}[pid].cc }
> > "*// D*" { set src ${basename}[pid].d }
> > @@ -11758,3 +11760,38 @@ proc check_effective_target_pytest3 { } {
> > return 0;
> > }
> > }
> > +
> > +proc check_effective_target_property_1_needed { } {
> > + return [check_no_compiler_messages_nocache property_1_needed executable {
> > +/* Assembly code */
> > +#ifdef __LP64__
> > +# define __PROPERTY_ALIGN 3
> > +#else
> > +# define __PROPERTY_ALIGN 2
> > +#endif
> > +
> > + .section ".note.gnu.property", "a"
> > + .p2align __PROPERTY_ALIGN
> > + .long 1f - 0f /* name length. */
> > + .long 4f - 1f /* data length. */
> > + /* NT_GNU_PROPERTY_TYPE_0. */
> > + .long 5 /* note type. */
> > +0:
> > + .asciz "GNU" /* vendor name. */
> > +1:
> > + .p2align __PROPERTY_ALIGN
> > + /* GNU_PROPERTY_1_NEEDED. */
> > + .long 0xb0008000 /* pr_type. */
> > + .long 3f - 2f /* pr_datasz. */
> > +2:
> > + /* GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS. */
> > + .long 1
> > +3:
> > + .p2align __PROPERTY_ALIGN
> > +4:
> > + .text
> > + .globl main
> > +main:
> > + .byte 0
> > + } ""]
> > +}
> > --
> > 2.34.1
> >
>
>
> --
> BR,
> Hongtao
--
H.J.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] x86: Update PR 35513 tests
2022-02-10 13:55 [PATCH] x86: Update PR 35513 tests H.J. Lu
2022-02-12 5:43 ` Hongtao Liu
@ 2024-01-24 12:23 ` Thomas Schwinge
2024-01-25 2:25 ` H.J. Lu
1 sibling, 1 reply; 5+ messages in thread
From: Thomas Schwinge @ 2024-01-24 12:23 UTC (permalink / raw)
To: H.J. Lu; +Cc: gcc-patches, Hongtao Liu
Hi!
On 2022-02-10T05:55:15-0800, "H.J. Lu via Gcc-patches" <gcc-patches@gcc.gnu.org> wrote:
> 1. Require linker with GNU_PROPERTY_1_NEEDED support for PR 35513
> run-time tests.
Moving my x86_64-pc-linux-gnu testing from an old to a newish system
(Ubuntu 20.04), I notice:
[-PASS: g++.target/i386/pr35513-1.C -std=gnu++98 (test for excess errors)-]
[-PASS:-]{+UNSUPPORTED:+} g++.target/i386/pr35513-1.C -std=gnu++98[-execution test-]
Etc.
[-PASS: g++.target/i386/pr35513-2.C -std=gnu++98 (test for excess errors)-]
[-PASS:-]{+UNSUPPORTED:+} g++.target/i386/pr35513-2.C -std=gnu++98[-execution test-]
Etc.
..., due to the 'property_1_needed' effective-target check now
diagnosing:
/usr/bin/ld: warning: /tmp/ccFNkvfI.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xb0008000
..., with:
$ /usr/bin/ld --version | head -n 1
GNU ld (GNU Binutils for Ubuntu) 2.34
I'm not familiar with these properties, but I wonder if really some
support has been removed (so that this indeed is now UNSUPPORTED), or if
something's wrong somewhere (so that this should still PASS).
For reference:
> --- a/gcc/testsuite/lib/target-supports.exp
> +++ b/gcc/testsuite/lib/target-supports.exp
> +proc check_effective_target_property_1_needed { } {
> + return [check_no_compiler_messages_nocache property_1_needed executable {
> +/* Assembly code */
> +#ifdef __LP64__
> +# define __PROPERTY_ALIGN 3
> +#else
> +# define __PROPERTY_ALIGN 2
> +#endif
> +
> + .section ".note.gnu.property", "a"
> + .p2align __PROPERTY_ALIGN
> + .long 1f - 0f /* name length. */
> + .long 4f - 1f /* data length. */
> + /* NT_GNU_PROPERTY_TYPE_0. */
> + .long 5 /* note type. */
> +0:
> + .asciz "GNU" /* vendor name. */
> +1:
> + .p2align __PROPERTY_ALIGN
> + /* GNU_PROPERTY_1_NEEDED. */
> + .long 0xb0008000 /* pr_type. */
> + .long 3f - 2f /* pr_datasz. */
> +2:
> + /* GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS. */
> + .long 1
> +3:
> + .p2align __PROPERTY_ALIGN
> +4:
> + .text
> + .globl main
> +main:
> + .byte 0
> + } ""]
> +}
Grüße
Thomas
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] x86: Update PR 35513 tests
2024-01-24 12:23 ` Thomas Schwinge
@ 2024-01-25 2:25 ` H.J. Lu
0 siblings, 0 replies; 5+ messages in thread
From: H.J. Lu @ 2024-01-25 2:25 UTC (permalink / raw)
To: Thomas Schwinge; +Cc: gcc-patches, Hongtao Liu
On Wed, Jan 24, 2024 at 4:23 AM Thomas Schwinge <tschwinge@baylibre.com> wrote:
>
> Hi!
>
> On 2022-02-10T05:55:15-0800, "H.J. Lu via Gcc-patches" <gcc-patches@gcc.gnu.org> wrote:
> > 1. Require linker with GNU_PROPERTY_1_NEEDED support for PR 35513
> > run-time tests.
>
> Moving my x86_64-pc-linux-gnu testing from an old to a newish system
> (Ubuntu 20.04), I notice:
>
> [-PASS: g++.target/i386/pr35513-1.C -std=gnu++98 (test for excess errors)-]
> [-PASS:-]{+UNSUPPORTED:+} g++.target/i386/pr35513-1.C -std=gnu++98[-execution test-]
>
> Etc.
>
> [-PASS: g++.target/i386/pr35513-2.C -std=gnu++98 (test for excess errors)-]
> [-PASS:-]{+UNSUPPORTED:+} g++.target/i386/pr35513-2.C -std=gnu++98[-execution test-]
>
> Etc.
>
> ..., due to the 'property_1_needed' effective-target check now
> diagnosing:
>
> /usr/bin/ld: warning: /tmp/ccFNkvfI.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xb0008000
>
> ..., with:
>
> $ /usr/bin/ld --version | head -n 1
> GNU ld (GNU Binutils for Ubuntu) 2.34
>
> I'm not familiar with these properties, but I wonder if really some
> support has been removed (so that this indeed is now UNSUPPORTED), or if
Only for linkers which support GNU_PROPERTY, but the current GNU_PROPERTY.
> something's wrong somewhere (so that this should still PASS).
>
> For reference:
>
> > --- a/gcc/testsuite/lib/target-supports.exp
> > +++ b/gcc/testsuite/lib/target-supports.exp
>
> > +proc check_effective_target_property_1_needed { } {
> > + return [check_no_compiler_messages_nocache property_1_needed executable {
> > +/* Assembly code */
> > +#ifdef __LP64__
> > +# define __PROPERTY_ALIGN 3
> > +#else
> > +# define __PROPERTY_ALIGN 2
> > +#endif
> > +
> > + .section ".note.gnu.property", "a"
> > + .p2align __PROPERTY_ALIGN
> > + .long 1f - 0f /* name length. */
> > + .long 4f - 1f /* data length. */
> > + /* NT_GNU_PROPERTY_TYPE_0. */
> > + .long 5 /* note type. */
> > +0:
> > + .asciz "GNU" /* vendor name. */
> > +1:
> > + .p2align __PROPERTY_ALIGN
> > + /* GNU_PROPERTY_1_NEEDED. */
> > + .long 0xb0008000 /* pr_type. */
> > + .long 3f - 2f /* pr_datasz. */
> > +2:
> > + /* GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS. */
> > + .long 1
> > +3:
> > + .p2align __PROPERTY_ALIGN
> > +4:
> > + .text
> > + .globl main
> > +main:
> > + .byte 0
> > + } ""]
> > +}
>
>
> Grüße
> Thomas
--
H.J.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-01-25 2:25 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-10 13:55 [PATCH] x86: Update PR 35513 tests H.J. Lu
2022-02-12 5:43 ` Hongtao Liu
2022-02-12 13:12 ` H.J. Lu
2024-01-24 12:23 ` Thomas Schwinge
2024-01-25 2:25 ` H.J. Lu
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).