13.0.0 01may06 Initial release after promotion from 1.3.86 in order to reduce 2 confusion with 2.x series. 3 Added user's manual pdf file to distribution in doc/. 4 Added vertex and rtlbrowse for sourcecode annotation. 53.0.1 09may06 Automatically add extensions to save filenames in gtkwave. 6 Cygwin compile fixes. Add Cygwin functionality for fork() 7 related ops that do in fact work properly. 83.0.2 09may06 More fixes for full function (except pthreads) in Cygwin. 9 Requires usage of Cygserver if rtlbrowse is to work. 10 Fixed fonts for Cygwin to improve readability. 11 The Courier font is very bad looking and blitter mangled under 12 cygwin. 133.0.3 29may06 Changed yylineno references in vlex.l in rtlbrowse to 14 my_yylineno as newer versions of flex automatically define 15 this and cause duplicate symbols. 16 Saw there were still problems with courier on debian. Also 17 check for misc-fixed on non-cygwin systems just in case. 183.0.4 30may06 Added busy watch (hourglass) for long ops that lock the GUI. 19 Fixed replace function in treesearch_gtk2 so it doesn't 20 simply replace with the last signal. (Iterator shouldn't 21 be used the way it was.) 223.0.5 08jun06 Reworked tree structure code to handle new tree layout 23 such that strings are embedded at the end of struct. This 24 reduces memory usage overall. 25 Added in implicit hierarchy split on pipe character in 26 symbol names as these only really happen in netlists that 27 have escaped identifiers. 28 For vzt and lxt2 loaders added block allocation of symbols 29 and nodes during init in order to allow denser memory 30 allocation as the bookkeeping overhead between allocations 31 internal to malloc() is unnecessary as the number of 32 elements is known at the outset. Also removed hashing in 33 aet2, lxt, lxt2, vzt as sym[hv] is unused on sorted facs. 34 Removed unnecessary strlen() calls after sprintf() in the 35 dumpfile loaders as the string length is known from the rc 36 of sprintf. 37 Fixed T_SCOPE rule in vcd.c as dotted hierarchies would 38 throw off the parser as hierarchies themselves are 39 (in practice) never really escaped. 40 In tree.c, treenamefix() would recurse more than necessary 41 such that some dotted hierarchies would cause an order of 42 n squared recursion and as such never complete running 43 due to the size of the hierarchy. 44 Found non _2 versions of memory allocate/free being used 45 in various non-library places. 46 Fixed signal aliasing problems in GHW traces that have 47 memories or aliased signals in ghw.c. 48 Added handling for e8 datatypes and arrays in ghwlib.c 49 and ghw.c. 50 Updated ghwlib.c and main.c in order to handle gzip or 51 bzip2 compressed files. Extension can be .ghw, .ghw.gz, 52 or .ghw.bz2 and the file will be handled properly. Note 53 that as the matchword is consulted, just .ghw can be used 54 to specify a gzip or bzip2 file implicitly. 55 Added ghwdump and ghwdump.1 to the distribution (from ghdl) 56 as it is helpful for debugging ghw file failures. 573.0.6 14jul06 Added "Real" option for data type display as passing around 58 real numbers in Verilog across modules needs to be done 59 with $realtobits and $bitstoreal. 60 Added scripting command flag --script in order to allow 61 autosetup of things that are outside of config file control. 62 This also allows doing things such as automated print jobs. 63 Added --nowm to remove window manager control on most 64 windows the viewer brings up. 65 Added --xid to allow turning the viewer into a plug-in for 66 calling by foreign applications. This will allow integration 67 of the viewer into a single window for example, with IDEs. 68 Added --nomenus to remove menus for the case when used in 69 conjunction with --xid and it is desired to create an 70 embedded wave viewer applet that cannot initiate file I/O 71 on its own. Note that earlier versions of GTK+ cannot 72 handle menu events properly from a GtkPlug. 73 Fixed problem with dead memory allocations for GtkColor 74 structs in color.c as found by Valgrind. 75 Moved .odt version of the user's guide into doc/ rather than 76 the pdf version as this is a sourcecode distribution so the 77 original word processor document should be there. The .pdf 78 will still be up on the homepage on the website. 79 Added example script (for use with the -S option) in the 80 examples/ directory that prints some waves then exits. 81 Found problem with directive-based string embedding in older 82 gcc compiler versions. 83 GTK+-1.2 doesn't handle GtkPlug. 843.0.7 17jul06 Added support for dualview of waveforms using GtkPlug and 85 shared memory IPC through use of the "twinwave" front end. 86 Updated documentation to add a section on twinwave. 873.0.8 04aug06 Modified order of flags in twinwave as appending flags 88 does not work when longopt isn't used. 89 Subscripted GtkItemFactoryEntry menu_items for AIX compile. 90 More AIX fixes such as conditional alloca.h usage and 91 not including getopt.h. 92 Removed unused "bus" element from struct fac. 93 Added interactive loading of vcd files with the routines in 94 vcd_partial.c. Added shmidcat to the distribition to test 95 this new interactive loading functionality. 96 Added real_parameter vartype (Riviera Aldec 2006.6) in all 97 vcd loaders. 983.0.9 10aug06 Fixing compiler warnings across various systems. 99 Minor speedup in sigcmp() in bitvec.c for EOS detection. 100 Fix in vcd_partial.c loader that crashed on interactive 101 loads when blank traces are present in the save file. 1023.0.10 13aug06 Found inadvertant 64/32 bit conversion in regex.c that was 103 from not including "debug.h" header file. 104 Missing headers for gcc-3.2.x and earlier dealing with 105 select(). 106 Converted fgetmalloc() to use vlists in order to cut 107 down on the backflips and traversal required for the old 108 one character per struct method. 109 Added VCD recoder that stores the VCD in memory using a 110 new recoding scheme rather than histents. HistEnt structs 111 are created as needed. The old VCD loader is still used for 112 --interactive, or if --legacy is used at the command line. 113 Added dynamic zlib compression support to VCD recoder and 114 vlist_compression_depth rc variable. -1 disables, 0-9 115 mirror zlib compression depths. 1163.0.11 12sep06 Updated documentation to include section on VCD recoding 117 strategy and LXT (version 1) file format. 118 Removed unnecessary mallocs and functions in vcd_recoder.c. 119 Cleanup of all warnings with gcc -pedantic in gcc3 120 excluding long long integer constant and string constant 121 length warnings. 122 Disabled splash screen when loading VCD from stdin. 123 Cygwin compile fixes (3.0.10 broke the compile). 1243.0.12 19sep06 Updated production rule in verilog.g to handle compiling 125 parameterized components in opensparc without dying. 126 Integrated a lot of compatibility fixes from Peter O'Gorman. 127 Actually use config.h for better compatibility now. 128 Check for endianness in vzt read/write if XDRs not available 129 rather than assuming windows will byte reverse. 130 Fixed single time read in vzt_read.c as it wasn't working 131 properly in rtlbrowse. 132 Added -f (insert args from file) option to vertex. 1333.0.13 06oct06 Updated odt file documentation to make chapter-like page 134 breaks. 135 Updated lxt2vcd and vzt2vcd to emit proper VCD headers for 136 other tools that expect them. 137 Added attempt_vecmatch() in bitvec.c to match vectors based 138 on numbers inside nets in order to match on vectors inside 139 of flattened netlist latches (e.g., top.xyz[0:7]_Z). 140 Fixed regex compare on illegal regexs that caused viewer 141 crash (e.g., when comparing on a single left bracket or 142 any other illegal regex). 1433.0.14 17oct06 Fixed vztminer and lxt2miner so not specifying -n actually 144 works. Updated manpages and UM for those executables to 145 fix description errors. 146 Now can snap cursor to named markers--this was overlooked. 147 Changed recoder scheme for single bits slightly in order 148 to pack 2 more bits in for 0/1 transitions. This implies 149 that 0..31 timesteps can be encoded in 1 byte for the 150 common case. 1513.0.15 27oct06 Added getopt_long from GNU project. 152 Fixed broken compile under GTK1 for rtlbrowse makefile. 153 Now can recoalesce bitblasted vectors in rtlbrowse. 154 Updated finalize in vcd recoder to add fake 'x' vch for 155 non-aliased facilities. Normally all facs are initialized, 156 but noticed that libvcddump doesn't do this. 1573.0.16 13nov06 Patches to remove some compile warnings under Cygwin. 158 Changed maxdata linker flag for AIX to allow 3.25GB of 159 data segment area for AIX5.3. 160 Changed unsigned integer splay comparisons in vzt_write.c 161 for a slight speedup. 162 Updated configure patch scripts to patch over a "LEX = :" 163 glitch for AIX5.3 and also to use gcc in AIX for the pccts 164 compile because of xlc incompatibilities with it. 165 Fixed bug in draw_hptr_trace_vector_analog() that would 166 cause crashes on pure real vectors when zoomed out fully. 167 Added dynamic tooltips on current marker values for both 168 the left and middle mouse buttons (not tested for Win32 169 yet so disabled there). 170 Added preliminary support for changing menu accelerators 171 through the rc file with an "accel" statement. 1723.0.17 27nov06 Fix in vcd recoder for SystemC which doesn't emit time 173 zero in the initial dumpvars. (would be needed anyway for 174 dumpers that for some reason don't as the 1st value 175 change collapses into the second) 1763.0.18 28nov06 Fix in vcd saver for when units are in seconds: keeps 177 timescale of "ss" being used instead of just "s". 178 Locale problem in printing of floating point numbers fixed 179 by setting up a local fixer routine in config.h for 180 availability across all executables. 181 Fix in all vcd loaders to handle "port" (along with other 182 keywords) that appear in non-keyword parts of the $VAR 183 declaration sequence. 184 Fixed long standing LXT bug with integer datatype on 185 trivial LXT files. (Overflow in lt_buf decoder buffer.) 1863.0.19 21dec06 More locale fixing with LC_ALL. 187 Added user patches from NIIBE Yutaka to remove requirement 188 for the GTK_ENABLE_BROKEN flag in GTK2 compilation. 1893.0.20 21jan07 Fixed string/real handling in VCD recoder as it did not 190 properly add the right-hand side endcaps which would 191 crash pattern search. 192 Made vcd recoder more robust to be able to handle 'b' 193 value changes for string data as well as wires with 194 's' type data (for FlashSim). 195 Updated strace.c to allow forward/backward on strings and 196 reals. 1973.0.21 02feb07 Added support for in/out/inout evcd ports generated by 198 dumpports in ModelSim. 199 Fixed problem with hierarchy being out of order as 200 treegraft needed to be followed by treesort. This mostly 201 impacted recursive hierarchy imports by only allowing 202 two signals to import rather than all of them. Also there 203 was an inconsistency with the signal ordering with VCD vs 204 the database formats because of this. 2053.0.22 19feb07 Bumped up hash size from 65519 to 500009 entries for VCD 206 parsers. 207 Bumped up max VCDID fastindex size to 8M entries. 208 Now use gperf for verilog datatypes for some speedup in 209 gtkwave vcd loaders. 210 create_sorted_table() changed to deallocate long names in 211 vcd converters as the names are no longer needed once the 212 writer has them. 213 Fixed GTK1 makefile in src/ as twinwave had pkg-config 214 for GTK2. 215 Stray getopt.h include in v2l_analyzer_lxt2.h needed to 216 be #ifdef'ed with HAVE_GETOPT_H for Solaris. 217 XDR library -lnsl explicitly listed for Solaris. 218 PATH_MAX set if not defined in verilog.g for Vertex. 219 Regenerated configure for setenv()/unsetenv() presence 220 which impacts Solaris (use putenv() instead). 221 Regenerated configure to handle auto detect of -lnsl, 222 -lrpc, and -lpthread. 223 Added -c to file install in top-level makefile (Solaris). 224 Use _LARGEFILE_SOURCE value from configure with linux 225 rather than assuming it is always 1 with linux. 226 Fix to preproc.c in vertex as it was attempting to parse 227 directories. This works ok under linux with EOF but causes 228 problems under AIX. 2293.0.23 19mar07 Added corresponding va_end() for all va_start(). 230 Added optional frequency display between markers, also added 231 rc variable of use_frequency_display and menu options to 232 support this. 233 Placed mainbox for marker text label widgets inside an event 234 box as this seems to fix the centering problems with GTK2. 2353.0.24 02apr07 Fixed makefile generation so 32bit AIX will use >256MB in 236 src/helpers. 237 Updated vzt2vcd and lxt2vcd so it handles the zero index of 238 bitblasted vectors (from ncsim). 239 Updated vzt reader so it can re-coalesce bitblasted vectors 240 provided the dumped bits are adjacent/in order. 241 Minor bugfixes to vztminer and lxt2miner with respect to 242 dumpon/dumpoff (don't emit $dumpon/$dumpoff strings as 243 that code was leftover from the vzt2vcd). 244 Updated manpages for vzt2vcd, lxt2vcd, and vztminer. 245 On concatenated vector loads ('#'/':' in savefile), attempts 246 to do a load of a monolithic vector on fail. This is 247 somewhat related to the re-coalesce vectors feature above. 248 Implemented reverse of this for monolithic vectors into 249 the '#' bitstrand variants. 2503.0.25 10apr07 System Verilog with MTI fix for VCD declarations of form 251 $var reg 64 >w #implicit-var###VarElem:ram_di[0.0] [63:0] $end 252 ...debussy implicitly escapes the varname during loading so 253 gtkwave does it too now for all VCD loaders. 254 More System Verilog with MTI fixes: VCD (parameter) vars of 255 length zero are representative of reals with MTI: they don't 256 use real_parameter like Riviera does. 257 Updated vcd_saver.c to handle saving these implicit-var 258 facilities correctly. Likewise updated lxt-write.c, 259 lxt2_write.c, and vzt_write.c to handle correct bracket 260 stripping for the [0.0] semantics. 261 Modified dynamic resize routine so large escaped names don't 262 cause issues with the signal window crowding out the 263 wave window. 2643.0.26 18apr07 Fixed various compiler warnings discovered from looking at 265 Fedora Core compile logs and later compiling against 266 Centos/RHEL5. 267 Commented out GTK_CAN_FOCUS for scollbars in wavewindow 268 as it was causing rendering problems with newer versions 269 of GTK. 2703.0.27 27apr07 Renamed vertex to vermin to avoid name clashes with 271 existing 3D "vertex" package on debian systems. 272 Reverted back to using Open Office 2 Beta rather than 273 Open Office 2 as it was causing .odt docs corruption. 2743.0.28 30apr07 Changed anonymous union in struct Node as it is a 275 gcc extension. 276 Fixed some vcd parser memory leaks found by Valgrind. 277 Moved errno check in vcd parser as it seems that 278 the GTK event loop called in splash_sync() calls it 279 on gnome 2.18 for some reason (reported by Gentoo 280 gtkwave package maintainer). 2813.0.29 27may07 Added viewer support for arrays (currently AE2 only). 282 Integrated (standard) ./configure scheme thanks to 283 Dan McMahill 284 Added strdup_2 to debug.c for memory tracking (found 285 stray strdup() instances in ghw.c). 2863.0.30 24jul07 Removed variable declaration in menu.h that tcc 287 complained about (should have been an extern). 288 Updated configure.ac to use AC_SYS_LARGEFILE for 289 > 2GB file compatibility with older linux systems. 290 (This was accidentally left out in 3.0.29.) 291 Added ignore_savefile_pos and ignore_savefile_size 292 rc variables. (Requested by Edward Ash.) 293 Added ability to specify trace background color in 294 filter processes by prefixing the return string with 295 ?color? as in "?CadetBlue?xor r0,r0,r0". The colors 296 used must already be specified in the rgb.c file. 297 Removed check for c++ compiler presence in the 298 autoconf. 299 Fixed LIBBZ_CFLAGS in .am files that really should 300 be LIBBZ2_CFLAGS. 3013.1.0 25aug07 Moved to a global context variable management scheme 302 for future code expansion. Reload waveform function 303 added which uses context management. Update user 304 manual to include references to reload capability. 3053.1.1 20sep07 Fixed crash in hierarchy search reload. (Wrong 306 pointer type introduced from code cleanup.) Adding 307 start of tabbed browsing support. Put in window 308 select focus switching between tabs (e.g., on 309 search windows). Added locking in main iteration 310 loop to detect unexpected context switches and 311 fix/report them (wrong operation if it occurs). 3123.1.2 24dec07 Compiler warning cleanups from Sun compile logs. 313 Added named parameter support to vermin parser. 314 Added check for gperf back into configure.ac. 315 Added vlist_spill rc variable to control new 316 feature of spilling vlists to a tempfile on disk. 317 Fixed vcd loader status bar on files > 2GB. 318 Removed non-growable vlists and also finalize 319 aliases in order to be compatible with spill. 320 Changed vlist allocation scheme to allocate only 321 half as much per-block, then the rest when the 322 half-way point is reached. This reduces memory 323 wastage to an average of 12.5% rather than 25% 324 on uncompressed blocks. 325 Added code to pre-process data in vlists through 326 an LZ-based compressor. The can cut down on 327 memory usage ever further. This can be enabled 328 with the vlist_prepack rc variable. 329 Added --giga option to turn on vlist_spill and 330 vlist_prepack from the command line. 3313.1.3 13jan08 Added dynamic keypress detection in the Pattern Search 332 Requester so users do not need to press enter for search 333 strings. Likewise, added the rc variable sst_dynamic_filter 334 to enable the same type behavior for the signal name filter in 335 the GTK2 signal search tree. 336 Fixed bug where filtered signal names did not reappear on 337 reload. 338 Updated user manual as necessary. 339 Added "edge" left/right buttons for handy single signal edge 340 detection due to user requests. 341 Fixed long-standing backward edge seek bug in pattern search. 342 (It would miss the preceeding edge if the marker isn't already 343 on one.) 344 Added use_standard_clicking rc variable in order to enable 345 "normal GTK" shift/click semantics in the signal window. 346 Collapse/uncollapse is now shift-ctrl when 347 use_standard_clicking is active. 348 Added prelim dnd for use_standard_clicking mode. 349 use_standard_clicking disabled in GTK-1.2 as there are dnd 350 issues. 351 Recalculate signal width on reload as sometimes it was missed. 352 Added input focus capability to signalwindow. 353 Moving menu options to standard GTK accelerator keys. 354 Added Ctrl-A/Shift-Ctrl-A handler to the treeview so it acts 355 like the signal window. 356 Added left/right scrolling hotkeys in signal window. 357 Added use_toolbutton_interface environment variable which 358 enables new user interface at the top of screen. 359 More modifications to handle globals swapping in multi-tab 360 mode. 361 Update configure.ac to handle library order problem with 362 cygwin in rtlbrowse. 363 Added scrollwheel support in signal window when focused and 364 standard clicking is active. 365 Added "Use Color" and "Use Black and White" (for screendumps) 366 View menu options from user requests. 367 Fixed help window so it is not editable. Also do an implicit 368 click-to-front for window managers that automatically move 369 windows to front when their insides (not decorations) are 370 clicked on. 3713.1.4 30jan08 Added fix for how dnd gets killed after reload on new 372 versions of GTK (e.g., 2.10.14). 373 Added dirty_kick in MaxSignalLength that forces usize if 374 width is dirty. 375 For interpolated analog traces, fixed interpolation at 376 end of line so it doesn't cause endpoint to go offscreen. 377 Experimenting with track-and-hold fixing. 378 Integrated spice3f5 poly interpolation routines, but are 379 currently unused. 380 Now allow both interpolated+step simultaneously for analog. 381 Integrating signal window popup menu code. 382 Fixed rendering bugs in coalesced vectors displayed as analog. 383 Added resizing options that are windowed to either the screen 384 or across all trace data. 385 Added enter=OK as a default file chooser response. 386 Added DND and standard clicking to GTK1 compiles. 3873.1.5 14feb08 Fixed bug in rtlbrowse that causes lxt2 dumps not to be value 388 annotated. (signal match worked for bitblasted nets only) 389 Updated rtlbrowse so that it can update dynamically with the 390 marker position. 391 Added anti-aliased font rendering code. 392 Added use_pango_fonts rc variable. 393 Updated edge buttons so they can handle multiply selected 394 signals. 395 Logfile(s) now update on waveform reload. 396 MinGW compile fixes. MinGW crash on reload fixed. 3973.1.6 27feb08 Added additional #ifdefs that disable Pango on GTK versions 398 less than 2.8.0. 399 Added support for optional sideband .aetinfo files when 400 using .aet files. Update interface to rtlbrowse to 401 translate time value back to original aet ones. 402 Improved x vs X (z vs Z, etc) handling at signal boundaries. 403 Changed color scheme where red marks X data similar to how 404 it marks U for VHDL. 405 Fixed longstanding bug in linear lxts that only occurs if 406 integers are present in the lxt dump (length is failed to 407 be promoted to 32 during re-chaining). 408 Fixed shift-clicking when use_standard_clicking is active 409 such that shift-clicks past the last trace when the 410 signalwindow isn't fully populated count as a shift-click 411 on the last trace. 4123.1.7 23mar08 Updated file.c to remove potential file chooser crash in 413 the case of a missing save file at the command line followed 414 by "write save file as". 415 Fixed problem in black and white mode where process filter 416 could possible cause colors to be displayed when ?color? 417 value escaping is used. 418 Fixed problem where primary marker was listed as 0 sec on 419 init instead of -- if not set initially from a save file. 4203.1.8 06apr08 Added Range Fill option in the data format menu so 421 that vectors like address[31:2] will display as a human 422 expects to read them. Fill in can be zeros or ones. 423 Added trace flags display at right hand side of signal name 424 in mouseover popup window. 425 Added more visual feedback in signal D&D window in order 426 for users to determine more easily where a drop will insert. 427 Reduced visual noise on D&D by not updating screen after a 428 cut if a paste also occurs. 429 Fixed problem where primary marker was filtered through 430 time_trunc() on initialization. Removed other time_trunc() 431 calls causing similar problems as necessary. 4323.1.9 20apr08 Added missing init_filetrans_data() to reload function. 433 Updated manfiles to get them in line with Debian lintian. 4343.1.10 14may08 Added missing adjustment of t->shift in mouseover.c in 435 order to allow the mouseover on shifted traces to display 436 properly. 437 Fixed problem with edgebutton going back two edges on a 438 combined vector. (Cut and paste typo from strace.c.) 439 Added support for DND from regex search window to the 440 signal/waveareas. 4413.1.11 18jun08 Compile fix for tla2vcd in MinGW. 442 Added #ifdef for HAVE_BZERO for MinGW. 443 Compiler warning fixes. 444 Added time = -1 endcaps in LXT2+VZT+AET loaders. 4453.1.12 14jul08 Compiler warning fixes. 446 Fixed crash in vcd recoder for b vs 01xz mixups in 447 malformed VCD files. 448 Fixed abort on VCD load for malformed size vs 449 [msi:lsi] syntax. NC does this on arrays of wires. 450 Fix to vlist reader with --giga enabled in order to 451 handle reads which go off the end of the file. 452 (Possible due to how only the amount used in a block 453 is actually written to the file in order to save 454 space, so the vlist blocks can be overlapping yet 455 usable.) 4563.1.13 20aug08 Adding compressed hierarchy handling in order to 457 reduce memory usage on large bitblasted models. 458 This is currently only enabled for the VCD recoder, 459 LXT, LXT2, and VZT loaders. 460 Fixed some buffer overflows in vectorization code 461 (and when vectorization is enabled) in vzt_read.c. 462 Modification to autoconf handling for rpc.h. 463 Fix for DnD to directly under an expanded comment 464 trace. 465 Make step_increment equal to 1/10 page_increment 466 for the horizontal scroller in the wavewindow. 467 Added sticky click semantics for clicks in signal 468 window. To do this in the treesearch_gtk2 file 469 will require some additional future work with 470 view_selection_func() and/or signal handling and 471 trapping. 4723.2.0 16feb09 Fix for strings ('s' type) in recoder. 473 Added timestart command to savefiles which indicates 474 what the leftmost position should be on reload. 475 Added support for as/zs small timescales as well as 476 0.1/0.01/0.001 multipliers which simvision can emit. 477 Adding signal name DnD support from external apps. 478 Force open tree nodes on initial .sav file read. 479 Yet more new warning (-Wall) cleanups. 480 Fixed ExtractNodeSingleBit for vectors which do not 481 have a zero in either the msb or lsb (e.g., [1:9]). 482 Added support for dragging files into the viewer 483 (i.e., dumpfile, savefile, stems file) 484 Added DnD of signal names from RTLBrowse source code 485 windows directly into gtkwave. 486 GTK1 compiler compatibility fixes. 487 Improved search performance from rtlbrowse initiated 488 DnD searches. 489 Fixed wave_locale.h for MinGW. 490 Fixed longstanding bug with blackout regions 491 rendering. 492 Integrating embedded Tcl interpreter. 493 Fixed bug with unformat time when base time is in 494 seconds. 495 Added tcl example in examples/ directory. 496 Updated -f argument file handling in vermin. 497 Updated tcl_helper code so that signalwindow drags of bit- 498 blasted vectors are properly re-coalesced for client code 499 for the drag. 500 Updated task definition in vermin so that identifiers with 501 dots in them can be used as task enable names. 502 Fixed problem in vermin preprocessor where defines in 0x0d0a 503 terminated lines would insert the carriage return into the 504 sourcecode. 505 Added synthesis pragmas which mirror synopsys ones to vermin. 506 Used gtk_window_set_default_size instead of gtk_widget_set_usize 507 in rtlbrowse in order to allow window to shrink appropriately. 508 Made size_tag values smaller in logfile.c in gtkwave/rtlbrowse. 509 Allow dragging from rtlbrowse window without needing to high- 510 light signals first. This allows single signal drags. 511 GCC-4.1.3 with -O3 flag fix for x86_64 on xchgb instruction 512 assembler intrinsic. 513 Use gtk_window_set_transient_for() on simplereq windows. 514 Starting to update environment for rtlbrowse into a single 515 integrated window. 516 Adjust xthickness/ythickness in toolbars to make images 517 take up less space. 518 Preliminary support for text searching in rtlbrowse. 519 Added rtlbrowse case (in)sensitive searching both directions. 520 Fix re-entrancy on file names for file.c file requester in 521 gtkwave. 522 Add --with-tcl to configure script via tcl.m4 macro. 523 Cut down on visual noise during reload. 524 Added fix using TCL_INCLUDE_SPEC to get to compile under 525 Ubuntu. 526 Fixed lost num_cpus variable that wasn't passing through reload. 527 Added Cut/Copy/Paste functionality that allows multiple pastes 528 rather than destroying the cut buffer on paste. Cut buffer 529 contents will survive after a reload operation. 530 Removed translate filter process from mingw32 menu as it 531 is disabled in the compile by #ifdef'ing in empty functions. 532 Updated shmidcat so it restarts properly when VCD is being 533 looked at while sim is running and gtkwave gets ahead of 534 the generated VCD. 535 Fix crash on invalid node for force tree open during load. 536 Added Partial VCD Dynamic Zoom and related zoom_dynamic 537 rc variables. 538 Added prelim support for export to TimingAnalyzer file format. 539 Added mouseover support in signal window which shows full 540 facility name. 541 Added dynamic update on strings for marker values which keeps 542 user from having to press enter explicitly for each one. 543 Now allow support for named markers using optional user names 544 rather than just 'A'-'Z' labels. 545 Added countdown timer to remove dnd cursor if it is onscreen 546 longer than 5 seconds. 547 Added support for setting optional user names for named markers 548 via Tcl scripts. 549 Added prelim auto-scrolling code for trace adds/copies. 550 Added support for Tcl repscripts. 551 Removed warnings found when compiling with -Wshadow. 552 Fix for stack crash in treesort() on dumpfiles with an 553 extremely large number of signals (e.g., 5 million). 554 Compile fixes for rtlbrowse in older versions of GTK2. 555 Remove stray tempfiles created by --giga writer under MinGW. 556 Removed stray file descriptor from lxt on reload. 557 Fixed repeat error problem in lxt.c introduced by -Wshadow fix. 558 Added prelim version of scale_to_time_dimension rc variable and 559 appropriate menu options. 560 Beginning to update user manual to reflect new 3.2 features. 561 Added Partial VCD Dynamic Zoom To End and related 562 zoom_dynamic_end rc variables. 563 More mingw compile fixes: the whole tarball compiles now. 564 Use old file chooser (for now) in mingw as the new one seems 565 not to be re-sizeable. 566 Added "copy traces" to toolbar in gtkwave as copy function now 567 exists. 568 Added check for "server" in env var CYGWIN before printing 569 warning about using shared memory. 570 Added vpi client lxt/lxt2/vzt writers in contrib/vpi, but these 571 currently are not built. 572 Compatibility fix for gcc 3.x. 573 Added extload capability which grabs data via popen(). This 574 allows adding loaders for unsupported formats via data mining. 575 Added Tcl command setBaselineMarker. 576 Extload hardening on reload. 577 Added extload filetype to DnD. 578 Fixed window close when tabs active so it would update the 579 titlebar, times, etc., to the current tab. 5803.2.1 09apr09 Add more information for users if gtk can't initialize on MacOS. 581 Added possibility for vlist.c to write out the spill file in a 582 machine independent fashion. 583 Added --fastload option to gtkwave. 584 Fixed autoconf so Tcl works in cygwin. 585 Updated cygwin "Bad system call" warning text to include more 586 possible fixes. 587 Fixed warning message in strace.c ("Named Marker xx not in use") 588 which spanned multiple lines because of multiple status_text() 589 calls. 590 Fixed STATUS_ACCESS_VIOLATION in cygwin for both vztminer and 591 lxt2miner and added the --comprehensive option in each. Also 592 added behavior that no search string specified matches all 593 value changes across all nets. 594 Updated documentation description for collapsible groups to 595 indicate that shift-control is required, not control 596 (as previously). 597 Adjusted brightnesses for mdgray and dkgray so collapsed 598 traces are visible on some monitors. 599 Fixed dkgray->mdgray for "Time" background as brightnesses 600 have changes. 601 Made AN_NORMAL/AN_REVERSE const declarations also static in 602 order to avoid unnecessary stack pushing. 603 Fixing reloader crashes in vcd_build_symbols(). 604 Adding experimental support for bringing up gtkwave without a 605 trace like "every other" GUI app. This is currently disabled 606 pending more testing. 607 Sort filename lists from DnD in order to allow both a 608 dumpfile and a savefile to be dragged into the viewer and 609 processed in a logical order (i.e., the dumpfile before 610 the save file.) 611 Added disable_empty_gui rc file variable. 612 Working with ergonomic features of empty gui handling. 613 Fixed & to && in if() comparison in lxt_write.c 614 Added support for PDF output via ps2pdf. 615 Added support in VZT file format for LZMA compression. 616 Fixed calling to install_keypress_handler() as it only needs 617 to be done once. 618 Add menu blackouts on empty gui. 6193.2.2 02aug09 Changed some instances of exit() in main.c to vcd_exit() in 620 order to keep failed loads in tabs from killing the whole 621 session. 622 Update VCD ID generation in VCD writers to use XL-style 623 identifier sequencing. 624 Fix MinGW printf format strings for helper apps. 625 Ported shmidcat and partial VCD loader function to MinGW. 626 Added twinwave support in MinGW. This currently has some 627 problems with D&D as well as window decorations being 628 present due to various system incompatibilities. 629 Added rtlbrowse support in MinGW. 630 Fixed rtlbrowse on reload, now allows to respawn. 631 Fixed rtlbrowse in cygwin as kill() does not work the same 632 as posix kill. 633 Added clearing of t->minmax_valid in dataformat() in case 634 sign bit changes for analog vectors when TR_ANALOG_FULLSCALE 635 is in use. This allows dynamically changing from/to "signed 636 decimal" and other modes and removes any y-scale artifacts 637 from having stale minmax data. 638 For rtlbrowse kill, step through all contexts in atexit() 639 handler. More exit fixes for rtlbrowse killing. 640 Warning fixes for printf format strings in lxt2/vzt/ghw. 641 Updated VCD parser to handle names like "a[1] [3:0]". 642 Added VCDNAM_ESCAPE cases in lxt, lxt2, and vzt loaders. 643 Updated VCD writers so they put spaces before bracketed 644 signal ranges. 645 Added extra message for help requester if file type is 646 MISSING_FILE in order to direct users what to do. 647 Fixed segfault caused by improper search/replace and 648 malloc length in renderopt.c for ps2pdf. 649 Beginning to integrate FST file format support. 650 Optimize rtlbrowse somewhat by not redoing fac finding 651 every time the cursor moves. 652 Beginning to integrate FST into rtlbrowse. 653 Added vcd2fst and fst2vcd helper utils. 654 Added option to FST to allow monolithic post-compress for 655 much smaller file sizes. 656 Documentation updates. 657 Added capability in GHW reader for negative indices on 658 bitstrands. 659 Added variable type support to VCD + impulse arrows for 660 depicting events on VCD (other formats will migrate in the 661 future). 662 Added vartype info (if avail in trace, now FST+VCD). 663 Added module type info (if avail, now FST+VCD+GHW only) by 664 decorating the hierarchy tree info appropriately. 665 Changed build_tree_from_name() to perform move to front for 666 hier names in order to work better with decorated trees. 667 Add EVCD support to vcd2fst, fst2vcd, and FST loader. 668 Fix longstanding bug in vcd parsers where evcd did not 669 parse correctly if standard VCD IDs were used. 670 Fixed "f" value in EVCD files so it converts to z, not x. 671 Convert capitalization usage on hex values to match that 672 of verilog. (i.e., x = all bits are x, X means some but 673 not all bits are x.) 674 Change magic number 3 to AN_1 in vtype2(). This was skipped 675 by an earlier sourcecode conversion. 676 Change file requester handling so old names are copied 677 to the new tab and the directory used on an unspecified 678 entry is derived from the loaded file name directory. 679 Added type information to mouseover in signal window. 680 Added --enable-fatlines ./configure flag which enables gtkwave 681 to render lines in "Fisher Price" (aka Simvision) double- 682 width style. 683 Added evcd2vcd to the distribution. 6843.2.3 03sep09 Set iconify icon for gtkwave with gtk_window_set_icon(). 685 Ensure -d flag survives across reloads/new tab. 686 Added LIBZ_CFLAGS to helpers/fst AM_CFLAGS for MinGW. 687 Added gtk_window_set_resizable for pWindowMain in file.c 688 as some distros need this. 689 Changed some strace.c globals to "signed char" to remove 690 warnings under AIX compiles. 691 AIX ./configure fixes. 692 Added malform_eof_fix() to recoder and regular VCD loader. 693 Fix to attempt_vecmatch_2 when no suffix encountered. 6943.3.0 25dec09 Modified unformat_time() so it can also handle floating- 695 point exponential format. 696 Integration of a large amount of group handling sourcecode 697 from Don Baltus / Bluespec, Inc. 698 Re-integrated original Simpod repscript handling. 699 Reworked force open tree node and moved to 700 tcl_support_commands.c. 701 Renamed liblzma to libgwlzma for now: liblzma is present 702 on some systems and causing conflicts. 703 Fix for tk library issue on Cygwin. (Use TK_BUILD_LIB_SPEC 704 if TK_LIB_SPEC is a null string.) 705 Added --enable-stubify ./configure option to make Tcl/Tk 706 library usage be completely dynamic. 707 Generate anonymous name for groups to prevent crashes when 708 group name is unspecified. 709 Added EnsureGroupsMatch() on various parsewavline() code 710 sections to enforce legitimate group formations. 711 Applied gtk+-1.2 compile fixes as compile was getting out 712 of sync as it hadn't been tested recently. 713 Allow more events in GuiDoEvent() to prevent hangs. 714 Made --wish and --vcd mutually exclusive as they both require 715 input on stdin. 716 Enabled gc caching on linux to help with rendering extremely 717 dense traces. 718 Removed memcpy() ops in baseconvert.c and changed them into 719 pointer copies as the copied string is never modified. 720 Resequenced enum WV_MenuItems in menu.h which lost ordering 721 from Bluespec menu item adds. 722 Added gray code conversion ops. 723 Added FST detection to gtkwave::getDumpType. 724 Added missing context change variables in context_swapper(). 725 Added gtkwave::setTabActive and gtkwave::getNumTabs 726 MinGW tcl compile fixes. 727 Cygwin fix for optimized vcd -o option. 728 Disabled reload on optimized vcd from stdin. 729 Removed --wish when building under MinGW and when specifying 730 --enable-stubify for configure (for now, the fail is with 731 TkMainEx). 732 Removed tempfile generation for Tcl script execution; now 733 use alloca based scheme. Also removed old-style "script" 734 file support as it is obsolete: all scripts are Tcl scripts 735 now. 736 Integrated user-provided rework of rgb.c. 737 Removed local lzma library and now use system xz if 738 available. Old VZT files using -z 2 are no longer readable 739 but can be converted using vzt2vcd from an old version of 740 gtkwave. 741 Various warnings fixes. 7423.3.1 03jan10 Fixed Makefile.am files to allow builds into different 743 directories than the current one. 744 GHW crash fixes. 745 In fstapi.c now use tmpfile() to generate tempfiles in 746 order to speed up operation on networked filesystems. 747 Fixed problem in fstapi.c with conflict between off_t 748 and unsigned longs on some 32-bit systems which cause a 749 "tsec uncompress" failure on reads. 750 Fixed missing dependencies in various Makefile.am files. 7513.3.2 05jan10 Emergency fix for ghw.c as it was missing a close comment 752 causing problems with iterative generate. 7533.3.3 18feb10 Fix for Pattern Search where end marker time was not used 754 for dropping down a marker: for clock counts this would 755 mean that the clock count was off by one. 756 Added locking/unlocking of named markers against the 757 primary marker with 1/2/0 keys. 758 Fixed broken "make distclean". 759 Added patch for move to time against named markers. 760 Added a secondary pattern search function. 761 Added sanity checking on WAVE_NUM_STRACE_WINDOWS. 762 Added fix for broken bsearch_facs() when characters like 763 "$" are in a facname and it matches a hierarchy boundary. 764 Removed tla2vcd from distribution because of incompatibility 765 with some TLA700 traces. 766 Removed obsolete helper executables. 767 Activated preliminary line clipping for analog rendering as 768 line clipping in GTK does not always work for extreme 769 value ranges. 770 Hang in gtkwave on backtracking time fix (usually caused by 771 truncated files). 772 Replaced Tcl_GetStringResult() in tcl_np.c with Tcl_GetVar() 773 on Tk init fail. 774 Added AC_CHECK_LIB([dl], [dlopen]) (Fedora requirement). 775 Added --disable-xz (requested by Gentoo). 776 Added extern "C" { } bookends to headers for C++. 7773.3.4 07mar10 Change slope calculation "m" in clipping.c to all doubles 778 in order to avoid integer overflow errors. 779 Change main resync loop name from gtkwave_gtk_main_iteration 780 to gtkwave_main_iteration. (Start of separation of GUI code 781 from functional code.) 782 More fixes to analog clipping: yt0/yt1 were reversed, also 783 added analog_redraw_skip_count env var. 784 Added support for "realtime" VCD variable. 785 GTK1 compile compatibility fixes for pattern trace. 786 Removed "Reduce Single Bit Vectors" menu option. 787 Added defensive re-link of t_prev on prepend and cut ops. 788 Fix for analog stretch traces when analog trace was 789 expanded and then collapsed. 790 Fix to LZMA_write_compress to detect xz compression failures. 7913.3.5 19mar10 Fix for usage of deallocated next pointer in the 792 force_open_tree_nodes loop (spotted using an alternate 793 allocator). 794 Added optional preliminary Judy array support. 795 Fixed compiler warnings. 796 Fixed toggle max hier so it toggles back and forth between 797 the most previously set hierarchy depth. 798 Added ".lxt2" to list of suffixes allowed by gtkwave. 799 Remove name field from struct fac. 800 Added missing hierarchy boundary sort for FST in order to 801 allow compatibility with compressed names (-C flag). 802 Removed resolve_lxt_alias_to field from struct fac. 803 Removed lxt-only lastchange field from struct fac. 804 Removed unused h field in struct symbol. 805 Removed nextinaet field if unused, recoded to symchain when 806 used. 807 Fixed && used in logical operation for generating ExtNode. 808 Removed ExtNode, made inline with Node. 809 Deallocate symbol hash table after no longer needed. 810 Only allocate hash when necessary. 811 Added marker vs maxtime marker conflict check in 812 kick_partial_vcd() to ensure signal window values reflect data 813 value rather than x when maxtime scrolls over the marker time 814 and makes the marker visible. 815 More Judy array adds for VCD. 816 Removed sym->selected member and replaced with 1-bit Judy array 817 if enabled. 8183.3.6 01may10 Added RealToBits menu options for displaying real numbers as 819 binary values. 820 Added missing break statements to terminate cases in 821 bits2vector(). 822 Fixed cut and paste error on FILE_FILTER_MAX versus 823 PROC_FILTER_MAX. 824 Reduced FILE_FILTER_MAX from 1024 down to 128. 825 Added preliminary transaction filter support. 826 Added transaction parser in examples/ directory. 827 Updated time warp handling. 828 Updated print routine to use populateBuffer(). 829 Added raise to front when filename selected in filter dialogs 830 as this helps with some window managers. 831 Remove color for translated/transaction traces in black and 832 white mode. 833 Copy gc_grid_wavewindow_c_1 from gccache on reload as this was 834 accidentally overwritten with gc_grid2_wavewindow_c_1 without 835 adding back gc_grid_wavewindow_c_1. 836 Added fstWriterSetTimescaleFromString() to fstapi.c which 837 allows usage of strings such as "1ns" for the timescale. 838 Incorporated FST writer optimizations. 839 Incorporated some fixes suggested by cppcheck. 8403.3.7 03jun10 Made enable_fast_exit rc variable default to yes. 841 Compiler warning fix in lxt_write.c/fstapi.c for Open Solaris. 842 Added fstWriterGetDumpSizeLimitReached() to fstapi.c. 843 Fixes to Tcl string handling. 844 Applied user-supplied fixes for null pointer crashes in 845 rtlbrowse. 846 Moved gtk_grab_add() after gtk_widget_show() in order to work 847 with newer versions of GTK. 848 Use PRId64/PRId32 in lxt2_read.h and vzt_read.h to remove 849 printf format warnings. 850 Fixed "format not a string literal and no format arguments" 851 warnings. 852 Added missing HAVE_INTTYPES_H in compile note for 853 transaction.c. 854 Disable autocoalesce if Icarus Verilog is detected. 855 Added units forward scan in logfile.c. 8563.3.8 25jun10 Added failure check on tempfile create in fstReaderInit(). 857 Added strace_repeat_count and appropriate menu option. 858 Removed the "/File/Quit/Don't Quit" menu item if fast exit is 859 enabled. 860 Added dnd of signals from gtkwave into rtlbrowse: now the 861 appropriate verilog code sections automatically are 862 imported. 863 More warnings cleanups. 8643.3.9 06jul10 Changed accelerator for Quit to conform to Gnome standard 865 menus guidelines. 866 Update local libz and libbz2 to current versions. 867 Moved version string out to version.h to keep from having 868 the CVS data updating in currenttime.h. 869 Fix crash that can occur in RemoveTrace. 870 Header file cleanups. 871 Fixed actual result of crash in RemoveTrace: defensive 872 re-linking in PasteBuffer didn't always relink the back 873 pointers properly. 8743.3.10 16jul10 Fix in vermin Makefile.am for parallel build failures involving 875 shred.c depending on tokens.h. 876 Added missing dependencies in various Makefile.am files. 877 Fix for free to non-malloc'd address problem in main.c and 878 menu.c due to context changing in Tcl scripts when 879 gtkwave::/File/Open_New_Tab is invoked. 880 Updated vcd2fst so it is compatible with VerilatedVcd writer. 881 Read hierarchy reconstruction hardening for fstapi.c. 882 Check return code for hierarchy generation in fst2vcd.c. 883 Updated example to reflect Quit name change. 884 Updated repscript_timer so it prints stack trace. 885 Use setvbuf (as with MinGW) for fstapi.c to fix for OS X. 8863.3.11 17aug10 Added tcl functions gtkwave::installFileFilter, 887 gtkwave::installProcFilter, gtkwave::installTransFilter, 888 gtkwave::setCurrentTranslateFile, 889 gtkwave::setCurrentTranslateProc, 890 gtkwave::setCurrentTranslateTransProc, and 891 gtkwave::setCurrentTranslateEnums to give Tcl access to these 892 features. 893 Add write combining in fstWriterEmitValueChange to speed 894 up execution on Cygwin. 895 Nested `ifdef fix for Vermin. 896 Fix for free to non-malloc'd address problem in repscripts 897 due to context changing in Tcl scripts when reload occurs. 898 Added gtkwavetcl_setvar() for starting to build a framework 899 to support Tcl variable change callbacks. This can be used 900 to closely monitor how a user manipulates the gtkwave GUI. 901 Fix for 0 millisecond Tcl timer causing 100% CPU usage. 902 Added CVS versus ModelSim compatibility fixes for Bluespec 903 savefiles. 904 Fix for atoi_64 when value is zero followed by a legitimate 905 nonzero value after some garbage non-numerics. 9063.3.12 29aug10 Compile fix for --disable-tcl or systems which do not have 907 Tcl installed. 908 Added support for process filters in MinGW. 909 Added support for transaction filters in MinGW. 910 Added support for Open New Window to MinGW. 9113.3.13 23sep10 Reduce memory footprint of VectorEnt on 32-bit architecture 912 by struct reordering. 913 Added warnings for options that are non-functional for some 914 configurations. (They are not disabled in order to allow 915 compatibility across systems.) 916 Fixed dangling fnam malloc in fst.c. 917 Reduced temporary memory usage during file init for lxt2, 918 vzt, and fst files by using F_NAME_MODULUS wrap on f_name. 919 Sparse vs non-sparse array crash fix for ae2 loader. 920 Suppress decorated treebuild for fst when compressed facs 921 are being used: this was causing duplicate tree entries. 922 Fixed renderhash problems in print.c caused by disparity 923 in eqns used in wavewindow vs print.c (need realx, not 924 just x). 925 Upgrade local libbz2 to 1.0.6 for uncompress security fix. 926 Added experimental dynamic SST building code which speeds 927 up initialization time for trees with extremely large number 928 of scopes. 9293.3.14 26oct10 Fixed force_open_tree_node() for dynamic SST trees when 930 unbuilt nodes are encountered during traversal. 931 Allow VCD files where start = end time. 932 Compiler warning fixes. 933 Added preliminary RPC mechanism to gtkwave. 934 Added --disable-inline-asm ./configure flag. 935 Added initial_signal_window_width rc var. 9363.3.15 10nov10 Added check in fstapi.c for corner case where 937 fstWriterEmitSectionHeader could make a file unusable if.hier 938 is not present. 939 Added more checks in fstapi reader to prevent crashes on 940 malformed files. 941 Add config.h #include to the fstapi.c code. 942 Add detection in vcd2fst for Verilog XL-style VCD identifiers 943 to speed up reading VCD files from those simulators. 944 Speedup in fst writer by ensuring checkpoint is not written 945 to for every fstWriterEmitValueChange call. 946 The --optimize flag now uses fst instead of lxt2 as its 947 default file format use vcd2lxt2 directly if old behavior 948 (e.g., converting flat signal names to hierarchies) is 949 desired. 9503.3.16 24nov10 Remove unused JError variables and replace with PJE0 macro. 951 Added experimental dynamic alias detection in fst writer if 952 Judy arrays are detected. (Judy not required for reading.) 953 Added Jenkins hash routine to enable dynamic alias detection 954 for when Judy not available. 9553.3.17 28nov10 Added sanity check in dynamic alias reconstruct routine in 956 FST reader and also fixed bug where alias reconstruction in 957 current blocks doesn't overwrite previous, old block data. 9583.3.18 24dec10 Added extra allocation in fstWriterEmitValueChange in case 959 users modify the FST_BREAK_ADD_SIZE to a very small value. 960 Fixed in lxt.c that --disable-inline-asm did not propagate 961 into its compile. 962 Fixed x86_64 assembler =q vs =Q problem in lxt.c. 963 Preliminary support for variable length records in FST files. 964 Added fstUtilityBinToEsc and fstUtilityEscToBin for 965 conversion of binary data to C-style strings. 966 Now allow escaped strings in VCD files to encode a richer 967 set of data for non-standard "s" VCD records. 968 To comply with fst2vcd, vcd readers now handle "string" 969 variable type keyword. 970 Scaled back multipler from 95 to 94 for VCD ID processing 971 as !..~ is a distance of 94. 972 Add detection for Verilog XL-style VCD identifiers in all 973 vcd loaders in gtkwave in order to aid in indexing. 974 Added --enable-struct-pack configure flag. 975 More warnings fixes. 976 Fix mif_draw_string so it does not emit escaped character 977 codes. 978 Added gtkwave_server to distro but it is not currently in 979 automake as it is not ready for use. 9803.3.19 03feb11 Added more NULL pointer checking to vcd2fst to prevent 981 crashes on malformed files. 982 Rewrote support for compressed signal handling. Currently this 983 is for FST only. 984 Modified shmidcat to exit on EOF. 985 Added sys_fst.c VPI source for NC Verilog and XL. 986 Added component typename dumping into sys_fst.c so that NC can 987 dump component names. 988 Added component type names in gtk2 tree. Currently the FST 989 loader is the only one that will populate this field. 990 For 64-bit architectures, doubles are stored in HistEnt fields 991 directly to conserve on memory usage. 992 Fixed top/bottom pane resizing bug after reload in SST window. 993 Fixed crashes in hierarchy search widget for GHW where 994 standard, textio, std_logic_1164, etc. were selectable. 995 Fixed reload scroll position for bottom TreeView in SST window. 9963.3.20 21feb11 Fixed uninitialized mat variable in compress_facility(). 997 Added --slider-zoom option to gtkwave to enable experimental 998 horizontal slider zoom feature (GTK2). 999 Fix vcd2fst so it can handle 0 length VCD event variables in 1000 their declarations (MTI). 10013.3.21 28apr11 Fixed crash in LXT2 reader on malformed files. 1002 Fixed reload crash when -o flag used on non-VCD files. 10033.3.22 03jun11 Optimize tree build so it can handle large amounts of 1004 component instantiations (netlists) without undue slowdown. 1005 Added gcc -Wformat and -Wformat-security related fixes. 1006 Update hier_decompress_flagged so it can also decompress into 1007 its own static buffer in order to speed up temporary usage 1008 cases. 1009 Fix FST reader iterator to work better with --begin flag. 1010 Fixed missing facname decompression for FST files on 1011 single trace import (backup case that should never happen). 1012 Added support for user-specified timescale ruler using the 1013 ruler_origin and ruler_step rc variables. 1014 Added "/View/Define Time Ruler Marks" menu option. 1015 Removed indirect file support as is unneeded for 64-bit. 1016 Removed obsolete CVS modification log comments. 1017 Handle vcd saver case of dot at end of signal name. 10183.3.23 01jul11 Fixed ItemFactory callbacks as their argument lists did 1019 not reflect the correct callback argument type/order 1020 for callback_type=1. This is a longstanding hidden 1021 bug. (Would prevent pattern search from working on 1022 64-bit big-endian architectures.) 1023 Fixed broken "replace" signal option. 10243.3.24 03aug11 Improve the searching for the TCL libraries (when using 1025 stubs). 1026 Fixed bug where Tcl_GetString was substituted with 1027 brace removal preprocessing when unnecessary (would break 1028 addSignalsFromList, etc.) 10293.3.25 15sep11 Replaced calloc_2 with histent_calloc in loaders where 1030 applicable. 1031 Updated tcl.m4 so /usr/lib64 can be automatically used. 1032 Fixed TR_ANALOG_STEP line clipping problem. 1033 Checked in fix for modelsim signal bit nets that are 1034 defined as [0] as some tools emit signals without the 1035 [0] and it causes savefile compatibility problems. 1036 Add visible filter pattern in fileselbox() as well as 1037 selectable "*" pattern overrides. 1038 Added custom filters to GtkFileChooser dialogue. 1039 Fix in lxt2_read.c/.h for negative msb/lsb indices. 1040 Fix in vzt_read.c/.h for negative msb/lsb indices. 10413.3.26 25sep11 Mac OSX fixes: removed restrictions for twinwave on OSX, 1042 OSX compile fixes for Tcl detection, printf warning 1043 fixes (xcode gcc uses stricter warnings). 1044 More generic warning fixes from recent feature adds. 10453.3.27 20oct11 Fixes of suspicious NULL pointer warnings from scan-build. 1046 Fixed inline function linker errors when using Clang. 1047 Optimization of more [1] cases found in analyzer.h when 1048 -DWAVE_USE_STRUCT_PACKING is active. 1049 In process_url_list() use g_malloc/g_free as context can 1050 or will change when files are loaded. 1051 Added fix for DnD crash when Quartz is the GDK back-end 1052 on Mac OSX. Enable fix with --enable-quartz in configure. 1053 Fixed fstWriterFlushContext() such that invocations 1054 outside the fstapi are synced with time changes. 1055 Modify main window size for twinwave on Quartz: GtkPlug 1056 window does not fit into GtkSocket as with X11. 10573.3.28 11nov11 Use larger more readable Apple fonts for Quartz. 1058 Added support for colorful traces using the 1059 /Edit/Color Format/... menu options. 1060 Fixed rendertimes bug where times did not always display 1061 when grid is turned off. 1062 Added keep_xz_colors gtkwaverc variable. 10633.3.29 31dec11 << short descriptions >> 1064 Added OSX integration when compiled against gtk-osx. 1065 Added mime types and icons for file types and desktop menus. 1066 Changed .sav (deprecated but not removed) to .gtkw, with 1067 .gtkw itself being able to bring up the original dumpfile. 1068 Numerous bug fixes. 1069 Preliminary GConf support supporting session ID-based restore. 1070 Preliminary GConf support to emulate OSX "open" 1071 functionality such that dumpfiles/savefiles can be targeted 1072 to an open gtkwave viewer / session ID. 1073 << long descriptions >> 1074 Fixed size of declaration of render_mutex_renderopt_c_1 as it 1075 was one element too short. 1076 Added transition code for shifting away from using 1077 GtkItemFactoryEntry (also will help with OSX menubar 1078 integration which expects menu shells). 1079 Added support for native Quartz menu bars. 1080 Removed --enable-quartz as it is auto detected now if 1081 PKG_CHECK_MODULES(GTK_MAC, gtk-mac-integration) is 1082 true and GDK is compiled against Quartz. 1083 Fixed pointer crashes on NULL returned on gtk_entry_get_text() 1084 on OSX/Quartz. 1085 Recommended usage for Quartz is now jhbuild with 1086 gtk-mac-integration, not MacPorts. 1087 Added mac bundle info in contrib/bundle_for_osx. 1088 Added gtkwave_argv0_cached as Open New Window does not work if 1089 "gtkwave" is not in path or is something like gtkwave-bin as 1090 in an OSX bundle. 1091 Detect context swapping in file chooser from DnD to prevent 1092 possible crashes. 1093 Block DnD while file chooser is active. 1094 Migrate OSX to OSX key accelerators. 1095 Fix for tcl code opening the root node. 1096 Fix time warp cmd->control mapping for OSX. 1097 Fix for time warped traces not rendering properly when 1098 x-coordinate overdraw is detected. 1099 Added WAVE_ALLOW_QUARTZ_FLUSH_WORKAROUND temporarily which 1100 needs to be set at compile time which gates redraw. 1101 Add GLOBALS->force_hide_show to force redraws in OSX. 1102 Added osx_timer() which controls forced redraw. 1103 Abort GHW read when nbr_el<0: indicates malformed file from 1104 variable/signal construct of form (7 to 0) rather than downto. 1105 Crash fix for non-string len zero facilities in vcd2fst. 1106 Fixed overflow in draw_hptr_trace_vector_analog(). 1107 Added rtlbrowse and vcd2fst binary path finding code to OSX. 1108 Changed ps2pdf to pstopdf on Mac. 1109 Fixed broken wave_script_args. 1110 Reverted to 3.3.26 code in menu_func() as the renderbox 1111 requester did not work from TCL anymore. 1112 Catch NSApplicationOpenFile so files can be opened from Finder. 1113 Added --chdir command line option to support open for OSX so 1114 that gtkwave can be run at the command line directly from its 1115 installed gtkwave.app. 1116 Fix window resizing / repositioning to work in OSX: block once 1117 viewer is on second tab, however. 1118 Added sst_width, sst_vpaned_height, sst_expanded, and 1119 signals_width tags into save file to allow pane size and 1120 expander settings to be saved to the save file. 1121 Add ignore_savefile_pane_pos .gtkwaverc variable. 1122 Added dumpfile tag to save files. OSX Finder uses these to 1123 find the original dumpfile. This can be done from the command 1124 line also by specifying --save but not specifying a dump file. 1125 Added .gtkw as a new save file extension. When either .sav 1126 or .gtkw is encountered, the rest of a tab's session adaptively 1127 follows in expecting it as the save file suffix. 1128 Added [savefile] tag to save files. The intended use is to 1129 allow reconstruction of relative paths between dump and save 1130 file. 1131 Fixed --autosavename to use .gtkw as a suffix rather than the 1132 .sav suffix. 1133 Reworked wave_info and wave_alert icons. wave_info now 1134 matches gtkwave.icns. 1135 Renamed .sav examples to .gtkw. 1136 Added relative path comparisons for --save so when dumpfiles 1137 and savefiles move in tandem, a successful load can be 1138 attempted. 1139 Added [dumpfile_mtime] and [dumpfile_size] tags to save file. 1140 Can now specify just an augmented save file at the command 1141 line and gtkwave will load both the dump file and the save file: 1142 this makes launching from desktops easier on Linux. 1143 Added mime types, desktops, and icons in share/ for gnome. 1144 Added percentage progress during load for most file types 1145 in window title bar when splash screen not active. 1146 Preliminary add of interfacing with GConf via the 1147 /com.geda.gtkwave directory for keys in GConf. 1148 Memory overrun fix to symbol.c for Bluespec add from 3.3.11. 1149 Added --restore command line option to gtkwave. 11503.3.30 17jan12 Updated ./configure to add --disable-mime-update flag. 1151 Fix --optimize for --restore. 1152 Add [optimize_vcd] savefile tag. 1153 Disable analog during mutually incompatible mode selection 1154 (binary, filters, etc). 1155 Added F/P/T flags to mouseover for the filters. 1156 Fix problem where ungrab doesn't occur if button pressed + 1157 simultaneous reload accelerator key occurs. 1158 Fix combine direction in transaction filter to down. 1159 Fix vector analog render/print routine to use skipcnt. 1160 Fixed transaction filter to cache hptr node if converted 1161 (i.e., do not place bitblasted in save file if avoidable). 1162 Fixed min/max of cached autoscaling sizing when number of 1163 extension traces changes. 11643.3.31 30jan12 Added support for native file requesters in OSX Quartz. 1165 Added support for native alert dialogs in OSX Quartz. 1166 Clang warning fixes. 1167 Added missing config.guess and config.sub. 1168 Allow drag of .gtkw (when viewer still does not have a file 1169 loaded) to load the corresponding dump file. 1170 Fix MinGW compiles broken from recent changes. 1171 Documentation updates. 1172 Fixed broken ifdef in signalwindow.c that degated savefile 1173 loading .gtkw dump+save properly if not gconf2 or Mac. 11743.3.32 13feb12 Turn off loader messages when Tcl is executing a command. 1175 Added gtk_print_unix_dialog support for printing to 1176 real printers by using the "UNIX" type. 1177 Automatically kill splash screen on reload/new tab. 1178 Added transaction_args savefile tag and support for passing 1179 args to transaction filters via the args $comment. 1180 Added string value of \000 which renders as high-z. 1181 Integrated alt_wheel_mode code provided by Tom Browne. 1182 Fixes for some rc file variables to keep them from getting 1183 clobbered on 2nd tab opening. 1184 Warning fixes when compiled on Ubuntu. 11853.3.33 27feb12 Scan-build fix in vcd_recoder.c. 1186 Added $timezero tag to VCD files which allows offsetting all 1187 the values in a trace to provide ability for negative time 1188 values. Currently only VCD, LXT, LXT2, VZT, and FST support 1189 this. 1190 Fix for timescale 10s and 100s. 11913.3.34 12mar12 Fix for marker time deltas when $timezero is used. 1192 Reduced size of alert requester icons to 64x64 pixels. 11933.3.35 04apr12 Polarity fix for vcd_preserve_glitches in rcfile. Default 1194 is no/off. Use yes in the rcfile to enable (e.g., for 1195 viewing interpolated analog waveforms). 1196 Added vcd_preserve_glitches support to FST as --optimize 1197 uses FST. 1198 Added vcd_preserve_glitches_real (for VCD/FST) rcfile 1199 variable that turns off deglitching only for real signals. 1200 This removes the need for #define TRACK_AND_HOLD_FIX and 1201 prevents the case where interpolation of an analog waveform 1202 is deformed as significant data points were removed by the 1203 VCD or FST loader. 1204 Fix for do_initial_zoom_fit when file requester used. 1205 Changed contact address for bug reports. 1206 Enable mouseover for MinGW. 1207 Added fstWriterSetParallelMode(). 12083.3.36 04may12 Fixed destructive string convert in fstUtilityBinToEsc(). 1209 Added support for 01xzhuwl- in fst.c callback interface, 1210 vcd2fst.c, and lxt.c. 1211 Added adaptive buffer resizing in FST writer for Linux 1212 and Mac OSX. 1213 Fix for realpath() 2nd argument NULL on Leopard. 1214 Fix for doubles stored in HistEnt fields in ghw 1215 introduced in 3.3.19. 12163.3.37 10jun12 Added patch for savefile.c that corrects an issue in which the 1217 parser for process filter lines assumed the associated id 1218 number was always a single digit. 1219 Added patch to bitvec.c catches one more case when locating 1220 bitblasted signals in vcd files created by modelsim. 1221 Fix that kills stray pipeio_create() processes on 1222 pipeio_destroy(). 1223 Additions to extload to handle hier types, component types, 1224 and signal types. 1225 Added support for extload files as input filetype in vcd2fst. 1226 Added -o for extload files to convert to FST. 12273.3.38 10jul12 Upgrading vermin parser to handle some > 1995 constructs. 1228 Propagate -o option into "Open New Window" menu option. 1229 Change invert function so it does not incorrectly expand into 1230 the whole nybble when it is < 4 bits. That is, inverting the 1231 two bit quantity 10 now displays as 0x1, not 0xD. 1232 Added fstminer. 1233 MinGW warnings fixes. 1234 Fixed relative pathnames for gtkw save files in MinGW. 1235 Fix fstapi reader so it does not leave stray hier tmpfiles 1236 around in MinGW if reader is never closed. 1237 Changed twinwave for MinGW so that it does not target two 1238 panes in a single window. Something is apparently now 1239 broken in the GtkSocket/GtkPlug implementation for Win32. 12403.3.39 08aug12 Fixed relative pathnames when generated in MinGW and used 1241 back on Linux. 1242 Added --output filename option to fst2vcd, vzt2vcd, and 1243 lxt2vcd. 1244 Fix crash on OSX if gtk_widget_set_sensitive is called on 1245 a separator. 1246 Fixed OSX version so it looks for .gtkwaverc in the home 1247 directory and if not found, probes the resource bundle for 1248 Contents/Resources/examples/gtkwaverc (no dot in the name). 1249 Added GTKWave User's Guide option to help menu on OSX. 1250 Added + vs ++ separators for twinwave. 1251 Dynamic resize fixes. 12523.3.40 10sep12 Fixed y-size of splash screen on MinGW with newest version 1253 of GTK2 (as it could be verified on that version). 1254 Fixed off-by-one buffer string allocation write overflow 1255 in calloc_2() call in maketraces(). 12563.3.41 30sep12 Fix for gtkwave::addSignalsFromList when encountering 1257 signals of form a.b.MyBus[7:0] and a.b.MyBus[15:8] such 1258 that brackets aren't stripped. 1259 Added experimental highlight_wavewindow rc variable which 1260 allows signals also to be highlighted in the wave window 1261 using the value for color_grid. 1262 Added use_standard_trace_select rc variable and related 1263 menu option. 12643.3.42 28nov12 Fix to prevent missing group openings from keeping other 1265 signals in the viewer that follow from displaying. 1266 Adding more support for newer constructs in Vermin. 1267 Added scrollwheel support to rtlbrowse code windows. 1268 Added fseeko() return checking in fstapi.c to prevent 1269 errors with dynamically updated files. 12703.3.43 26jan13 Fix for rtlbrowse for gtk_adjustment_get_page_increment and 1271 gtk_adjustment_get_step_increment introduced in 2.14. 1272 Added VPD support via vpd2vcd. To use, specify -o 1273 at the command line. (e.g., gtkwave -o test.vpd) 1274 Added autodetect for LXT, LXT2, VZT, FST regardless of the 1275 filename suffix. 1276 Crash fix for gtkwave::getDisplayedSignals, specifically 1277 removing the extra free_2() in WAVE_OE_ME. 1278 Added conditional compile for stat() being available. 12793.3.44 16feb13 gdk_draw_layout assertion `GDK_IS_DRAWABLE (drawable)' 1280 assertion fix. 12813.3.45 28feb13 Fix for VCDNAM_ESCAPE character in treesearch window. This 1282 sometimes occurs for structure identifiers. 12833.3.46 29apr13 Upgraded to autoconf 2.69. 1284 Fixed as of yet undetected hdr_incomplete bug when running off 1285 end of FST file. (e.g., while file is being written) 1286 Fixed problem with is_gtkw_save_file getting wiped out on 1287 reload. 1288 Updated Mac bundle info to reflect new autoconf filenames. 12893.3.47 14may13 Fix for crash in 64-bit mode with array accesses in 1290 deprecated loader. 1291 Partial VCD loader fix for small files. 1292 Added preliminary do-nothing generate support in vermin. 1293 Fixed minmax_valid for partial VCD loader: affects scaling 1294 on floating-point traces. 12953.3.48 04aug13 Fixed infinite loop hang on various helpers executables 1296 when extra arguments are specified. 1297 Delete changed marker name if it exists when marker is removed. 1298 Added "Open Hierarchy" option that will expand the SST and 1299 select the hierarchy for a given signal selected in the 1300 Signals window. 1301 Added preliminary support for FsdbReader. 1302 FSDB fix for generate created hierarchies. 1303 FSDB fix for new debug info output style to be parsed. 1304 Added generate as scope type to VCD/FST/FSDB. 1305 Preliminary add for module port direction for FSDB and FST. 1306 Display signal direction column in SST if not all signals are 1307 declared as FST_VD_IMPLICIT. 1308 Fixed GTK warning when hide_sst is enabled and SST is opened 1309 then closed. 1310 Added extraction of in/out/inout from FSDB into FST with 1311 vcd2fst helper executable. (It also converts FSDB to FST.) 1312 Added support for SV structures, unions, classes, packages, 1313 programs, and interfaces. 1314 Updated signal parsing in FST/FSDB to handle NC declarations 1315 for arrays in VCD. (i.e., bitranges are missing) Use vcd2fst 1316 or the -o option to read NC VCD files with arrays properly. 1317 Preliminary support for SV datatypes of bit, logic, int, 1318 shortint, longint, byte, enum, and shortreal in VCD and FST. 1319 Added sparse array datatype to FST (currently unused by 1320 gtkwave). 1321 Added support for attribute begin/end in FST. (Currently 1322 unused by gtkwave.) This allows embedding of various data 1323 inside the structure tree. 1324 Added autoraise on entry window on keystrokes or periodically 1325 when it exists. 1326 Added ability to store $comment in FST files via the attribute 1327 mechanism (FST_AT_MISC/FST_MT_COMMENT). 13283.3.49 11sep13 Fix crashed caused by X11 protocol limitation for pixmap size. 1329 Potential buffer overflow fix in vcd2fst. 1330 Added ability to store environment variable information in 1331 FST files (FST_MT_ENVVAR). 1332 Fixed bad enum for FST_PT_MAX. 1333 Added contrib/fst_jni directory to distribution. 1334 Fixed broken "make dist" variants. 1335 Added buffer and linkage data directions (future expansion 1336 for VHDL) in FST and gtkwave. 1337 Removed requirement for fsdbdebug in path when FsdbReader 1338 is present. 1339 Fixed ordering of static FSDB libraries for when dynamic ones 1340 are not present. 1341 Added direction filters to SST name filter search. That is, 1342 adding +I+, +O+, +IO+, +B+, or +L+ before the regular 1343 expression adds additional filtering criteria. Direction 1344 filters are case-insensitive. 1345 Relax FSDB loader to allow VHDL and mixed-language files. 1346 Added VHDL hierarchy types to FST, internal VCD loaders and 1347 also vcdfst/fst2vcd. 1348 Added in VHDL to FST (which will also allow other languages): 1349 gtkwave can process these types (e.g., signal + std_ulogic), 1350 but there are currently no simulators supporting them. These 1351 are written by using fstWriterCreateVar2(). 13523.3.50 15oct13 Limit number of rows that can be displayed in mouseover in 1353 order to prevent potential X11 crashes on extremely wide 1354 signals. 1355 Added "/File/Grab To File" PNG image grab menu option. 1356 Added missing $dumpvars emission in fst2vcd. 1357 Added missing atto and zepto time prefix parsing in vcd2fst. 1358 Added VHDL package type to FST. 1359 Added red box around 'U' vector values for VHDL similar to 1360 'X' for Verilog. 1361 Used FST "attribute name" for variable types if specified. 1362 CRLF fix for save file reading on LF-only systems. 1363 Fix Valgrind hit in fst.c that was causing crashes on OSX. 1364 Added fstWriterSetFiletype() and fstReaderGetFiletype() 1365 to provide sim language hint to gtkwave for language- 1366 appropriate formatting of various data. 1367 Added fstWriterSetSourceStem() so writers can embed source 1368 stems in the FST file. Specify before the appropriate 1369 hierarchy or variable declaration. 1370 Added gtkwave_bin_launcher.sh script to set up environment 1371 variables on OSX for running the bin/ directory files from 1372 a terminal rather than as an app invocation. 13733.3.51 27oct13 MAINTAINERS: Please add gedit to the list of dependencies 1374 for gtkwave in order to enable new function that Icarus 1375 Verilog dumps into FST files. 1376 Fix "/File/Grab To File" on OSX with an OSX patch as the 1377 _gdk_quartz_image_copy_to_image() function in the GTK 1378 toolkit for Quartz is broken. 1379 Updated examples/gtkwaverc accel options to reflect the 1380 current state of the gtkwave main window main menu. 1381 Added "Open Source Definition" and "Open Source Instantiation" 1382 options that invoke .gtkwaverc variable "editor" (or 1383 $GTKWAVE_EDITOR or gedit or open -t [OSX]) on sourcecode when 1384 source stems are present in the dumpfile (currently FST only). 1385 Fixed timezero in vcd2fst as it was only parsing unsigned 1386 numbers. 1387 Fixed Open Hierarchy crash on blank signals. 13883.3.52 11nov13 Added LZ4 as compression type for FST. When enabled with 1389 --fourpack in vcd2fst, this compresses both signal data 1390 and the hierarchy using LZ4. 1391 Added WLF support via wlf2vcd. To use, specify -o 1392 at the command line. (e.g., gtkwave -o test.wlf) 1393 Changed left/right arrow function in signal/wave windows to 1394 find next transition of selected signal(s). 1395 Re-enabled DnD scroll beyond top/bottom of Signals pane. 1396 Added debounce for baseline (middle) mouse button. 1397 Another partial VCD loader fix. 1398 Now use libcomdlg32 file requesters on MinGW. 1399 Added --extensions flag to fstvcd to enable emission of 1400 FST extensions/attributes to VCD files. This is to keep FST 1401 attributes from making VCD files unparseable with other tools. 1402 Fix in FsdbReader interface for version 1.x files. 1403 Many warnings fixes found from gcc -Wextra flag. 1404 Fixed thread-unsafe static allocations in fstapi.c. 14053.3.53 15dec13 Made LZ4 the default compression routine selected for vcd2fst. 1406 Fixes to EVCD parsing in vcd2fst and evcd2vcd. 1407 Automatically invoke --optimize if VPD or WLF is detected; 1408 invoke on FSDB if FsdbReader is missing. 1409 Standardized export feature to write vcd using lower case 1410 for non 0/1 values. 1411 Added perror() on errno-related exits in vcd loaders. 1412 Added experimental wlf2vcd in contrib. It is not currently 1413 compiled or used. 1414 Corrected non-functional typos in documentation. 14153.3.54 02jan14 Added LZ4 double compression on hierarchy tree for FST when 1416 hierarchy size exceeds 4MB. 1417 Fix to regular expression filtering when +I+ form expressions 1418 are encountered in the SST. Previously, the wrong value of 1419 regex match was used on 32-bit architectures due to the 1420 stack layout. 1421 Removed --disable-inline-asm ./configure flag as inline 1422 assembly has been removed because it is generating incorrectly 1423 in some cases on x86_64. 14243.3.55 06feb14 Fixed problem with FST_DYNAMIC_ALIAS_DISABLE enabled when 1425 Judy arrays are not present. 1426 FST writer performance tweaks for traces with millions of 1427 signal declarations. 1428 Keep FSDB_VT_STREAM (FSDB transaction type) traces from 1429 attempting to be read (for now) as they aren't yet processed. 1430 Added more space efficient FST dynamic alias encoding. 1431 Tempfile creation fix for Windows. Using tmpnam() is not 1432 enough and fails depending on user permissions. 1433 Make vcd2fst use FastLZ instead of LZ4 as a default compression 1434 type if an EVCD file is being processed as it (re-)compresses 1435 much better. Using -4/-F/-Z still gives expected results. 1436 Changed double printf formatting for FSDB to "%.16g" to match 1437 VCD formatting. 1438 Added very fast I/O write capability to fst2vcd. 1439 Added support for FSDB_BYTES_PER_BIT_2B (EVCD) in FSDB loader. 1440 Added experimental fsdb2vcd in contrib. It is not currently 1441 compiled or used. 1442 Fix to treesearch to remove duplicate signal names because of 1443 faulty dumpers. 1444 Repscript fix for if -R starts without a dumpfile name. 14453.3.56 12feb14 Added another crash fix patch for GTK-OSX. 1446 Fix to regex search to remove duplicate signal names because of 1447 faulty dumpers. 1448 Fix to configure.ac for MSYS not adding -lcomdlg32 when Tcl 1449 is disabled. 1450 Valgrind fix on deallocated context: old GLOBALS pointer could 1451 be examined in set_GLOBALS_x(). 1452 Minor cleanup in treesearch_gtk2.c: removed redundant show 1453 widget invocation. 1454 Added missing compressBound() for compress2() dest mallocs. 14553.3.57 13feb14 Fix for Electric Fence crash in vlist_freeze(). 1456 Updated LZ4 for version r113. 14573.3.58 16mar14 Added /Data Format/Popcnt function for ones counting. 1458 Warnings fixes from new Clang 3.4 scan-build. 1459 Updated VCD ID generation in various helpers to use a faster, 1460 equivalent algorithm. 1461 Change [1] at end of struct to C99 [] notation with appropriate 1462 allocation size modification. 1463 System_profiler speed fix for OSX. 14643.3.59 26apr14 Use Duff's Device for 8 byte -> 1 byte binary value compression 1465 algorithm in FST writer. 1466 Warnings fixes from cppcheck. 1467 Moved MinGW for FST to using different windows tempfile 1468 generation instead of tmpfile(). 1469 Removed fflush() in FST for MinGW in places that can cause 1470 crashes with read only files. 1471 Updated man page for gtkwave.1 indicating that XID is in hex. 1472 Allow decimal conversions on popcnt filtered vectors that are 1473 greater than 64 bits (they will never overflow). 14743.3.60 14may14 Fix MinGW tmpfile_open() patch from previous release as it 1475 was using the wrong filename. 1476 Harden fsdb reader against xtags that move backward in time. 14773.3.61 27jun14 Parameterized number of named markers, so that 1478 --enable-manymarkers at configure time allows up to 702 1479 named markers instead of 26 (disabled by default). 1480 Updated LZ4 for version r118. 1481 Fixed broken VCD/TIM export in Windows (broken by new file 1482 requester). 14833.3.62 29aug14 Added zoom_full, zoom_size, and move_to_time to the dbus 1484 interface (dbus enabled by --with-gconf). 1485 Updated LZ4 to version r120 (r121 files are the same). 1486 Compiler warnings fixes for gtk+-1.2 (-Wall -Wshadow -Wextra). 14873.3.63 06nov14 Updated LZ4 for version r123. 1488 Added fine horiz scrolling in wavewindow (when using the wheel 1489 on a mouse) if shift pressed. 1490 Timescale fix for Verilator where it emits 0ps as a timescale. 1491 Added sample gtkwave.appdata.xml file in share/appdata. 14923.3.64 25nov14 Fix to FileChooser to prevent requester from blocking on asking 1493 for a directory if a dumpfile is loaded without some amount of 1494 absolute/relative pathname. 1495 Updated LZ4 for version r124. 1496 Fix for x-windows OSX compiles. 14973.3.65 01apr15 Added --, -I-, etc. option to port filtering in SST. Using 1498 -- for example filters all non-ports from search results. 1499 Updated LZ4 for version r126. 1500 Minor warnings fixes. 1501 Moved TCL_LDADD/TK_LDADD before FSDB_LDADD to avoid stale 1502 Tcl library version conflicts. 1503 Removed appending [31:0] to vcd loaded integer names. 1504 Reduced recursion depth in GHW signal loader to prevent 1505 stack overflow crashes. 1506 Added support for synthetic clocks in FST file. 1507 Update timetrace marking so it runs quicker for large traces. 15083.3.66 05jul15 Faster fsdb initialization. 1509 Fix vcd recoder loader crash for malformed vcd if signal is 1510 declared as bits and a real valued change is encountered for 1511 the value change. 1512 Fixed crash in vcd2vzt for vcd files with no value changes 1513 (likely a malformed vcd). 1514 Added fsdbReaderResetSignalList() to prevent signals from 1515 loading over and over when unnecessary. 1516 Compile fixes for renamed functions and defines in gtk osx. 15173.3.67 24sep15 Updated LZ4 for version r131. 1518 Fixed right justify ascii datatype display. 15193.3.68 18nov15 Update copyright date. 1520 Added named markers capability to From: and To: time value 1521 input boxes. 1522 Added support for fixed point binary numbers for both signed 1523 and unsigned decimal display types. 15243.3.69 03feb16 Added missing EXTLOAD_CFLAGS declarations in configure.ac for 1525 FSDB detection when only .a files are present (necessary for 1526 Ubuntu). 1527 Fixed valgrind warning in fst.c for dead memory allocation. 1528 Fixed signed fixed point binary number shift for negative 1529 numbers. 1530 Added ghw patch for missing enum crash in ghw files. 15313.3.70 14feb16 Various warnings fixes from new version of scan-build. 1532 Crash fix in Windows for transaction traces (broken since 1533 VCD/TIM export in 3.3.61). 15343.3.71 06apr16 Printf format warnings fixes in lxt2_write.c. 1535 Added SVG gtkwave icon in 1536 share/icons/hicolor/scalable/apps/gtkwave.svg directory. 1537 Make gtkwave interpret values as double precision FP for 1538 plotting when BitsToReal is enabled. Also keeps analog mode 1539 enabled when selecting numerical formats (which allows 1540 enabling/disabling BitsToReal without going out of analog 1541 mode). Disabling analog mode can be done using the 1542 existing Analog->Off menu option. 1543 Fix broken non-canonical bit ordering (IBM) single bit 1544 extraction in process_tcl_list(). 1545 Fixed gtkwave::gtkwave::addSignalsFromList so it can handle 1546 subset and forward/reverse extractions on signals. 1547 Remove FST_WRITER_PARALLEL from MinGW CFLAGS as some recent 1548 versions of MinGW have issues with struct timespec when 1549 pthread.h is included. 1550 Added /Edit/Delete to destroy traces without affecting the 1551 existing cut buffer. 15523.3.72 13apr16 Revert to old gtkwave.appdata.xml as the new one is causing 1553 problems with appstream-util validation. 15543.3.73 11jun16 Added dragzoom_threshold rc variable to accommodate input 1555 devices that have a noisy 3rd mouse button. 1556 Fix emission of all filter names so they are emitted in 1557 canonical fashion so as to avoid growing strings of ../ in 1558 savefiles. 15593.3.74 27jul16 Fix for when a signal name is used as a hierarchy name at the 1560 same level of scope. (Affects fsdb.) 1561 Added --rcvar command line option to insert rc variable changes 1562 individually without needing to point to a configuration file. 1563 Change to combine traces down/up routines to handle 2D vector 1564 name generation. 1565 Allow FSDB files to contain ".gz" and ".bz2" suffixes as the 1566 libnffr loader can handle those. 1567 If a variable is declared in the dumpfile as an integer, then 1568 it is imported to the waveform display as an integer instead of 1569 a hex value. This works for dump file formats that show the 1570 datatype in the SST window. 1571 Added code that should prevent the primary marker from 1572 disappearing unexpectedly as well as dynamic resizing being 1573 stuck in the unset marker width. 15743.3.75 02aug16 Fix crash when -S and -W are used in tandem. 15753.3.76 13aug16 Fix for --disable-tcl in ./configure caused by 3.3.75 fix. 1576 Crash fix in fstapi.c on read value at time accessing of 1577 FST files that use new dynamic aliases, FastLZ, or LZ4. This 1578 primarily affects rtlbrowse. 15793.3.77 03oct16 Updated documentation to include an appendix on FST 1580 implementation details. 1581 Removed '!A || (A && B)' is equivalent to '!A || B' redundant 1582 condition checks where found in source. 1583 Added hier_ignore_escapes rc variable. 1584 Dynamic resizing tweaks for when it is turned off. 1585 Added HUWL-? value types to signal_change_list() to keep GHW 1586 files from crashing Tcl scripts. 15873.3.78 26oct16 Fixed crash when using multiple pattern searches. 15883.3.79 31dec16 Disable accelerator keys in twinwave single window mode to 1589 avoid focus conflicts. 1590 Fixes for -fstrict-aliasing and other recent warnings. 1591 Added fill_waveform rc variable and corresponding menu option 1592 (/View/Show Filled High Values) to allow filling in the lower 1593 portion of high values for increased visibility. 15943.3.80 17mar17 Added "/View/Mouseover Copies To Clipboard" menu option to 1595 allow copying values into the clipboard so they can be pasted 1596 into text editors, etc. 15973.3.81 09jun17 Added max_fsdb_trees environment variable. 1598 Fixed -C option so it is persistent across new tabs. 1599 Integrated updated GHW reader code. 16003.3.82 02jul17 Get sys_fst working with VCS VPI. 1601 Added string concatenations for vectors. 1602 Added asserts to ghwlib.c to make scan-view clean. 16033.3.83 04aug17 Preserve search type for regex search across reloads or 1604 close/reopens of regex search widget. 1605 Update local libz to current version. 16063.3.84 03sep17 Updated FSDB reader with experimental FST tree build 1607 routines for faster init. 1608 Removed warnings found when compiling with -Wshadow. 1609 Automatically enable --comphier for FST/FSDB/AE2 if facility 1610 count reaches 500000. This is to reduce memory consumption 1611 for traces with very many signals. Added disable_auto_comphier 1612 to override this behavior. 1613 Fix null pointer sent to gtk_clipboard_set_text() for 1614 mouseover to clipboard cut ops. 16153.3.85 06sep17 Fix integer type in GHW loader so integer value changes are 1616 not stored as a string. This then allows bitwise manipulations 1617 of integers. 16183.3.86 03oct17 Added recurse import function (found before only in the hier 1619 search) into the SST. 1620 Removed obsolete bundle functionality from SST as recurse 1621 import more accurately imports recursively. 1622 Made entrybox taller (using -1) as recent versions of 1623 gnome have taller window titlebars and the widget was not 1624 tall enough. 16253.3.87 28dec17 Added missing prototype for ghw_read_sm_hdr in ghwlib.h. 1626 Made intptr_t changes vs long during casting for win64. 1627 Warnings fixes. 1628 Re-enable twinwave for Win32/64. 1629 Added missing gtkwave_bin_launcher.sh in contrib/bundle_for_osx 1630 Makefile.am. 16313.3.88 20feb18 Added --sstexclude command line option to prune unwanted 1632 clutter from the SST window. 1633 Updated "/View/Mouseover Copies To Clipboard" menu option to 1634 copying signal names into the clipboard so they can be pasted 1635 into text editors, etc. 1636 Fixed Write Save File to handle getting confused by initial 1637 cancel then retry. 1638 Updated v2k input/output declarations to handle unpacked arrays. 1639 Fix for pattern marks that could overshoot the left marker. 16403.3.89 17mar18 Added support for 32-bit conversions in BitsToReal. 1641 Crash fix for pattern search with reals using LXT, LXT2, VZT. 16423.3.90 08may18 For Cut Traces, fix up scroll position if there are traces 1643 above the current row being cut. 1644 Bits to real crash fix for very large floats. 1645 Fixed gray code conversions that were incomplete for right 1646 justified vectors such that the vector length is not a 1647 multiple of the radix size (4 for hex, 3 for oct). 1648 Warray-bounds warning fix for 32-bit conversions in BitsToReal. 16493.3.91 29may18 Added support for GSettings for when GConf is removed from 1650 distributions such as Debian and Ubuntu. 1651 Performance fix for large number of groups (remove useless 1652 recursion required for transaction traces). 16533.3.92 05jul18 Harden FST loader for missing .hier files (if applicable). 1654 Fixed broken GTK+-1.2 compile of twinwave. 1655 Fix scrolling on help window by adding scroll to end mark. 1656 Fix scrolling on status window when use_toolbutton_interface 1657 rc var is set to FALSE by adding scroll to end mark. 1658 Updated BUILT_SOURCES for vermin. 1659 extern yy_size_t yyleng fix in rtlbrowse. 16603.3.93 03aug18 Added sst_dbl_action_type rc variable which controls side- 1661 effect of double-clicking in SST signals pane. 1662 Added xml2stems Verilator XML to rtlbrowse stems converter 1663 to distribution. Eventually vermin will be removed. 1664 Added missing realpath() in udp emission in vermin. 16653.3.94 03sep18 Applied ghwlib.c patch for dealing with null ranges. 1666 Added second chance algorithm for find_dumpfile() in case 1667 it fails. 16683.3.95 07oct18 Added fflush on stdout for help text as fix for possible 1669 stdout problem with mingw/msys shells. 1670 Added preliminary support for Time datatype. 1671 Warnings fixes for Verilator integration. 1672 Fixed install_proc_filter usage for Tcl invocation. 1673 Change integer type to "integer" in SST to differentiate it 1674 from sv ints. 1675 Premiminary support for enum tables embedded in FST files. 16763.3.96 15nov18 Changed to standardized zoom in/out/full hotkeys. 1677 Added time backtracking warning (for partial mode) to lxt2vcd. 1678 VCD time backtracking fix (not for interactive mode). 1679 Added drag_failed handling (can press ESC) to DnD operations. 1680 Prevent missing file in savefile from causing savefile to be 1681 read as VCD by mistake. 1682 Changed to Dinotrace-like 0s/1s rendering for bit vectors so 1683 values can be discerned without seeing the full value text. 1684 Removed unneeded pango_layout_get_extents() inside call for 1685 font_engine_draw_string(). 1686 Changed bsearch_trunc() to run in constant time when monospace 1687 fonts are in use. 1688 Added missing GDK_SCROLL_MASK to signal area (need for gtk3, 1689 but not for other versions for some reason). 16903.3.97 23nov18 Need to set menu_wlist entry NULL on gtk_widget_destroy(). 1691 Fix on vtype()/vtype2() to detect 'x' and make the coloration 1692 red on newly-displayed traces. (Bug new from Dinotrace-like 1693 rendering in 3.3.96.) 16943.3.98 27dec18 Removed pccts and vermin. Use xml2stems instead. 16953.3.99 09feb19 Added visible single bit glitches as a yellow dot (if enabled 1696 with --rcvar 'vcd_preserve_glitches on'). 1697 Fixed print routine broken by bsearch_trunc() optimization in 1698 version 3.3.96. 16993.3.100 20mar19 FSDB fix for variable declarations of array of reals. 1700 Added Real, Time, Enum, and Popcnt flags to Edit/Show-Change. 1701 Ensure Show-Change regenerates analog traces. 1702 Added braces inside Tcl source command to allow spaces in 1703 filenames for Tcl scripts. 17043.3.101 08may19 Added gtkwave::getFacDir, gtkwave::getFacVtype, and 1705 gtkwave::getFacDtype Tcl accessor functions that function 1706 similar to gtkwave::getFacName. 1707 Pair $end with $dumpvars in VCD writers. 1708 Make %.16g printing in baseconvert.c more resistant to power 1709 of 10 roundoff errors. 1710 Remove register keyword where applicable as is deprecated. 1711 Added --saveonexit gtkwave command line option. 17123.3.102 21sep19 Remove redundant TREE_VHDL_ST_PACKAGE from SST exclude. 1713 Added addCommentTracesFromList tcl command from user patch. 1714 Harden savefile loader for missing group start on vectors. 1715 Preliminary VHDL support for wlf2vcd. 1716 Add missing return value checks on mmap() in FST writer. 17173.3.103 03nov19 Fix MAP_FAILED missing for MinGW. 1718 Fix to make the coloration red on 'u' traces. (Bug from 1719 Dinotrace-like rendering in 3.3.96.) 1720 Typo fix on missing group start on vectors. 17213.3.104 24jan20 Added support for loading .vf files (provided FSDB reader 1722 libraries are enabled). 1723 Added support for dumping variable types in vcd saveer, not 1724 just using "wire" for non-reals/strings. 1725 Fix for uninitialized values at time 0 for FST, FSDB loaders. 17263.3.105 01jul20 Fix bad (void) of is_closing in fstDestroyMmaps when using 1727 Cygwin or MinGW. 1728 Fix left shift overflow in cvt_fpsdec(). 1729 Add in missing file/translate/process filter for reals. 1730 Fix for bitvec merging in GHW so integers arrays can be viewed. 1731 Added Shift-Up/Down highlight with scroll in order to assist 1732 with left/right arrow based transition movement. 1733 Fix Show Wave Highlight so it is not dependent on Show Grid. 1734 Fix negative MSBs on VCD loaders for vectors. 1735 Fix getpwuid() null pointer exception. 1736 Add missing recursion case to treenamefix(). 1737 Fix lock/unlock misuse of pthread mutexes across threads. 1738 Examine env var $HOME for home dir on geteuid failure. 17393.3.106 06jul20 Fix for GDK_KEY_* definitions missing in older GDK versions. 1740 Fix Shift-Up/Down highlight to traverse inside groups. 1741 Resync ghwlib to handled unbounded arrays. 17423.3.107 30sep20 Fix left shift overflow in cvt_fpsudec for fixed point. 1743 Added Find First One trace type options. 1744 Fixed bug in Show-Change All Highlighted. 1745