From: Nick Alcock Date: Tue, 2 Jun 2020 19:26:29 +0000 (+0100) Subject: libctf, open: drop unnecessary historical wart around forwards X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2484ca436ac68716636a7aca3826bca3cda243a4;p=binutils-gdb.git libctf, open: drop unnecessary historical wart around forwards When opening, we consider a forward with a kind above the maximum allowable set of kinds and a forward of kind CTF_K_UNKNOWN to be a forward to a struct. Whatever CTF version it was that produced forwards with no associated kind, it predates anything we can read: remove this wart. libctf/ * ctf-open.c (init_types): Remove typeless CTF_K_FORWARD special-casing. --- diff --git a/libctf/ChangeLog b/libctf/ChangeLog index 8dd6651e07a..61aebd1422e 100644 --- a/libctf/ChangeLog +++ b/libctf/ChangeLog @@ -1,3 +1,8 @@ +2020-07-22 Nick Alcock + + * ctf-open.c (init_types): Remove typeless CTF_K_FORWARD + special-casing. + 2020-07-22 Nick Alcock * ctf-types.c (ctf_type_reference): Add support for dynamic slices. diff --git a/libctf/ctf-open.c b/libctf/ctf-open.c index 4daa1e45351..05672f36498 100644 --- a/libctf/ctf-open.c +++ b/libctf/ctf-open.c @@ -692,17 +692,11 @@ init_types (ctf_file_t *fp, ctf_header_t *cth) if (vbytes < 0) return ECTF_CORRUPT; + /* For forward declarations, ctt_type is the CTF_K_* kind for the tag, + so bump that population count too. */ if (kind == CTF_K_FORWARD) - { - /* For forward declarations, ctt_type is the CTF_K_* kind for the tag, - so bump that population count too. If ctt_type is unknown, treat - the tag as a struct. */ + pop[tp->ctt_type]++; - if (tp->ctt_type == CTF_K_UNKNOWN || tp->ctt_type >= CTF_K_MAX) - pop[CTF_K_STRUCT]++; - else - pop[tp->ctt_type]++; - } tp = (ctf_type_t *) ((uintptr_t) tp + increment + vbytes); pop[kind]++; }