mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-06 12:09:26 +08:00
47d546f427
The CTF creation process looks roughly like (error handling elided): int err; ctf_file_t *foo = ctf_create (&err); ctf_id_t type = ctf_add_THING (foo, ...); ctf_update (foo); ctf_*write (...); Some ctf_add_THING functions accept other type IDs as arguments, depending on the type: cv-quals, pointers, and structure and union members all take other types as arguments. So do 'slices', which let you take an existing integral type and recast it as a type with a different bitness or offset within a byte, for bitfields. One class of THING is not a type: "variables", which are mappings of names (in the internal string table) to types. These are mostly useful when encoding variables that do not appear in a symbol table but which some external user has some other way to figure out the address of at runtime (dynamic symbol lookup or querying a VM interpreter or something). You can snapshot the creation process at any point: rolling back to a snapshot deletes all types and variables added since that point. You can make arbitrary type queries on the CTF container during the creation process, but you must call ctf_update() first, which translates the growing dynamic container into a static one (this uses the CTF opening machinery, added in a later commit), which is quite expensive. This function must also be called after adding types and before writing the container out. Because addition of types involves looking up existing types, we add a little of the type lookup machinery here, as well: only enough to look up types in dynamic containers under construction. libctf/ * ctf-create.c: New file. * ctf-lookup.c: New file. include/ * ctf-api.h (zlib.h): New include. (ctf_sect_t): New. (ctf_sect_names_t): Likewise. (ctf_encoding_t): Likewise. (ctf_membinfo_t): Likewise. (ctf_arinfo_t): Likewise. (ctf_funcinfo_t): Likewise. (ctf_lblinfo_t): Likewise. (ctf_snapshot_id_t): Likewise. (CTF_FUNC_VARARG): Likewise. (ctf_simple_open): Likewise. (ctf_bufopen): Likewise. (ctf_create): Likewise. (ctf_add_array): Likewise. (ctf_add_const): Likewise. (ctf_add_enum_encoded): Likewise. (ctf_add_enum): Likewise. (ctf_add_float): Likewise. (ctf_add_forward): Likewise. (ctf_add_function): Likewise. (ctf_add_integer): Likewise. (ctf_add_slice): Likewise. (ctf_add_pointer): Likewise. (ctf_add_type): Likewise. (ctf_add_typedef): Likewise. (ctf_add_restrict): Likewise. (ctf_add_struct): Likewise. (ctf_add_union): Likewise. (ctf_add_struct_sized): Likewise. (ctf_add_union_sized): Likewise. (ctf_add_volatile): Likewise. (ctf_add_enumerator): Likewise. (ctf_add_member): Likewise. (ctf_add_member_offset): Likewise. (ctf_add_member_encoded): Likewise. (ctf_add_variable): Likewise. (ctf_set_array): Likewise. (ctf_update): Likewise. (ctf_snapshot): Likewise. (ctf_rollback): Likewise. (ctf_discard): Likewise. (ctf_write): Likewise. (ctf_gzwrite): Likewise. (ctf_compress_write): Likewise.
346 lines
9.9 KiB
Plaintext
346 lines
9.9 KiB
Plaintext
2019-05-28 Nick Alcock <nick.alcock@oracle.com>
|
||
|
||
* ctf-api.h (zlib.h): New include.
|
||
(ctf_sect_t): New.
|
||
(ctf_sect_names_t): Likewise.
|
||
(ctf_encoding_t): Likewise.
|
||
(ctf_membinfo_t): Likewise.
|
||
(ctf_arinfo_t): Likewise.
|
||
(ctf_funcinfo_t): Likewise.
|
||
(ctf_lblinfo_t): Likewise.
|
||
(ctf_snapshot_id_t): Likewise.
|
||
(CTF_FUNC_VARARG): Likewise.
|
||
(ctf_simple_open): Likewise.
|
||
(ctf_bufopen): Likewise.
|
||
(ctf_create): Likewise.
|
||
(ctf_add_array): Likewise.
|
||
(ctf_add_const): Likewise.
|
||
(ctf_add_enum_encoded): Likewise.
|
||
(ctf_add_enum): Likewise.
|
||
(ctf_add_float): Likewise.
|
||
(ctf_add_forward): Likewise.
|
||
(ctf_add_function): Likewise.
|
||
(ctf_add_integer): Likewise.
|
||
(ctf_add_slice): Likewise.
|
||
(ctf_add_pointer): Likewise.
|
||
(ctf_add_type): Likewise.
|
||
(ctf_add_typedef): Likewise.
|
||
(ctf_add_restrict): Likewise.
|
||
(ctf_add_struct): Likewise.
|
||
(ctf_add_union): Likewise.
|
||
(ctf_add_struct_sized): Likewise.
|
||
(ctf_add_union_sized): Likewise.
|
||
(ctf_add_volatile): Likewise.
|
||
(ctf_add_enumerator): Likewise.
|
||
(ctf_add_member): Likewise.
|
||
(ctf_add_member_offset): Likewise.
|
||
(ctf_add_member_encoded): Likewise.
|
||
(ctf_add_variable): Likewise.
|
||
(ctf_set_array): Likewise.
|
||
(ctf_update): Likewise.
|
||
(ctf_snapshot): Likewise.
|
||
(ctf_rollback): Likewise.
|
||
(ctf_discard): Likewise.
|
||
(ctf_write): Likewise.
|
||
(ctf_gzwrite): Likewise.
|
||
(ctf_compress_write): Likewise.
|
||
|
||
2019-05-28 Nick Alcock <nick.alcock@oracle.com>
|
||
|
||
* ctf-api.h (ctf_errno): New declaration.
|
||
(ctf_errmsg): Likewise.
|
||
|
||
2019-05-28 Nick Alcock <nick.alcock@oracle.com>
|
||
|
||
* ctf-api.h (ctf_setdebug): New.
|
||
(ctf_getdebug): Likewise.
|
||
|
||
2019-05-28 Nick Alcock <nick.alcock@oracle.com>
|
||
|
||
* ctf-api.h: New file.
|
||
|
||
2019-05-28 Nick Alcock <nick.alcock@oracle.com>
|
||
|
||
* ctf.h: New file.
|
||
|
||
2019-05-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
* elf/aarch64.h (DT_AARCH64_VARIANT_PCS): Define.
|
||
(STO_AARCH64_VARIANT_PCS): Define.
|
||
|
||
2019-05-24 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf/ppc64.h (R_PPC64_PLTSEQ_NOTOC, R_PPC64_PLTCALL_NOTOC),
|
||
(R_PPC64_PCREL_OPT, R_PPC64_D34, R_PPC64_D34_LO, R_PPC64_D34_HI30),
|
||
(R_PPC64_D34_HA30, R_PPC64_PCREL34, R_PPC64_GOT_PCREL34),
|
||
(R_PPC64_PLT_PCREL34, R_PPC64_PLT_PCREL34_NOTOC),
|
||
(R_PPC64_ADDR16_HIGHER34, R_PPC64_ADDR16_HIGHERA34),
|
||
(R_PPC64_ADDR16_HIGHEST34, R_PPC64_ADDR16_HIGHESTA34),
|
||
(R_PPC64_REL16_HIGHER34, R_PPC64_REL16_HIGHERA34),
|
||
(R_PPC64_REL16_HIGHEST34, R_PPC64_REL16_HIGHESTA34),
|
||
(R_PPC64_D28, R_PPC64_PCREL28): Define.
|
||
|
||
2019-05-24 Peter Bergner <bergner@linux.ibm.com>
|
||
Alan Modra <amodra@gmail.com>
|
||
|
||
* dis-asm.h (WIDE_OUTPUT): Define.
|
||
* opcode/ppc.h (prefix_opcodes, prefix_num_opcodes): Declare.
|
||
(PPC_OPCODE_POWERXX, PPC_GET_PREFIX, PPC_GET_SUFFIX),
|
||
(PPC_PREFIX_P, PPC_PREFIX_SEG): Define.
|
||
|
||
2019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
|
||
|
||
* elf/bpf.h: New file.
|
||
|
||
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* elf/arm.h (Tag_MVE_arch): Define new enum value.
|
||
* opcode/arm.h (FPU_MVE, FPU_MVE_FP): New MACROs for new features.
|
||
|
||
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
|
||
|
||
* opcode/aarch64.h (enum aarch64_opnd): New SVE_SHLIMM_UNPRED_22
|
||
operand.
|
||
|
||
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
|
||
|
||
* opcode/aarch64.h (enum aarch64_insn_class): Add sve_size_tsz_bhs
|
||
iclass.
|
||
|
||
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
|
||
|
||
* opcode/aarch64.h (enum aarch64_opnd): New SVE_Zm4_11_INDEX operand.
|
||
|
||
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
|
||
|
||
* opcode/aarch64.h (enum aarch64_insn_class): Add sve_shift_tsz_bhsd
|
||
iclass.
|
||
|
||
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
|
||
|
||
* opcode/aarch64.h (enum aarch64_opnd): New SVE_SHRIMM_UNPRED_22
|
||
operand.
|
||
(enum aarch64_insn_class): Add sve_shift_tsz_hsd iclass.
|
||
|
||
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
|
||
|
||
* opcode/aarch64.h (enum aarch64_insn_class): Add sve_size_013 iclass.
|
||
|
||
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
|
||
|
||
* opcode/aarch64.h (enum aarch64_insn_class): Add sve_size_bh iclass.
|
||
|
||
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
|
||
|
||
* opcode/aarch64.h (enum aarch64_insn_class): Add sve_size_sd2 iclass.
|
||
|
||
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
|
||
|
||
* opcode/aarch64.h (enum aarch64_opnd): New SVE_ADDR_ZX operand.
|
||
|
||
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
|
||
|
||
* opcode/aarch64.h (enum aarch64_opnd): New SVE_Zm3_11_INDEX operand.
|
||
|
||
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
|
||
|
||
* opcode/aarch64.h (enum aarch64_insn_class): Add sve_size_hsd2 iclass.
|
||
|
||
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
|
||
|
||
* opcode/aarch64.h (enum aarch64_opnd): New SVE_IMM_ROT3 operand.
|
||
|
||
2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
|
||
|
||
* opcode/aarch64.h (AARCH64_FEATURE_SVE2
|
||
AARCH64_FEATURE_SVE2_AES, AARCH64_FEATURE_SVE2_BITPERM,
|
||
AARCH64_FEATURE_SVE2_SM4, AARCH64_FEATURE_SVE2_SHA3): New
|
||
feature macros.
|
||
|
||
2019-05-06 Andrew Bennett <andrew.bennett@imgtec.com>
|
||
Faraz Shahbazker <fshahbazker@wavecomp.com>
|
||
|
||
* opcode/mips.h (ASE_EVA_R6): New macro.
|
||
(M_LLWPE_AB, M_SCWPE_AB): New enum values.
|
||
|
||
2019-05-01 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* opcode/aarch64.h (AARCH64_FEATURE_TME): New.
|
||
(enum aarch64_opnd): Add AARCH64_OPND_TME_UIMM16.
|
||
|
||
2019-04-26 Andrew Bennett <andrew.bennett@imgtec.com>
|
||
Faraz Shahbazker <fshahbazker@wavecomp.com>
|
||
|
||
* opcode/mips.h (M_LLWP_AB, M_LLDP_AB): New enum values.
|
||
(M_SCWP_AB, M_SCDP_AB): Likewise.
|
||
|
||
2019-04-25 Maciej W. Rozycki <macro@linux-mips.org>
|
||
|
||
* opcode/mips.h: Update comment for MIPS32 CODE20 operand.
|
||
|
||
2019-04-15 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* elf/arm.h (START_RELOC_NUMBERS): New entry for R_ARM_THM_BF12.
|
||
|
||
2019-04-15 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* elf/arm.h (START_RELOC_NUMBERS): New entry for R_ARM_THM_BF18.
|
||
|
||
2019-04-15 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* elf/arm.h (START_RELOC_NUMBERS): New entry for R_ARM_THM_BF16.
|
||
|
||
2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
* elf/arm.h (TAG_CPU_ARCH_V8_1M_MAIN): new macro.
|
||
(MAX_TAG_CPU_ARCH): Set value to above macro.
|
||
* opcode/arm.h (ARM_EXT2_V8_1M_MAIN): New macro.
|
||
(ARM_AEXT_V8_1M_MAIN): Likewise.
|
||
(ARM_AEXT2_V8_1M_MAIN): Likewise.
|
||
(ARM_ARCH_V8_1M_MAIN): Likewise.
|
||
|
||
2019-04-11 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* opcode/aarch64.h (enum aarch64_opnd): Add AARCH64_OPND_Rt_SP.
|
||
|
||
2019-04-08 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elf/common.h (GNU_PROPERTY_X86_ISA_1_AVX512_BF16): New.
|
||
|
||
2019-04-07 Alan Modra <amodra@gmail.com>
|
||
|
||
Merge from gcc.
|
||
2019-04-03 Vineet Gupta <vgupta@synopsys.com>
|
||
PR89877
|
||
* longlong.h [__arc__] (add_ssaaaa): Add cc clobber.
|
||
(sub_ddmmss): Likewise.
|
||
|
||
2019-04-06 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* bfdlink.h (bfd_link_info): Remove x86-specific linker options.
|
||
|
||
2019-04-01 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* opcode/arm.h (FPU_NEON_ARMV8_1): New.
|
||
(FPU_ARCH_NEON_VFP_ARMV8_1): Use FPU_NEON_ARMV8_1.
|
||
(FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_1): Likewise.
|
||
(FPU_ARCH_DOTPROD_NEON_VFP_ARMV8): Likewise.
|
||
(FPU_ARCH_NEON_VFP_ARMV8_2_FP16): New.
|
||
(FPU_ARCH_NEON_VFP_ARMV8_2_FP16FML): New.
|
||
(FPU_ARCH_NEON_VFP_ARMV8_4_FP16FML): New.
|
||
(FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_4): New.
|
||
|
||
2019-03-28 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24390
|
||
* opcode/ppc.h (PPC_OPERAND_CR_REG): Comment.
|
||
|
||
2019-03-25 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* dis-asm.h (struct disassemble_info): Add stop_offset.
|
||
|
||
2019-03-13 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* elf/aarch64.h (DT_AARCH64_PAC_PLT): New.
|
||
|
||
2019-03-13 Sudakshina Das <sudi.das@arm.com>
|
||
Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
* elf/aarch64.h (DT_AARCH64_BTI_PLT): New.
|
||
|
||
2019-03-13 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* elf/common.h (GNU_PROPERTY_AARCH64_FEATURE_1_AND): New.
|
||
(GNU_PROPERTY_AARCH64_FEATURE_1_BTI): New.
|
||
(GNU_PROPERTY_AARCH64_FEATURE_1_PAC): New.
|
||
|
||
2019-02-20 Alan Hayward <alan.hayward@arm.com>
|
||
|
||
* elf/common.h (NT_ARM_PAC_MASK): Add define.
|
||
|
||
2019-02-15 Saagar Jha <saagar@saagarjha.com>
|
||
|
||
* mach-o/loader.h: Use new OS names in comments.
|
||
|
||
2019-02-11 Philippe Waroquiers <philippe.waroquiers@skynet.be>
|
||
|
||
* splay-tree.h (splay_tree_delete_key_fn): Update comment.
|
||
(splay_tree_delete_value_fn): Likewise.
|
||
|
||
2019-01-31 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* opcode/s390.h (enum s390_opcode_cpu_val): Add
|
||
S390_OPCODE_ARCH13.
|
||
|
||
2019-01-25 Sudakshina Das <sudi.das@arm.com>
|
||
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
|
||
* opcode/aarch64.h (enum aarch64_opnd): Remove
|
||
AARCH64_OPND_ADDR_SIMPLE_2.
|
||
(enum aarch64_insn_class): Remove ldstgv_indexed.
|
||
|
||
2019-01-22 Tom Tromey <tom@tromey.com>
|
||
|
||
* coff/ecoff.h: Include coff/sym.h.
|
||
|
||
2018-06-24 Nick Clifton <nickc@redhat.com>
|
||
|
||
2.32 branch created.
|
||
|
||
2019-01-16 Kito Cheng <kito@andestech.com>
|
||
|
||
* elf/riscv.h (SHT_RISCV_ATTRIBUTES): Define.
|
||
(Tag_RISCV_arch): Likewise.
|
||
(Tag_RISCV_priv_spec): Likewise.
|
||
(Tag_RISCV_priv_spec_minor): Likewise.
|
||
(Tag_RISCV_priv_spec_revision): Likewise.
|
||
(Tag_RISCV_unaligned_access): Likewise.
|
||
(Tag_RISCV_stack_align): Likewise.
|
||
|
||
2019-01-14 Pavel I. Kryukov <kryukov@frtk.ru>
|
||
|
||
* dis-asm.h: include <string.h>
|
||
|
||
2019-01-10 Nick Clifton <nickc@redhat.com>
|
||
|
||
* Merge from GCC:
|
||
2018-12-22 Jason Merrill <jason@redhat.com>
|
||
|
||
* demangle.h: Remove support for ancient GNU (pre-3.0), Lucid,
|
||
ARM, HP, and EDG demangling styles.
|
||
|
||
2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
Merge from GCC:
|
||
PR other/16615
|
||
|
||
* libiberty.h: Mechanically replace "can not" with "cannot".
|
||
* plugin-api.h: Likewise.
|
||
|
||
2018-12-25 Yoshinori Sato <ysato@users.sourceforge.jp>
|
||
|
||
* elf/rx.h (EF_RX_CPU_MASK): Update new bits.
|
||
(E_FLAG_RX_V3): New RXv3 type.
|
||
* opcode/rx.h (RX_Size): Add double size.
|
||
(RX_Operand_Type): Add double FPU registers.
|
||
(RX_Opcode_ID): Add new instuctions.
|
||
|
||
2019-01-01 Alan Modra <amodra@gmail.com>
|
||
|
||
Update year range in copyright notice of all files.
|
||
|
||
For older changes see ChangeLog-2018
|
||
|
||
Copyright (C) 2019 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:
|