1 1.1.1.5 christos 2025-07-13 Nick Clifton <nickc (a] redhat.com> 2 1.1.1.5 christos 3 1.1.1.5 christos * 2.45 Branch point. 4 1.1.1.5 christos 5 1.1.1.5 christos 2025-01-19 Nick Clifton <nickc (a] redhat.com> 6 1.1.1.5 christos 7 1.1.1.5 christos * 2.44 Branch point. 8 1.1.1.5 christos 9 1.1.1.4 christos 2024-07-20 Nick Clifton <nickc (a] redhat.com> 10 1.1.1.4 christos 11 1.1.1.4 christos * 2.43 branch point. 12 1.1.1.4 christos 13 1.1.1.3 christos 2024-01-15 Nick Clifton <nickc (a] redhat.com> 14 1.1.1.3 christos 15 1.1.1.3 christos * 2.42 branch point. 16 1.1.1.3 christos 17 1.1.1.3 christos 2023-11-15 Arsen Arsenovi <arsen (a] aarsen.me> 18 1.1.1.3 christos 19 1.1.1.3 christos * Makefile.am (SUBDIRS): Define to empty to suppress a check in 20 1.1.1.3 christos Automake. 21 1.1.1.3 christos * Makefile.in: Regenerate. 22 1.1.1.3 christos * configure.ac (CTF_LIBADD): Use LTLIBINTL rather than LIBINTL. 23 1.1.1.3 christos * aclocal.m4: Regenerate. 24 1.1.1.3 christos * configure: Regenerate. 25 1.1.1.3 christos 26 1.1.1.3 christos 2023-07-03 Nick Clifton <nickc (a] redhat.com> 27 1.1.1.3 christos 28 1.1.1.3 christos 2.41 Branch Point. 29 1.1.1.3 christos 30 1.1.1.3 christos 2022-12-31 Nick Clifton <nickc (a] redhat.com> 31 1.1.1.3 christos 32 1.1.1.3 christos * 2.40 branch created. 33 1.1.1.3 christos 34 1.1.1.2 christos 2022-07-08 Nick Clifton <nickc (a] redhat.com> 35 1.1 christos 36 1.1.1.2 christos * 2.39 branch created. 37 1.1 christos 38 1.1.1.2 christos 2022-01-22 Nick Clifton <nickc (a] redhat.com> 39 1.1 christos 40 1.1.1.2 christos * 2.38 release branch created. 41 1.1 christos 42 1.1.1.2 christos 2021-11-08 Nick Alcock <nick.alcock (a] oracle.com> 43 1.1 christos 44 1.1.1.2 christos * doc/ctf-spec.texi: New file. 45 1.1.1.2 christos * configure.ac (MAKEINFO): Add. 46 1.1.1.2 christos (BUILD_INFO): Likewise. 47 1.1.1.2 christos (AC_CONFIG_FILES) [doc/Makefile]: Add. 48 1.1.1.2 christos * Makefile.am [BUILD_INFO] (SUBDIRS): Add doc/. 49 1.1.1.2 christos * doc/Makefile.am: New file. 50 1.1.1.2 christos * doc/Makefile.in: Likewise. 51 1.1.1.2 christos * configure: Regenerated. 52 1.1.1.2 christos * Makefile.in: Likewise. 53 1.1 christos 54 1.1.1.2 christos 2021-10-25 Nick Alcock <nick.alcock (a] oracle.com> 55 1.1 christos 56 1.1.1.2 christos * ctf-types.c (ctf_type_rvisit): Handle nonrepresentable types. 57 1.1 christos 58 1.1.1.2 christos 2021-10-25 Nick Alcock <nick.alcock (a] oracle.com> 59 1.1 christos 60 1.1.1.2 christos * ctf-dump.c (ctf_dump_type): Do not abort on error. 61 1.1 christos 62 1.1.1.2 christos 2021-09-27 Nick Alcock <nick.alcock (a] oracle.com> 63 1.1.1.2 christos 64 1.1.1.2 christos * ctf-lookup.c (ctf_lookup_by_name_internal): Fix pptrtab bounds. 65 1.1.1.2 christos * testsuite/libctf-writable/pptrtab-writable-page-deep-lookup.*: 66 1.1.1.2 christos New test. 67 1.1.1.2 christos 68 1.1.1.2 christos 2021-09-27 Nick Alcock <nick.alcock (a] oracle.com> 69 1.1.1.2 christos 70 1.1.1.2 christos * testsuite/libctf-lookup/enum-symbol.c: Remove unused label. 71 1.1.1.2 christos * testsuite/libctf-lookup/conflicting-type-syms.c: Remove unused 72 1.1.1.2 christos variables. 73 1.1.1.2 christos * testsuite/libctf-regression/pptrtab.c: Likewise. 74 1.1.1.2 christos * testsuite/libctf-regression/type-add-unnamed-struct.c: Likewise. 75 1.1.1.2 christos * testsuite/libctf-writable/pptrtab.c: Likewise. 76 1.1.1.2 christos * testsuite/libctf-writable/reserialize-strtab-corruption.c: 77 1.1.1.2 christos Likewise. 78 1.1.1.2 christos * testsuite/libctf-regression/nonstatic-var-section-ld-r.c: Fix 79 1.1.1.2 christos format string. 80 1.1.1.2 christos * testsuite/libctf-regression/nonstatic-var-section-ld.c: 81 1.1.1.2 christos Likewise. 82 1.1.1.2 christos * testsuite/libctf-regression/nonstatic-var-section-ld.lk: Adjust. 83 1.1.1.2 christos * testsuite/libctf-writable/symtypetab-nonlinker-writeout.c: Fix 84 1.1.1.2 christos initializer. 85 1.1.1.2 christos 86 1.1.1.2 christos 2021-09-27 Nick Alcock <nick.alcock (a] oracle.com> 87 1.1.1.2 christos 88 1.1.1.2 christos * ctf-open.c (ctf_bufopen_internal): Don't complain about corrupt 89 1.1.1.2 christos function index symtypetab sections if this is an old-format 90 1.1.1.2 christos function symtypetab section (which should be ignored in any case). 91 1.1.1.2 christos Fix bad grammar. 92 1.1 christos 93 1.1.1.2 christos 2021-09-27 Nick Alcock <nick.alcock (a] oracle.com> 94 1.1 christos 95 1.1.1.2 christos * configure: Regenerate. 96 1.1 christos * Makefile.in: Regenerate. 97 1.1 christos 98 1.1.1.2 christos 2021-09-27 Nick Alcock <nick.alcock (a] oracle.com> 99 1.1 christos 100 1.1.1.2 christos PR libctf/27967 101 1.1.1.2 christos * configure.ac (VERSION_FLAGS): Replace with... 102 1.1.1.2 christos (ac_cv_libctf_version_script): ... this multiple test. 103 1.1.1.2 christos (VERSION_FLAGS_NOBFD): Substitute this too. 104 1.1.1.2 christos * Makefile.am (libctf_nobfd_la_LDFLAGS): Use it. Split out... 105 1.1.1.2 christos (libctf_ldflags_nover): ... non-versioning flags here. 106 1.1.1.2 christos (libctf_la_LDFLAGS): Use it. 107 1.1.1.2 christos * libctf.ver: Give every symbol not in libctf-nobfd a comment on 108 1.1.1.2 christos the same line noting as much. 109 1.1.1.2 christos 110 1.1.1.2 christos 2021-09-27 Nick Alcock <nick.alcock (a] oracle.com> 111 1.1.1.2 christos 112 1.1.1.2 christos PR libctf/27360 113 1.1.1.2 christos * Makefile.am (libctf_la_LIBADD): Link against libiberty 114 1.1.1.2 christos before pulling in libbfd.la or pulling in libctf-nobfd.la. 115 1.1.1.2 christos * Makefile.in: Regenerate. 116 1.1 christos 117 1.1.1.2 christos 2021-07-03 Nick Clifton <nickc (a] redhat.com> 118 1.1 christos 119 1.1.1.2 christos * 2.37 release branch created. 120 1.1 christos 121 1.1.1.2 christos 2021-05-09 Alan Modra <amodra (a] gmail.com> 122 1.1 christos 123 1.1.1.2 christos * ctf-impl.h (ctf_dynset_eq_string): Don't declare. 124 1.1.1.2 christos * ctf-hash.c (ctf_dynset_eq_string): Delete function. 125 1.1.1.2 christos * ctf-dedup.c (make_set_element): Use htab_eq_string. 126 1.1.1.2 christos (ctf_dedup_atoms_init, ADD_CITER, ctf_dedup_init): Likewise. 127 1.1.1.2 christos (ctf_dedup_conflictify_unshared): Likewise. 128 1.1.1.2 christos (ctf_dedup_walk_output_mapping): Likewise. 129 1.1 christos 130 1.1.1.2 christos 2021-05-06 Nick Alcock <nick.alcock (a] oracle.com> 131 1.1 christos 132 1.1.1.2 christos * testsuite/lib/ctf-lib.exp: Use -gctf, not -gt. 133 1.1.1.2 christos * testsuite/libctf-regression/nonstatic-var-section-ld-r.lk: 134 1.1.1.2 christos Hidden symbols now get into the symtypetab anyway. 135 1.1.1.2 christos 136 1.1.1.2 christos 2021-05-06 Nick Alcock <nick.alcock (a] oracle.com> 137 1.1.1.2 christos 138 1.1.1.2 christos * ctf-open.c (init_types): Unknown types may have names. 139 1.1.1.2 christos * ctf-types.c (ctf_type_resolve): CTF_K_UNKNOWN is as 140 1.1.1.2 christos non-representable as type ID 0. 141 1.1.1.2 christos (ctf_type_aname): Print unknown types. 142 1.1.1.2 christos * ctf-dedup.c (ctf_dedup_hash_type): Do not early-exit for 143 1.1.1.2 christos CTF_K_UNKNOWN types: they have real hash values now. 144 1.1.1.2 christos (ctf_dedup_rwalk_one_output_mapping): Treat CTF_K_UNKNOWN types 145 1.1.1.2 christos like other types with no referents: call the callback and do not 146 1.1.1.2 christos skip them. 147 1.1.1.2 christos (ctf_dedup_emit_type): Emit via... 148 1.1.1.2 christos * ctf-create.c (ctf_add_unknown): ... this new function. 149 1.1.1.2 christos * libctf.ver (LIBCTF_1.2): Add it. 150 1.1 christos 151 1.1.1.2 christos 2021-03-25 Nick Alcock <nick.alcock (a] oracle.com> 152 1.1 christos 153 1.1.1.2 christos * configure.ac: Check for dlsym, not dlopen. 154 1.1.1.2 christos * configure: Regenerate. 155 1.1 christos 156 1.1.1.2 christos 2021-03-25 Nick Alcock <nick.alcock (a] oracle.com> 157 1.1 christos 158 1.1.1.2 christos * testsuite/libctf-writable/symtypetab-nonlinker-writeout.c: Don't 159 1.1.1.2 christos leak buf. 160 1.1 christos 161 1.1.1.2 christos 2021-03-25 Nick Alcock <nick.alcock (a] oracle.com> 162 1.1 christos 163 1.1.1.2 christos PR libctf/27628 164 1.1.1.2 christos * ctf-lookup.c (isqualifier): Don't dereference out-of-bounds 165 1.1.1.2 christos qhash values. 166 1.1 christos 167 1.1.1.2 christos 2021-03-25 Nick Alcock <nick.alcock (a] oracle.com> 168 1.1 christos 169 1.1.1.2 christos * ctf-open-bfd.c (ctf_bfdopen_ctfsect): Initialize debugging. 170 1.1 christos 171 1.1.1.2 christos 2021-03-25 Nick Alcock <nick.alcock (a] oracle.com> 172 1.1 christos 173 1.1.1.2 christos PR libctf/27628 174 1.1.1.2 christos * ctf-serialize.c (ctf_emit_type_sect): Allow for a NULL vlen in 175 1.1.1.2 christos CTF_K_FUNCTION types. 176 1.1 christos 177 1.1.1.2 christos 2021-03-25 Nick Alcock <nick.alcock (a] oracle.com> 178 1.1 christos 179 1.1.1.2 christos * ctf-dump.c (ctf_dump_format_type): Don't emit size or alignment 180 1.1.1.2 christos on error. 181 1.1 christos 182 1.1.1.2 christos 2021-03-21 Alan Modra <amodra (a] gmail.com> 183 1.1 christos 184 1.1.1.2 christos * ctf-impl.h: Include string.h. 185 1.1 christos 186 1.1.1.2 christos 2021-03-18 Nick Alcock <nick.alcock (a] oracle.com> 187 1.1 christos 188 1.1.1.2 christos * ctf-types.c (ctf_type_encoding): Support, after a fashion, for enums. 189 1.1.1.2 christos * ctf-dump.c (ctf_dump_format_type): Do not report enums' degenerate 190 1.1.1.2 christos encoding. 191 1.1 christos 192 1.1.1.2 christos 2021-03-18 Nick Alcock <nick.alcock (a] oracle.com> 193 1.1 christos 194 1.1.1.2 christos * ctf-dedup.c (ctf_dedup_rhash_type): Report errors on the input 195 1.1.1.2 christos dict properly. 196 1.1.1.2 christos * ctf-open.c (ctf_bufopen_internal): Report errors initializing 197 1.1.1.2 christos the atoms table. 198 1.1 christos 199 1.1.1.2 christos 2021-03-18 Nick Alcock <nick.alcock (a] oracle.com> 200 1.1 christos 201 1.1.1.2 christos * ctf-impl.h (ctf_next_t) <ctn_tp>: New. 202 1.1.1.2 christos <u.ctn_mp>: Remove. 203 1.1.1.2 christos <u.ctn_lmp>: Remove. 204 1.1.1.2 christos <u.ctn_vlen>: New. 205 1.1.1.2 christos * ctf-types.c (ctf_struct_member): New. 206 1.1.1.2 christos (ctf_member_next): Use it, dropping separate large/small code paths. 207 1.1.1.2 christos (ctf_type_align): Likewise. 208 1.1.1.2 christos (ctf_member_info): Likewise. 209 1.1.1.2 christos (ctf_type_rvisit): Likewise. 210 1.1 christos 211 1.1.1.2 christos 2021-03-18 Nick Alcock <nick.alcock (a] oracle.com> 212 1.1 christos 213 1.1.1.2 christos * ctf-impl.h (ctf_dtdef_t) <dtu_members>: Remove. 214 1.1.1.2 christos <dtd_u>: Likewise. 215 1.1.1.2 christos (ctf_dmdef_t): Remove. 216 1.1.1.2 christos (struct ctf_next) <u.ctn_dmd>: Remove. 217 1.1.1.2 christos * ctf-create.c (INITIAL_VLEN): New, more-or-less arbitrary initial 218 1.1.1.2 christos vlen size. 219 1.1.1.2 christos (ctf_add_enum): Use it. 220 1.1.1.2 christos (ctf_dtd_delete): Do not free the (removed) dmd; remove string 221 1.1.1.2 christos refs from the vlen on struct deletion. 222 1.1.1.2 christos (ctf_add_struct_sized): Populate the vlen: do it by hand if 223 1.1.1.2 christos promoting forwards. Always populate the full-size 224 1.1.1.2 christos lsizehi/lsizelo members. 225 1.1 christos (ctf_add_union_sized): Likewise. 226 1.1.1.2 christos (ctf_add_member_offset): Set up the vlen rather than the dmd. 227 1.1.1.2 christos Expand it as needed, repointing string refs via 228 1.1.1.2 christos ctf_str_move_pending. Add the member names as pending strings. 229 1.1.1.2 christos Always populate the full-size lsizehi/lsizelo members. 230 1.1.1.2 christos (membadd): Remove, folding back into... 231 1.1.1.2 christos (ctf_add_type_internal): ... here, adding via an ordinary 232 1.1.1.2 christos ctf_add_struct_sized and _next iteration rather than doing 233 1.1.1.2 christos everything by hand. 234 1.1.1.2 christos * ctf-serialize.c (ctf_copy_smembers): Remove this... 235 1.1.1.2 christos (ctf_copy_lmembers): ... and this... 236 1.1.1.2 christos (ctf_emit_type_sect): ... folding into here. Figure out if a 237 1.1.1.2 christos ctf_stype_t is needed here, not in ctf_add_*_sized. 238 1.1.1.2 christos (ctf_type_sect_size): Figure out the ctf_stype_t stuff the same 239 1.1.1.2 christos way here. 240 1.1.1.2 christos * ctf-types.c (ctf_member_next): Remove the dmd path and always 241 1.1.1.2 christos use the vlen. Force large-structure usage for dynamic types. 242 1.1.1.2 christos (ctf_type_align): Likewise. 243 1.1.1.2 christos (ctf_member_info): Likewise. 244 1.1 christos (ctf_type_rvisit): Likewise. 245 1.1.1.2 christos * testsuite/libctf-regression/type-add-unnamed-struct-ctf.c: Add a 246 1.1.1.2 christos self-referential type to this test. 247 1.1.1.2 christos * testsuite/libctf-regression/type-add-unnamed-struct.c: Adjusted 248 1.1.1.2 christos accordingly. 249 1.1.1.2 christos * testsuite/libctf-regression/type-add-unnamed-struct.lk: Likewise. 250 1.1.1.2 christos 251 1.1.1.2 christos 2021-03-18 Nick Alcock <nick.alcock (a] oracle.com> 252 1.1.1.2 christos 253 1.1.1.2 christos * ctf-impl.h (ctf_dtdef_t) <dtd_vlen_alloc>: New. 254 1.1.1.2 christos (ctf_str_move_pending): Declare. 255 1.1.1.2 christos * ctf-string.c (ctf_str_add_ref_internal): Fix error return. 256 1.1.1.2 christos (ctf_str_move_pending): New. 257 1.1.1.2 christos * ctf-create.c (ctf_grow_vlen): New. 258 1.1.1.2 christos (ctf_dtd_delete): Zero out the vlen_alloc after free. Free the 259 1.1.1.2 christos vlen later: iterate over it and free enum name refs first. 260 1.1.1.2 christos (ctf_add_generic): Populate dtd_vlen_alloc from vlen. 261 1.1.1.2 christos (ctf_add_enum): populate the vlen; do it by hand if promoting 262 1.1.1.2 christos forwards. 263 1.1.1.2 christos (ctf_add_enumerator): Set up the vlen rather than the dmd. Expand 264 1.1.1.2 christos it as needed, repointing string refs via ctf_str_move_pending. Add 265 1.1.1.2 christos the enumerand names as pending strings. 266 1.1.1.2 christos * ctf-serialize.c (ctf_copy_emembers): Remove. 267 1.1.1.2 christos (ctf_emit_type_sect): Copy the vlen into place and ref the 268 1.1.1.2 christos strings. 269 1.1.1.2 christos * ctf-types.c (ctf_enum_next): The dynamic portion now uses 270 1.1.1.2 christos the same code as the non-dynamic. 271 1.1 christos (ctf_enum_name): Likewise. 272 1.1 christos (ctf_enum_value): Likewise. 273 1.1.1.2 christos * testsuite/libctf-lookup/enum-many-ctf.c: New test. 274 1.1.1.2 christos * testsuite/libctf-lookup/enum-many.lk: New test. 275 1.1 christos 276 1.1.1.2 christos 2021-03-18 Nick Alcock <nick.alcock (a] oracle.com> 277 1.1 christos 278 1.1.1.2 christos * ctf-hash.c (ctf_dynset_elements): New. 279 1.1.1.2 christos * ctf-impl.h (ctf_dynset_elements): Declare it. 280 1.1.1.2 christos (ctf_str_add_pending): Likewise. 281 1.1.1.2 christos (ctf_dict_t) <ctf_str_pending_ref>: New, set of refs that must be 282 1.1.1.2 christos added during serialization. 283 1.1.1.2 christos * ctf-string.c (ctf_str_create_atoms): Initialize it. 284 1.1.1.2 christos (CTF_STR_ADD_REF): New flag. 285 1.1.1.2 christos (CTF_STR_MAKE_PROVISIONAL): Likewise. 286 1.1.1.2 christos (CTF_STR_PENDING_REF): Likewise. 287 1.1.1.2 christos (ctf_str_add_ref_internal): Take a flags word rather than int 288 1.1.1.2 christos params. Populate, and clear out, ctf_str_pending_ref. 289 1.1 christos (ctf_str_add): Adjust accordingly. 290 1.1.1.2 christos (ctf_str_add_external): Likewise. 291 1.1.1.2 christos (ctf_str_add_pending): New. 292 1.1.1.2 christos (ctf_str_remove_ref): Also remove the potential ref if it is a 293 1.1.1.2 christos pending ref. 294 1.1.1.2 christos * ctf-serialize.c (ctf_serialize): Prohibit addition of strings 295 1.1.1.2 christos with ctf_str_add_ref before serialization. Ensure that the 296 1.1.1.2 christos ctf_str_pending_ref set is empty before strtab finalization. 297 1.1.1.2 christos (ctf_emit_type_sect): Add a ref to the ctt_name. 298 1.1.1.2 christos * ctf-create.c (ctf_add_generic): Add the ctt_name as a pending 299 1.1.1.2 christos ref. 300 1.1.1.2 christos * testsuite/libctf-writable/reserialize-strtab-corruption.*: New test. 301 1.1.1.2 christos 302 1.1.1.2 christos 2021-03-18 Nick Alcock <nick.alcock (a] oracle.com> 303 1.1.1.2 christos 304 1.1.1.2 christos * ctf-serialize.c (ctf_serialize): Preserve ctf_typemax across 305 1.1.1.2 christos serialization. 306 1.1.1.2 christos 307 1.1.1.2 christos 2021-03-18 Nick Alcock <nick.alcock (a] oracle.com> 308 1.1.1.2 christos 309 1.1.1.2 christos * ctf-impl.h (ctf_dtdef_t) <dtd_u.dtu_argv>: Remove. 310 1.1.1.2 christos * ctf-create.c (ctf_dtd_delete): No longer free it. 311 1.1.1.2 christos (ctf_add_function): Use the dtd_vlen, not dtu_argv. Properly align. 312 1.1.1.2 christos * ctf-serialize.c (ctf_emit_type_sect): Just copy the dtd_vlen. 313 1.1.1.2 christos * ctf-types.c (ctf_func_type_info): Just use the vlen. 314 1.1 christos (ctf_func_type_args): Likewise. 315 1.1 christos 316 1.1.1.2 christos 2021-03-18 Nick Alcock <nick.alcock (a] oracle.com> 317 1.1 christos 318 1.1.1.2 christos * ctf-impl.h (ctf_dtdef_t) <dtd_u.dtu_arr>: Remove. 319 1.1.1.2 christos * ctf-create.c (ctf_add_array): Use the dtd_vlen, not dtu_arr. 320 1.1.1.2 christos (ctf_set_array): Likewise. 321 1.1.1.2 christos * ctf-serialize.c (ctf_emit_type_sect): Just copy the dtd_vlen. 322 1.1.1.2 christos * ctf-types.c (ctf_array_info): Just use the vlen. 323 1.1.1.2 christos 324 1.1.1.2 christos 2021-03-18 Nick Alcock <nick.alcock (a] oracle.com> 325 1.1.1.2 christos 326 1.1.1.2 christos * ctf-impl.h (ctf_dtdef_t) <dtd_u.dtu_enc>: Remove. 327 1.1.1.2 christos <dtd_u.dtu_slice>: Likewise. 328 1.1.1.2 christos <dtd_vlen>: New. 329 1.1.1.2 christos * ctf-create.c (ctf_add_generic): Perhaps allocate it. All 330 1.1.1.2 christos callers adjusted. 331 1.1.1.2 christos (ctf_dtd_delete): Free it. 332 1.1.1.2 christos (ctf_add_slice): Use the dtd_vlen, not dtu_enc. 333 1.1.1.2 christos (ctf_add_encoded): Likewise. Assert that this must be an int or 334 1.1.1.2 christos float. 335 1.1.1.2 christos * ctf-serialize.c (ctf_emit_type_sect): Just copy the dtd_vlen. 336 1.1.1.2 christos * ctf-dedup.c (ctf_dedup_rhash_type): Use the dtd_vlen, not 337 1.1.1.2 christos dtu_slice. 338 1.1.1.2 christos * ctf-types.c (ctf_type_reference): Likewise. 339 1.1.1.2 christos (ctf_type_encoding): Remove most dynamic-type-specific code: just 340 1.1.1.2 christos get the vlen from the right place. Report failure to look up the 341 1.1.1.2 christos underlying type's encoding. 342 1.1 christos 343 1.1.1.2 christos 2021-03-18 Nick Alcock <nick.alcock (a] oracle.com> 344 1.1 christos 345 1.1.1.2 christos * ctf-archive.c (ctf_archive_next): GNU style fix for do {} while. 346 1.1.1.2 christos * ctf-dedup.c (ctf_dedup_rhash_type): Likewise. 347 1.1.1.2 christos (ctf_dedup_rwalk_one_output_mapping): Likewise. 348 1.1.1.2 christos * ctf-dump.c (ctf_dump_format_type): Likewise. 349 1.1.1.2 christos * ctf-lookup.c (ctf_symbol_next): Likewise. 350 1.1.1.2 christos * swap.h (swap_thing): Likewise. 351 1.1.1.2 christos 352 1.1.1.2 christos 2021-03-18 Nick Alcock <nick.alcock (a] oracle.com> 353 1.1.1.2 christos 354 1.1.1.2 christos * ctf-serialize.c: General reshuffling, and... 355 1.1.1.2 christos (emit_symtypetab_state_t): New, migrated from 356 1.1.1.2 christos local variables in ctf_serialize. 357 1.1.1.2 christos (ctf_serialize): Split out most section sizing and 358 1.1.1.2 christos emission. 359 1.1.1.2 christos (ctf_symtypetab_sect_sizes): New (split out). 360 1.1.1.2 christos (ctf_emit_symtypetab_sects): Likewise. 361 1.1.1.2 christos (ctf_type_sect_size): Likewise. 362 1.1.1.2 christos (ctf_emit_type_sect): Likewise. 363 1.1.1.2 christos 364 1.1.1.2 christos 2021-03-18 Nick Alcock <nick.alcock (a] oracle.com> 365 1.1.1.2 christos 366 1.1.1.2 christos * ctf-impl.h (ctf_dict_t): Fix comment. 367 1.1.1.2 christos 368 1.1.1.2 christos 2021-03-18 Nick Alcock <nick.alcock (a] oracle.com> 369 1.1.1.2 christos 370 1.1.1.2 christos * ctf-create.c (symtypetab_delete_nonstatic_vars): Move 371 1.1.1.2 christos into ctf-serialize.c. 372 1.1.1.2 christos (ctf_symtab_skippable): Likewise. 373 1.1.1.2 christos (CTF_SYMTYPETAB_EMIT_FUNCTION): Likewise. 374 1.1.1.2 christos (CTF_SYMTYPETAB_EMIT_PAD): Likewise. 375 1.1.1.2 christos (CTF_SYMTYPETAB_FORCE_INDEXED): Likewise. 376 1.1.1.2 christos (symtypetab_density): Likewise. 377 1.1.1.2 christos (emit_symtypetab): Likewise. 378 1.1.1.2 christos (emit_symtypetab_index): Likewise. 379 1.1.1.2 christos (ctf_copy_smembers): Likewise. 380 1.1 christos (ctf_copy_lmembers): Likewise. 381 1.1 christos (ctf_copy_emembers): Likewise. 382 1.1.1.2 christos (ctf_sort_var): Likewise. 383 1.1.1.2 christos (ctf_serialize): Likewise. 384 1.1.1.2 christos (ctf_gzwrite): Likewise. 385 1.1.1.2 christos (ctf_compress_write): Likewise. 386 1.1.1.2 christos (ctf_write_mem): Likewise. 387 1.1.1.2 christos (ctf_write): Likewise. 388 1.1.1.2 christos * ctf-serialize.c: New file. 389 1.1.1.2 christos * Makefile.am (libctf_nobfd_la_SOURCES): Add it. 390 1.1 christos * Makefile.in: Regenerate. 391 1.1 christos 392 1.1.1.2 christos 2021-03-18 Nick Alcock <nick.alcock (a] oracle.com> 393 1.1 christos 394 1.1.1.2 christos * ctf-link.c (ctf_link_lazy_open): Move up in the file, to near 395 1.1.1.2 christos ctf_link_add_ctf. 396 1.1.1.2 christos * ctf-lookup.c (ctf_lookup_symbol_idx): Repair tabdamage. 397 1.1.1.2 christos (ctf_lookup_by_sym_or_name): Likewise. 398 1.1.1.2 christos * testsuite/libctf-lookup/struct-iteration.c: Likewise. 399 1.1.1.2 christos * testsuite/libctf-regression/type-add-unnamed-struct.c: Likewise. 400 1.1 christos 401 1.1.1.2 christos 2021-03-02 Nick Alcock <nick.alcock (a] oracle.com> 402 1.1 christos 403 1.1.1.2 christos * ctf-create.c (symtypetab_density): Report the symbol name as 404 1.1.1.2 christos well as index in the name != object error; note the likely 405 1.1.1.2 christos consequences. 406 1.1.1.2 christos * ctf-link.c (ctf_link_shuffle_syms): Report the symbol index 407 1.1.1.2 christos as well as name. 408 1.1 christos 409 1.1.1.2 christos 2021-03-02 Nick Alcock <nick.alcock (a] oracle.com> 410 1.1 christos 411 1.1.1.2 christos * ctf-link.c (ctf_link_shuffle_syms): Free ctf_dynsyms properly. 412 1.1 christos 413 1.1.1.2 christos 2021-03-02 Nick Alcock <nick.alcock (a] oracle.com> 414 1.1 christos 415 1.1.1.2 christos * ctf-dump.c (ctf_dump_format_type): Fix signed/unsigned confusion. 416 1.1 christos 417 1.1.1.2 christos 2021-03-02 Nick Alcock <nick.alcock (a] oracle.com> 418 1.1 christos 419 1.1.1.2 christos * ctf-dedup.c (ctf_dedup): Pass on errors from ctf_dedup_hash_type. 420 1.1.1.2 christos Call ctf_dedup_fini properly on other errors. 421 1.1.1.2 christos (ctf_dedup_emit_type): Set the errno on dynhash insertion failure. 422 1.1.1.2 christos * ctf-link.c (ctf_link_deduplicating_per_cu): Close outputs beyond 423 1.1.1.2 christos output 0 when asserting because >1 output is found. 424 1.1.1.2 christos (ctf_link_deduplicating): Likewise, when asserting because the 425 1.1.1.2 christos shared output is not the same as the passed-in fp. 426 1.1 christos 427 1.1.1.2 christos 2021-03-02 Nick Alcock <nick.alcock (a] oracle.com> 428 1.1 christos 429 1.1.1.2 christos * ctf-impl.h (ctf_dict_t) <ctf_link_type_mapping>: No longer used 430 1.1.1.2 christos by the nondeduplicating linker. 431 1.1.1.2 christos (ctf_add_type_mapping): Removed, now static. 432 1.1.1.2 christos (ctf_type_mapping): Likewise. 433 1.1.1.2 christos (ctf_dedup_type_mapping): New. 434 1.1.1.2 christos (ctf_dedup_t) <cd_input_nums>: New. 435 1.1.1.2 christos * ctf-dedup.c (ctf_dedup_init): Populate it. 436 1.1.1.2 christos (ctf_dedup_fini): Free it again. Emphasise that this has to be 437 1.1.1.2 christos the last thing called. 438 1.1.1.2 christos (ctf_dedup): Populate it. 439 1.1.1.2 christos (ctf_dedup_populate_type_mapping): Removed. 440 1.1.1.2 christos (ctf_dedup_populate_type_mappings): Likewise. 441 1.1.1.2 christos (ctf_dedup_emit): No longer call it. No longer call 442 1.1.1.2 christos ctf_dedup_fini either. 443 1.1.1.2 christos (ctf_dedup_type_mapping): New. 444 1.1.1.2 christos * ctf-link.c (ctf_unnamed_cuname): New. 445 1.1.1.2 christos (ctf_create_per_cu): Arguments must be non-null now. 446 1.1.1.2 christos (ctf_in_member_cb_arg): Removed. 447 1.1.1.2 christos (ctf_link): No longer populate it. No longer discard the 448 1.1.1.2 christos mapping table. 449 1.1.1.2 christos (ctf_link_deduplicating_one_symtypetab): Use 450 1.1.1.2 christos ctf_dedup_type_mapping, not ctf_type_mapping. Use 451 1.1.1.2 christos ctf_unnamed_cuname. 452 1.1.1.2 christos (ctf_link_one_variable): Likewise. Pass in args individually: no 453 1.1.1.2 christos longer a ctf_variable_iter callback. 454 1.1.1.2 christos (empty_link_type_mapping): Removed. 455 1.1.1.2 christos (ctf_link_deduplicating_variables): Use ctf_variable_next, not 456 1.1.1.2 christos ctf_variable_iter. No longer pack arguments to 457 1.1.1.2 christos ctf_link_one_variable into a struct. 458 1.1.1.2 christos (ctf_link_deduplicating_per_cu): Call ctf_dedup_fini once 459 1.1.1.2 christos all link phases are done. 460 1.1.1.2 christos (ctf_link_deduplicating): Likewise. 461 1.1.1.2 christos (ctf_link_intern_extern_string): Improve comment. 462 1.1.1.2 christos (ctf_add_type_mapping): Migrate... 463 1.1.1.2 christos (ctf_type_mapping): ... these functions... 464 1.1.1.2 christos * ctf-create.c (ctf_add_type_mapping): ... here... 465 1.1.1.2 christos (ctf_type_mapping): ... and make static, for the sole use of 466 1.1.1.2 christos ctf_add_type. 467 1.1.1.2 christos 468 1.1.1.2 christos 2021-03-02 Nick Alcock <nick.alcock (a] oracle.com> 469 1.1.1.2 christos 470 1.1.1.2 christos * ctf-link.c (ctf_link_one_variable): Remove reference to 471 1.1.1.2 christos "unconflicted link mode". 472 1.1.1.2 christos 473 1.1.1.2 christos 2021-03-02 Nick Alcock <nick.alcock (a] oracle.com> 474 1.1.1.2 christos 475 1.1.1.2 christos * ctf-link.c (ctf_create_per_cu): Drop FILENAME now that it is 476 1.1.1.2 christos always identical to CUNAME. 477 1.1.1.2 christos (ctf_link_deduplicating_one_symtypetab): Adjust. 478 1.1.1.2 christos (ctf_link_one_type): Remove. 479 1.1.1.2 christos (ctf_link_one_input_archive_member): Likewise. 480 1.1.1.2 christos (ctf_link_close_one_input_archive): Likewise. 481 1.1.1.2 christos (ctf_link_one_input_archive): Likewise. 482 1.1.1.2 christos (ctf_link): No longer call it. Drop CTF_LINK_NONDEDUP path. 483 1.1.1.2 christos Improve header comment a bit (dicts, not files). Adjust 484 1.1.1.2 christos ctf_create_per_cu call. 485 1.1.1.2 christos (ctf_link_deduplicating_variables): Simplify. 486 1.1.1.2 christos (ctf_link_in_member_cb_arg_t) <cu_name>: Remove. 487 1.1.1.2 christos <in_input_cu_file>: Likewise. 488 1.1.1.2 christos <in_fp_parent>: Likewise. 489 1.1.1.2 christos <done_parent>: Likewise. 490 1.1.1.2 christos (ctf_link_one_variable): Turn uses of in_file_name to in_cuname. 491 1.1.1.2 christos 492 1.1.1.2 christos 2021-03-02 Nick Alcock <nick.alcock (a] oracle.com> 493 1.1.1.2 christos 494 1.1.1.2 christos * ctf-types.c (ctf_member_iter): Move 'rc' to an inner scope. 495 1.1.1.2 christos (ctf_enum_iter): Reimplement in terms of ctf_enum_next. 496 1.1.1.2 christos (ctf_type_iter): Reimplement in terms of ctf_type_next. 497 1.1.1.2 christos (ctf_type_iter_all): Likewise. 498 1.1.1.2 christos (ctf_variable_iter): Reimplement in terms of ctf_variable_next. 499 1.1.1.2 christos * ctf-archive.c (ctf_archive_iter_internal): Remove. 500 1.1.1.2 christos (ctf_archive_iter): Reimplement in terms of ctf_archive_next. 501 1.1 christos 502 1.1.1.2 christos 2021-03-02 Nick Alcock <nick.alcock (a] oracle.com> 503 1.1 christos 504 1.1.1.2 christos * ctf-archive.c (ctf_archive_next): Set the name of parents in 505 1.1.1.2 christos single-member archives. 506 1.1 christos 507 1.1.1.2 christos 2021-02-26 Alan Modra <amodra (a] gmail.com> 508 1.1 christos 509 1.1.1.2 christos * Makefile.in: Regenerate. 510 1.1 christos 511 1.1.1.2 christos 2021-02-21 Alan Modra <amodra (a] gmail.com> 512 1.1 christos 513 1.1.1.2 christos * configure.ac: Invoke AC_CANONICAL_TARGET, AC_CANONICAL_HOST 514 1.1.1.2 christos and AC_CANONICAL_BUILD. 515 1.1.1.2 christos * configure: Regenerate. 516 1.1 christos * Makefile.in: Regenerate. 517 1.1 christos 518 1.1.1.2 christos 2021-02-20 Nick Alcock <nick.alcock (a] oracle.com> 519 1.1 christos 520 1.1.1.2 christos * ctf-impl.h (ctf_dict_t) <ctf_symhash>: New. 521 1.1.1.2 christos <ctf_symhash_latest>: Likewise. 522 1.1.1.2 christos (struct ctf_archive_internal) <ctfi_crossdict_cache>: New. 523 1.1.1.2 christos <ctfi_symnamedicts>: New. 524 1.1.1.2 christos <ctfi_syms>: Remove. 525 1.1.1.2 christos (ctf_lookup_symbol_name): Remove. 526 1.1.1.2 christos * ctf-lookup.c (ctf_lookup_symbol_name): Propagate errors from 527 1.1.1.2 christos parent properly. Make static. 528 1.1.1.2 christos (ctf_lookup_symbol_idx): New, linear search for the symbol name, 529 1.1.1.2 christos cached in the crossdict cache's ctf_symhash (if available), or 530 1.1.1.2 christos this dict's (otherwise). 531 1.1.1.2 christos (ctf_try_lookup_indexed): Allow the symname to be passed in. 532 1.1.1.2 christos (ctf_lookup_by_symbol): Turn into a wrapper around... 533 1.1.1.2 christos (ctf_lookup_by_sym_or_name): ... this, supporting name lookup too, 534 1.1.1.2 christos using ctf_lookup_symbol_idx in non-writable dicts. Special-case 535 1.1.1.2 christos name lookup in dynamic dicts without reported symbols, which have 536 1.1.1.2 christos no symtab or dynsymidx but where name lookup should still work. 537 1.1.1.2 christos (ctf_lookup_by_symbol_name): New, another wrapper. 538 1.1.1.2 christos * ctf-archive.c (enosym): Note that this is present in 539 1.1.1.2 christos ctfi_symnamedicts too. 540 1.1.1.2 christos (ctf_arc_close): Adjust for removal of ctfi_syms. Free the 541 1.1.1.2 christos ctfi_symnamedicts. 542 1.1.1.2 christos (ctf_arc_flush_caches): Likewise. 543 1.1.1.2 christos (ctf_dict_open_cached): Memoize the first cached dict in the 544 1.1.1.2 christos crossdict cache. 545 1.1.1.2 christos (ctf_arc_lookup_symbol): Turn into a wrapper around... 546 1.1.1.2 christos (ctf_arc_lookup_sym_or_name): ... this. No longer cache 547 1.1.1.2 christos ctf_id_t lookups: just call ctf_lookup_by_symbol as needed (but 548 1.1.1.2 christos still cache the dicts those lookups succeed in). Add 549 1.1.1.2 christos lookup-by-name support, with dicts of successful lookups cached in 550 1.1.1.2 christos ctfi_symnamedicts. Refactor the caching code a bit. 551 1.1.1.2 christos (ctf_arc_lookup_symbol_name): New, another wrapper. 552 1.1.1.2 christos * ctf-open.c (ctf_dict_close): Free the ctf_symhash. 553 1.1.1.2 christos * libctf.ver (LIBCTF_1.2): New version. Add 554 1.1.1.2 christos ctf_lookup_by_symbol_name, ctf_arc_lookup_symbol_name. 555 1.1.1.2 christos * testsuite/libctf-lookup/enum-symbol.c (main): Use 556 1.1.1.2 christos ctf_arc_lookup_symbol rather than looking up the name ourselves. 557 1.1.1.2 christos Fish it out repeatedly, to make sure that symbol caching isn't 558 1.1.1.2 christos broken. 559 1.1.1.2 christos (symidx_64): Remove. 560 1.1.1.2 christos (symidx_32): Remove. 561 1.1.1.2 christos * testsuite/libctf-lookup/enum-symbol-obj.lk: Test symbol lookup 562 1.1.1.2 christos in an unlinked object file (indexed symtypetab sections only). 563 1.1.1.2 christos * testsuite/libctf-writable/symtypetab-nonlinker-writeout.c 564 1.1.1.2 christos (try_maybe_reporting): Check symbol types via 565 1.1.1.2 christos ctf_lookup_by_symbol_name as well as ctf_symbol_next. 566 1.1.1.2 christos * testsuite/libctf-lookup/conflicting-type-syms.*: New test of 567 1.1.1.2 christos lookups in a multi-dict archive. 568 1.1.1.2 christos 569 1.1.1.2 christos 2021-02-20 Alan Modra <amodra (a] gmail.com> 570 1.1.1.2 christos 571 1.1.1.2 christos * testsuite/config/default.exp (ld_L_opt): Define. 572 1.1.1.2 christos * testsuite/lib/ctf-lib.exp (load_common_lib): Delete. Instead load 573 1.1.1.2 christos ld-lib.exp. 574 1.1.1.2 christos (run_host_cmd, run_host_cmd_yesno, check_compiler_available): Delete. 575 1.1.1.2 christos (compile_one_cc, check_ctf_available): Delete. 576 1.1 christos 577 1.1.1.2 christos 2021-02-03 Nick Alcock <nick.alcock (a] oracle.com> 578 1.1 christos 579 1.1.1.2 christos * configure.ac (ac_cv_libctf_bfd_elf): Include string.h. 580 1.1.1.2 christos * configure: Regenerated. 581 1.1 christos 582 1.1.1.2 christos 2021-02-03 Nick Alcock <nick.alcock (a] oracle.com> 583 1.1 christos 584 1.1.1.2 christos * configure.ac (EXPECT): Check for, in order to define... 585 1.1.1.2 christos (TCL_TRY): ... this, if Tcl supports try/catch. 586 1.1.1.2 christos * Makefile.am (TCL_TRY): Run the testsuite only if set. 587 1.1.1.2 christos * configure: Regenerated. 588 1.1.1.2 christos * Makefile.in: Likewise. 589 1.1 christos 590 1.1.1.2 christos 2021-02-02 Nick Alcock <nick.alcock (a] oracle.com> 591 1.1 christos 592 1.1.1.2 christos * configure.ac (CTF_LIBADD): Remove explicit -lintl population in 593 1.1.1.2 christos favour of LIBINTL. 594 1.1.1.2 christos * Makefile.am (libctf_nobfd_la_LIBADD): No longer explicitly 595 1.1.1.2 christos include $(LIBINTL). 596 1.1.1.2 christos (check-DEJAGNU): Pass down to tests as well. 597 1.1.1.2 christos * configure: Regenerated. 598 1.1.1.2 christos * Makefile.in: Likewise. 599 1.1 christos 600 1.1.1.2 christos 2021-01-27 Nick Alcock <nick.alcock (a] oracle.com> 601 1.1 christos 602 1.1.1.2 christos * ctf-string.c (ctf_str_add): Treat adding a NULL as adding "". 603 1.1.1.2 christos (ctf_str_add_ref): Likewise. 604 1.1.1.2 christos (ctf_str_add_external): Likewise. 605 1.1.1.2 christos * ctf-types.c (ctf_type_name_raw): Always return "" for offset 0. 606 1.1.1.2 christos * ctf-dedup.c (ctf_dedup_multiple_input_dicts): Don't armour 607 1.1.1.2 christos against NULL name. 608 1.1.1.2 christos (ctf_dedup_maybe_synthesize_forward): Likewise. 609 1.1 christos 610 1.1.1.2 christos 2021-01-27 Nick Alcock <nick.alcock (a] oracle.com> 611 1.1 christos 612 1.1.1.2 christos * ctf-create.c (ctf_serialize): Fix shadowing. 613 1.1 christos 614 1.1.1.2 christos 2021-01-27 Nick Alcock <nick.alcock (a] oracle.com> 615 1.1 christos 616 1.1.1.2 christos * ctf-create.c (ctf_add_encoded): Add check for non-empty name. 617 1.1.1.2 christos (ctf_add_forward): Likewise. 618 1.1.1.2 christos (ctf_add_typedef): Likewise. 619 1.1 christos 620 1.1.1.2 christos 2021-01-27 Nick Alcock <nick.alcock (a] oracle.com> 621 1.1 christos 622 1.1.1.2 christos * ctf-open.c (init_types): Rip out code to check anonymous typedef 623 1.1.1.2 christos nodes. 624 1.1.1.2 christos * ctf-create.c (ctf_add_reftype): Likewise. 625 1.1.1.2 christos * ctf-lookup.c (refresh_pptrtab): Likewise. 626 1.1.1.2 christos 627 1.1.1.2 christos 2021-01-27 Nick Alcock <nick.alcock (a] oracle.com> 628 1.1.1.2 christos 629 1.1.1.2 christos * ctf-impl.c (_libctf_nonnull_): Add parameters. 630 1.1.1.2 christos (LCTF_LINKING): New flag. 631 1.1.1.2 christos (ctf_dict_t) <ctf_link_flags>: Mention it. 632 1.1.1.2 christos * ctf-link.c (ctf_link): Keep LCTF_LINKING set across call. 633 1.1.1.2 christos (ctf_write): Likewise, including in child dictionaries. 634 1.1.1.2 christos (ctf_link_shuffle_syms): Make sure ctf_dynsyms is NULL if there 635 1.1.1.2 christos are no reported symbols. 636 1.1.1.2 christos * ctf-create.c (symtypetab_delete_nonstatic_vars): Make sure 637 1.1.1.2 christos the variable has been reported as a symbol by the linker. 638 1.1.1.2 christos (symtypetab_skippable): Mention relationship between SYMFP and the 639 1.1.1.2 christos flags. 640 1.1.1.2 christos (symtypetab_density): Adjust nonnullity. Exit early if no symbols 641 1.1.1.2 christos were reported and force-indexing is off (i.e., we are doing a 642 1.1.1.2 christos final link). 643 1.1.1.2 christos (ctf_serialize): Handle the !LCTF_LINKING case by writing out an 644 1.1.1.2 christos indexed, sorted symtypetab (and allow SYMFP to be NULL in this 645 1.1.1.2 christos case). Turn sorting off if this is a non-final link. Only delete 646 1.1.1.2 christos nonstatic vars if we are filtering symbols and the linker has 647 1.1.1.2 christos reported some. 648 1.1.1.2 christos * testsuite/libctf-regression/nonstatic-var-section-ld-r*: 649 1.1.1.2 christos New test of variable and symtypetab section population when 650 1.1.1.2 christos ld -r is used. 651 1.1.1.2 christos * testsuite/libctf-regression/nonstatic-var-section-ld-executable.lk: 652 1.1.1.2 christos Likewise, when ld of an executable is used. 653 1.1.1.2 christos * testsuite/libctf-regression/nonstatic-var-section-ld.lk: 654 1.1.1.2 christos Likewise, when ld -shared alone is used. 655 1.1.1.2 christos * testsuite/libctf-regression/nonstatic-var-section-ld*.c: 656 1.1.1.2 christos Lookup programs for the above. 657 1.1.1.2 christos * testsuite/libctf-writable/symtypetab-nonlinker-writeout.*: New 658 1.1.1.2 christos test, testing survival of symbols across ctf_write paths. 659 1.1.1.2 christos * testsuite/lib/ctf-lib.exp (run_lookup_test): New option, 660 1.1.1.2 christos nonshared, suppressing linking of the SOURCE with -shared. 661 1.1.1.2 christos 662 1.1.1.2 christos 2021-01-19 Nick Alcock <nick.alcock (a] oracle.com> 663 1.1.1.2 christos 664 1.1.1.2 christos * ctf-create.c (membadd): Transform ""-named members into 665 1.1.1.2 christos NULL-named ones. 666 1.1.1.2 christos * testsuite/libctf-regression/type-add-unnamed-struct*: New test. 667 1.1.1.2 christos 668 1.1.1.2 christos 2021-01-19 Nick Alcock <nick.alcock (a] oracle.com> 669 1.1.1.2 christos 670 1.1.1.2 christos * ctf-lookup.c (ctf_lookup_by_name_internal): Do not return the 671 1.1.1.2 christos base type if looking up a nonexistent pointer type. 672 1.1.1.2 christos * testsuite/libctf-regression/pptrtab*: Test it. 673 1.1 christos 674 1.1.1.2 christos 2021-01-13 Alan Modra <amodra (a] gmail.com> 675 1.1 christos 676 1.1.1.2 christos * Makefile.in: Regenerate. 677 1.1 christos 678 1.1.1.2 christos 2021-01-12 H.J. Lu <hongjiu.lu (a] intel.com> 679 1.1 christos 680 1.1.1.2 christos PR binutils/26792 681 1.1.1.2 christos * configure.ac: Use GNU_MAKE_JOBSERVER. 682 1.1.1.2 christos * aclocal.m4: Regenerated. 683 1.1.1.2 christos * configure: Likewise. 684 1.1 christos 685 1.1.1.2 christos 2021-01-11 H.J. Lu <hongjiu.lu (a] intel.com> 686 1.1 christos 687 1.1.1.2 christos PR ld/27173 688 1.1.1.2 christos * configure: Regenerated. 689 1.1 christos 690 1.1.1.2 christos 2021-01-09 H.J. Lu <hongjiu.lu (a] intel.com> 691 1.1 christos 692 1.1.1.2 christos * configure: Regenerated. 693 1.1 christos 694 1.1.1.2 christos 2021-01-09 Nick Clifton <nickc (a] redhat.com> 695 1.1 christos 696 1.1.1.2 christos * 2.36 release branch crated. 697 1.1 christos 698 1.1.1.2 christos 2021-01-09 Alan Modra <amodra (a] gmail.com> 699 1.1 christos 700 1.1.1.2 christos * configure: Regenerate. 701 1.1 christos 702 1.1.1.2 christos 2021-01-07 Samuel Thibault <samuel.thibault (a] gnu.org> 703 1.1 christos 704 1.1.1.2 christos * configure: Regenerate. 705 1.1 christos 706 1.1.1.2 christos 2021-01-05 Nick Alcock <nick.alcock (a] oracle.com> 707 1.1 christos 708 1.1.1.2 christos * testsuite/libctf-lookup/struct-iteration.c (main): 709 1.1.1.2 christos ctf_member_count returns an int. 710 1.1 christos 711 1.1.1.2 christos 2021-01-05 Nick Alcock <nick.alcock (a] oracle.com> 712 1.1 christos 713 1.1.1.2 christos * Makefile.am (BASEDIR): New. 714 1.1.1.2 christos (BFDDIR): Likewise. 715 1.1.1.2 christos (check-DEJAGNU): Add development.exp to prerequisites. 716 1.1.1.2 christos (development.exp): New. 717 1.1.1.2 christos (CONFIG_STATUS_DEPENDENCIES): New. 718 1.1.1.2 christos (EXTRA_DEJAGNU_SITE_CONFIG): Likewise. 719 1.1.1.2 christos (DISTCLEANFILES): Likewise. 720 1.1.1.2 christos * Makefile.in: Regenerated. 721 1.1.1.2 christos * testsuite/lib/ctf-lib.exp (check_ctf_available): Return boolean. 722 1.1.1.2 christos * testsuite/libctf-lookup/lookup.exp: Call check_ctf_available. 723 1.1.1.2 christos * testsuite/libctf-regression/regression.exp: Likewise. 724 1.1.1.2 christos 725 1.1.1.2 christos 2021-01-05 Nick Alcock <nick.alcock (a] oracle.com> 726 1.1.1.2 christos 727 1.1.1.2 christos * ctf-types.c (ctf_type_aname): Print forwards to unions and enums 728 1.1.1.2 christos properly. 729 1.1.1.2 christos 730 1.1.1.2 christos 2021-01-05 Nick Alcock <nick.alcock (a] oracle.com> 731 1.1.1.2 christos 732 1.1.1.2 christos * ctf-impl.h (ctf_dict_t) <ctf_pptrtab>: New. 733 1.1.1.2 christos <ctf_pptrtab_len>: New. 734 1.1.1.2 christos <ctf_pptrtab_typemax>: New. 735 1.1.1.2 christos * ctf-create.c (ctf_serialize): Update accordingly. 736 1.1.1.2 christos (ctf_add_reftype): Note that we don't need to update pptrtab here, 737 1.1.1.2 christos despite updating ptrtab. 738 1.1.1.2 christos * ctf-open.c (ctf_dict_close): Destroy the pptrtab. 739 1.1.1.2 christos (ctf_import): Likewise. 740 1.1.1.2 christos (ctf_import_unref): Likewise. 741 1.1.1.2 christos * ctf-lookup.c (grow_pptrtab): New. 742 1.1.1.2 christos (refresh_pptrtab): New, update a pptrtab. 743 1.1.1.2 christos (ctf_lookup_by_name): Turn into a wrapper around (and rename to)... 744 1.1.1.2 christos (ctf_lookup_by_name_internal): ... this: construct the pptrtab, and 745 1.1.1.2 christos use it in addition to the parent's ptrtab when parent dicts are 746 1.1.1.2 christos searched. 747 1.1.1.2 christos * testsuite/libctf-regression/regression.exp: New testsuite for 748 1.1.1.2 christos regression tests. 749 1.1.1.2 christos * testsuite/libctf-regression/pptrtab*: New test. 750 1.1.1.2 christos * testsuite/libctf-writable/writable.exp: New testsuite for tests of 751 1.1.1.2 christos writable CTF dicts. 752 1.1.1.2 christos * testsuite/libctf-writable/pptrtab*: New test. 753 1.1.1.2 christos 754 1.1.1.2 christos 2021-01-05 Nick Alcock <nick.alcock (a] oracle.com> 755 1.1.1.2 christos 756 1.1.1.2 christos * ctf-archive.c (ctf_archive_iter): Remove outdated comment. 757 1.1.1.2 christos 758 1.1.1.2 christos 2021-01-05 Nick Alcock <nick.alcock (a] oracle.com> 759 1.1.1.2 christos 760 1.1.1.2 christos * ctf-impl.h (struct ctf_next) <u.ctn_next>: Move to... 761 1.1.1.2 christos <ctn_next>: ... here. 762 1.1.1.2 christos * ctf-util.c (ctf_next_destroy): Unconditionally destroy it. 763 1.1.1.2 christos * ctf-lookup.c (ctf_symbol_next): Adjust accordingly. 764 1.1.1.2 christos * ctf-types.c (ctf_member_iter): Reimplement in terms of... 765 1.1.1.2 christos (ctf_member_next): ... this. Support recursive unnamed member 766 1.1.1.2 christos iteration (off by default). 767 1.1.1.2 christos (ctf_member_info): Look up members in unnamed sub-structs. 768 1.1.1.2 christos * ctf-dedup.c (ctf_dedup_rhash_type): Adjust ctf_member_next call. 769 1.1.1.2 christos (ctf_dedup_emit_struct_members): Likewise. 770 1.1.1.2 christos * testsuite/libctf-lookup/struct-iteration-ctf.c: Test empty unnamed 771 1.1.1.2 christos members, and a normal member after the end. 772 1.1.1.2 christos * testsuite/libctf-lookup/struct-iteration.c: Verify that 773 1.1.1.2 christos ctf_member_count is consistent with the number of successful returns 774 1.1.1.2 christos from a non-recursive ctf_member_next. 775 1.1.1.2 christos * testsuite/libctf-lookup/struct-iteration-*: New, test iteration 776 1.1.1.2 christos over struct members. 777 1.1.1.2 christos * testsuite/libctf-lookup/struct-lookup.c: New test. 778 1.1.1.2 christos * testsuite/libctf-lookup/struct-lookup.lk: New test. 779 1.1.1.2 christos 780 1.1.1.2 christos 2021-01-05 Nick Alcock <nick.alcock (a] oracle.com> 781 1.1.1.2 christos 782 1.1.1.2 christos * ctf-link.c (ctf_link_warn_outdated_inputs): New. 783 1.1.1.2 christos (ctf_link_write): Call it. 784 1.1.1.2 christos 785 1.1.1.2 christos 2021-01-05 Nick Alcock <nick.alcock (a] oracle.com> 786 1.1.1.2 christos 787 1.1.1.2 christos * testsuite/libctf-lookup/enum-symbol.lk: New symbol-lookup test. 788 1.1.1.2 christos * testsuite/libctf-lookup/enum-symbol-ctf.c: New CTF input. 789 1.1.1.2 christos * testsuite/libctf-lookup/enum-symbol.c: New lookup test. 790 1.1.1.2 christos 791 1.1.1.2 christos 2021-01-05 Nick Alcock <nick.alcock (a] oracle.com> 792 1.1.1.2 christos 793 1.1.1.2 christos * Makefile.am (EXPECT): New. 794 1.1.1.2 christos (RUNTEST): Likewise. 795 1.1.1.2 christos (RUNTESTFLAGS): Likewise. 796 1.1.1.2 christos (CC_FOR_TARGET): Likewise. 797 1.1.1.2 christos (check-DEJAGNU): Likewise. 798 1.1.1.2 christos (AUTOMAKE_OPTIONS): Add dejagnu. 799 1.1.1.2 christos * Makefile.in: Regenerated. 800 1.1.1.2 christos * testsuite/config/default.exp: New. 801 1.1.1.2 christos * testsuite/lib/ctf-lib.exp: Likewise. 802 1.1.1.2 christos * testsuite/libctf-lookup/enum.lk: New test. 803 1.1.1.2 christos * testsuite/libctf-lookup/enum-ctf.c: New CTF input. 804 1.1.1.2 christos * testsuite/libctf-lookup/enum.c: New lookup test. 805 1.1.1.2 christos * testsuite/libctf-lookup/ambiguous-struct*.c: New test. 806 1.1.1.2 christos * testsuite/libctf-lookup/lookup.exp: New. 807 1.1.1.2 christos 808 1.1.1.2 christos 2021-01-05 Nick Alcock <nick.alcock (a] oracle.com> 809 1.1.1.2 christos 810 1.1.1.2 christos * configure.ac (BFD_LIBADD): Remove. 811 1.1.1.2 christos (BFD_DEPENDENCIES): Likewise. Remove associated cases. 812 1.1.1.2 christos (SHARED_LIBADD): Rename to... 813 1.1.1.2 christos (CTF_LIBADD): ... this. Stick in a suitable libiberty even when 814 1.1.1.2 christos linking statically. 815 1.1.1.2 christos * Makefile.am (libctf_nobfd_la_LIBADD): Adjust accordingly. 816 1.1.1.2 christos libctf uses libintl. 817 1.1.1.2 christos (libctf_la_LIBADD): Reference libbfd.la directly, not via 818 1.1.1.2 christos BFD_LIBADD. 819 1.1.1.2 christos (libctf_la_DEPENDENCIES): Remove. 820 1.1.1.2 christos * Makefile.in: Regenerate. 821 1.1.1.2 christos * configure: Likewise. 822 1.1 christos 823 1.1.1.2 christos 2021-01-05 Nick Alcock <nick.alcock (a] oracle.com> 824 1.1 christos 825 1.1.1.2 christos * ctf-decl.c (ctf_decl_push): Exclude slices from the decl stack. 826 1.1.1.2 christos * ctf-types.c (ctf_type_aname): No longer deal with slices here. 827 1.1.1.2 christos * ctf-dump.c (ctf_dump_membstate_t) <cdm_toplevel_indent>: Constify. 828 1.1.1.2 christos (CTF_FT_REFS): New. 829 1.1.1.2 christos (CTF_FT_BITFIELD): Likewise. 830 1.1.1.2 christos (CTF_FT_ID): Likewise. 831 1.1.1.2 christos (ctf_dump_member): Do not do indentation here. Migrate the 832 1.1.1.2 christos type-printing parts of this into... 833 1.1.1.2 christos (ctf_dump_format_type): ... here, to be shared by all type printers. 834 1.1.1.2 christos Get the errno value for non-representable types right. Do not print 835 1.1.1.2 christos bitfield info for non-bitfields. Improve the format and indentation 836 1.1.1.2 christos of other type output. Shuffle spacing around to make all indentation 837 1.1.1.2 christos either 'width of column' or 4 chars. 838 1.1.1.2 christos (ctf_dump_label): Pass CTF_FT_REFS to ctf_dump_format_type. 839 1.1.1.2 christos (ctf_dump_objts): Likewise. Spacing shuffle. 840 1.1.1.2 christos (ctf_dump_var): Likewise. 841 1.1.1.2 christos (type_hex_digits): Migrate down in the file, to above its new user. 842 1.1.1.2 christos (ctf_dump_type): Indent here instead. Pass CTF_FT_REFS to 843 1.1.1.2 christos ctf_dump_format_type. Don't trim off excess linefeeds now we no 844 1.1.1.2 christos longer generate them. Dump enumerated types. 845 1.1.1.2 christos 846 1.1.1.2 christos 2021-01-05 Nick Alcock <nick.alcock (a] oracle.com> 847 1.1.1.2 christos 848 1.1.1.2 christos * ctf-types.c (ctf_type_resolve): Improve comment. 849 1.1.1.2 christos (ctf_type_size): Yield ECTF_INCOMPLETE when applied to forwards. 850 1.1.1.2 christos Emit errors into the right dict. 851 1.1.1.2 christos (ctf_type_align): Likewise. 852 1.1.1.2 christos * ctf-create.c (ctf_add_member_offset): Yield ECTF_INCOMPLETE 853 1.1.1.2 christos when adding a member without explicit offset when this member, or 854 1.1.1.2 christos the previous member, is incomplete. 855 1.1.1.2 christos * ctf-dump.c (ctf_dump_format_type): Do not try to print the size of 856 1.1.1.2 christos forwards. 857 1.1.1.2 christos (ctf_dump_member): Do not try to print their alignment. 858 1.1.1.2 christos 859 1.1.1.2 christos 2021-01-05 Nick Alcock <nick.alcock (a] oracle.com> 860 1.1.1.2 christos 861 1.1.1.2 christos * ctf-dump.c (ctf_dump_objts): Dump by calling ctf_dump_format_type. 862 1.1.1.2 christos (ctf_dump_format_type): Don't emit the size for function objects. 863 1.1.1.2 christos Dump the element type of arrays like we dump the pointed-to type of 864 1.1.1.2 christos pointers, etc. 865 1.1.1.2 christos 866 1.1.1.2 christos 2021-01-05 Nick Alcock <nick.alcock (a] oracle.com> 867 1.1.1.2 christos 868 1.1.1.2 christos * ctf-dump.c (ctf_dump_format_type): Add 0x to hex type IDs. 869 1.1.1.2 christos (ctf_dump_header): Add 0x to the hex magic number. 870 1.1.1.2 christos (ctf_dump_str): Add 0x to the hex string offsets. 871 1.1.1.2 christos (ctf_dump_membstate_t) <cdm_toplevel_indent>: New. 872 1.1.1.2 christos (ctf_dump_type): Adjust. Free it when we're done. 873 1.1.1.2 christos (type_hex_digits): New. 874 1.1.1.2 christos (ctf_dump_member): Align output depending on the width of the type 875 1.1.1.2 christos ID being generated. Use printf padding, not a loop, to generate 876 1.1.1.2 christos indentation. 877 1.1.1.2 christos 878 1.1.1.2 christos 2021-01-05 Nick Alcock <nick.alcock (a] oracle.com> 879 1.1.1.2 christos 880 1.1.1.2 christos * ctf-decl.c (ctf_decl_push): Don't print array decls backwards. 881 1.1.1.2 christos 882 1.1.1.2 christos 2021-01-04 Nicolas Boulenguez <nicolas (a] debian.org> 883 1.1.1.2 christos 884 1.1.1.2 christos PR 27117 885 1.1.1.2 christos * configure.ac: Make AC_CONFIG_MACRO_DIR consistent with 886 1.1.1.2 christos ACLOCAL_AMFLAGS -I dirs. 887 1.1.1.2 christos * configure: Regenerate. 888 1.1 christos 889 1.1.1.2 christos 2021-01-01 Alan Modra <amodra (a] gmail.com> 890 1.1 christos 891 1.1.1.2 christos Update year range in copyright notice of all files. 892 1.1 christos 893 1.1.1.2 christos For older changes see ChangeLog-2020 894 1.1 christos 896 1.1.1.2 christos Copyright (C) 2021-2025 Free Software Foundation, Inc. 897 1.1.1.2 christos 898 1.1.1.2 christos Copying and distribution of this file, with or without modification, 899 1.1.1.2 christos are permitted in any medium without royalty provided the copyright 900 1.1.1.2 christos notice and this notice are preserved. 901 1.1 christos 902 1.1 christos Local Variables: 903 1.1 christos mode: change-log 904 1.1.1.2 christos left-margin: 8 905 1.1 christos fill-column: 74 906 1.1 christos version-control: never 907 End: 908