diff options
author | Nick Alcock <nick.alcock@oracle.com> | 2025-04-25 17:59:31 +0100 |
---|---|---|
committer | Nick Alcock <nick.alcock@oracle.com> | 2025-04-25 18:07:44 +0100 |
commit | 908a7e71671ea2ecafed060866d9fd6a665a79a2 (patch) | |
tree | 7169e402cbd799233278815cd1e7f2891924f7e1 /libctf/ctf-intl.h | |
parent | d5012389a44029018a92b113d2253afb79493e7e (diff) | |
download | binutils-908a7e71671ea2ecafed060866d9fd6a665a79a2.zip binutils-908a7e71671ea2ecafed060866d9fd6a665a79a2.tar.gz binutils-908a7e71671ea2ecafed060866d9fd6a665a79a2.tar.bz2 |
libctf: open, types: ctf_import for BTF
ctf_import needs a bunch of fixes to work with pure BTF dicts -- and, for
that matter, importing newly-created parent dicts that have never been
written out, which may have a bunch of nonprovisional types (if types were
added to it before any imports were done) or may not (if at least one
ctf_import into it was done before any types were added).
So we adjust things so that the values that are checked against are the
nonprovisional-types values: the header revisions actually changed the name
of cth_parent_typemax to cth_parent_ntypes to make this clearer, so catch up
with that. In the parent, we have to use ctf_idmax, not ctf_typemax.
One thing we must prohibit is that you cannot add a bunch of types to a
child and then import a parent into it: the type IDs will all be wrong
and the string offsets more so. This was partly prohibited: prohibit it
entirely (excepting only that the not-actually-written-out void type
we might add to new BTF dicts does not influence this check).
Since BTF children don't have a cth_parent_ntypes or a cth_parent_strlen, we
cannot check this stuff, but just set them and hope.
Diffstat (limited to 'libctf/ctf-intl.h')
0 files changed, 0 insertions, 0 deletions