public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: "Jose E. Marchesi" <jose.marchesi@oracle.com>
To: Indu Bhagat via Binutils <binutils@sourceware.org>
Cc: Indu Bhagat <indu.bhagat@oracle.com>
Subject: Re: [PATCH, V5 00/10] Definition and Implementation of CTF Frame format
Date: Wed, 20 Jul 2022 18:19:23 +0200	[thread overview]
Message-ID: <875yjriwok.fsf@oracle.com> (raw)
In-Reply-To: <20220717082011.1284067-1-indu.bhagat@oracle.com> (Indu Bhagat via Binutils's message of "Sun, 17 Jul 2022 01:20:01 -0700")


Hi people.

Any chance we can have a review for this patch series?
If it helps, we could push it to an user branch in the git repo.

> This is version 5 of the previously sent RFC series.
>
> Initial (V1) posting contains necessary introductions:
> https://sourceware.org/pipermail/binutils/2022-May/120731.html
> V2 posting with some improvements:
> https://sourceware.org/pipermail/binutils/2022-May/120899.html
> V3 posting with further improvements:
> https://sourceware.org/pipermail/binutils/2022-June/121245.html
> V4 posting with further improvements and bugfixes:
> https://sourceware.org/pipermail/binutils/2022-June/121478.html
>
> The commit log of each patch in the current patch series specifies the changes
> from the version V4 of the respective patch.  Briefly, following are the main 
> changes in the current version V5 as compared to V4:
>
> 1. Assembler testsuite has additional testcases.  In general, the
> as/ld/unwinder support for CTF Frame format has been further tested in this
> version of the patch series for both x86_64 and aarch64.
> 2. libctfbacktrace is the library which provides a simple unwinder based on CTF
> Frame.  The current patch series now includes a testsuite for the unwinder
> based on CTF Frame.
>
> CTF Frame support V5 patch series has been regression tested on a host of
> targets with no regressions.
>
> Important note: libctfframe/configure has NOT been included in the patch
> series, as it causes the size of some patches to go beyond the allowed limit.
> Please regenerate the libctfframe/configure after applying the series.
>
> Please comment and provide feedback, it will help shape the format.  One of the
> outstanding item where feedback from folks will help is:
>
> 1. What is a good place for an unwinder based on CTF Frame format ? Currently
> to facilitate discussion, it is presented in a library of its own:
> libctfbacktrace which, in turn, uses the libctfframe library for decoding the
> .ctf_frame section for unwinding.  We brainstormed a bit about the possible
> candidates being libbacktace, libgcc or libunwind ? Are there any
> recommendations ?
>
> Thanks,
>
> Indu Bhagat (7):
>   ctf-frame.h: Add CTF Frame format definition
>   gas: add new command line option --gctf-frame
>   gas: generate .ctf_frame
>   libctfframe: add GNU poke pickles for CTF Frame
>   bfd: linker: merge .ctf_frame sections
>   readelf/objdump: support for CTF Frame section
>   gdb: sim: buildsystem changes to accommodate libctfframe
>
> Weimin Pan (3):
>   libctfframe: add the CTF Frame library
>   unwinder: generate backtrace using CTF Frame format
>   unwinder: Add CTF Frame unwinder tests
>
>  Makefile.def                                  |    5 +
>  Makefile.in                                   | 1289 +++++++++++++-
>  bfd/Makefile.am                               |    6 +-
>  bfd/Makefile.in                               |    7 +-
>  bfd/bfd-in2.h                                 |    1 +
>  bfd/configure                                 |    2 +-
>  bfd/configure.ac                              |    2 +-
>  bfd/elf-bfd.h                                 |   55 +
>  bfd/elf-ctf-frame.c                           |  529 ++++++
>  bfd/elf.c                                     |   32 +
>  bfd/elf64-x86-64.c                            |   97 +-
>  bfd/elflink.c                                 |   52 +
>  bfd/elfxx-x86.c                               |  379 +++-
>  bfd/elfxx-x86.h                               |   46 +
>  bfd/section.c                                 |    1 +
>  binutils/Makefile.am                          |   10 +-
>  binutils/Makefile.in                          |   10 +-
>  binutils/doc/binutils.texi                    |    4 +
>  binutils/doc/ctfframe.options.texi            |   10 +
>  binutils/objdump.c                            |   76 +
>  binutils/readelf.c                            |   47 +
>  config/ctf-frame.m4                           |   16 +
>  configure                                     |    2 +-
>  configure.ac                                  |    2 +-
>  gas/Makefile.am                               |    3 +
>  gas/Makefile.in                               |   23 +-
>  gas/as.c                                      |   10 +-
>  gas/as.h                                      |   13 +-
>  gas/config/tc-aarch64.c                       |   42 +
>  gas/config/tc-aarch64.h                       |   29 +
>  gas/config/tc-i386.c                          |   46 +
>  gas/config/tc-i386.h                          |   26 +
>  gas/config/tc-xtensa.c                        |    1 +
>  gas/ctf-frame-opt.c                           |  158 ++
>  gas/doc/as.texi                               |   19 +-
>  gas/dw2gencfi.c                               |   30 +
>  gas/dw2gencfi.h                               |    1 +
>  gas/gen-ctf-frame.c                           | 1297 ++++++++++++++
>  gas/gen-ctf-frame.h                           |  142 ++
>  gas/testsuite/gas/cfi-ctf/cfi-ctf-aarch64-1.d |   20 +
>  gas/testsuite/gas/cfi-ctf/cfi-ctf-aarch64-1.s |   61 +
>  gas/testsuite/gas/cfi-ctf/cfi-ctf-common-1.d  |   17 +
>  gas/testsuite/gas/cfi-ctf/cfi-ctf-common-1.s  |    3 +
>  gas/testsuite/gas/cfi-ctf/cfi-ctf-common-2.d  |   17 +
>  gas/testsuite/gas/cfi-ctf/cfi-ctf-common-2.s  |    2 +
>  gas/testsuite/gas/cfi-ctf/cfi-ctf-common-3.d  |   17 +
>  gas/testsuite/gas/cfi-ctf/cfi-ctf-common-3.s  |    4 +
>  gas/testsuite/gas/cfi-ctf/cfi-ctf-common-4.d  |   21 +
>  gas/testsuite/gas/cfi-ctf/cfi-ctf-common-4.s  |    8 +
>  gas/testsuite/gas/cfi-ctf/cfi-ctf-common-5.d  |   21 +
>  gas/testsuite/gas/cfi-ctf/cfi-ctf-common-5.s  |    7 +
>  gas/testsuite/gas/cfi-ctf/cfi-ctf-common-6.d  |   21 +
>  gas/testsuite/gas/cfi-ctf/cfi-ctf-common-6.s  |    7 +
>  gas/testsuite/gas/cfi-ctf/cfi-ctf-common-7.d  |   21 +
>  gas/testsuite/gas/cfi-ctf/cfi-ctf-common-7.s  |    7 +
>  gas/testsuite/gas/cfi-ctf/cfi-ctf-common-8.d  |   20 +
>  gas/testsuite/gas/cfi-ctf/cfi-ctf-common-8.s  |   12 +
>  gas/testsuite/gas/cfi-ctf/cfi-ctf-x86_64-1.d  |   22 +
>  gas/testsuite/gas/cfi-ctf/cfi-ctf-x86_64-1.s  |   30 +
>  gas/testsuite/gas/cfi-ctf/cfi-ctf.exp         |   58 +
>  gas/testsuite/gas/cfi-ctf/common-empty-1.d    |   14 +
>  gas/testsuite/gas/cfi-ctf/common-empty-1.s    |    5 +
>  gas/testsuite/gas/cfi-ctf/common-empty-2.d    |   14 +
>  gas/testsuite/gas/cfi-ctf/common-empty-2.s    |    8 +
>  gas/testsuite/gas/cfi-ctf/common-empty-3.d    |   14 +
>  gas/testsuite/gas/cfi-ctf/common-empty-3.s    |    9 +
>  gas/testsuite/gas/cfi-ctf/common-empty-4.d    |   14 +
>  gas/testsuite/gas/cfi-ctf/common-empty-4.s    |   18 +
>  gas/write.c                                   |   13 +
>  gdb/Makefile.in                               |    8 +-
>  gdb/acinclude.m4                              |    4 +-
>  gdb/configure                                 |   35 +-
>  gdb/configure.ac                              |   11 +
>  include/ctf-backtrace-api.h                   |   57 +
>  include/ctf-frame-api.h                       |  213 +++
>  include/ctf-frame.h                           |  281 +++
>  include/elf/common.h                          |    1 +
>  include/elf/internal.h                        |    1 +
>  ld/Makefile.am                                |    2 +
>  ld/Makefile.in                                |    2 +
>  ld/configure                                  |    8 +-
>  ld/configure.ac                               |    3 +
>  ld/ld.texi                                    |    4 +-
>  ld/scripttempl/elf.sc                         |    2 +
>  ld/testsuite/ld-aarch64/aarch64-elf.exp       |    2 +
>  ld/testsuite/ld-aarch64/ctf-frame-bar.s       |    7 +
>  ld/testsuite/ld-aarch64/ctf-frame-foo.s       |   10 +
>  ld/testsuite/ld-aarch64/ctf-frame-simple-1.d  |   26 +
>  ld/testsuite/ld-bootstrap/bootstrap.exp       |    8 +-
>  ld/testsuite/ld-ctf-frame/ctf-frame-empty.d   |   10 +
>  ld/testsuite/ld-ctf-frame/ctf-frame-empty.s   |    2 +
>  ld/testsuite/ld-ctf-frame/ctf-frame.exp       |   47 +
>  ld/testsuite/ld-ctf-frame/discard.d           |   10 +
>  ld/testsuite/ld-ctf-frame/discard.ld          |    9 +
>  ld/testsuite/ld-ctf-frame/discard.s           |   13 +
>  ld/testsuite/ld-x86-64/ctf-frame-bar.s        |   31 +
>  ld/testsuite/ld-x86-64/ctf-frame-foo.s        |   37 +
>  ld/testsuite/ld-x86-64/ctf-frame-plt-1.d      |   29 +
>  ld/testsuite/ld-x86-64/ctf-frame-simple-1.d   |   35 +
>  ld/testsuite/ld-x86-64/x86-64.exp             |    2 +
>  ld/testsuite/lib/ld-lib.exp                   |   45 +
>  libctfframe/Makefile.am                       |   84 +
>  libctfframe/Makefile.in                       | 1050 +++++++++++
>  libctfframe/aclocal.m4                        | 1242 +++++++++++++
>  libctfframe/config.h.in                       |  144 ++
>  libctfframe/configure.ac                      |   82 +
>  libctfframe/ctf-backtrace-err.c               |   46 +
>  libctfframe/ctf-backtrace.c                   |  617 +++++++
>  libctfframe/ctf-frame-dump.c                  |  181 ++
>  libctfframe/ctf-frame-dump.pk                 |   68 +
>  libctfframe/ctf-frame-error.c                 |   49 +
>  libctfframe/ctf-frame-impl.h                  |   55 +
>  libctfframe/ctf-frame.c                       | 1584 +++++++++++++++++
>  libctfframe/ctf-frame.pk                      |  200 +++
>  libctfframe/testsuite/config/default.exp      |   60 +
>  libctfframe/testsuite/lib/ctfframe-lib.exp    |  333 ++++
>  .../testsuite/libctfframe.decode/DATA1        |  Bin 0 -> 59 bytes
>  .../testsuite/libctfframe.decode/DATA2        |  Bin 0 -> 91 bytes
>  .../testsuite/libctfframe.decode/DATA_BIGE    |  Bin 0 -> 59 bytes
>  .../libctfframe.decode/bigendian_data.c       |  110 ++
>  .../libctfframe.decode/bigendian_data.lk      |    3 +
>  .../testsuite/libctfframe.decode/decode.exp   |   38 +
>  .../testsuite/libctfframe.decode/frecnt_1.c   |  108 ++
>  .../testsuite/libctfframe.decode/frecnt_1.lk  |    3 +
>  .../testsuite/libctfframe.decode/frecnt_2.c   |  113 ++
>  .../testsuite/libctfframe.decode/frecnt_2.lk  |    3 +
>  .../testsuite/libctfframe.encode/encode.exp   |   38 +
>  .../testsuite/libctfframe.encode/encode_1.c   |  173 ++
>  .../testsuite/libctfframe.encode/encode_1.lk  |    3 +
>  .../testsuite/libctfframe.unwind/backtrace.c  |  101 ++
>  .../testsuite/libctfframe.unwind/backtrace.lk |    3 +
>  .../libctfframe.unwind/inline-cmds.c          |  135 ++
>  .../libctfframe.unwind/inline-cmds.lk         |    3 +
>  .../testsuite/libctfframe.unwind/inline.c     |   97 +
>  .../testsuite/libctfframe.unwind/inline.lk    |    3 +
>  .../testsuite/libctfframe.unwind/solib-lib1.c |    8 +
>  .../testsuite/libctfframe.unwind/solib-lib2.c |   50 +
>  .../testsuite/libctfframe.unwind/solib-main.c |   47 +
>  .../testsuite/libctfframe.unwind/solib.exp    |   68 +
>  .../testsuite/libctfframe.unwind/solib_lib1.h |    3 +
>  .../testsuite/libctfframe.unwind/solib_lib2.h |    3 +
>  .../testsuite/libctfframe.unwind/tailcall.c   |  103 ++
>  .../testsuite/libctfframe.unwind/tailcall.lk  |    3 +
>  .../testsuite/libctfframe.unwind/ttest.c      |  127 ++
>  .../testsuite/libctfframe.unwind/ttest.lk     |    3 +
>  .../testsuite/libctfframe.unwind/unwind.exp   |  189 ++
>  libctfframe/ttest.c                           |   78 +
>  sim/common/Make-common.in                     |    7 +-
>  148 files changed, 13340 insertions(+), 58 deletions(-)
>  create mode 100644 bfd/elf-ctf-frame.c
>  create mode 100644 binutils/doc/ctfframe.options.texi
>  create mode 100644 config/ctf-frame.m4
>  create mode 100644 gas/ctf-frame-opt.c
>  create mode 100644 gas/gen-ctf-frame.c
>  create mode 100644 gas/gen-ctf-frame.h
>  create mode 100644 gas/testsuite/gas/cfi-ctf/cfi-ctf-aarch64-1.d
>  create mode 100644 gas/testsuite/gas/cfi-ctf/cfi-ctf-aarch64-1.s
>  create mode 100644 gas/testsuite/gas/cfi-ctf/cfi-ctf-common-1.d
>  create mode 100644 gas/testsuite/gas/cfi-ctf/cfi-ctf-common-1.s
>  create mode 100644 gas/testsuite/gas/cfi-ctf/cfi-ctf-common-2.d
>  create mode 100644 gas/testsuite/gas/cfi-ctf/cfi-ctf-common-2.s
>  create mode 100644 gas/testsuite/gas/cfi-ctf/cfi-ctf-common-3.d
>  create mode 100644 gas/testsuite/gas/cfi-ctf/cfi-ctf-common-3.s
>  create mode 100644 gas/testsuite/gas/cfi-ctf/cfi-ctf-common-4.d
>  create mode 100644 gas/testsuite/gas/cfi-ctf/cfi-ctf-common-4.s
>  create mode 100644 gas/testsuite/gas/cfi-ctf/cfi-ctf-common-5.d
>  create mode 100644 gas/testsuite/gas/cfi-ctf/cfi-ctf-common-5.s
>  create mode 100644 gas/testsuite/gas/cfi-ctf/cfi-ctf-common-6.d
>  create mode 100644 gas/testsuite/gas/cfi-ctf/cfi-ctf-common-6.s
>  create mode 100644 gas/testsuite/gas/cfi-ctf/cfi-ctf-common-7.d
>  create mode 100644 gas/testsuite/gas/cfi-ctf/cfi-ctf-common-7.s
>  create mode 100644 gas/testsuite/gas/cfi-ctf/cfi-ctf-common-8.d
>  create mode 100644 gas/testsuite/gas/cfi-ctf/cfi-ctf-common-8.s
>  create mode 100644 gas/testsuite/gas/cfi-ctf/cfi-ctf-x86_64-1.d
>  create mode 100644 gas/testsuite/gas/cfi-ctf/cfi-ctf-x86_64-1.s
>  create mode 100644 gas/testsuite/gas/cfi-ctf/cfi-ctf.exp
>  create mode 100644 gas/testsuite/gas/cfi-ctf/common-empty-1.d
>  create mode 100644 gas/testsuite/gas/cfi-ctf/common-empty-1.s
>  create mode 100644 gas/testsuite/gas/cfi-ctf/common-empty-2.d
>  create mode 100644 gas/testsuite/gas/cfi-ctf/common-empty-2.s
>  create mode 100644 gas/testsuite/gas/cfi-ctf/common-empty-3.d
>  create mode 100644 gas/testsuite/gas/cfi-ctf/common-empty-3.s
>  create mode 100644 gas/testsuite/gas/cfi-ctf/common-empty-4.d
>  create mode 100644 gas/testsuite/gas/cfi-ctf/common-empty-4.s
>  create mode 100644 include/ctf-backtrace-api.h
>  create mode 100644 include/ctf-frame-api.h
>  create mode 100644 include/ctf-frame.h
>  create mode 100644 ld/testsuite/ld-aarch64/ctf-frame-bar.s
>  create mode 100644 ld/testsuite/ld-aarch64/ctf-frame-foo.s
>  create mode 100644 ld/testsuite/ld-aarch64/ctf-frame-simple-1.d
>  create mode 100644 ld/testsuite/ld-ctf-frame/ctf-frame-empty.d
>  create mode 100644 ld/testsuite/ld-ctf-frame/ctf-frame-empty.s
>  create mode 100644 ld/testsuite/ld-ctf-frame/ctf-frame.exp
>  create mode 100644 ld/testsuite/ld-ctf-frame/discard.d
>  create mode 100644 ld/testsuite/ld-ctf-frame/discard.ld
>  create mode 100644 ld/testsuite/ld-ctf-frame/discard.s
>  create mode 100644 ld/testsuite/ld-x86-64/ctf-frame-bar.s
>  create mode 100644 ld/testsuite/ld-x86-64/ctf-frame-foo.s
>  create mode 100644 ld/testsuite/ld-x86-64/ctf-frame-plt-1.d
>  create mode 100644 ld/testsuite/ld-x86-64/ctf-frame-simple-1.d
>  create mode 100644 libctfframe/Makefile.am
>  create mode 100644 libctfframe/Makefile.in
>  create mode 100644 libctfframe/aclocal.m4
>  create mode 100644 libctfframe/config.h.in
>  create mode 100644 libctfframe/configure.ac
>  create mode 100644 libctfframe/ctf-backtrace-err.c
>  create mode 100644 libctfframe/ctf-backtrace.c
>  create mode 100644 libctfframe/ctf-frame-dump.c
>  create mode 100644 libctfframe/ctf-frame-dump.pk
>  create mode 100644 libctfframe/ctf-frame-error.c
>  create mode 100644 libctfframe/ctf-frame-impl.h
>  create mode 100644 libctfframe/ctf-frame.c
>  create mode 100644 libctfframe/ctf-frame.pk
>  create mode 100644 libctfframe/testsuite/config/default.exp
>  create mode 100644 libctfframe/testsuite/lib/ctfframe-lib.exp
>  create mode 100644 libctfframe/testsuite/libctfframe.decode/DATA1
>  create mode 100644 libctfframe/testsuite/libctfframe.decode/DATA2
>  create mode 100644 libctfframe/testsuite/libctfframe.decode/DATA_BIGE
>  create mode 100644 libctfframe/testsuite/libctfframe.decode/bigendian_data.c
>  create mode 100644 libctfframe/testsuite/libctfframe.decode/bigendian_data.lk
>  create mode 100644 libctfframe/testsuite/libctfframe.decode/decode.exp
>  create mode 100644 libctfframe/testsuite/libctfframe.decode/frecnt_1.c
>  create mode 100644 libctfframe/testsuite/libctfframe.decode/frecnt_1.lk
>  create mode 100644 libctfframe/testsuite/libctfframe.decode/frecnt_2.c
>  create mode 100644 libctfframe/testsuite/libctfframe.decode/frecnt_2.lk
>  create mode 100644 libctfframe/testsuite/libctfframe.encode/encode.exp
>  create mode 100644 libctfframe/testsuite/libctfframe.encode/encode_1.c
>  create mode 100644 libctfframe/testsuite/libctfframe.encode/encode_1.lk
>  create mode 100644 libctfframe/testsuite/libctfframe.unwind/backtrace.c
>  create mode 100644 libctfframe/testsuite/libctfframe.unwind/backtrace.lk
>  create mode 100644 libctfframe/testsuite/libctfframe.unwind/inline-cmds.c
>  create mode 100644 libctfframe/testsuite/libctfframe.unwind/inline-cmds.lk
>  create mode 100644 libctfframe/testsuite/libctfframe.unwind/inline.c
>  create mode 100644 libctfframe/testsuite/libctfframe.unwind/inline.lk
>  create mode 100644 libctfframe/testsuite/libctfframe.unwind/solib-lib1.c
>  create mode 100644 libctfframe/testsuite/libctfframe.unwind/solib-lib2.c
>  create mode 100644 libctfframe/testsuite/libctfframe.unwind/solib-main.c
>  create mode 100644 libctfframe/testsuite/libctfframe.unwind/solib.exp
>  create mode 100644 libctfframe/testsuite/libctfframe.unwind/solib_lib1.h
>  create mode 100644 libctfframe/testsuite/libctfframe.unwind/solib_lib2.h
>  create mode 100644 libctfframe/testsuite/libctfframe.unwind/tailcall.c
>  create mode 100644 libctfframe/testsuite/libctfframe.unwind/tailcall.lk
>  create mode 100644 libctfframe/testsuite/libctfframe.unwind/ttest.c
>  create mode 100644 libctfframe/testsuite/libctfframe.unwind/ttest.lk
>  create mode 100644 libctfframe/testsuite/libctfframe.unwind/unwind.exp
>  create mode 100644 libctfframe/ttest.c

  parent reply	other threads:[~2022-07-20 16:19 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-17  8:20 [PATCH,V5 " Indu Bhagat
2022-07-17  8:20 ` [PATCH,V5 01/10] ctf-frame.h: Add CTF Frame format definition Indu Bhagat
2022-07-17  8:20 ` [PATCH,V5 02/10] gas: add new command line option --gctf-frame Indu Bhagat
2022-07-17  8:20 ` [PATCH,V5 03/10] gas: generate .ctf_frame Indu Bhagat
2022-07-17  8:20 ` [PATCH,V5 04/10] libctfframe: add the CTF Frame library Indu Bhagat
2022-07-17  8:20 ` [PATCH,V5 05/10] libctfframe: add GNU poke pickles for CTF Frame Indu Bhagat
2022-07-17  8:20 ` [PATCH,V5 06/10] bfd: linker: merge .ctf_frame sections Indu Bhagat
2022-07-17  8:20 ` [PATCH,V5 07/10] readelf/objdump: support for CTF Frame section Indu Bhagat
2022-07-17  8:20 ` [PATCH,V5 08/10] unwinder: generate backtrace using CTF Frame format Indu Bhagat
2022-07-17  8:20 ` [PATCH,V5 09/10] unwinder: Add CTF Frame unwinder tests Indu Bhagat
2022-07-17  8:20 ` [PATCH, V5 10/10] gdb: sim: buildsystem changes to accommodate libctfframe Indu Bhagat
2022-07-20 16:19 ` Jose E. Marchesi [this message]
2022-07-28  1:59   ` [PATCH, V5 00/10] Definition and Implementation of CTF Frame format Alan Modra
2022-07-28 14:37     ` Nick Alcock
2022-07-28 16:19     ` Indu Bhagat

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=875yjriwok.fsf@oracle.com \
    --to=jose.marchesi@oracle.com \
    --cc=binutils@sourceware.org \
    --cc=indu.bhagat@oracle.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).