binutils-gdb/libctf
Nick Alcock eb5323fdf8 libctf, ld: handle nonrepresentable types better
ctf_type_visit (used, among other things, by the type dumping code) was
aborting when it saw a nonrepresentable type anywhere: even a single
structure member with a nonrepresentable type caused an abort with
ECTF_NONREPRESENTABLE.  This is not useful behaviour, given that the
abort comes from a type-resolution we are only doing in order to
determine whether the type is a structure or union.  We know
nonrepresentable types can't be either, so handle that case and
pass the nonrepresentable type down.

(The added test verifies that the dumper now handles this case and
prints nonrepresentable structure members as it already does
nonrepresentable top-level types, rather than skipping the whole
structure -- or, without the previous commit, skipping the whole types
section.)

ld/ChangeLog
2021-10-25  Nick Alcock  <nick.alcock@oracle.com>

	* testsuite/ld-ctf/nonrepresentable-member.*: New test.

libctf/ChangeLog
2021-10-25  Nick Alcock  <nick.alcock@oracle.com>

	* ctf-types.c (ctf_type_rvisit): Handle nonrepresentable types.
2021-10-25 11:17:05 +01:00
..
testsuite libctf, lookup: fix bounds of pptrtab lookup 2021-09-27 20:31:26 +01:00
.gitignore
aclocal.m4 Implement a workaround for GNU mak jobserver 2021-01-12 05:45:44 -08:00
ChangeLog libctf, ld: handle nonrepresentable types better 2021-10-25 11:17:05 +01:00
ChangeLog-2020 libctf: fix old ChangeLog typo 2021-01-05 14:53:40 +00:00
config.h.in
configure configure: regenerate in all projects that use libtool.m4 2021-09-27 20:31:24 +01:00
configure.ac libctf: try several possibilities for linker versioning flags 2021-09-27 20:31:24 +01:00
ctf-archive.c libctf: fix GNU style for do {} while 2021-03-18 12:37:55 +00:00
ctf-create.c libctf, include: support an alternative encoding for nonrepresentable types 2021-05-06 09:30:59 +01:00
ctf-decl.c libctf, ld: dump enums: generally improve dump formatting 2021-01-05 14:53:39 +00:00
ctf-decls.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ctf-dedup.c Use htab_eq_string in libctf 2021-05-09 12:28:32 +09:30
ctf-dump.c libctf: dump: do not stop dumping types on error 2021-10-25 11:17:04 +01:00
ctf-endian.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ctf-error.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ctf-hash.c Use htab_eq_string in libctf 2021-05-09 12:28:32 +09:30
ctf-impl.h Use htab_eq_string in libctf 2021-05-09 12:28:32 +09:30
ctf-inlines.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ctf-intl.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ctf-labels.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ctf-link.c libctf: fix some tabdamage and move some code around 2021-03-18 12:37:52 +00:00
ctf-lookup.c libctf, lookup: fix bounds of pptrtab lookup 2021-09-27 20:31:26 +01:00
ctf-open-bfd.c libctf: make ctf_bfdopen_ctfsect a debugger entry point 2021-03-25 16:32:49 +00:00
ctf-open.c libctf: fix handling of CTF symtypetab sections emitted by older GCC 2021-09-27 20:31:25 +01:00
ctf-qsort_r.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ctf-serialize.c libctf, serialize: functions with no args have a NULL dtd_vlen 2021-03-25 16:32:48 +00:00
ctf-sha1.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ctf-sha1.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ctf-string.c libctf: eliminate dtd_u, part 4: enums 2021-03-18 12:40:40 +00:00
ctf-subr.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ctf-types.c libctf, ld: handle nonrepresentable types better 2021-10-25 11:17:05 +01:00
ctf-util.c libctf, include: support unnamed structure members better 2021-01-05 14:53:40 +00:00
elf.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
libctf.ver libctf: try several possibilities for linker versioning flags 2021-09-27 20:31:24 +01:00
Makefile.am libctf: try several possibilities for linker versioning flags 2021-09-27 20:31:24 +01:00
Makefile.in configure: regenerate in all projects that use libtool.m4 2021-09-27 20:31:24 +01:00
NEWS libctf, include: support an alternative encoding for nonrepresentable types 2021-05-06 09:30:59 +01:00
swap.h libctf: fix GNU style for do {} while 2021-03-18 12:37:55 +00:00