mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-03-13 13:49:00 +08:00
Before now, types that could not be encoded in CTF were represented as references to type ID 0, which does not itself appear in the dictionary. This choice is annoying in several ways, principally that it forces generators and consumers of CTF to grow special cases for types that are referenced in valid dicts but don't appear. Allow an alternative representation (which will become the only representation in format v4) whereby nonrepresentable types are encoded as actual types with kind CTF_K_UNKNOWN (an already-existing kind theoretically but not in practice used for padding, with value 0). This is backward-compatible, because CTF_K_UNKNOWN was not used anywhere before now: it was used in old-format function symtypetabs, but these were never emitted by any compiler and the code to handle them in libctf likely never worked and was removed last year, in favour of new-format symtypetabs that contain only type IDs, not type kinds. In order to link this type, we need an API addition to let us add types of unknown kind to the dict: we let them optionally have names so that GCC can emit many different unknown types and those types with identical names will be deduplicated together. There are also small tweaks to the deduplicator to actually dedup such types, to let opening of dicts with unknown types with names work, to return the ECTF_NONREPRESENTABLE error on resolution of such types (like ID 0), and to print their names as something useful but not a valid C identifier, mostly for the sake of the dumper. Tests added in the next commit. include/ChangeLog 2021-05-06 Nick Alcock <nick.alcock@oracle.com> * ctf.h (CTF_K_UNKNOWN): Document that it can be used for nonrepresentable types, not just padding. * ctf-api.h (ctf_add_unknown): New. libctf/ChangeLog 2021-05-06 Nick Alcock <nick.alcock@oracle.com> * ctf-open.c (init_types): Unknown types may have names. * ctf-types.c (ctf_type_resolve): CTF_K_UNKNOWN is as non-representable as type ID 0. (ctf_type_aname): Print unknown types. * ctf-dedup.c (ctf_dedup_hash_type): Do not early-exit for CTF_K_UNKNOWN types: they have real hash values now. (ctf_dedup_rwalk_one_output_mapping): Treat CTF_K_UNKNOWN types like other types with no referents: call the callback and do not skip them. (ctf_dedup_emit_type): Emit via... * ctf-create.c (ctf_add_unknown): ... this new function. * libctf.ver (LIBCTF_1.2): Add it.
291 lines
8.3 KiB
Plaintext
291 lines
8.3 KiB
Plaintext
2021-05-06 Nick Alcock <nick.alcock@oracle.com>
|
||
|
||
* ctf.h (CTF_K_UNKNOWN): Document that it can be used for
|
||
nonrepresentable types, not just padding.
|
||
* ctf-api.h (ctf_add_unknown): New.
|
||
|
||
2021-04-22 Clément Chigot <clement.chigot@atos.net>
|
||
|
||
* coff/internal.h (union internal_auxent):
|
||
Add x_sect structure.
|
||
* coff/rs6000.h (union external_auxent): Rework to
|
||
match official documentation.
|
||
* coff/rs6k64.h (union external_auxent): Likewise.
|
||
(_AUX_SECT): New define.
|
||
|
||
2021-04-21 Eli Zaretskii <eliz@gnu.org>
|
||
|
||
PR 27760
|
||
* coff/pe.h (IMAGE_DLLCHARACTERISTICS_APPCONTAINER): Define.
|
||
(IMAGE_DLLCHARACTERISTICS_GUARD_CF): Define.
|
||
|
||
2021-04-16 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 27567
|
||
* coff/internal.h (struct internal_scnhdr): Make s_flags unsigned long.
|
||
* coff/pe.h (COFF_ENCODE_ALIGNMENT): Don't set align flags for an
|
||
executable and return false. Do so for a relocatable object and
|
||
evaluate to true.
|
||
* coff/ti.h (COFF_ENCODE_ALIGNMENT): Add bfd arg and evaluate to true.
|
||
(COFF_DECODE_ALIGNMENT): Formatting.
|
||
* coff/z80.h (COFF_ENCODE_ALIGNMENT): Similarly.
|
||
(COFF_DECODE_ALIGNMENT): Similarly.
|
||
|
||
2021-04-09 Alan Modra <amodra@gmail.com>
|
||
|
||
* dis-asm.h (struct disassemble_info): Add dynrelbuf and dynrelcount.
|
||
|
||
2021-04-06 Alan Modra <amodra@gmail.com>
|
||
|
||
* dis-asm.h (struct disassemble_info <symbol_at_address_func>):
|
||
Return asymbol*.
|
||
|
||
2021-04-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* opcode/cr16.h (strneq): Remove strneq and use startswith.
|
||
|
||
2021-03-31 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfdlink.h: Replace bfd_boolean with bool throughout.
|
||
* coff/ecoff.h: Likewise.
|
||
* coff/xcoff.h: Likewise.
|
||
* dis-asm.h: Likewise.
|
||
* elf/mmix.h: Likewise.
|
||
* elf/xtensa.h: Likewise.
|
||
* opcode/aarch64.h: Likewise, and FALSE with false, TRUE with true.
|
||
* opcode/arc.h: Likewise.
|
||
* opcode/mips.h: Likewise.
|
||
* opcode/tic6x-opcode-table.h: Likewise.
|
||
* opcode/tic6x.h: Likewise.
|
||
|
||
2021-03-31 Alan Modra <amodra@gmail.com>
|
||
|
||
* cgen/basic-modes.h: Include stdint.h in place of bfd_stdint.h.
|
||
* elf/nfp.h: Likewise.
|
||
* opcode/aarch64.h: Likewise.
|
||
* opcode/cgen.h: Likewise.
|
||
* opcode/nfp.h: Likewise.
|
||
* opcode/ppc.h: Likewise.
|
||
|
||
2021-03-29 Alan Modra <amodra@gmail.com>
|
||
|
||
* opcode/aarch64.h (alias_opcode_p): Simplify boolean expression.
|
||
(opcode_has_alias, pseudo_opcode_p, optional_operand_p): Likewise.
|
||
(opcode_has_special_coder): Likewise.
|
||
|
||
2021-03-29 Alan Modra <amodra@gmail.com>
|
||
|
||
* opcode/aarch64.h (aarch64_opcode_encode): Correct prototype.
|
||
|
||
2021-03-25 Nick Alcock <nick.alcock@oracle.com>
|
||
|
||
PR libctf/27628
|
||
* ctf-api.h: Fix some indentation.
|
||
(CTF_SET_STID): Always do an unsigned shift, even if STID is
|
||
signed.
|
||
|
||
2021-03-19 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elf/common.h (EM_INTEL205): Renamed to ...
|
||
(EM_INTELGT): This.
|
||
|
||
2021-03-16 Nick Clifton <nickc@redhat.com>
|
||
|
||
* coff/internal.h (struct internal_auxent): Fix a couple of typos
|
||
in comment describing the x_fname field.
|
||
|
||
2021-03-16 Kuan-Lin Chen <kuanlinchentw@gmail.com>
|
||
|
||
* opcode/riscv-opc.h: Support zba, zbb and zbc extensions.
|
||
* opcode/riscv.h (riscv_insn_class): Add INSN_CLASS_ZB*.
|
||
|
||
2021-03-12 Frederic Cambus <fred@statdns.com>
|
||
|
||
* elf/common.h (NT_NETBSD_PAX, NT_NETBSD_PAX_MPROTECT)
|
||
(NT_NETBSD_PAX_NOMPROTECT, NT_NETBSD_PAX_GUARD, NT_NETBSD_PAX_NOGUARD)
|
||
(NT_NETBSD_PAX_ASLR, NT_NETBSD_PAX_NOASLR): Define.
|
||
|
||
2021-03-12 Clément Chigot <clement.chigot@atos.net>
|
||
|
||
* coff/internal.h (struct internal_aouthdr): Add new fields.
|
||
* coff/rs6000.h (AOUTHDRÃ): Add new fields.
|
||
* coff/rs6k64.h (struct external_filehdr): Likewise.
|
||
* coff/xcoff.h (_TDATA), _TBSS): New defines
|
||
(RS6K_AOUTHDR_TLS_LE, RS6K_AOUTHDR_RAS, RS6K_AOUTHDR_ALGNTDATA,
|
||
RS6K_AOUTHDR_SHR_SYMTAB, RS6K_AOUTHDR_FORK_POLICY,
|
||
RS6K_AOUTHDR_FORK_COR): New defines.
|
||
(XMC_TU): Removed.
|
||
(XMC_UL): New define.
|
||
|
||
2021-03-12 Clément Chigot <clement.chigot@atos.net>
|
||
|
||
* coff/xcoff.h (R_RTB): Remove.
|
||
(R_TRL): Fix value.
|
||
|
||
2021-03-05 Craig Blackmore <craig.blackmore@embecosm.com>
|
||
Andrew Burgess <andrew.burgess@embecosm.com>
|
||
|
||
* elf/common.h (NT_RISCV_CSR): Define.
|
||
|
||
2021-03-05 Craig Blackmore <craig.blackmore@embecosm.com>
|
||
Andrew Burgess <andrew.burgess@embecosm.com>
|
||
|
||
* elf/common.h (NT_GDB_TDESC): Define.
|
||
|
||
2021-03-03 Alan Modra <amodra@gmail.com>
|
||
|
||
* coff/internal.h: Delete obsolete relocation defines. Move used
|
||
relocation defines..
|
||
* coff/i386.h: ..to here..
|
||
* coff/ti.h: ..and here..
|
||
* coff/x86_64.h: ..and here..
|
||
* coff/z80.h: ..and here..
|
||
* coff/z8k.h: ..and here.
|
||
|
||
2021-03-02 Nick Alcock <nick.alcock@oracle.com>
|
||
|
||
* ctf-api.h (CTF_LINK_SHARE_DUPLICATED): Note that this might
|
||
merely change how much deduplication is done.
|
||
|
||
2021-03-01 Alan Modra <amodra@gmail.com>
|
||
Fangrui Song <maskray@google.com>
|
||
|
||
* bfdlink.h (struct bfd_link_info): Add start_stop_gc.
|
||
|
||
2021-02-21 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfdlink.h (struct bfd_link_info): Add warn_multiple_definition.
|
||
|
||
2021-02-17 Nick Alcock <nick.alcock@oracle.com>
|
||
|
||
* ctf-api.h (ctf_arc_lookup_symbol_name): New.
|
||
(ctf_lookup_by_symbol_name): Likewise.
|
||
|
||
2021-02-19 Nelson Chu <nelson.chu@sifive.com>
|
||
|
||
PR 27158
|
||
* opcode/riscv.h: Updated encoding macros.
|
||
|
||
2021-02-18 Nelson Chu <nelson.chu@sifive.com>
|
||
|
||
* opcode/riscv.h: Moved stuff and make the file tidy.
|
||
|
||
2021-02-15 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* opcode/s390.h (enum s390_opcode_cpu_val): Add
|
||
S390_OPCODE_ARCH14.
|
||
|
||
2021-02-08 Mike Frysinger <vapier@gentoo.org>
|
||
|
||
* opcode/tic54x.h (mmregs): Rename to ...
|
||
(tic54x_mmregs): ... this.
|
||
(regs): Rename to ...
|
||
(tic54x_regs): ... this.
|
||
(condition_codes): Rename to ...
|
||
(tic54x_condition_codes): ... this.
|
||
(cc2_codes): Rename to ...
|
||
(tic54x_cc2_codes): ... this.
|
||
(status_bits): Rename to ...
|
||
(tic54x_status_bits): ... this.
|
||
(cc3_codes): Rename to ...
|
||
(tic54x_cc3_codes): ... this.
|
||
(misc_symbols): Rename to ...
|
||
(tic54x_misc_symbols): ... this.
|
||
|
||
2021-02-05 Nelson Chu <nelson.chu@sifive.com>
|
||
|
||
PR 27348
|
||
* opcode/riscv.h: Remove obsolete OP_*CUSTOM_IMM.
|
||
|
||
2021-02-05 Nelson Chu <nelson.chu@sifive.com>
|
||
|
||
PR 27348
|
||
* opcode/riscv-opc.h: Remove obsolete Xcustom support.
|
||
|
||
2021-01-27 Nick Alcock <nick.alcock@oracle.com>
|
||
|
||
* ctf-api.h (ECTF_NONAME): New.
|
||
(ECTF_NERR): Adjust.
|
||
|
||
2021-01-26 Nick Alcock <nick.alcock@oracle.com>
|
||
|
||
* ctf-api.h (CTF_LINK_NO_FILTER_REPORTED_SYMS): New.
|
||
|
||
2021-02-04 Nelson Chu <nelson.chu@sifive.com>
|
||
|
||
* opcode/riscv-opc.h: Removed macros for zb* extensions.
|
||
* opcode/riscv.h (riscv_insn_class): Removed INSN_CLASS_ZB*.
|
||
|
||
2021-01-15 Nelson Chu <nelson.chu@sifive.com>
|
||
|
||
* opcode/riscv.h: Indent and GNU coding standards tidy,
|
||
also aligned the code.
|
||
|
||
2021-01-15 Nelson Chu <nelson.chu@sifive.com>
|
||
|
||
* elf/riscv.h: Comments tidy and improvement.
|
||
* opcode/riscv-opc.h: Likewise.
|
||
* opcode/riscv.h: Likewise.
|
||
|
||
2021-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* opcode/aarch64.h (AARCH64_FEATURE_CSRE): Delete.
|
||
(aarch64_opnd): Delete AARCH64_OPND_CSRE_CSR.
|
||
|
||
2021-01-09 Nick Clifton <nickc@redhat.com>
|
||
|
||
* 2.36 release branch crated.
|
||
|
||
2021-01-07 Philipp Tomsich <prt@gnu.org>
|
||
|
||
* opcode/riscv-opc.h: Added MATCH_PAUSE, MASK_PAUSE and DECLARE_INSN
|
||
for pause hint instruction.
|
||
* opcode/riscv.h (enum riscv_insn_class): Added INSN_CLASS_ZIHINTPAUSE.
|
||
|
||
2021-01-07 Claire Xenia Wolf <claire@symbioticeda.com>
|
||
Jim Wilson <jimw@sifive.com>
|
||
Andrew Waterman <andrew@sifive.com>
|
||
Maxim Blinov <maxim.blinov@embecosm.com>
|
||
Kito Cheng <kito.cheng@sifive.com>
|
||
Nelson Chu <nelson.chu@sifive.com>
|
||
|
||
* opcode/riscv-opc.h: Added MASK/MATCH/DECLARE_INSN for ZBA/ZBB/ZBC.
|
||
* opcode/riscv.h (riscv_insn_class): Added INSN_CLASS_ZB*.
|
||
(enum riscv_isa_spec_class): Added ISA_SPEC_CLASS_DRAFT for the
|
||
frozen extensions.
|
||
|
||
2021-01-05 Nick Alcock <nick.alcock@oracle.com>
|
||
|
||
* ctf-api.h (CTF_MN_RECURSE): New.
|
||
(ctf_member_next): Add flags argument.
|
||
|
||
2021-01-05 Nick Alcock <nick.alcock@oracle.com>
|
||
|
||
* ctf-api.h (ECTF_INCOMPLETE): New.
|
||
(ECTF_NERR): Adjust.
|
||
|
||
2021-01-01 Nicolas Boulenguez <nicolas@debian.org>
|
||
|
||
* coff/internal.h: Correct comment spelling.
|
||
* coff/sym.h: Likewise.
|
||
* opcode/aarch64.h: Likewise.
|
||
|
||
2021-01-01 Alan Modra <amodra@gmail.com>
|
||
|
||
Update year range in copyright notice of all files.
|
||
|
||
For older changes see ChangeLog-2020
|
||
|
||
Copyright (C) 2021 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|
||
|
||
Local Variables:
|
||
mode: change-log
|
||
left-margin: 8
|
||
fill-column: 74
|
||
version-control: never
|
||
End:
|