libctf, open: drop unnecessary historical wart around forwards
[binutils-gdb.git] / libctf / ChangeLog
1 2020-07-22 Nick Alcock <nick.alcock@oracle.com>
2
3 * ctf-open.c (init_types): Remove typeless CTF_K_FORWARD
4 special-casing.
5
6 2020-07-22 Nick Alcock <nick.alcock@oracle.com>
7
8 * ctf-types.c (ctf_type_reference): Add support for dynamic slices.
9
10 2020-07-22 Nick Alcock <nick.alcock@oracle.com>
11
12 * ctf-create.c (ctf_serialize): Add cast.
13 (ctf_add_slice): Likewise.
14
15 2020-07-22 Nick Alcock <nick.alcock@oracle.com>
16
17 * ctf-impl.h (ctf_dtdef_t) <dtu_argv>: Fix type.
18 * ctf-create.c (ctf_add_function): Check for unimplemented type
19 and populate at the same time. Populate one-by-one, not via
20 memcpy.
21 (ctf_serialize): Remove unnecessary cast.
22 * ctf-types.c (ctf_func_type_info): Likewise.
23 (ctf_func_type_args): Likewise. Fix comment typo.
24
25 2020-07-22 Nick Alcock <nick.alcock@oracle.com>
26
27 * ctf-create.c (ctf_add_reftype): Support refs to type zero.
28 (ctf_add_array): Support array contents of type zero.
29 (ctf_add_function): Support arguments and return types of
30 type zero.
31 (ctf_add_typedef): Support typedefs to type zero.
32 (ctf_add_member_offset): Support members of type zero,
33 unless added at unspecified (naturally-aligned) offset.
34
35 2020-07-22 Nick Alcock <nick.alcock@oracle.com>
36
37 * ctf-error.c: Include <stddef.h>, for offsetof.
38 (_ctf_errlist): Migrate to...
39 (_ctf_errlist_t): ... this.
40 (_ctf_erridx): New, indexes into _ctf_errlist_t.
41 (_ctf_nerr): Remove.
42 (ctf_errmsg): Adjust accordingly.
43 * Makefile.am (BUILT_SOURCES): Note...
44 (ctf-error.h): ... this new rule.
45 * Makefile.in: Regenerate.
46 * mkerrors.sed: New, process ctf-api.h to generate ctf-error.h.
47 * .gitignore: New, ignore ctf-error.h.
48
49 2020-07-22 Nick Alcock <nick.alcock@oracle.com>
50
51 * ctf-impl.h: Fix typos in comments.
52
53 2020-07-22 Nick Clifton <nickc@redhat.com>
54
55 * ctf-archive.c (ctf_arc_write): Avoid calling close twice on the
56 same file descriptor.
57
58 2020-07-04 Nick Clifton <nickc@redhat.com>
59
60 Binutils 2.35 branch created.
61
62 2020-06-26 Nick Alcock <nick.alcock@oracle.com>
63
64 * aclocal.m4: Add config/gettext-sister.m4: Shuffle into
65 alphabetical order.
66 * configure.ac: Add ZW_GNU_GETTEXT_SISTER_DIR.
67 * config.h.in: Regenerated.
68 * Makefile.in: Likewise.
69 * configure: Likewise.
70
71 2020-06-26 Nick Alcock <nick.alcock@oracle.com>
72
73 * ctf-create.c: Include <unistd.h>.
74 * ctf-open-bfd.c: Likewise.
75
76 2020-06-26 Nick Alcock <nick.alcock@oracle.com>
77
78 PR libctf/25120
79 * configure.ac: Check for bswap_16, bswap_32, and bswap_64 decls.
80 * swap.h (bswap_16): Do not assume that presence of <byteswap.h>
81 means this is declared.
82 (bswap_32): Likewise.
83 (bswap_64): Likewise.
84 (bswap_identity_64): Remove, unused.
85 * configure: Regenerated.
86 * config.h.in: Likewise.
87
88 2020-06-26 Nick Alcock <nick.alcock@oracle.com>
89
90 PR libctf/25120
91 * ctf-impl.h (_libctf_printflike_): Add non-GNU-C fallback.
92 (_libctf_unlikely_): Likewise.
93 (_libctf_unused): Likewise.
94 (_libctf_malloc_): Likewise.
95
96 2020-06-26 Nick Alcock <nick.alcock@oracle.com>
97
98 PR libctf/25120
99 * ctf-archive.c (search_nametbl): No longer global: declare...
100 (ctf_arc_open_by_name_internal): ... here. Use bsearch_r.
101 (search_modent_by_name): Take and use ARG for the nametbl.
102
103 2020-06-26 Nick Alcock <nick.alcock@oracle.com>
104
105 * ctf-impl.h (ctf_new_archive_internal): Declare.
106 (ctf_arc_bufopen): Remove.
107 (ctf_archive_internal) <ctfi_free_symsect>: New.
108 * ctf-archive.c (ctf_arc_close): Use it.
109 (ctf_arc_bufopen): Fuse into...
110 (ctf_new_archive_internal): ... this, moved across from...
111 * ctf-open-bfd.c: ... here.
112 (ctf_bfdopen_ctfsect): Use ctf_arc_bufopen.
113 * libctf.ver: Add it.
114
115 2020-06-26 Nick Alcock <nick.alcock@oracle.com>
116
117 * ctf-create.c (ctf_add_forward): Intern in the right namespace.
118 (ctf_dtd_delete): Remove correspondingly.
119 (ctf_rollback): Likewise.
120
121 2020-06-26 Nick Alcock <nick.alcock@oracle.com>
122
123 * ctf-create.c (ctf_add_type_internal): Hand back existing types
124 unchanged.
125
126 2020-06-26 Nick Alcock <nick.alcock@oracle.com>
127
128 * ctf-create.c (ctf_add_forward): Don't add forwards to
129 types that already exist.
130
131 2020-06-26 Nick Alcock <nick.alcock@oracle.com>
132
133 * ctf-open.c (init_types): Only intern root-visible types.
134 * ctf-create.c (ctf_dtd_insert): Likewise.
135 (ctf_dtd_delete): Only remove root-visible types.
136 (ctf_rollback): Likewise.
137 (ctf_add_generic): Adjust.
138 (ctf_add_struct_sized): Adjust comment.
139 (ctf_add_union_sized): Likewise.
140 (ctf_add_enum): Likewise.
141 * ctf-impl.h (ctf_dtd_insert): Adjust prototype.
142
143 2020-03-11 John Baldwin <jhb@FreeBSD.org>
144
145 * swap.h (bswap_identity_64): Make static.
146
147 2020-01-18 Nick Clifton <nickc@redhat.com>
148
149 Binutils 2.34 branch created.
150
151 2020-01-05 Joel Brobecker <brobecker@adacore.com>
152
153 PR binutils/25155:
154 * configure.ac: Add AC_CHECK_DECLS([asprintf]).
155 * configure, config.h.in: Regenerate.
156
157 2020-01-01 Alan Modra <amodra@gmail.com>
158
159 Update year range in copyright notice of all files.
160
161 2019-10-16 Simon Marchi <simon.marchi@polymtl.ca>
162
163 * swap.h (bswap_16, bswap_32, bswap_64): Make static.
164
165 2019-09-30 Nick Alcock <nick.alcock@oracle.com>
166
167 * ctf-open.c (ctf_bufopen_internal): Fix tabdamage.
168 * ctf-types.c (ctf_type_lname): Likewise.
169
170 2019-09-23 Nick Alcock <nick.alcock@oracle.com>
171
172 * ctf-open.c (ctf_import): Do not leak a ctf_file_t ref on every
173 ctf_import after the first for a given file.
174
175 2019-09-23 Nick Alcock <nick.alcock@oracle.com>
176
177 * ctf-impl.h (ctf_str_append_noerr): Declare.
178 * ctf-util.c (ctf_str_append_noerr): Define in terms of
179 ctf_str_append.
180 * ctf-dump.c (str_append): New, call it.
181 (ctf_dump_format_type): Use str_append, not ctf_str_append.
182 (ctf_dump_label): Likewise.
183 (ctf_dump_objts): Likewise.
184 (ctf_dump_funcs): Likewise.
185 (ctf_dump_var): Likewise.
186 (ctf_dump_member): Likewise.
187 (ctf_dump_type): Likewise.
188 (ctf_dump): Likewise.
189
190 2019-09-23 Nick Alcock <nick.alcock@oracle.com>
191
192 * ctf-impl.h (ctf_alloc): Remove.
193 (ctf_free): Likewise.
194 (ctf_strdup): Likewise.
195 * ctf-subr.c (ctf_alloc): Remove.
196 (ctf_free): Likewise.
197 * ctf-util.c (ctf_strdup): Remove.
198
199 * ctf-create.c (ctf_serialize): Use malloc, not ctf_alloc; free, not
200 ctf_free; strdup, not ctf_strdup.
201 (ctf_dtd_delete): Likewise.
202 (ctf_dvd_delete): Likewise.
203 (ctf_add_generic): Likewise.
204 (ctf_add_function): Likewise.
205 (ctf_add_enumerator): Likewise.
206 (ctf_add_member_offset): Likewise.
207 (ctf_add_variable): Likewise.
208 (membadd): Likewise.
209 (ctf_compress_write): Likewise.
210 (ctf_write_mem): Likewise.
211 * ctf-decl.c (ctf_decl_push): Likewise.
212 (ctf_decl_fini): Likewise.
213 (ctf_decl_sprintf): Likewise. Check for OOM.
214 * ctf-dump.c (ctf_dump_append): Use malloc, not ctf_alloc; free, not
215 ctf_free; strdup, not ctf_strdup.
216 (ctf_dump_free): Likewise.
217 (ctf_dump): Likewise.
218 * ctf-open.c (upgrade_types_v1): Likewise.
219 (init_types): Likewise.
220 (ctf_file_close): Likewise.
221 (ctf_bufopen_internal): Likewise. Check for OOM.
222 (ctf_parent_name_set): Likewise: report the OOM to the caller.
223 (ctf_cuname_set): Likewise.
224 (ctf_import): Likewise.
225 * ctf-string.c (ctf_str_purge_atom_refs): Use malloc, not ctf_alloc;
226 free, not ctf_free; strdup, not ctf_strdup.
227 (ctf_str_free_atom): Likewise.
228 (ctf_str_create_atoms): Likewise.
229 (ctf_str_add_ref_internal): Likewise.
230 (ctf_str_remove_ref): Likewise.
231 (ctf_str_write_strtab): Likewise.
232
233 2019-08-09 Nick Alcock <nick.alcock@oracle.com>
234
235 * ctf-types.c (ctf_type_encoding): Fix the dynamic case to
236 work right for non-int/fps.
237
238 2019-08-08 Nick Alcock <nick.alcock@oracle.com>
239
240 * ctf-types.c (ctf_type_name): Don't strlen a potentially-
241 null pointer.
242
243 2019-08-07 Nick Alcock <nick.alcock@oracle.com>
244
245 * ctf-impl.h (ctf_file_t) <ctf_add_processing>: New.
246 * ctf-open.c (ctf_file_close): Free it.
247 * ctf-create.c (ctf_serialize): Adjust.
248 (membcmp): When reporting a conflict due to an error, report the
249 error.
250 (ctf_add_type): Turn into a ctf_add_processing wrapper. Rename to...
251 (ctf_add_type_internal): ... this. Hand back types we are already
252 in the middle of adding immediately. Hand back structs/unions with
253 the same number of members immediately. Do not walk the dynamic
254 list. Call ctf_add_type_internal, not ctf_add_type. Handle
255 forwards promoted to other types and the inverse case identically.
256 Add structs to the mapping as soon as we intern them, before they
257 gain any members.
258
259 2019-08-09 Nick Alcock <nick.alcock@oracle.com>
260
261 * ctf-impl.h (ctf_names_t): New.
262 (ctf_lookup_t) <ctf_hash>: Now a ctf_names_t, not a ctf_hash_t.
263 (ctf_file_t) <ctf_structs>: Likewise.
264 <ctf_unions>: Likewise.
265 <ctf_enums>: Likewise.
266 <ctf_names>: Likewise.
267 <ctf_lookups>: Improve comment.
268 <ctf_ptrtab_len>: New.
269 <ctf_prov_strtab>: New.
270 <ctf_str_prov_offset>: New.
271 <ctf_dtbyname>: Remove, redundant to the names hashes.
272 <ctf_dtnextid>: Remove, redundant to ctf_typemax.
273 (ctf_dtdef_t) <dtd_name>: Remove.
274 <dtd_data>: Note that the ctt_name is now populated.
275 (ctf_str_atom_t) <csa_offset>: This is now the strtab
276 offset for internal strings too.
277 <csa_external_offset>: New, the external strtab offset.
278 (CTF_INDEX_TO_TYPEPTR): Handle the LCTF_RDWR case.
279 (ctf_name_table): New declaration.
280 (ctf_lookup_by_rawname): Likewise.
281 (ctf_lookup_by_rawhash): Likewise.
282 (ctf_set_ctl_hashes): Likewise.
283 (ctf_serialize): Likewise.
284 (ctf_dtd_insert): Adjust.
285 (ctf_simple_open_internal): Likewise.
286 (ctf_bufopen_internal): Likewise.
287 (ctf_list_empty_p): Likewise.
288 (ctf_str_remove_ref): Likewise.
289 (ctf_str_add): Returns uint32_t now.
290 (ctf_str_add_ref): Likewise.
291 (ctf_str_add_external): Now returns a boolean (int).
292 * ctf-string.c (ctf_strraw_explicit): Check the ctf_prov_strtab
293 for strings in the appropriate range.
294 (ctf_str_create_atoms): Create the ctf_prov_strtab. Detect OOM
295 when adding the null string to the new strtab.
296 (ctf_str_free_atoms): Destroy the ctf_prov_strtab.
297 (ctf_str_add_ref_internal): Add make_provisional argument. If
298 make_provisional, populate the offset and fill in the
299 ctf_prov_strtab accordingly.
300 (ctf_str_add): Return the offset, not the string.
301 (ctf_str_add_ref): Likewise.
302 (ctf_str_add_external): Return a success integer.
303 (ctf_str_remove_ref): New, remove a single ref.
304 (ctf_str_count_strtab): Do not count the initial null string's
305 length or the existence or length of any unreferenced internal
306 atoms.
307 (ctf_str_populate_sorttab): Skip atoms with no refs.
308 (ctf_str_write_strtab): Populate the nullstr earlier. Add one
309 to the cts_len for the null string, since it is no longer done
310 in ctf_str_count_strtab. Adjust for csa_external_offset rename.
311 Populate the csa_offset for both internal and external cases.
312 Flush the ctf_prov_strtab afterwards, and reset the
313 ctf_str_prov_offset.
314 * ctf-create.c (ctf_grow_ptrtab): New.
315 (ctf_create): Call it. Initialize new fields rather than old
316 ones. Tell ctf_bufopen_internal that this is a writable dictionary.
317 Set the ctl hashes and data model.
318 (ctf_update): Rename to...
319 (ctf_serialize): ... this. Leave a compatibility function behind.
320 Tell ctf_simple_open_internal that this is a writable dictionary.
321 Pass the new fields along from the old dictionary. Drop
322 ctf_dtnextid and ctf_dtbyname. Use ctf_strraw, not dtd_name.
323 Do not zero out the DTD's ctt_name.
324 (ctf_prefixed_name): Rename to...
325 (ctf_name_table): ... this. No longer return a prefixed name: return
326 the applicable name table instead.
327 (ctf_dtd_insert): Use it, and use the right name table. Pass in the
328 kind we're adding. Migrate away from dtd_name.
329 (ctf_dtd_delete): Adjust similarly. Remove the ref to the
330 deleted ctt_name.
331 (ctf_dtd_lookup_type_by_name): Remove.
332 (ctf_dynamic_type): Always return NULL on read-only dictionaries.
333 No longer check ctf_dtnextid: check ctf_typemax instead.
334 (ctf_snapshot): No longer use ctf_dtnextid: use ctf_typemax instead.
335 (ctf_rollback): Likewise. No longer fail with ECTF_OVERROLLBACK. Use
336 ctf_name_table and the right name table, and migrate away from
337 dtd_name as in ctf_dtd_delete.
338 (ctf_add_generic): Pass in the kind explicitly and pass it to
339 ctf_dtd_insert. Use ctf_typemax, not ctf_dtnextid. Migrate away
340 from dtd_name to using ctf_str_add_ref to populate the ctt_name.
341 Grow the ptrtab if needed.
342 (ctf_add_encoded): Pass in the kind.
343 (ctf_add_slice): Likewise.
344 (ctf_add_array): Likewise.
345 (ctf_add_function): Likewise.
346 (ctf_add_typedef): Likewise.
347 (ctf_add_reftype): Likewise. Initialize the ctf_ptrtab, checking
348 ctt_name rather than dtd_name.
349 (ctf_add_struct_sized): Pass in the kind. Use
350 ctf_lookup_by_rawname, not ctf_hash_lookup_type /
351 ctf_dtd_lookup_type_by_name.
352 (ctf_add_union_sized): Likewise.
353 (ctf_add_enum): Likewise.
354 (ctf_add_enum_encoded): Likewise.
355 (ctf_add_forward): Likewise.
356 (ctf_add_type): Likewise.
357 (ctf_compress_write): Call ctf_serialize: adjust for ctf_size not
358 being initialized until after the call.
359 (ctf_write_mem): Likewise.
360 (ctf_write): Likewise.
361 * ctf-archive.c (arc_write_one_ctf): Likewise.
362 * ctf-lookup.c (ctf_lookup_by_name): Use ctf_lookuup_by_rawhash, not
363 ctf_hash_lookup_type.
364 (ctf_lookup_by_id): No longer check the readonly types if the
365 dictionary is writable.
366 * ctf-open.c (init_types): Assert that this dictionary is not
367 writable. Adjust to use the new name hashes, ctf_name_table,
368 and ctf_ptrtab_len. GNU style fix for the final ptrtab scan.
369 (ctf_bufopen_internal): New 'writable' parameter. Flip on LCTF_RDWR
370 if set. Drop out early when dictionary is writable. Split the
371 ctf_lookups initialization into...
372 (ctf_set_cth_hashes): ... this new function.
373 (ctf_simple_open_internal): Adjust. New 'writable' parameter.
374 (ctf_simple_open): Adjust accordingly.
375 (ctf_bufopen): Likewise.
376 (ctf_file_close): Destroy the appropriate name hashes. No longer
377 destroy ctf_dtbyname, which is gone.
378 (ctf_getdatasect): Remove spurious "extern".
379 * ctf-types.c (ctf_lookup_by_rawname): New, look up types in the
380 specified name table, given a kind.
381 (ctf_lookup_by_rawhash): Likewise, given a ctf_names_t *.
382 (ctf_member_iter): Add support for iterating over the
383 dynamic type list.
384 (ctf_enum_iter): Likewise.
385 (ctf_variable_iter): Likewise.
386 (ctf_type_rvisit): Likewise.
387 (ctf_member_info): Add support for types in the dynamic type list.
388 (ctf_enum_name): Likewise.
389 (ctf_enum_value): Likewise.
390 (ctf_func_type_info): Likewise.
391 (ctf_func_type_args): Likewise.
392 * ctf-link.c (ctf_accumulate_archive_names): No longer call
393 ctf_update.
394 (ctf_link_write): Likewise.
395 (ctf_link_intern_extern_string): Adjust for new
396 ctf_str_add_external return value.
397 (ctf_link_add_strtab): Likewise.
398 * ctf-util.c (ctf_list_empty_p): New.
399
400 2019-08-05 Nick Alcock <nick.alcock@oracle.com>
401
402 * ctf-types.c (ctf_type_resolve): Return ECTF_NONREPRESENTABLE on
403 type zero.
404 * ctf-create.c (ctf_add_type): Detect and skip nonrepresentable
405 members and types.
406 (ctf_add_variable): Likewise for variables pointing to them.
407 * ctf-link.c (ctf_link_one_type): Do not warn for nonrepresentable
408 type link failure, but do warn for others.
409 * ctf-dump.c (ctf_dump_format_type): Likewise. Do not assume all
410 errors to be ENOMEM.
411 (ctf_dump_member): Likewise.
412 (ctf_dump_type): Likewise.
413 (ctf_dump_header_strfield): Do not assume all errors to be ENOMEM.
414 (ctf_dump_header_sectfield): Do not assume all errors to be ENOMEM.
415 (ctf_dump_header): Likewise.
416 (ctf_dump_label): likewise.
417 (ctf_dump_objts): likewise.
418 (ctf_dump_funcs): likewise.
419 (ctf_dump_var): likewise.
420 (ctf_dump_str): Likewise.
421
422 2019-09-30 Nick Alcock <nick.alcock@oracle.com>
423
424 * configure.ac (AC_DISABLE_SHARED): New, like opcodes/.
425 (LT_INIT): Likewise.
426 (AM_INSTALL_LIBBFD): Likewise.
427 (dlopen): Note why this is necessary in a comment.
428 (SHARED_LIBADD): Initialize for possibly-PIC libiberty: derived from
429 opcodes/.
430 (SHARED_LDFLAGS): Likewise.
431 (BFD_LIBADD): Likewise, for libbfd.
432 (BFD_DEPENDENCIES): Likewise.
433 (VERSION_FLAGS): Initialize, using a version script if ld supports
434 one, or libtool -export-symbols-regex otherwise.
435 (AC_CONFIG_MACRO_DIR): Add ../BFD.
436 * Makefile.am (ACLOCAL_AMFLAGS): Likewise.
437 (INCDIR): New.
438 (AM_CPPFLAGS): Use $(srcdir), not $(top_srcdir).
439 (noinst_LIBRARIES): Replace with...
440 [INSTALL_LIBBFD] (lib_LTLIBRARIES): This, or...
441 [!INSTALL_LIBBFD] (noinst_LTLIBRARIES): ... this, mentioning new
442 libctf-nobfd.la as well.
443 [INSTALL_LIBCTF] (include_HEADERS): Add the CTF headers.
444 [!INSTALL_LIBCTF] (include_HEADERS): New, empty.
445 (libctf_a_SOURCES): Rename to...
446 (libctf_nobfd_la_SOURCES): ... this, all of libctf other than
447 ctf-open-bfd.c.
448 (libctf_la_SOURCES): Now derived from libctf_nobfd_la_SOURCES,
449 with ctf-open-bfd.c added.
450 (libctf_nobfd_la_LIBADD): New, using @SHARED_LIBADD@.
451 (libctf_la_LIBADD): New, using @BFD_LIBADD@ as well.
452 (libctf_la_DEPENDENCIES): New, using @BFD_DEPENDENCIES@.
453 * Makefile.am [INSTALL_LIBCTF]: Use it.
454 * aclocal.m4: Add ../bfd/acinclude.m4, ../config/acx.m4, and the
455 libtool macros.
456 * libctf.ver: New, everything is version LIBCTF_1.0 currently (even
457 the unstable components).
458 * Makefile.in: Regenerated.
459 * config.h.in: Likewise.
460 * configure: Likewise.
461
462 2019-07-30 Nick Alcock <nick.alcock@oracle.com>
463
464 * configure.ac (INSTALL_LIBCTF): New, controlled by
465 --enable-install-libctf.
466 [INSTALL_LIBCTF] (lib_LIBRARIES): Add libctf.a.
467 * Makefile.in: Regenerated.
468 * configure: Regenerated.
469
470 2019-07-30 Nick Alcock <nick.alcock@oracle.com>
471
472 * ctf-archive.c (ctf_arc_close): Call ctfi_bfd_close if set.
473 * ctf-open-bfd.c (ctf_bfdclose): Fix comment.
474
475 2019-07-30 Nick Alcock <nick.alcock@oracle.com>
476
477 * ctf-open-bfd.c (ctf_fdopen): Call bfd_set_cacheable.
478
479 2019-07-13 Nick Alcock <nick.alcock@oracle.com>
480
481 * ctf-impl.h (includes): Include <sys/param.h> here.
482
483 2019-07-30 Nick Alcock <nick.alcock@oracle.com>
484
485 * ctf-open.c (flip_lbls): Eschew for-loop initial declarations.
486 (flip_objts): Likewise.
487 (flip_vars): Likewise.
488 (flip_types): Likewise.
489
490 2019-07-30 Nick Alcock <nick.alcock@oracle.com>
491
492 * ctf-hash.c (ctf_hashtab_insert): Pass in the key and value
493 freeing functions: if set, free the key and value if the slot
494 already exists. Always reassign the key.
495 (ctf_dynhash_insert): Adjust call appropriately.
496 (ctf_hash_insert_type): Likewise.
497
498 2019-08-03 Nick Alcock <nick.alcock@oracle.com>
499
500 * ctf-create.c (ctf_add_type): Look up and use the forwarded-to
501 type kind. Allow forwards to unify with pre-existing structs/
502 unions/enums.
503
504 2019-07-30 Nick Alcock <nick.alcock@oracle.com>
505
506 * ctf-impl.h (ctf_file_t) <ctf_link_cu_mappping>: New.
507 <ctf_link_memb_name_changer>: Likewise.
508 <ctf_link_memb_name_changer_arg>: Likewise.
509 * ctf-create.c (ctf_update): Update accordingly.
510 * ctf-open.c (ctf_file_close): Likewise.
511 * ctf-link.c (ctf_create_per_cu): Apply the cu mapping.
512 (ctf_link_add_cu_mapping): New.
513 (ctf_link_set_memb_name_changer): Likewise.
514 (ctf_change_parent_name): New.
515 (ctf_name_list_accum_cb_arg_t) <dynames>: New, storage for names
516 allocated by the caller's ctf_link_memb_name_changer.
517 <ndynames>: Likewise.
518 (ctf_accumulate_archive_names): Call the ctf_link_memb_name_changer.
519 (ctf_link_write): Likewise (for _CTF_SECTION only): also call
520 ctf_change_parent_name. Free any resulting names.
521
522 2019-07-13 Nick Alcock <nick.alcock@oracle.com>
523
524 * ctf-link.c (ctf_create_per_cu): New, refactored out of...
525 (ctf_link_one_type): ... here, with parent-name setting added.
526 (check_variable): New.
527 (ctf_link_one_variable): Likewise.
528 (ctf_link_one_input_archive_member): Call it.
529 * ctf-error.c (_ctf_errlist): Updated with new errors.
530
531 2019-07-13 Nick Alcock <nick.alcock@oracle.com>
532
533 * ctf-impl.h (ctf_file_t): New field ctf_link_type_mapping.
534 (struct ctf_link_type_mapping_key): New.
535 (ctf_hash_type_mapping_key): Likewise.
536 (ctf_hash_eq_type_mapping_key): Likewise.
537 (ctf_add_type_mapping): Likewise.
538 (ctf_type_mapping): Likewise.
539 (ctf_dynhash_empty): Likewise.
540 * ctf-open.c (ctf_file_close): Update accordingly.
541 * ctf-create.c (ctf_update): Likewise.
542 (ctf_add_type): Populate the mapping.
543 * ctf-hash.c (ctf_hash_type_mapping_key): Hash a type mapping key.
544 (ctf_hash_eq_type_mapping_key): Check the key for equality.
545 (ctf_dynhash_insert): Fix comment typo.
546 (ctf_dynhash_empty): New.
547 * ctf-link.c (ctf_add_type_mapping): New.
548 (ctf_type_mapping): Likewise.
549 (empty_link_type_mapping): New.
550 (ctf_link_one_input_archive): Call it.
551
552 2019-07-13 Nick Alcock <nick.alcock@oracle.com>
553
554 * ctf-link.c: New file, linking of the string and type sections.
555 * Makefile.am (libctf_a_SOURCES): Add it.
556 * Makefile.in: Regenerate.
557
558 * ctf-impl.h (ctf_file_t): New fields ctf_link_inputs,
559 ctf_link_outputs.
560 * ctf-create.c (ctf_update): Update accordingly.
561 * ctf-open.c (ctf_file_close): Likewise.
562 * ctf-error.c (_ctf_errlist): Updated with new errors.
563
564 2019-07-13 Nick Alcock <nick.alcock@oracle.com>
565
566 * ctf-dump.c (ctf_dump_funcs): Check the right error value.
567
568 2019-07-13 Nick Alcock <nick.alcock@oracle.com>
569
570 * ctf-dump.c (ctf_dump): Use ctf_type_iter_all to dump types, not
571 ctf_type_iter.
572 (ctf_dump_type): Pass down the flag from ctf_type_iter_all.
573 (ctf_dump_format_type): Add non-root-type { } notation.
574 Add root flag to prototype.
575 (ctf_dump_label): Adjust accordingly.
576 (ctf_dump_objts): Likewise.
577 (ctf_dump_var): Likewise.
578
579 2019-07-13 Nick Alcock <nick.alcock@oracle.com>
580
581 * ctf-create.c (ctf_compress_write): Fix double-free.
582
583 2019-07-13 Nick Alcock <nick.alcock@oracle.com>
584
585 * ctf-archive.c (ctf_arc_write): Split off, and reimplement in terms
586 of...
587 (ctf_arc_write_fd): ... this new function.
588 * ctf-create.c (ctf_write_mem): New.
589
590 2019-07-13 Nick Alcock <nick.alcock@oracle.com>
591
592 * ctf-impl.h (ctf_str_atom_t) <csa_offset>: New field.
593 (ctf_file_t) <ctf_syn_ext_strtab>: Likewise.
594 (ctf_str_add_ref): Name the last arg.
595 (ctf_str_add_external) New.
596 (ctf_str_add_strraw_explicit): Likewise.
597 (ctf_simple_open_internal): Likewise.
598 (ctf_bufopen_internal): Likewise.
599
600 * ctf-string.c (ctf_strraw_explicit): Split from...
601 (ctf_strraw): ... here, with new support for ctf_syn_ext_strtab.
602 (ctf_str_add_ref_internal): Return the atom, not the
603 string.
604 (ctf_str_add): Adjust accordingly.
605 (ctf_str_add_ref): Likewise. Move up in the file.
606 (ctf_str_add_external): New: update the csa_offset.
607 (ctf_str_count_strtab): Only account for strings with no csa_offset
608 in the internal strtab length.
609 (ctf_str_write_strtab): If the csa_offset is set, update the
610 string's refs without writing the string out, and update the
611 ctf_syn_ext_strtab. Make OOM handling less ugly.
612 * ctf-create.c (struct ctf_sort_var_arg_cb): New.
613 (ctf_update): Handle failure to populate the strtab. Pass in the
614 new ctf_sort_var arg. Adjust for ctf_syn_ext_strtab addition.
615 Call ctf_simple_open_internal, not ctf_simple_open.
616 (ctf_sort_var): Call ctf_strraw_explicit rather than looking up
617 strings by hand.
618 * ctf-hash.c (ctf_hash_insert_type): Likewise (but using
619 ctf_strraw). Adjust to diagnose ECTF_STRTAB nonetheless.
620 * ctf-open.c (init_types): No longer filter out ECTF_STRTAB.
621 (ctf_file_close): Destroy the ctf_syn_ext_strtab.
622 (ctf_simple_open): Rename to, and reimplement as a wrapper around...
623 (ctf_simple_open_internal): ... this new function, which calls
624 ctf_bufopen_internal.
625 (ctf_bufopen): Rename to, and reimplement as a wrapper around...
626 (ctf_bufopen_internal): ... this new function, which sets
627 ctf_syn_ext_strtab.
628
629 2019-07-13 Nick Alcock <nick.alcock@oracle.com>
630
631 * ctf_types.c (ctf_type_iter_all): New.
632
633 2019-07-13 Nick Alcock <nick.alcock@oracle.com>
634
635 * ctf-open.c (init_symtab): Check for overflow against the right
636 section.
637 (upgrade_header): Set cth_objtidxoff, cth_funcidxoff to zero-length.
638 (upgrade_types_v1): Note that these sections are not checked.
639 (flip_header): Endian-swap the header fields.
640 (flip_ctf): Endian-swap the sections.
641 (flip_objts): Update comment.
642 (ctf_bufopen): Check header offsets and alignment for validity.
643
644 2019-07-13 Nick Alcock <nick.alcock@oracle.com>
645
646 * ctf-open-bfd.c: Add <assert.h>.
647 (ctf_bfdopen_ctfsect): Open string and symbol tables using
648 techniques borrowed from bfd_elf_sym_name.
649 (ctf_new_archive_internal): Improve comment.
650 * ctf-archive.c (ctf_arc_close): Do not free the ctfi_strsect.
651 * ctf-open.c (ctf_bufopen): Allow opening with a string section but
652 no symbol section, but not vice versa.
653
654 2019-07-08 Nick Alcock <nick.alcock@oracle.com>
655
656 * ctf-impl.h (ctf_file_t): New field ctf_openflags.
657 * ctf-open.c (ctf_bufopen): Set it. No longer dump header offsets.
658 * ctf-dump.c (dump_header): New function, dump the CTF header.
659 (ctf_dump): Call it.
660 (ctf_dump_header_strfield): New function.
661 (ctf_dump_header_sectfield): Likewise.
662
663 2019-07-06 Nick Alcock <nick.alcock@oracle.com>
664
665 * ctf-impl.h (ctf_file_t): New fields ctf_header, ctf_dynbase,
666 ctf_cuname, ctf_dyncuname: ctf_base and ctf_buf are no longer const.
667 * ctf-open.c (ctf_set_base): Preserve the gap between ctf_buf and
668 ctf_base: do not assume that it is always sizeof (ctf_header_t).
669 Print out ctf_cuname: only print out ctf_parname if set.
670 (ctf_free_base): Removed, ctf_base is no longer freed: free
671 ctf_dynbase instead.
672 (ctf_set_version): Fix spacing.
673 (upgrade_header): New, in-place header upgrading.
674 (upgrade_types): Rename to...
675 (upgrade_types_v1): ... this. Free ctf_dynbase, not ctf_base. No
676 longer track old and new headers separately. No longer allow for
677 header sizes explicitly: squeeze the headers out on upgrade (they
678 are preserved in fp->ctf_header). Set ctf_dynbase, ctf_base and
679 ctf_buf explicitly. Use ctf_free, not ctf_free_base.
680 (upgrade_types): New, also handle ctf_parmax updating.
681 (flip_header): Flip ctf_cuname.
682 (flip_types): Flip BUF explicitly rather than deriving BUF from
683 BASE.
684 (ctf_bufopen): Store the header in fp->ctf_header. Correct minimum
685 required alignment of objtoff and funcoff. No longer store it in
686 the ctf_buf unless that buf is derived unmodified from the input.
687 Set ctf_dynbase where ctf_base is dynamically allocated. Drop locals
688 that duplicate fields in ctf_file: move allocation of ctf_file
689 further up instead. Call upgrade_header as needed. Move
690 version-specific ctf_parmax initialization into upgrade_types. More
691 concise error handling.
692 (ctf_file_close): No longer test for null pointers before freeing.
693 Free ctf_dyncuname, ctf_dynbase, and ctf_header. Do not call
694 ctf_free_base.
695 (ctf_cuname): New.
696 (ctf_cuname_set): New.
697 * ctf-create.c (ctf_update): Populate ctf_cuname.
698 (ctf_gzwrite): Write out the header explicitly. Remove obsolescent
699 comment.
700 (ctf_write): Likewise.
701 (ctf_compress_write): Get the header from ctf_header, not ctf_base.
702 Fix the compression length: fp->ctf_size never counted the CTF
703 header. Simplify the compress call accordingly.
704
705 2019-07-11 Hans-Peter Nilsson <hp@bitrange.com>
706
707 * ctf-endian.h: Don't assume htole64 and le64toh are always
708 present if HAVE_ENDIAN_H; also check if htole64 is defined.
709 [!WORDS_BIGENDIAN] (htole64, le64toh): Define as identity,
710 not bswap_identity_64.
711
712 2019-09-18 Alan Modra <amodra@gmail.com>
713
714 * ctf-open-bfd.c: Update throughout for bfd section macro changes.
715
716 2019-09-09 Phil Blundell <pb@pbcl.net>
717
718 binutils 2.33 branch created.
719
720 2019-07-18 Nick Alcock <nick.alcock@oracle.com>
721
722 * ctf-types.c (ctf_type_aname_raw): New.
723 (ctf_func_type_info): Likewise.
724 (ctf_func_type_args): Likewise.
725 * ctf-error.c (_ctf_errlist): Fix description.
726 * ctf-lookup.c: Fix file description.
727
728 2019-06-28 Nick Alcock <nick.alcock@oracle.com>
729
730 * ctf-create.c (ctf_create): Fix off-by-one error.
731
732 2019-06-28 Nick Alcock <nick.alcock@oracle.com>
733
734 * ctf-impl.h: (struct ctf_strs_writable): New, non-const version of
735 struct ctf_strs.
736 (struct ctf_dtdef): Note that dtd_data.ctt_name is unpopulated.
737 (struct ctf_str_atom): New, disambiguated single string.
738 (struct ctf_str_atom_ref): New, points to some other location that
739 references this string's offset.
740 (struct ctf_file): New members ctf_str_atoms and ctf_str_num_refs.
741 Remove member ctf_dtvstrlen: we no longer track the total strlen
742 as we add strings.
743 (ctf_str_create_atoms): Declare new function in ctf-string.c.
744 (ctf_str_free_atoms): Likewise.
745 (ctf_str_add): Likewise.
746 (ctf_str_add_ref): Likewise.
747 (ctf_str_rollback): Likewise.
748 (ctf_str_purge_refs): Likewise.
749 (ctf_str_write_strtab): Likewise.
750 (ctf_realloc): Declare new function in ctf-util.c.
751
752 * ctf-open.c (ctf_bufopen): Create the atoms table.
753 (ctf_file_close): Destroy it.
754 * ctf-create.c (ctf_update): Copy-and-free it on update. No longer
755 special-case the position of the parname string. Construct the
756 strtab by calling ctf_str_add_ref and ctf_str_write_strtab after the
757 rest of each buffer element is constructed, not via open-coding:
758 realloc the CTF buffer and append the strtab to it. No longer
759 maintain ctf_dtvstrlen. Sort the variable entry table later, after
760 strtab construction.
761 (ctf_copy_membnames): Remove: integrated into ctf_copy_{s,l,e}members.
762 (ctf_copy_smembers): Drop the string offset: call ctf_str_add_ref
763 after buffer element construction instead.
764 (ctf_copy_lmembers): Likewise.
765 (ctf_copy_emembers): Likewise.
766 (ctf_create): No longer maintain the ctf_dtvstrlen.
767 (ctf_dtd_delete): Likewise.
768 (ctf_dvd_delete): Likewise.
769 (ctf_add_generic): Likewise.
770 (ctf_add_enumerator): Likewise.
771 (ctf_add_member_offset): Likewise.
772 (ctf_add_variable): Likewise.
773 (membadd): Likewise.
774 * ctf-util.c (ctf_realloc): New, wrapper around realloc that aborts
775 if there are active ctf_str_num_refs.
776 (ctf_strraw): Move to ctf-string.c.
777 (ctf_strptr): Likewise.
778 * ctf-string.c: New file, strtab manipulation.
779
780 * Makefile.am (libctf_a_SOURCES): Add it.
781 * Makefile.in: Regenerate.
782
783 2019-06-28 Nick Alcock <nick.alcock@oracle.com>
784
785 * ctf-impl.h (ctf_hash_iter_f): New.
786 (ctf_dynhash_iter): New declaration.
787 (ctf_dynhash_iter_remove): New declaration.
788 * ctf-hash.c (ctf_dynhash_iter): Define.
789 (ctf_dynhash_iter_remove): Likewise.
790 (ctf_hashtab_traverse): New.
791 (ctf_hashtab_traverse_remove): Likewise.
792 (struct ctf_traverse_cb_arg): Likewise.
793 (struct ctf_traverse_remove_cb_arg): Likewise.
794
795 2019-06-28 Nick Alcock <nick.alcock@oracle.com>
796
797 * ctf-hash.c (ctf_dynhash_remove): Call with a mocked-up element.
798
799 2019-06-28 Nick Alcock <nick.alcock@oracle.com>
800
801 * ctf-dump.c (ctf_dump_format_type): Prefix hex strings with 0x.
802 (ctf_dump_funcs): Likewise.
803
804 2019-06-19 Nick Alcock <nick.alcock@oracle.com>
805
806 * ctf-open-bfd.c: Add swap.h and ctf-endian.h.
807 (ctf_fdopen): Check for endian-swapped raw CTF magic, and
808 little-endian CTF archive magic. Do not check the CTF version:
809 ctf_simple_open does that in endian-safe ways. Do not dereference
810 null pointers on open failure.
811
812 2019-06-19 Nick Alcock <nick.alcock@oracle.com>
813
814 * ctf-open.c (get_vbytes_common): Return the new slice size.
815 (ctf_bufopen): Flip the endianness of the CTF-section header copy.
816 Remember to copy in the CTF data when opening an uncompressed
817 foreign-endian CTF file. Prune useless variable manipulation.
818
819 2019-06-19 Nick Alcock <nick.alcock@oracle.com>
820
821 * ctf-open.c (ctf_types): Fail when unidentified type kinds are
822 seen.
823
824 2019-06-19 Nick Alcock <nick.alcock@oracle.com>
825
826 * ctf-open.c (ctf_bufopen): Dump header offsets into the debugging
827 output.
828
829 2019-06-19 Nick Alcock <nick.alcock@oracle.com>
830
831 * ctf-subr.c (_PAGESIZE): Remove.
832 (ctf_data_alloc): Likewise.
833 (ctf_data_free): Likewise.
834 (ctf_data_protect): Likewise.
835 * ctf-impl.h: Remove declarations.
836 * ctf-create.c (ctf_update): No longer call ctf_data_protect: use
837 ctf_free, not ctf_data_free.
838 (ctf_compress_write): Use ctf_data_alloc, not ctf_alloc. Free
839 the buffer again on compression error.
840 * ctf-open.c (ctf_set_base): No longer track the size: call
841 ctf_free, not ctf_data_free.
842 (upgrade_types): Likewise. Call ctf_alloc, not ctf_data_alloc.
843 (ctf_bufopen): Likewise. No longer call ctf_data_protect.
844
845 2019-06-19 Nick Alcock <nick.alcock@oracle.com>
846
847 * ctf-create.c (ctf_dtd_insert): Pass on error returns from
848 ctf_dynhash_insert.
849 (ctf_dvd_insert): Likewise.
850 (ctf_add_generic): Likewise.
851 (ctf_add_variable): Likewise.
852 * ctf-impl.h: Adjust declarations.
853
854 2019-06-14 Alan Modra <amodra@gmail.com>
855
856 * configure: Regenerate.
857
858 2019-06-06 Nick Alcock <nick.alcock@oracle.com>
859
860 * ctf-decls.h: Include <libiberty.h>.
861 * ctf-lookup.c (ctf_lookup_by_name): Call xstrndup(), not strndup().
862
863 2019-06-06 Nick Alcock <nick.alcock@oracle.com>
864
865 * ctf-dump.c (ctf_dump_format_type): Cast size_t's used in printf()s.
866 (ctf_dump_objts): Likewise.
867 (ctf_dump_funcs): Likewise.
868 (ctf_dump_member): Likewise.
869 (ctf_dump_str): Likewise.
870
871 2019-06-06 Nick Alcock <nick.alcock@oracle.com>
872
873 * ctf-archive.c (arc_mmap_header): Mark fd as potentially unused.
874 * ctf-subr.c (ctf_data_protect): Mark both args as potentially unused.
875
876 2019-06-05 Nick Alcock <nick.alcock@oracle.com>
877
878 * ctf-archive.c (ctf_arc_write): Eschew %zi format specifier.
879 (ctf_arc_open_by_offset): Likewise.
880 * ctf-create.c (ctf_add_type): Likewise.
881
882 2019-06-04 Tom Tromey <tromey@adacore.com>
883
884 * ctf-create.c (ctf_add_encoded, ctf_add_slice)
885 (ctf_add_member_offset): Use CHAR_BIT, not NBBY.
886
887 2019-06-04 Nick Alcock <nick.alcock@oracle.com>
888
889 * configure.ac: Check for O_CLOEXEC.
890 * ctf-decls.h (O_CLOEXEC): Define (to 0), if need be.
891 * config.h.in: Regenerate.
892 * configure: Likewise.
893
894 2019-06-04 Nick Alcock <nick.alcock@oracle.com>
895
896 * qsort_r.c: Rename to...
897 * ctf-qsort_r.c: ... this.
898 (_quicksort): Define to ctf_qsort_r.
899 * ctf-decls.h (qsort_r): Remove.
900 (ctf_qsort_r): Add.
901 (struct ctf_qsort_arg): New, transport the real ARG and COMPAR.
902 (ctf_qsort_compar_thunk): Rearrange the arguments to COMPAR.
903 * Makefile.am (libctf_a_LIBADD): Remove.
904 (libctf_a_SOURCES): New, add ctf-qsort_r.c.
905 * ctf-archive.c (ctf_arc_write): Call ctf_qsort_r, not qsort_r.
906 * ctf-create.c (ctf_update): Likewise.
907 * configure.ac: Check for BSD versus GNU qsort_r signature.
908 * Makefile.in: Regenerate.
909 * config.h.in: Likewise.
910 * configure: Likewise.
911
912 2019-06-03 Nick Alcock <nick.alcock@oracle.com>
913
914 * ctf-dump.c (ctf_dump_funcs): Free in the right place.
915
916 2019-05-29 Nick Alcock <nick.alcock@oracle.com>
917
918 * Makefile.am (ZLIB): New.
919 (ZLIBINC): Likewise.
920 (AM_CFLAGS): Use them.
921 (libctf_a_LIBADD): New, for LIBOBJS.
922 * configure.ac: Check for zlib, endian.h, and qsort_r.
923 * ctf-endian.h: New, providing htole64 and le64toh.
924 * swap.h: Code style fixes.
925 (bswap_identity_64): New.
926 * qsort_r.c: New, from gnulib (with one added #include).
927 * ctf-decls.h: New, providing a conditional qsort_r declaration,
928 and unconditional definitions of MIN and MAX.
929 * ctf-impl.h: Use it. Do not use <sys/errno.h>.
930 (ctf_set_errno): Now returns unsigned long.
931 * ctf-util.c (ctf_set_errno): Adjust here too.
932 * ctf-archive.c: Use ctf-endian.h.
933 (ctf_arc_open_by_offset): Use memset, not bzero. Drop cts_type,
934 cts_flags and cts_offset.
935 (ctf_arc_write): Drop debugging dependent on the size of off_t.
936 * ctf-create.c: Provide a definition of roundup if not defined.
937 (ctf_create): Drop cts_type, cts_flags and cts_offset.
938 (ctf_add_reftype): Do not check if type IDs are below zero.
939 (ctf_add_slice): Likewise.
940 (ctf_add_typedef): Likewise.
941 (ctf_add_member_offset): Cast error-returning ssize_t's to size_t
942 when known error-free. Drop CTF_ERR usage for functions returning
943 int.
944 (ctf_add_member_encoded): Drop CTF_ERR usage for functions returning
945 int.
946 (ctf_add_variable): Likewise.
947 (enumcmp): Likewise.
948 (enumadd): Likewise.
949 (membcmp): Likewise.
950 (ctf_add_type): Likewise. Cast error-returning ssize_t's to size_t
951 when known error-free.
952 * ctf-dump.c (ctf_is_slice): Drop CTF_ERR usage for functions
953 returning int: use CTF_ERR for functions returning ctf_type_id.
954 (ctf_dump_label): Likewise.
955 (ctf_dump_objts): Likewise.
956 * ctf-labels.c (ctf_label_topmost): Likewise.
957 (ctf_label_iter): Likewise.
958 (ctf_label_info): Likewise.
959 * ctf-lookup.c (ctf_func_args): Likewise.
960 * ctf-open.c (upgrade_types): Cast to size_t where appropriate.
961 (ctf_bufopen): Likewise. Use zlib types as needed.
962 * ctf-types.c (ctf_member_iter): Drop CTF_ERR usage for functions
963 returning int.
964 (ctf_enum_iter): Likewise.
965 (ctf_type_size): Likewise.
966 (ctf_type_align): Likewise. Cast to size_t where appropriate.
967 (ctf_type_kind_unsliced): Likewise.
968 (ctf_type_kind): Likewise.
969 (ctf_type_encoding): Likewise.
970 (ctf_member_info): Likewise.
971 (ctf_array_info): Likewise.
972 (ctf_enum_value): Likewise.
973 (ctf_type_rvisit): Likewise.
974 * ctf-open-bfd.c (ctf_bfdopen): Drop cts_type, cts_flags and
975 cts_offset.
976 (ctf_simple_open): Likewise.
977 (ctf_bfdopen_ctfsect): Likewise. Set cts_size properly.
978 * Makefile.in: Regenerate.
979 * aclocal.m4: Likewise.
980 * config.h: Likewise.
981 * configure: Likewise.
982
983 2019-05-28 Nick Alcock <nick.alcock@oracle.com>
984
985 * configure.in: Check for bfd_section_from_elf_index.
986 * configure: Regenerate.
987 * config.h.in [HAVE_BFD_ELF]: Likewise.
988 * libctf/ctf_open_bfd (ctf_bfdopen_ctfsect): Use it.
989 abfd is potentially unused now.
990
991 2019-05-28 Nick Alcock <nick.alcock@oracle.com>
992
993 * Makefile.am: New.
994 * Makefile.in: Regenerated.
995 * config.h.in: Likewise.
996 * aclocal.m4: Likewise.
997 * configure: Likewise.
998
999 2019-05-28 Nick Alcock <nick.alcock@oracle.com>
1000
1001 * ctf-dump.c: New.
1002
1003 2019-05-28 Nick Alcock <nick.alcock@oracle.com>
1004
1005 * ctf-labels.c: New.
1006
1007 2019-05-28 Nick Alcock <nick.alcock@oracle.com>
1008
1009 * ctf-impl.h (_libctf_version): New declaration.
1010 * ctf-subr.c (_libctf_version): Define it.
1011 (ctf_version): New.
1012
1013 2019-05-28 Nick Alcock <nick.alcock@oracle.com>
1014
1015 * ctf-create.c (enumcmp): New.
1016 (enumadd): Likewise.
1017 (membcmp): Likewise.
1018 (membadd): Likewise.
1019 (ctf_add_type): Likewise.
1020
1021 2019-05-28 Nick Alcock <nick.alcock@oracle.com>
1022
1023 * ctf-lookup.c (isqualifier): New.
1024 (ctf_lookup_by_name): Likewise.
1025 (struct ctf_lookup_var_key): Likewise.
1026 (ctf_lookup_var): Likewise.
1027 (ctf_lookup_variable): Likewise.
1028 (ctf_lookup_symbol_name): Likewise.
1029 (ctf_lookup_by_symbol): Likewise.
1030 (ctf_func_info): Likewise.
1031 (ctf_func_args): Likewise.
1032
1033 2019-05-28 Nick Alcock <nick.alcock@oracle.com>
1034
1035 * ctf-decl.c: New file.
1036 * ctf-types.c: Likewise.
1037 * ctf-impl.h: New declarations.
1038
1039 2019-05-28 Nick Alcock <nick.alcock@oracle.com>
1040
1041 * ctf-open-bfd.c: New file.
1042 * ctf-open.c (ctf_close): New.
1043 * ctf-impl.h: Include bfd.h.
1044 (ctf_file): New members ctf_data_mmapped, ctf_data_mmapped_len.
1045 (ctf_archive_internal): New members ctfi_abfd, ctfi_data,
1046 ctfi_bfd_close.
1047 (ctf_bfdopen_ctfsect): New declaration.
1048 (_CTF_SECTION): likewise.
1049
1050 2019-05-28 Nick Alcock <nick.alcock@oracle.com>
1051
1052 * ctf-archive.c: New.
1053 * ctf-impl.h (ctf_archive_internal): New type.
1054 (ctf_arc_open_internal): New declaration.
1055 (ctf_arc_bufopen): Likewise.
1056 (ctf_arc_close_internal): Likewise.
1057
1058 2019-05-28 Nick Alcock <nick.alcock@oracle.com>
1059
1060 * ctf-open.c: New file.
1061 * swap.h: Likewise.
1062
1063 2019-05-28 Nick Alcock <nick.alcock@oracle.com>
1064
1065 * ctf-create.c: New file.
1066 * ctf-lookup.c: New file.
1067
1068 2019-05-28 Nick Alcock <nick.alcock@oracle.com>
1069
1070 * ctf-impl.h: New definitions and declarations for type creation
1071 and lookup.
1072
1073 2019-05-28 Nick Alcock <nick.alcock@oracle.com>
1074
1075 * ctf-hash.c: New file.
1076 * ctf-impl.h: New declarations.
1077
1078 2019-05-28 Nick Alcock <nick.alcock@oracle.com>
1079
1080 * ctf-error.c: New file.
1081
1082 2019-05-28 Nick Alcock <nick.alcock@oracle.com>
1083
1084 * ctf-util.c: New file.
1085 * elf.h: Likewise.
1086 * ctf-impl.h: Include it, and add declarations.
1087
1088 2019-05-28 Nick Alcock <nick.alcock@oracle.com>
1089
1090 * ctf-impl.h: New file.
1091 * ctf-subr.c: New file.
1092
1093 \f
1094 Local Variables:
1095 mode: change-log
1096 left-margin: 8
1097 fill-column: 76
1098 version-control: never
1099 End: