Change-Log for MAPSYM-SCRIPTS


https://invisible-island.net/scripts/
2023-08-19

        * analyze-curses-symbols:
        in debug-trace, show the symbol categories for each symbol

        * analyze-curses-symbols:
        add ncurses 6 extensions tparm_s and tscan_s, in the terminfo section, and
        move comparable terminfo features from the ncurses categories into the
        terminfo category as t5 or t6.

        * analyze-curses-symbols:
        sort the keys in merge_syms so that the debug-trace is easier to read

2023-08-18

        * analyze-curses-symbols:
        With Debian 11, nm returns the "@" annotation for versioned symbols.  strip that.

2021-04-03

        * analyze-curses-symbols: the BSDs require -D option too

2021-03-05

        * analyze-curses-symbols: BSS and Common symbols count, too.

        * analyze-curses-symbols: don't try ldd unless the file is readable.

        * analyze-curses-symbols:
        ignore scripts as well as non-executable files

        * analyze-curses-symbols: Solaris needs the -D option of nm

2021-02-27

        * analyze-curses-symbols:
        add check for extended ncurses symbols in sym_is_terminal

        * analyze-curses-symbols:
        -d option shows relevant symbols as they are found

2021-02-26

        * analyze-curses-symbols:
        reset state in output from otool on each "Load command"
        look for symbols in a REEXPORT DYLIB

        * analyze-curses-symbols: make the other use of "-D" platform-dependent

        * analyze-curses-symbols:
        for MacOS (darwin), use "otool -l" rather than "ldd", as well as omitting
        the "-D" option for nm, and trimming a leading "_" from symbols.

2020-01-18

        * analyze-curses-symbols: set_term isn't in SVr3

        * analyze-curses-symbols: tgetflag was SVr3

        * analyze-curses-symbols:
        the manual page's introductory section lists parameter-names mixed with
        global-variable names.  I picked out several from the latter, noted here.

        * analyze-curses-symbols: note the SVr3 functions per documentation

        * analyze-curses-symbols: note the symbols from SVr2 documentation

2019-12-09

        * ncu-mapsyms: fix typo

2019-08-07

        * analyze-curses-symbols:
        handle the special case of "tgoto" where termcap/terminfo functions overlap
        by knowing that termcap applications must call tgetent

        * analyze-curses-symbols:
        a little cryptic, but compact: show the highest curses level in the
        summary block for each file.

        * analyze-curses-symbols:
        split up the duplicated curses lists into bsd, sys5 and xopen

        * analyze-curses-symbols: indent

        * analyze-curses-symbols:
        add SVr4 curses (there's overlap, which I'll address later)

        * analyze-curses-symbols: add 4.2BSD tabcol and 4.3BSD symbols

        * analyze-curses-symbols: 4.1BSD added 3 symbols

        * analyze-curses-symbols: add symbols for 4.0BSD "b0"

        * analyze-curses-symbols: add symbols for antique terminfo

2019-07-27

        * analyze-curses-symbols:
        workarounds to allow running with AIX and HPUX.  The latter is more successful,
        the former's stripped executables contain no symbols at all

        * analyze-curses-symbols: use env rather than perl-path

2019-07-21

        * analyze-curses-symbols: bump

        * analyze-curses-symbols: add ncurses-6 symbols

2019-05-04

        * check-map-vs-sym: fix typo, remove overly-verbose message

        * check-map-vs-sym: RCS_BASE

2016-10-29

        * ncu-symbols: copyright

        * ncu-symbols: wide symbols start with 2002/10/12

2016-01-26

        * dlg-symbols: add a release

2015-07-11

        * ncu-mapsyms:
        since I cutoff before 6.0, there is no "current" date, but only dates for
        the most recent change to the ncurses ABI.  Fix using the most recent date.

        * ncu-mapsyms:
        fix a debug-statement, which was showing a hash code rather than the collectin of strings

        * ncu-symbols:
        in the final step to associate "_*" pattern, the ".sym" files have already
        been moved to package/SAVE, so the wildcard does not refer to a valid file.

2015-06-27

        * ncu-mapsyms: add deprecated symbols for Debian #788610

