public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* Re: [parisc-linux] binutils 2.15?
       [not found] <40BDA020000074B9@ocpmta3.freegates.net>
@ 2004-06-14  4:09 ` John David Anglin
  2004-06-14  5:39   ` Jakub Jelinek
  0 siblings, 1 reply; 10+ messages in thread
From: John David Anglin @ 2004-06-14  4:09 UTC (permalink / raw)
  To: Joel Soete; +Cc: parisc-linux, binutils, jakub

> I read that now many arch try to update their toolchain to a new release;
> I so try to rebuild toolchain starting from binutils-2.15 (.0.91... from
> ftp.kernel.org)
> it build well but when I launch to rebuild gcc with those new binutil configure
> crashes immediately with:
> "/usr/bin/ld: .got section not immediately after .plt section"

The following change appears to have introduced this problem:

CVSROOT:        /cvs/src
Module name:    src
Changes by:     jakub@sourceware.org    2004-05-11 17:08:32

Modified files:
	bfd            : ChangeLog 
	include        : ChangeLog 
	binutils       : ChangeLog 

Log message:
	bfd/
	* elflink.c (elf_bfd_final_link): Don't output STT_SECTION symbol
	into .dynsym if elf_section_data (sec)->dynindx <= 0.
	Adjust counting of last_local.
	(_bfd_elf_link_renumber_dynsyms): Don't assign dynindx to sections
	other than SHT_PROGBITS/SHT_NOBITS and neither for .got/.got.plt/.plt
	created by the linker nor !SHF_ALLOC.
										
	* elf32-i386.c (elf_i386_finish_dynamic_sections): Point
	DT_PLTGOT to the start of the .got.plt section instead of the
	.got output section.  Set sh_entsize for .got section in addition
	to .got.plt.
	...

Dave
-- 
J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [parisc-linux] binutils 2.15?
  2004-06-14  4:09 ` [parisc-linux] binutils 2.15? John David Anglin
@ 2004-06-14  5:39   ` Jakub Jelinek
  2004-06-14 12:08     ` Alan Modra
  0 siblings, 1 reply; 10+ messages in thread
From: Jakub Jelinek @ 2004-06-14  5:39 UTC (permalink / raw)
  To: John David Anglin; +Cc: Joel Soete, parisc-linux, binutils

On Mon, Jun 14, 2004 at 12:09:16AM -0400, John David Anglin wrote:
> > I read that now many arch try to update their toolchain to a new release;
> > I so try to rebuild toolchain starting from binutils-2.15 (.0.91... from
> > ftp.kernel.org)
> > it build well but when I launch to rebuild gcc with those new binutil configure
> > crashes immediately with:
> > "/usr/bin/ld: .got section not immediately after .plt section"
> 
> The following change appears to have introduced this problem:

First of all, can you explain why hppa needs .got after .plt?

	Jakub

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [parisc-linux] binutils 2.15?
  2004-06-14  5:39   ` Jakub Jelinek
@ 2004-06-14 12:08     ` Alan Modra
  2004-06-21 15:18       ` Carlos O'Donell
  2004-07-01 22:50       ` John David Anglin
  0 siblings, 2 replies; 10+ messages in thread
From: Alan Modra @ 2004-06-14 12:08 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: John David Anglin, Joel Soete, parisc-linux, binutils

On Mon, Jun 14, 2004 at 05:25:20AM +0200, Jakub Jelinek wrote:
> First of all, can you explain why hppa needs .got after .plt?

There's a lazy linking stub inserted at the end of the .plt section that
loads the .got address by

  b,l	1b,%r20
  depi	0,31,2,%r20

ie. it depends on .got immediately following these instructions.

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [parisc-linux] binutils 2.15?
  2004-06-14 12:08     ` Alan Modra
