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