2015-06-13

        * ncu-mapsyms:
        fix -- needs retesting -- when I regenerated map-files, the "-s" option
        left some of the symbols out, as well as putting them in the wrong dates.
        At least part of the problem is that I was testing the old label (pre-merge)
        when I should have tested the new label.  This change improves the merge,
        but there seems to be an unwanted suffix in some cases.

        * ncu-symbols: fix typo from 2015/02/14

        * ncu-symbols: explain the last change

        * ncu-symbols: generate symbols for the _last_ 5.9 patch

2015-02-25

        * ncu-mapsyms:
        the --without-libtool option does not (really) affect ABI, though we may
        use different library versioning.

        * dlg-symbols: for now, do not use "-s" and "-p" options

        * dlg-symbols:
        my versioning scheme for dialog differs from ncurses: in ncurses, everything
        is "vM_M_MMMMMMMM", with occasional "vM_M", while dialog uses "tMMMMMMMM"
        with occasional "vM_M"

        * ncu-mapsyms: eliminate an unnecessary verbose-message

        * dlg-symbols: s/dist.mk/VERSION/ for rlog lookup

        * dlg-symbols:
        initially I had only libtool -- use that unless I find case where it fails

2015-02-24

        * dlg-symbols: RCS_BASE

        * ncu-mapsyms:
        fix for my dpkg builds which are in a temporary directory named "cdialog"

        * ncu-mapsyms:
        generalize ncurses' "initscr" a little - probably need better solution

        * ncu-mapsyms: show the number of symbols read from needed-syms

        * ncu-mapsyms:
        start generalizing, to check in VERSION file if no dist.mk found

2015-02-20

        * analyze-curses-symbols: fill in check for ncurses-extensions

        * analyze-curses-symbols: handle read from stdin

        * analyze-curses-symbols: typo

        * analyze-curses-symbols:
        handle programs such as aptitude which depend on library which depends on curses.

2015-02-19

        * analyze-curses-symbols: documentation fixes

        * analyze-curses-symbols:
        ignore symbolic link to directory in traversal

        * analyze-curses-symbols: add -q, -r and -s options

2015-02-18

        * analyze-curses-symbols: show counts of symbol usage

        * analyze-curses-symbols: accumulate counts for each symbol vs program

        * analyze-curses-symbols:
        add functions for reading the dynamic symbols from both libraries and application

        * analyze-curses-symbols: q/d integration of "ldd"

        * analyze-curses-symbols: RCS_BASE

2015-02-14

        * ncu-symbols:
        fix an inconsistency in the way I checked for weak-symbols

2015-02-10

        * ncu-symbols:
        move the "-v" into $MAP_OPTS, and echo that (for the log)

2015-02-09

        * ncu-mapsyms:
        add new "-t" option to get better control over the library renaming done
        when --enable-weak-symbols is used.

        * ncu-symbols:
        try a different tack, with new option "-t" to ncu-mapsyms

        * ncu-mapsyms:
        after the last fix, I found that the data returned from read_config() did
        not match the expected hash referencing.  This reworks a chunk in that - seems
        to fix the immediate problem.

2015-02-08

        * ncu-mapsyms:
        when I revised the comment-header with options, I overlooked get_config_params,
        which assumed the old layout.  When using "ncu-mapsyms -s", that caused all
        of the options to be emitted on a single line.

2015-02-07

        * ncu-symbols: add header for log to show "current"

        * ncu-symbols:
        fix typo that introduced termlib option values into header

        * ncu-symbols:
        looks like adding weak symbols only adds to thread - simple...

        * ncu-symbols:
        override tinfo/tic library names to force weak-symbol stuff into "right" file

2015-01-31

        * ncu-symbols: turn on verbose

        * ncu-mapsyms: overlooked filling in long headers for ".sym" file

        * ncu-symbols: make output a little easier to find the ncu-mapsyms call

        * compare-mapsyms: typo

        * ncu-mapsyms:
        when first creating a ".map" file, check (since it is being created with a
        different name) if the original ".map" file exists, and if so, what configure
        options its header might list.

        * ncu-mapsyms:
        the reason I had no options was that for autoconf 2.13, the "--version"
        option does not tell about the configure options.  added a fallback to
        read the comment-header, which has that information.

        * ncu-mapsyms:
        better show at least "(none)" to indicate the build-date, even if there were
        no options.

        * ncu-mapsyms:
        original build of 5.0 has no options to add, so a hash was empty - add check

