libctf: labels
authorNick Alcock <nick.alcock@oracle.com>
Wed, 24 Apr 2019 10:35:37 +0000 (11:35 +0100)
committerNick Alcock <nick.alcock@oracle.com>
Tue, 28 May 2019 16:09:30 +0000 (17:09 +0100)
commit6dbf2b734063522b4f3d7403ce7a2b436802b839
treeffd324ef83a909f9bdee848fb2287e87877af5d8
parent6c33b742ce19cc2fd226d84f2991572239199a62
libctf: labels

This facility allows you to associate regions of type IDs with *labels*,
a labelled tiling of the type ID space. You can use these to define
CTF containers with distinct parents for distinct ranges of the ID
space, or to assist with parallelization of CTF processing, or for any
other purpose you can think of.

Notably absent from here (though declared in the API header) is any way
to define new labels: this will probably be introduced soon, as part of
the linker deduplication work.  (One existed in the past, but was deeply
tied to the Solaris CTF file generator and had to be torn out.)

libctf/
* ctf-labels.c: New.
include/
* ctf-api.h (ctf_label_f): New.
(ctf_label_set): New.
(ctf_label_get): New.
(ctf_label_topmost): New.
(ctf_label_info): New.
(ctf_label_iter): New.
include/ChangeLog
include/ctf-api.h
libctf/ChangeLog
libctf/ctf-labels.c [new file with mode: 0644]