All-

I think the mapfile that's being used with our sqlite-3 is out of date,
and it's causing symbols that should be part of the public API to be
tagged as 'local', rather than 'global'.

The two I've noticed that should be 'global' are

        sqlite3_bind_pointer
        sqlite3_result_blob64

but now that I know it's because of our mapfile, I've found many more,
and I've only begun looking.   Example:

        https://www.sqlite.org/bindptr.html

Those functions were added at 3.20.0 in 2017, but are being marked 'local'
by our mapfile.

If I modify our mapfile so the most recent group:

SYMBOL_VERSION sqlite_3.31.1 {
    global:
        sqlite3_column_origin_name;
        sqlite3_column_origin_name16;
        sqlite3_column_table_name;
        sqlite3_column_table_name16;
        sqlite3_drop_modules;
        sqlite3_filename_database;
        sqlite3_filename_journal;
        sqlite3_filename_wal;
        sqlite3_hard_heap_limit64;
        sqlite3_keyword_check;
        sqlite3_keyword_count;
        sqlite3_keyword_name;
        sqlite3_stmt_isexplain;
        sqlite3_uri_key;
        sqlite3_value_frombind;
} sqlite_3.19.0;


Becomes something like this:

SYMBOL_VERSION sqlite_3.31.1 {
    global:
                # some symbols listed here
} sqlite_3.28.0;

SYMBOL_VERSION sqlite_3.28.0 {
    global:
                # some symbols listed here
} sqlite_3.23.0;

SYMBOL_VERSION sqlite_3.23.0 {
    global:
                # some symbols listed here
} sqlite_3.22.0;

SYMBOL_VERSION sqlite_3.22.0 {
    global:
                # some symbols listed here
} sqlite_3.20.0;

SYMBOL_VERSION sqlite_3.20.0 {
    global:
                # some symbols listed here
} sqlite_3.19.0;


is that going to break everything that uses symbols in the current
sqlite_3.31.1 "block"?  Obviously I would add blocks for function
additions since 3.31.1.

BTW, I looked at the Solaris userland mapfile for sqlite-3 and theirs
differs significantly from ours, but it actually appears ours is more
up to date.

Tim
--
Tim Mooney                                             [email protected]
Enterprise Computing & Infrastructure /
Division of Information Technology    /                701-231-1076 (Voice)
North Dakota State University, Fargo, ND 58105-5164

_______________________________________________
oi-dev mailing list
[email protected]
https://openindiana.org/mailman/listinfo/oi-dev

Reply via email to