2015-01-24

        * ncu-mapsyms:
        first cut of revised configure-options logic, ready to test in ncu-symbols

        * ncu-mapsyms: first cut at writing hashes for options

        * ncu-mapsyms:
        split-out add_config, so that all of the logic for configure-options is
        in functions shared between map/sym functions

        * ncu-mapsyms:
        split-out read_options function.  Drop the get_merge_count feature, since
        that doesn't fit into a function scenario - and I'll be revising the format
        of the options anyway.

        * ncu-mapsyms: split-out write_options function

        * ncu-mapsyms: trim uninteresting configure options

2015-01-17

        * ncu-symbols: comment-out debug option

        * ncu-mapsyms:
        add a special case to work around --weak-symbols option which Werner seems to
        have persuaded me to make the library suffix "t" omitted.

        * ncu-symbols:
        In response to Werner's comment, I tried combining --enable-weak-symbols,
        but had forgotten that suppresses the "t" part of the suffix (and added a
        lot of pthread stuff to ncursesw.map).  Take that out, and write a note in
        INSTALL to explain better about renaming map-files in the configure options.

        * ncu-symbols:
        first cut of changes to detect when map/sym files do/do not change

        * compare-mapsyms: RCS_BASE

        * report-mapsyms: make the "-v" message go to stderr

        * report-mapsyms: RCS_BASE

2015-01-12

        * ncu-symbols: Werner reported a problem with hashed-db vs ticlib

2015-01-10

        * ncu-mapsyms:
        q/d implementation of "-p" assumes that I've marked the final state as "current"

        * ncu-mapsyms: start work on -p option

        * ncu-symbols: correct spelling of "broken_linker"
        add hashed-db to list

2015-01-03

        * ncu-symbols: date

        * ncu-symbols: tried - didn't help

        * ncu-mapsyms: date

        * ncu-mapsyms: _nc_freeall is used in Ada95 binding

2014-12-27

        * ncu-symbols: when doing "-a", finish by resyncing symbols

2014-12-13

        * ncu-mapsyms: reported in
                http://lists.gnu.org/archive/html/bug-ncurses/2014-12/msg00007.html
        I had moved comp_captab and comp_hash from libtic to libtinfo after 5.7,
        and without marking them specially, they were "still" in libtic.

2014-12-06

        * ncu-mapsyms: ensure ".sym" files are the same scope

        * ncu-mapsyms:
        have to ripple-up scope when synchronizing, to ensure that if one library
        makes something global, everyone gets it.

        * ncu-mapsyms: implemented the synchronization part of "-s" option

        * ncu-mapsyms:
        ok - before transforming with "-s", the input/output files are identical

        * ncu-mapsyms: for "-s", make comment-header identical to input

        * ncu-mapsyms: for "-s" option, preserve the merge-count in the header

        * ncu-mapsyms:
        a little more - reading/writing (but I see unexplained differences - debug)

        * ncu-mapsyms:
        start work on "-s" option by moving globals into functions - so I can reuse
        the parts for reading/writing ".map" files

        * ncu-mapsyms:
        add two entrypoints for ABI stability per notes in INSTALL

2014-11-29

        * ncu-symbols:
        tweaks to make it simpler to see in the logs the merge-process.

        * ncu-mapsyms:
        if previously global, it seems we have to keep it global -- otherwise successive
        builds for a given date do not merge properly.

        * ncu-mapsyms: implement merge-options comments for .map files

        * ncu-mapsyms:
        fix a case where tack-symbols did not percolate as globals

        * ncu-symbols:
        when doing "all" versions, infer "current" from the last label in dist.mk

        * ncu-symbols: add copyright notice

2014-11-28

        * ncu-symbols: go for broke

        * ncu-symbols: first cut

        * ncu-symbols: start restructuring to allow adding command-line options

        * ncu-mapsyms: fixes for new/old scope

