[oi-dev] sqlite-3 mapfile needs API updates

Tim Mooney Tim.Mooney at ndsu.edu
Fri Mar 10 07:42:46 UTC 2023


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                                             Tim.Mooney at ndsu.edu
Enterprise Computing & Infrastructure /
Division of Information Technology    /                701-231-1076 (Voice)
North Dakota State University, Fargo, ND 58105-5164



More information about the oi-dev mailing list