@ 2004-06-21 15:18       ` Carlos O'Donell
  2004-06-28  3:25         ` John David Anglin
  2004-07-01 22:50       ` John David Anglin
  1 sibling, 1 reply; 10+ messages in thread
From: Carlos O'Donell @ 2004-06-21 15:18 UTC (permalink / raw)
  To: Alan Modra, Jakub Jelinek, John David Anglin, parisc-linux, binutils

> There's a lazy linking stub inserted at the end of the .plt section that
> loads the .got address by
> 
>   b,l	1b,%r20
>   depi	0,31,2,%r20
> 
> ie. it depends on .got immediately following these instructions.

My apologies for a tardy reply.

We don't *have* to depend on the .got immediately following these
instructions. Technically we look for a signature at the end of the PLT.
The code in glibc looks beyond the last relocation in the following 
equation:

ptr = reloc->r_offset + l_addr + PLT_ENTRY_SIZE + SIZEOF_PLT_STUB

And if it finds the signature at ptr[-2] and ptr[-1], then it
acknowledges that as the PLT stub. It then by proxy knows that the GOT
should be at ptr[0], but it doesn't have to rely strictly on this, I'm
more than willing to add more code to glibc to remove this restriction.

I just don't really know how other arches find the GOT at this early 
stage in ld.so's startup (e.g. elf_machine_runtime_setup()).

The only reason we use the GOT here is because we want to identify the
shared object by storing a pointer to the DSO link_map into GOT[1]. 
Which to tell you the truth, I'm sure has to do with something in 
binutils that I currently don't understand.

I'm slowly reviewing the binutils hppa code because I'd like to clean it
up / understand it enough to add TLS.

Jakub, I hope this helps, if someone has an idea then I would be more
than happy to implement the change and test the resulting
binutils/glibc.

Cheers,
Carlos.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [parisc-linux] binutils 2.15?
  2004-06-21 15:18       ` Carlos O'Donell
@ 2004-06-28  3:25         ` John David Anglin
  0 siblings, 0 replies; 10+ messages in thread
From: John David Anglin @ 2004-06-28  3:25 UTC (permalink / raw)
  To: Carlos O'Donell; +Cc: amodra, jakub, parisc-linux, binutils

> > There's a lazy linking stub inserted at the end of the .plt section that
> > loads the .got address by
> > 
> >   b,l	1b,%r20
> >   depi	0,31,2,%r20
> > 
> > ie. it depends on .got immediately following these instructions.
> 
> My apologies for a tardy reply.
> 
> We don't *have* to depend on the .got immediately following these
> instructions. Technically we look for a signature at the end of the PLT.
> The code in glibc looks beyond the last relocation in the following 
> equation:
> 
> ptr = reloc->r_offset + l_addr + PLT_ENTRY_SIZE + SIZEOF_PLT_STUB
> 
> And if it finds the signature at ptr[-2] and ptr[-1], then it
> acknowledges that as the PLT stub. It then by proxy knows that the GOT
> should be at ptr[0], but it doesn't have to rely strictly on this, I'm
> more than willing to add more code to glibc to remove this restriction.

From my perspective, we need binutils to work with existing versions
of glibc.  While Carlos' offer to work on removing the restriction is
commendable, the details of this haven't been worked out or tested.
I believe that we need GOT after PLT until the glibc changes are
available and widely distributed.

Dave
-- 
J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [parisc-linux] binutils 2.15?
  2004-06-14 12:08     ` Alan Modra
  2004-06-21 15:18       ` Carlos O'Donell
@ 2004-07-01 22:50       ` John David Anglin
  2004-07-01 23:00         ` Jakub Jelinek
  1 sibling, 1 reply; 10+ messages in thread
From: John David Anglin @ 2004-07-01 22:50 UTC (permalink / raw)
  To: Alan Modra; +Cc: jakub, soete.joel, parisc-linux, binutils

> On Mon, Jun 14, 2004 at 05:25:20AM +0200, Jakub Jelinek wrote:
> > First of all, can you explain why hppa needs .got after .plt?
> 
> There's a lazy linking stub inserted at the end of the .plt section that
> loads the .got address by
> 
>   b,l	1b,%r20
>   depi	0,31,2,%r20
> 
> ie. it depends on .got immediately following these instructions.

The enclosed patch moves .plt back to where it was before Jakub's change
when NO_SMALL_DATA isn't defined.  We don't define NO_SMALL_DATA on
PA-RISC as we need support for .sbss and .sdata.

This fixes the regressions.  The alternatives look messy impacting
both gcc and glibc.

Ok?

Dave
-- 
J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)

2004-07-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* scripttempl/elf.sc: Place PLT before GOT when NO_SMALL_DATA is not
	defined.

Index: scripttempl/elf.sc
===================================================================
RCS file: /cvs/src/src/ld/scripttempl/elf.sc,v
retrieving revision 1.45
diff -u -3 -p -r1.45 elf.sc
--- scripttempl/elf.sc	15 Jun 2004 16:39:17 -0000	1.45
+++ scripttempl/elf.sc	1 Jul 2004 22:03:14 -0000
@@ -358,7 +358,7 @@ cat <<EOF
   ${RELOCATING+${DATA_SEGMENT_RELRO_END}}
   ${NO_SMALL_DATA+${RELRO_NOW-${SEPARATE_GOTPLT-${GOT}}}}
 
-  ${DATA_PLT+${PLT}}
+  ${NO_SMALL_DATA+${DATA_PLT+${PLT}}}
 
   .data         ${RELOCATING-0} :
   {
@@ -370,6 +370,7 @@ cat <<EOF
   .data1        ${RELOCATING-0} : { *(.data1) }
   ${WRITABLE_RODATA+${RODATA}}
   ${OTHER_READWRITE_SECTIONS}
+  ${NO_SMALL_DATA-${DATA_PLT+${PLT}}}
   ${RELOCATING+${OTHER_GOT_SYMBOLS}}
   ${NO_SMALL_DATA-${GOT}}
   ${OTHER_GOT_SECTIONS}

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [parisc-linux] binutils 2.15?
  2004-07-01 22:50       ` John David Anglin
