diff options
author | Nick Alcock <nick.alcock@oracle.com> | 2019-08-09 22:53:50 +0100 |
---|---|---|
committer | Nick Alcock <nick.alcock@oracle.com> | 2019-10-03 17:04:56 +0100 |
commit | 9c1a2295e84170d2de06ef3c828f0c9f5933867e (patch) | |
tree | 7b12d11479fa4c3c8cbdb79ebc86e476b9eac721 /libctf/ChangeLog | |
parent | 1a6ab13e712348c59c2757457b9f913a333f3c92 (diff) | |
download | gdb-9c1a2295e84170d2de06ef3c828f0c9f5933867e.zip gdb-9c1a2295e84170d2de06ef3c828f0c9f5933867e.tar.gz gdb-9c1a2295e84170d2de06ef3c828f0c9f5933867e.tar.bz2 |
libctf: get the encoding of non-ints/fps in the dynamic space right
If you call ctf_type_encoding() on a slice, you are meant to get the
encoding of the slice with the format of the underlying type. If
you call it on a non-int, non-fp, non-slice, you're meant to get the
error ECTF_INTNOTFP.
None of this was implemented for types in the dynamic space (which, now,
is *all* types in writable containers). Instead, we were always
returning the encoding as if it were a float, which for all other types
consulted the wrong part of a discriminated union and returned garbage.
(Curiously, existing users were more disturbed by the lack of an error
in the non-int/fp/slice case than they were about getting garbage back.)
libctf/
* ctf-types.c (ctf_type_encoding): Fix the dynamic case to
work right for non-int/fps.
Diffstat (limited to 'libctf/ChangeLog')
-rw-r--r-- | libctf/ChangeLog | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libctf/ChangeLog b/libctf/ChangeLog index 8f41ece..74dfbef 100644 --- a/libctf/ChangeLog +++ b/libctf/ChangeLog @@ -1,3 +1,8 @@ +2019-08-09 Nick Alcock <nick.alcock@oracle.com> + + * ctf-types.c (ctf_type_encoding): Fix the dynamic case to + work right for non-int/fps. + 2019-08-08 Nick Alcock <nick.alcock@oracle.com> * ctf-types.c (ctf_type_name): Don't strlen a potentially- |