2014-11-27

        * ncu-mapsyms: map "glue" into "global"

        * ncu-symbols: build-fix for 5.7

        * ncu-symbols:
        workaround for building 5.5 (glibc started #define'ing _XOPEN_SOURCE_EXTENDED,
        which breaks my build since I ifdef'd wint_t inside that).

        * ncu-symbols:
        got 5.4 to build - though it seems to be missing something.

        * ncu-symbols: trap isn't doing what I wanted - use explicit checks.

        * ncu-symbols: better error-exit

        * ncu-symbols: that last omitted _nc_read_termcap - fix

        * ncu-symbols: refine that a little (still testing v5_0)

        * ncu-symbols:
        I may revise this, but for now, ignore the c++ binding since old 5.0 does not compile.

        * ncu-symbols: handle a special case in 2004 for --enable-widec switch

2014-11-26

        * ncu-symbols:
        make it possible to merge releases one-by-one by not zapping the .map/.sym files

2014-11-24

        * ncu-mapsyms: fix another merge problem

2014-11-23

        * ncu-mapsyms:
        fix one of the tic/tinfo merge problems - %tack_symbols has to say which to use

        * ncu-mapsyms:
        make parsing a little easier to follow by showing the _original_ line in the debugging trace

        * ncu-mapsyms:
        add comment at top of .map / .sym explaining what it is for

        * ncu-mapsyms:
        start showing config values in .map header (no merge done yet)

2014-11-22

        * ncu-mapsyms: working to preserve ncurses_tic aka "tic"

        * ncu-mapsyms: add -v option

        * ncu-mapsyms: add verbose check for opening files

        * ncu-mapsyms:
        fixes for -m option (finding that the tic-nodes get lost early on)

        * ncu-mapsyms: add -m option

        * ncu-mapsyms: add -d option
        fix a merge problem, where older ncurses library containing tinfo overrode newer tinfo library

        * ncu-symbols:
        can't really use "fast" build, since the needed-syms works on the executables as well

        * ncu-mapsyms: filter out "_*" token

        * ncu-mapsyms: fix glitch in "prior", when nothing changes in a release

        * ncu-mapsyms:
        initializing a hash requires two values - fix tack_symbols

        * ncu-mapsyms: tack-symbols seem to work.

        * ncu-mapsyms: split-out sub generic_libname
        start working to make tack's special symbols global

        * ncu-mapsyms:
        merge old ".map" into new ".map" when the latter is missing data

        * ncu-mapsyms:
        map library names into the ones I should use for versioned-symbols.

        * ncu-mapsyms: write the data in %new_symbols to mapfile
        more work to prepare that hash is needed...

        * ncu-mapsyms:
        to write the map-file, have to loop over all of the libraries...

        * ncu-mapsyms: start building indexes needed for writing map-file

        * ncu-mapsyms: q/d check_map()

        * ncu-mapsyms:
        start working to merge the existing ".map" data into new data

        * ncu-mapsyms: build a hash for each node from .map file

        * ncu-mapsyms: parse ".map" file

2014-11-21

        * ncu-mapsyms: split-out this_lib and output_file functions

2014-11-20

        * ncu-symbols: cannot build ticlib and termcap support at the same time

        * ncu-symbols: --disable-root-environ

2014-11-19

        * ncu-mapsyms: merge the options-comments too

        * ncu-symbols: two more quirks

        * ncu-mapsyms:
        merge contents of ".sym" files, allowing ncu-symbols to make overlapping
        builds to get workable list for several combinations.

        * ncu-symbols:
        tweak to provide overlapping sets of symbols for sp-funcs vs reentrant options

        * ncu-mapsyms: ncurses' private symbols include _traceXXX

        * needed-syms: copyright

        * ncu-mapsyms:
        show the options used for generating the libraries used for symbols...

        * ncu-symbols: proposed changes to factor into ncu-getsyms

        * ncu-mapsyms:
        needed-syms can (for instance libtic) return C runtime symbols.
        filter those out.

2014-11-18

        * ncu-mapsyms: show progress

        * ncu-symbols: use ncu-mapsyms

        * ncu-mapsyms: write a ".sym" file

        * ncu-mapsyms: read data via "needed-syms"

        * needed-syms: mark the "glue" symbols as such

        * ncu-mapsyms: RCS_BASE

        * needed-syms: make data for "local:" the library name, for consistency

        * needed-syms: simplify output a little

        * needed-syms:
        first cut - gather all info, some work needed to get parsable results

        * needed-syms: RCS_BASE

2014-11-17

        * ncu-symbols: need testing...

2014-11-08

        * ncu-symbols:
        once successfully configured for shared-libraries, make the libraries

        * ncu-symbols: RCS_BASE