@ 2004-07-01 23:00         ` Jakub Jelinek
  2004-07-22 10:09           ` Joel Soete
  0 siblings, 1 reply; 10+ messages in thread
From: Jakub Jelinek @ 2004-07-01 23:00 UTC (permalink / raw)
  To: John David Anglin; +Cc: Alan Modra, soete.joel, parisc-linux, binutils

On Thu, Jul 01, 2004 at 06:49:44PM -0400, John David Anglin wrote:
> The enclosed patch moves .plt back to where it was before Jakub's change
> when NO_SMALL_DATA isn't defined.  We don't define NO_SMALL_DATA on
> PA-RISC as we need support for .sbss and .sdata.
> 
> This fixes the regressions.  The alternatives look messy impacting
> both gcc and glibc.

I think you want a new variable to control that instead (set on just hppa,
not set on other arches).
There are many small data targets where you IMHO want .plt where it is ATM
(anything starting from .data onwards can be overwritten by buffer overflow,
backward data overflows are much less common),  and furthermore rewriting
all the ld/testsuite tests again takes a lot of time.

> 2004-07-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
> 
> 	* scripttempl/elf.sc: Place PLT before GOT when NO_SMALL_DATA is not
> 	defined.
> 
> Index: scripttempl/elf.sc
> ===================================================================
> RCS file: /cvs/src/src/ld/scripttempl/elf.sc,v
> retrieving revision 1.45
> diff -u -3 -p -r1.45 elf.sc
> --- scripttempl/elf.sc	15 Jun 2004 16:39:17 -0000	1.45
> +++ scripttempl/elf.sc	1 Jul 2004 22:03:14 -0000
> @@ -358,7 +358,7 @@ cat <<EOF
>    ${RELOCATING+${DATA_SEGMENT_RELRO_END}}
>    ${NO_SMALL_DATA+${RELRO_NOW-${SEPARATE_GOTPLT-${GOT}}}}
>  
> -  ${DATA_PLT+${PLT}}
> +  ${NO_SMALL_DATA+${DATA_PLT+${PLT}}}
>  
>    .data         ${RELOCATING-0} :
>    {
> @@ -370,6 +370,7 @@ cat <<EOF
>    .data1        ${RELOCATING-0} : { *(.data1) }
>    ${WRITABLE_RODATA+${RODATA}}
>    ${OTHER_READWRITE_SECTIONS}
> +  ${NO_SMALL_DATA-${DATA_PLT+${PLT}}}
>    ${RELOCATING+${OTHER_GOT_SYMBOLS}}
>    ${NO_SMALL_DATA-${GOT}}
>    ${OTHER_GOT_SECTIONS}

	Jakub

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [parisc-linux] binutils 2.15?
  2004-07-01 23:00         ` Jakub Jelinek
@ 2004-07-22 10:09           ` Joel Soete
  0 siblings, 0 replies; 10+ messages in thread
From: Joel Soete @ 2004-07-22 10:09 UTC (permalink / raw)
  To: Jakub Jelinek, John David Anglin; +Cc: Alan Modra, parisc-linux, binutils

Hello all,

Sorry for so late feedback but I just test the cvs I co this morning (20040722)
and this pb seems to be fixed ;)

