forked from davea42/libdwarf-code
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
647 lines (493 loc) · 20.8 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
2025-04-02: David Anderson
commit 78232149dfa4740387aedbc0a5bb4e3ba111258e
Regenerated, now April.
modified: bugxml/dwarfbug.html
modified: bugxml/dwarfbuglohi.html
Added release date of 0.12.0
modified: doc/libdwarf.dox
2025-04-01: David Anderson
commit d17ee7fd000076c923d50cf654c7be7f5af1442f
regenerated
modified: doc/libdwarf.pdf
Now mentions mmap() is usable only
on Elf object files. Other objects always use malloc().
modified: src/lib/libdwarf/libdwarf.h
2025-04-01: David Anderson
commit 7f7df06c5b16e5a0edd0730adbd1566777989eb4
Updated date to April 2.
modified: doc/libdwarf.dox
modified: doc/libdwarf.pdf
Added fuller explanation of the use of
shell envronment variable 'DWARF_WHICH_ALLOC'
to influence the use of malloc() vs mmap().
mmap() is only usable (in this release) on Elf
object files.
modified: src/lib/libdwarf/libdwarf.h
2025-03-31: David Anderson
commit 61e39cfb6d33cfeb232ab902be7a339f0ba9f3ca
Now 'make check' and the like protect against
errors in setting up DW_LNAME data and code.
modified: test/CMakeLists.txt
modified: test/Makefile.am
modified: test/meson.build
modified: test/test_lname.c
2025-03-31: David Anderson
commit 6000fa71301fcd8aeba863188449e2a03954439c
Renaming for configure sanity.
renamed: ../../../test/test_LNAME.c -> ../../../test/test_lname.c
2025-03-31: David Anderson
commit 092ce1afd56464c082e0f86a2052b971ba5b1006
New test code, not yet tested.
new file: test/test_LNAME.c
2025-03-31: David Anderson
commit 5388eb015258d2e13185dcefd8eaf1a869c54d43
Added these to the list of arguments that
are sort of artifical (like -v) and do not
count as removing the default-set of
sections dwarfdump will print
+"--no-dup-attr-check",
+"--allocate-via-mmap",
modified: src/bin/dwarfdump/dd_command_options.c
2025-03-31: David Anderson
commit 7ab2b8ae36415aae9096bc42044db51f26a8be84
Renaming locals and an argument for slightly
better clarity.
modified: src/lib/libdwarf/dwarf_object_detector.c
2025-03-31: David Anderson
commit 4735bf67d34af7447a46ec036ee1159de6cfb646
Slight improvement of output for the debug-only function
dump_bytes().
modified: src/lib/libdwarf/dwarf_xu_index.c
2025-03-31: David Anderson
commit c535d52a8be7ac7ab9058ec0195190716f5c310b
Corrected an @since to 0.12.0
modified: src/lib/libdwarf/libdwarf.h
2025-03-30: David Anderson
commit 08ff7580f0afe0ea9b4ba61092cc545512e4360e
On linux gdb and valgrind and libc notice
that printf of sequential byte pairs, where
the byte-pairs accidentally overlap (!) due
to a mistake in this source... is bogus.
MacOS notices too, but it reports "Trace/BPT trap: 5"
which is quite mysterious.
This is a serious bug which has been in place
since support for the DWARF5 .debug_names section
was added. It crashes the app reading the .debug_info
section reliably.
Of course simplereader is just an example, but
still...needs to be correct
It had been hidden from testing before due to an oversight in
the debugfissionb directory in regressiontests
was coded. We now prevent corrupt
DWARF with duplicated attributes in a PE file from
showing an error and avoiding
any meaingful test. Just for this case.
So the tests are now fixed too.
modified: src/bin/dwarfexample/simplereader.c
2025-03-28: David Anderson
commit 1baf707364137410a9ed85ee8491ff88886b77f8
Up to date with git log now.
modified: ChangeLog
2025-03-28: David Anderson
commit ab3a3b92594ccebbd3b5678c680fc557cb16bead
Now we handle the latest DW V6 language_name:
DW_LNAME_Nim
modified: src/lib/libdwarf/dwarf.h
modified: src/lib/libdwarf/dwarf_names.c
modified: src/lib/libdwarf/dwarf_query.c
2025-03-28: David Anderson
commit ad7d97b0434757cb3f43b77e0c322ae5005af9cf
Added and documented
dwarf_language_version_string()
to the API so programs can interpret the
version (as an integer) in detail should
they wish to do so.
The intent is the actual version is an integer
and trivial to compare. It's possible
(though highly unlikely) that a real version
might not be representable directly.
DW_AT_language_version is a DWARF class CONSTANT,
not a string.
modified: doc/libdwarf.dox
modified: src/lib/libdwarf/dwarf.h
modified: src/lib/libdwarf/dwarf_query.c
modified: src/lib/libdwarf/libdwarf.h
2025-03-27: David Anderson
commit e2a9d050652d0ff1b908dc02dfdb8c9ba177fad0
Regenerated, now says version is 0.12.0
modified: src/bin/dwarfdump/dwarfdump-af-table-ext.h
modified: src/bin/dwarfdump/dwarfdump-af-table-std.h
modified: src/bin/dwarfdump/dwarfdump-ta-ext-table.h
modified: src/bin/dwarfdump/dwarfdump-ta-table.h
modified: src/bin/dwarfdump/dwarfdump-tt-ext-table.h
modified: src/bin/dwarfdump/dwarfdump-tt-table.h
Regenerated with 'make rebuild' using configure
and now including dwarf_get_LNAME_name()
modified: src/lib/libdwarf/dwarf_names.c
Added the DW_LNAME logical compiler naming from
DWARF6. dwarfstd.org says these are things which
will not change (more may be added) and compilers
are explicitly allowed to generate DW_LNAME.
modified: src/lib/libdwarf/libdwarf.h
Added the function prototype dwarf_get_LNAME_name()
which returns the ascii string, such as
"DW_LNAME_C" when 0x03 is passed in.
modified: src/lib/libdwarf/dwarf.h
2025-03-23: flagarde
commit 8a87114729a6615fdd1f4fc59acb5ba7c5313a91
Suppress FIND_LIBRARY_USE_LIB64_PATHS (#281)
As mentioned in the command CMake already deals with this. Worse adding this ourself could create some trouble for people using this repo with add_subdirectory or FetchContent etc...
2025-03-19: David Anderson
commit f3498509cff5bf364201d594c82caa8b519580be
Tweaking Changes wording.
modified: doc/libdwarf.dox
modified: doc/libdwarf.pdf
Now the files it builds include the version,
specifically 0.12 now, in the directories
created in /var/tmp.
modified: scripts/allsimplebuilds.sh
2025-03-18: David Anderson
commit 40378de7942921d3d0841c67fc5069ff4b0827a1
Now with dwarf_linesrc() shown and used properly
with dwarf_dealloc.
modified: doc/checkexamples.c
modified: doc/libdwarf.dox
modified: doc/libdwarf.pdf
Mentions example of dwarf_linesrc()
modified: src/lib/libdwarf/libdwarf.h
2025-03-18: David Anderson
commit 5f4300e0e357ee4d9f97821ff36794b3401c66a7
Additions to options for mmap and
adding the MISCELLANEOUS section.
modified: dwarfdump.1
2025-03-18: David Anderson
commit a4f432b3755fddaabf32cc930f98d93ad10ce538
Changing internal prototype so in case of duplication
an additional offset of the abbrev block is printed
when finding the count of entries in a single abbrev.
modified: dwarf_abbrev.c
modified: dwarf_abbrev.h
To match the revised prototype getting abbrev count..
modified: dwarf_util.c
2025-03-17: David Anderson
commit e36a0bae95b7d53b3b4ed2acfc5b0025f00ca289
Corrected spelling of new long options,
using - not _ in the options.
modified: src/bin/dwarfdump/dd_command_options.c
2025-03-17: David Anderson
commit 9e3b7d06b0eb4c5139614ea84c46a9449c830824
Added a cast to avoid VS warning.
modified: src/bin/dwarfdump/dwarfdump.c
2025-03-17: David Anderson
commit 2c78ec2d525b4e732060c897add64caa49d2ec3c
Two places implicit conversion of attribute
from Dwarf_Unsigned to Dwarf_Half gave warning.
Now has two casts. By definition attribute
numbers (names) fit in 16 bits.
modified: src/lib/libdwarf/dwarf_abbrev.c
2025-03-17: David Anderson
commit 0aa7b761d1afc9067b92d241e015801065180004
Fixing warnings from VS.
modified: src/bin/dwarfdump/dwarfdump.c
2025-03-17: David Anderson
commit fcb06732b2d17663a2211512c8f5c78bfb8e0ba3
Bad handling of HAVE_FULL_MMAP, noted
by VS build failing.
modified: src/lib/libdwarf/dwarf_alloc.c
2025-03-16: David Anderson
commit 1b3d257a9c2f736098aaf34038e498e26b4df46f
Now only with 2025
modified: ChangeLog
All the 2924 changes
new file: ChangeLog2024
2025-03-16: David Anderson
commit dae7881e329a3e2549d081bdf856e6d8db3ba340
Up to date with git log, now with mmap support
modified: ChangeLog
2025-03-16: David Anderson
commit eda7a95c0da68a7b5c40bd01b5d9e01736676f50
Removed trailing whitespace, fixed too-long lines
modified: src/bin/dwarfdump/dd_command_options.c
modified: src/bin/dwarfdump/dwarfdump.c
2025-03-16: David Anderson
commit 280bc23f175cad793b5099015507cafc90fe6cdf
removed trailing whitespace and fixed indents
per project coding style.
modified: src/lib/libdwarf/dwarf.h
modified: src/lib/libdwarf/dwarf_alloc.c
modified: src/lib/libdwarf/dwarf_elfread.c
modified: src/lib/libdwarf/dwarf_generic_init.c
modified: src/lib/libdwarf/dwarf_init_finish.c
modified: src/lib/libdwarf/dwarf_local_malloc.c
modified: src/lib/libdwarf/dwarf_local_malloc.h
modified: src/lib/libdwarf/dwarf_machoread.c
modified: src/lib/libdwarf/dwarf_opaque.h
modified: src/lib/libdwarf/libdwarf.h
2025-03-16: David Anderson
commit 54bc048fb15c93fa95f017dac07fe85170362bcd
Small addition to the file.
modified: doc/LibdwarfInternals.md
2025-03-16: David Anderson
commit c4fbaaeda2feaafcc620d6bd5e927575eae8927b
New options to prevent a libdwarf build from including
references to mmap or sysconf or sys/mman.h:
-DBUILD_MMAP=NO
modified: CMakeLists.txt
--disable-mmap
modified: configure.ac
Additional doc on mmap support
modified: doc/libdwarf.dox
Regenerated
modified: doc/libdwarf.pdf
-Dbuildmmap=false
modified: meson.build
modified: meson_options.txt
2025-03-16: David Anderson
commit 43831b87e10e1e2503b625611ab66e00e256e4aa
This completes the work for release 0.12.0
(release date not yet scheduled) which enables
use of mmap or malloc/read when libdwarf
accesses object section data.
A major compatibility break requiring
code calling the library be recompiled with
the new library.
Systems without the functions/data to use mmap
will compile normally, though the compatibility
break is still applicable.
Small changes may be required before release.
Normal automatic update.
modified: bugxml/dwarfbug.html
modified: bugxml/dwarfbuglohi.html
Documenting the changes 0.11.1 to 0.12.0
modified: doc/libdwarf.dox
Minor tweaks to fix tiny mistakes in the new mmap
access code.
modified: src/lib/libdwarf/dwarf_elfread.c
modified: src/lib/libdwarf/dwarf_init_finish.c
2025-03-15: David Anderson
commit bdcf44f89083d662a0efbae7f3e3efc4e68299d4
Used the wrong destructor function in the modules
structure. Result was crash.
Repaired now.
modified: src/lib/libdwarf/dwarf_machoread.c
For linking into test/test_setupsections we need
to +#ifndef TESTING
on one line.
modified: src/lib/libdwarf/dwarf_setup_sections.c
2025-03-15: David Anderson
commit bada3224374f4515bee8483fb90bbb3f6ca363be
Merge: 62351112 e110bfe7
Merge branch 'mmap'
This merges mmap support and clarifies how allocations
of section data are released, whether malloc or mmap.
2025-03-15: David Anderson
commit e110bfe7c2a158adc899cb73d2ab3d19e19abd8c
Support for requesting mmap in libdwarf added.
modified: src/bin/dwarfdump/dd_command_options.c
modified: src/bin/dwarfdump/dd_glflags.c
modified: src/bin/dwarfdump/dd_glflags.h
modified: src/bin/dwarfdump/dwarfdump.c
Now matches the new methods function set in libdwarf.h
modified: src/bin/dwarfexample/jitreader.c
Support for mmap use when requested
and small changes allowing improved malloc reporting
for debugging when compiled for debugging.
modified: src/lib/libdwarf/dwarf_alloc.c
modified: src/lib/libdwarf/dwarf_elfread.c
modified: src/lib/libdwarf/dwarf_elfread.h
modified: src/lib/libdwarf/dwarf_generic_init.c
modified: src/lib/libdwarf/dwarf_init_finish.c
modified: src/lib/libdwarf/dwarf_local_malloc.c
modified: src/lib/libdwarf/dwarf_local_malloc.h
modified: src/lib/libdwarf/dwarf_machoread.c
modified: src/lib/libdwarf/dwarf_peread.c
modified: src/lib/libdwarf/dwarf_setup_sections.c
modified: src/lib/libdwarf/dwarf_util.c
2025-03-15: David Anderson
commit 5cf32fa1c6d11f54fa78e0d833a3701af35fcb47
Small changes to Dwarf_Section and Dwarf_Debug to
allow use of mmap when such requested.
modified: src/lib/libdwarf/dwarf_opaque.h
2025-03-15: David Anderson
commit 15bf2e3d72c6d417fe17bdab9c4572a0b634eb3a
Now with revised Dwarf_Obj_Access_Methods_a_s to allow
for mmap of section data.
And additional API functions to allow users to
request mmap.
modified: src/lib/libdwarf/libdwarf.h
2025-03-15: David Anderson
commit 4174defeeff39ff0ae24816f031181a5c05947cf
New documentation, plain markdown and as html
new file: doc/LibdwarfInternals.html
modified: doc/LibdwarfInternals.md
2025-03-15: David Anderson
commit b907964f10938e9afadab65fbfcf3899d97453e8
Some additions.
modified: LibdwarfInternals.md
2025-03-15: David Anderson
commit f564126aed005d33b012f11cb70f1f513f373ebf
Starting to clarify the internal complexity
new file: LibdwarfInternals.md
2025-02-27: David Anderson
commit e02caf3da1b31c257bc9938a7d207b3c13b7cf0b
for dwarf_setup_sections TESTING avoid doing getenv or
referring to the alloc type.
modified: src/lib/libdwarf/dwarf_setup_sections.c
Ensure that -DTESTING is set for dwarf_setup_sections testing.
modified: test/CMakeLists.txt
modified: test/Makefile.am
2025-02-27: David Anderson
commit e52cd155baf676e411561699ca42d05e12efbf37
DO NOT USE THIS COMMIT.
Just fixing formatting errors.
modified: dwarf_alloc.c
modified: dwarf_elfread.c
modified: dwarf_elfread.h
modified: dwarf_generic_init.c
modified: dwarf_init_finish.c
modified: dwarf_macro5.c
modified: libdwarf.h
2025-02-26: David Anderson
commit 0269cf9c6517a1bfe48894420c07787984db82b4
DO NOT USE THIS COMMIT
mmap support now compiles but is not
yet finished.
modified: dwarf_alloc.c
modified: dwarf_elfread.c
modified: dwarf_elfread.h
modified: dwarf_generic_init.c
modified: dwarf_init_finish.c
modified: dwarf_machoread.c
modified: dwarf_opaque.h
modified: dwarf_peread.c
modified: dwarf_setup_sections.c
modified: libdwarf.h
2025-02-25: David Anderson
commit 7b821f5a15be21c8684e73eb6485ccf1805909b9
Allowing, but not using, mmap (due to public struct change)
modified: src/bin/dwarfexample/jitreader.c
2025-02-25: David Anderson
commit 23dcb847fe01e32fb9e7fcbc59eb1ca4d4771574
With HAVE_FULL_MMAP checks
modified: cmake/config.h.in
modified: configure.ac
2025-02-25: David Anderson
commit 455a8395f2e0e9b976d595d2524636067d284975
with mmap checks and version updates to 0.12.0
modified: CMakeLists.txt
modified: doc/libdwarf.dox
modified: doc/libdwarfp.mm
modified: meson.build
modified: tools/makerelease.sh
2025-02-23: Jeremy Rifkin
commit 623511122046fca0aefcfbd86f9e41338e95b083
Bump cmake minimum version (#278)
Now cmake version 3.10 required.
2025-02-11: David Anderson
commit 1295c345a7990f6600df56ff22f9db41e1a51efd
Now handles unmap and record keeping
for using mmap instead of malloc/read on section content.
Nothing here yet for mapping or choices of which
to use.
modified: src/lib/libdwarf/dwarf_alloc.c
modified: src/lib/libdwarf/dwarf_elfread.c
modified: src/lib/libdwarf/dwarf_init_finish.c
modified: src/lib/libdwarf/dwarf_opaque.h
2025-02-11: David Anderson
commit bc2ad1e8c1472929e3d26fbbb7669e4b26f05b92
Now checks for mmap working.
modified: configure.ac
2025-02-07: David Anderson
commit b118891af36938b187d95a7b6d03179b33cd6adc
Regenerated
modified: bugxml/dwarfbug.html
modified: bugxml/dwarfbug.xml
modified: bugxml/dwarfbuglohi.html
2025-02-07: David Anderson
commit 03e11438aa5db4b307c233b9fff2b52629aeea30
Up to date with git log
modified: ChangeLog
2025-02-07: David Anderson
commit 036e4e8e06b113e540fdec1d819151daf3fff7cb
Added gitfixid for dwarf_macro5.c fix.
DW202502-001
modified: bugxml/data.txt
2025-02-07: David Anderson
commit e5433ac103761f5f8d135f688bccce1b38cf956d
Up to date with gitlog and
the dwarf_macro5.c fix.
modified: ChangeLog
2025-02-07: David Anderson
commit 0574a76172557214881161b175491d58840271de
Updated with
id: DW202502-001
fuzzer: oss fuzz 394644267
datereported: 2025-02-05
modified: bugxml/data.txt
regenerated
modified: bugxml/dwarfbug.html
modified: bugxml/dwarfbug.xml
modified: bugxml/dwarfbuglohi.html
2025-02-07: David Anderson
commit 156156a80affdc63b851fbf7fdc01e4d41849eb0
Fix for
id: DW202502-001
fuzzer: oss fuzz 394644267
datereported: 2025-02-05
Heap buffer overflow in dwarf_macro5.c
Has been a bug since dwarf_macro5 was first written in 2021
or so.
modified: src/lib/libdwarf/dwarf_macro5.c
2025-02-07: David Anderson
commit 0b5b12d25eda70aecc15d6023bc59f8ee8707ccc
New month, changing the current month field.
modified: bugxml/dwarfbug.html
modified: bugxml/dwarfbuglohi.html
2025-02-07: David Anderson
commit 304e3b74896c4010fdddcb3ba9fd1f60a4f8c765
For large sections (like .debug_info) avoid preloading the
hash table recording allocation with a gigantic
allocation. If necessary it will later increase
the allocation automatically.
modified: dwarf_alloc.c
2025-01-08: David Anderson
commit ed74b438dcbbf74759a15324c93d924191823ea7
As of 6 January 2025 the DWARF committee
voted to make W_AT_language_name
and DW_AT_language_version from DWARF6
immutable values now. So compilers wishing
to add either or both to DWARF5
compiler output are officially allowed to use
these now.
modified: dwarf.h
Regenerated.
modified: dwarf_names.c
2025-01-03: David Anderson
commit 85df8598586f0020cabc61d301679cea718e9071
All now use permissions: contents: read
modified: freebsd_autotools.yml
modified: freebsd_cmake.yml
modified: freebsd_meson.yml
modified: mac_autotools.yml
modified: mac_cmake.yml
modified: mac_meson.yml
modified: msys2_autotools.yml
modified: msys2_cmake.yml
2025-01-03: David Anderson
commit dd06108cc6beea4ae1be2eaf1953328ffab313d7
Removed a no-longer needed python2 pip install
modified: test.yml
2025-01-03: David Anderson
commit 8de7d149d6e10f06dc03f50741350aa1d75adaa6
Fails install mingw-w64-x86_64-python3-pip
so removed that.
modified: msys2_meson.yml
2025-01-03: David Anderson
commit 22250afb0ade2fef537629fb428ab305707cf3dc
New month so month updated.
modified: bugxml/dwarfbug.html
modified: bugxml/dwarfbuglohi.html
2025-01-03: David Anderson
commit 6f0c07087ad13cc11ef3f5ee21ac94c1060a03cd
Testing reformat of permissions:
modified: test.yml