Thanks to all,
    Joel

>
> On Thu, Jul 01, 2004 at 06:49:44PM -0400, John David Anglin wrote:
> > The enclosed patch moves .plt back to where it was before Jakub's change
> > when NO_SMALL_DATA isn't defined.  We don't define NO_SMALL_DATA on
> > PA-RISC as we need support for .sbss and .sdata.
> >
> > This fixes the regressions.  The alternatives look messy impacting
> > both gcc and glibc.
>
> I think you want a new variable to control that instead (set on just hppa,
> not set on other arches).
> There are many small data targets where you IMHO want .plt where it is
ATM
> (anything starting from .data onwards can be overwritten by buffer overflow,
> backward data overflows are much less common),  and furthermore rewriting
> all the ld/testsuite tests again takes a lot of time.
>
> > 2004-07-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
> >
> > 	* scripttempl/elf.sc: Place PLT before GOT when NO_SMALL_DATA is not
> > 	defined.
> >
> > Index: scripttempl/elf.sc
> > ===================================================================
> > RCS file: /cvs/src/src/ld/scripttempl/elf.sc,v
> > retrieving revision 1.45
> > diff -u -3 -p -r1.45 elf.sc
> > --- scripttempl/elf.sc	15 Jun 2004 16:39:17 -0000	1.45
> > +++ scripttempl/elf.sc	1 Jul 2004 22:03:14 -0000
> > @@ -358,7 +358,7 @@ cat <<EOF
> >    ${RELOCATING+${DATA_SEGMENT_RELRO_END}}
> >    ${NO_SMALL_DATA+${RELRO_NOW-${SEPARATE_GOTPLT-${GOT}}}}
> >
> > -  ${DATA_PLT+${PLT}}
> > +  ${NO_SMALL_DATA+${DATA_PLT+${PLT}}}
> >
> >    .data         ${RELOCATING-0} :
> >    {
> > @@ -370,6 +370,7 @@ cat <<EOF
> >    .data1        ${RELOCATING-0} : { *(.data1) }
> >    ${WRITABLE_RODATA+${RODATA}}
> >    ${OTHER_READWRITE_SECTIONS}
> > +  ${NO_SMALL_DATA-${DATA_PLT+${PLT}}}
> >    ${RELOCATING+${OTHER_GOT_SYMBOLS}}
> >    ${NO_SMALL_DATA-${GOT}}
> >    ${OTHER_GOT_SECTIONS}
>
> 	Jakub


---------------------------------------------------------------------------
Tiscali ADSL LIGHT, 19,95 EUR/mois pendant 6 mois, c'est le moment de faire
le pas!
http://reg.tiscali.be/default.asp?lg=fr




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [parisc-linux] binutils 2.15?
       [not found] <20040702040316.GL21696@bubble.modra.org>
  2004-07-05 20:18 ` John David Anglin
@ 2004-07-05 20:34 ` John David Anglin
  1 sibling, 0 replies; 10+ messages in thread
From: John David Anglin @ 2004-07-05 20:34 UTC (permalink / raw)
  To: Alan Modra; +Cc: binutils

> That will be HJ's and my recent changes to elflink.c.  Likely fix is to
> add another strcmp to elf_section_complain_discarded.  That will be
> correct if your unwinder or whatever looks at .PARISC.unwind can cope
> with some zeros for entries corresponding to removed link-once sections.
> Otherwise the proper fix is to implement an
> elf_backend_ignore_discarded_relocs and elf_backend_discard_info that
> edits the unwind section.

Randolph Chung wrote:
> > Being the current expert on unwinding, do you know if we need more
> > than the simple fix?
> 
> As long as it keeps it sorted (with the zeroed entries at the beginning
> of the unwind section) it should be ok for gdb and the kernel unwinder.

I have tested the enclosed change with gcc builds on hppa-unknown-linux-gnu
(3.4 and 3.5) and hppa64-hp-hpux11.11 (3.5) and haven't noticed any
obvious regressions.  I have no idea how the hpux unwinder will handle
zeroed entries.  I assume GNU ld is sorting the entries as per Randolph's
comment.

Is this ok?

Dave
-- 
J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)

2004-07-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* elflink.c (elf_section_complain_discarded): Don't complain about
	.PARISC.unwind.

Index: elflink.c
===================================================================
RCS file: /cvs/src/src/bfd/elflink.c,v
retrieving revision 1.79
diff -u -3 -p -r1.79 elflink.c
--- elflink.c	2 Jul 2004 01:39:31 -0000	1.79
+++ elflink.c	3 Jul 2004 17:51:49 -0000
@@ -6310,6 +6310,9 @@ elf_section_complain_discarded (asection
   if (strcmp (".gcc_except_table", sec->name) == 0)
     return FALSE;
 
+  if (strcmp (".PARISC.unwind", sec->name) == 0)
+    return FALSE;
+
   return TRUE;
 }
 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [parisc-linux] binutils 2.15?
       [not found] <20040702040316.GL21696@bubble.modra.org>
@ 2004-07-05 20:18 ` John David Anglin
  2004-07-05 20:34 ` John David Anglin
  1 sibling, 0 replies; 10+ messages in thread
From: John David Anglin @ 2004-07-05 20:18 UTC (permalink / raw)
  To: Alan Modra; +Cc: binutils

> The elf.sc patch is OK.

This what I committed.  I added a comment and also defined PLT_BEFORE_GOT
in hppa64linux.sh.  This provides the same section order as HP ld on
hppa64-hp-hpux*.  We also want to keep the .plt and .got (.dlt) together
as they are both accessed as offsets from the same register.

This will have to change if there is a NO_SMALL_DATA target that wants
PLT_BEFORE_GOT.

Dave
-- 
J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)

2004-07-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* emulparams/hppa64linux.sh: Define PLT_BEFORE_GOT.
	* emulparams/hppalinux.sh: Likewise.
	* scripttempl/elf.sc: Place .plt just before .got when .plt is in
	data segment and PLT_BEFORE_GOT is defined.

Index: emulparams/hppa64linux.sh
===================================================================
RCS file: /cvs/src/src/ld/emulparams/hppa64linux.sh,v
retrieving revision 1.3
diff -u -3 -p -r1.3 hppa64linux.sh
--- emulparams/hppa64linux.sh	27 Jun 2002 22:57:50 -0000	1.3
+++ emulparams/hppa64linux.sh	5 Jul 2004 18:18:04 -0000
@@ -53,6 +53,7 @@ OTHER_GOT_RELOC_SECTIONS="
 DATA_START_SYMBOLS='. += 16;'
 
 DATA_PLT=
+PLT_BEFORE_GOT=
 
 # .dynamic should be at the start of the .text segment.
 TEXT_DYNAMIC=
Index: emulparams/hppalinux.sh
===================================================================
RCS file: /cvs/src/src/ld/emulparams/hppalinux.sh,v
retrieving revision 1.9
diff -u -3 -p -r1.9 hppalinux.sh
--- emulparams/hppalinux.sh	2 Feb 2002 18:36:04 -0000	1.9
+++ emulparams/hppalinux.sh	5 Jul 2004 18:18:04 -0000
@@ -15,6 +15,7 @@ OTHER_READONLY_SECTIONS="
   .PARISC.unwind ${RELOCATING-0} : { *(.PARISC.unwind) }"
 DATA_START_SYMBOLS='PROVIDE ($global$ = .);'
 DATA_PLT=
+PLT_BEFORE_GOT=
 GENERATE_SHLIB_SCRIPT=yes
 TEMPLATE_NAME=elf32
 EXTRA_EM_FILE=hppaelf
Index: scripttempl/elf.sc
===================================================================
RCS file: /cvs/src/src/ld/scripttempl/elf.sc,v
retrieving revision 1.45
diff -u -3 -p -r1.45 elf.sc
--- scripttempl/elf.sc	15 Jun 2004 16:39:17 -0000	1.45
+++ scripttempl/elf.sc	5 Jul 2004 18:18:04 -0000
@@ -26,6 +26,7 @@
 #	OTHER_BSS_SYMBOLS - symbols that appear at the start of the
 #		.bss section besides __bss_start.
 #	DATA_PLT - .plt should be in data segment, not text segment.
+#	PLT_BEFORE_GOT - .plt just before .got when .plt is in data segement.
 #	BSS_PLT - .plt should be in bss segment
 #	TEXT_DYNAMIC - .dynamic in text segment, not data segment.
 #	EMBEDDED - whether this is for an embedded system. 
@@ -358,7 +359,7 @@ cat <<EOF
   ${RELOCATING+${DATA_SEGMENT_RELRO_END}}
   ${NO_SMALL_DATA+${RELRO_NOW-${SEPARATE_GOTPLT-${GOT}}}}
 
-  ${DATA_PLT+${PLT}}
+  ${DATA_PLT+${PLT_BEFORE_GOT-${PLT}}}
 
   .data         ${RELOCATING-0} :
   {
@@ -370,6 +371,7 @@ cat <<EOF
   .data1        ${RELOCATING-0} : { *(.data1) }
   ${WRITABLE_RODATA+${RODATA}}
   ${OTHER_READWRITE_SECTIONS}
+  ${DATA_PLT+${PLT_BEFORE_GOT+${PLT}}}
   ${RELOCATING+${OTHER_GOT_SYMBOLS}}
   ${NO_SMALL_DATA-${GOT}}
   ${OTHER_GOT_SECTIONS}

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2004-07-22 10:09 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <40BDA020000074B9@ocpmta3.freegates.net>
2004-06-14  4:09 ` [parisc-linux] binutils 2.15? John David Anglin
2004-06-14  5:39   ` Jakub Jelinek
2004-06-14 12:08     ` Alan Modra
2004-06-21 15:18       ` Carlos O'Donell
2004-06-28  3:25         ` John David Anglin
2004-07-01 22:50       ` John David Anglin
2004-07-01 23:00         ` Jakub Jelinek
2004-07-22 10:09           ` Joel Soete
     [not found] <20040702040316.GL21696@bubble.modra.org>
2004-07-05 20:18 ` John David Anglin
2004-07-05 20:34 ` John David Anglin

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).