[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Some symbols missed in llib-ltinfo and llib-ltinfot for 6.1?
From: |
Dr. Werner Fink |
Subject: |
Re: Some symbols missed in llib-ltinfo and llib-ltinfot for 6.1? |
Date: |
Tue, 27 Feb 2018 08:22:46 +0100 |
User-agent: |
NeoMutt/20170912 (1.9.0) |
On Mon, Feb 26, 2018 at 10:00:44PM +0000, Thomas Dickey wrote:
> On Mon, Feb 26, 2018 at 12:12:56PM +0100, Dr. Werner Fink wrote:
> > Hi,
> >
> > just to check binary compatibility I see from a diff of the exported
> > functions for libtinfo and libtinfow
>
> offhand, that looks as expected: the "ncursestw" variant should be
> supplying all of the symbols that are in "ncursest", but the reverse is
> not true. (That was also true of the data section, so I assume you've
> been building/delivering the tinfo "w" flavor).
>
> The wide-character library adds entrypoints which support the 32-bit
> numbers, which use a larger (TERMTYPE2) structure than the one
> supporting 16-bit numbers (TERMTYPE).
>
> I named the new functions with a "2" on the end to denote their
> relationship to TERMTYPE2.
>
> When built as "ncursestw", the older functions accept a "TERMTYPE" (no
> "2") parameter, and the library converts as needed.
>
> Bear in mind that there were a few bug-reports last spring and early
> summer when I completed those changes, but it seems to be working as
> designed.
>
> By the way, to support 32-bit numbers in terminfo, you'll have to
> build/link the command-line utilities with the wide-character
> configuration.
OK ... the only problem seems to be that there are programs out there
which links to both libtinfo.so.6.1 (threadsafe) as well as to
libtinfow.so.6.1 (wide+threadsafe) and in the case od phython3 modules
this could lead to a deadlock if the order is wrong, in other word
#!/usr/bin/python3
import bcc
import curses
curses.initscr()
curses.endwin()
hangs whereas
#!/usr/bin/python3
import curses
import bcc
curses.initscr()
curses.endwin()
does not and the only difference is the order of loading libtinfo/libtinfow
as the bcc module does use libLLVM.so linked to both tinfo types.
For bcc first the gdb shows
(gdb) info sharedlibrary
...
0x00007f832fd86870 0x00007f832fd94598 Yes /lib64/libtinfo.so.6
...
0x00007f8329bb1a70 0x00007f8329bbfb58 Yes /lib64/libtinfow.so.6
...
0x00007f83287abb10 0x00007f83287d1c2f Yes /lib64/libncursesw.so.6
and the working case looks like
(gdb) info sharedlibrary
...
0x00007fd11d9d1870 0x00007fd11d9df598 Yes /lib64/libtinfo.so.6
...
0x00007fd11d582b10 0x00007fd11d5a8c2f Yes /lib64/libncursesw.so.6
0x00007fd11d355a70 0x00007fd11d363b58 Yes /lib64/libtinfow.so.6
Werner
--
"Having a smoking section in a restaurant is like having
a peeing section in a swimming pool." -- Edward Burr
signature.asc
Description: PGP signature
- Some symbols missed in llib-ltinfo and llib-ltinfot for 6.1?, Dr. Werner Fink, 2018/02/26
- Re: Some symbols missed in llib-ltinfo and llib-ltinfot for 6.1?, Thomas Dickey, 2018/02/26
- Re: Some symbols missed in llib-ltinfo and llib-ltinfot for 6.1?,
Dr. Werner Fink <=
- Re: [bug-ncurses] Some symbols missed in llib-ltinfo and llib-ltinfot for 6.1?, Dr. Werner Fink, 2018/02/27
- Re: Some symbols missed in llib-ltinfo and llib-ltinfot for 6.1?, Thomas Dickey, 2018/02/27
- Re: Some symbols missed in llib-ltinfo and llib-ltinfot for 6.1?, Dr. Werner Fink, 2018/02/27
- Re: Some symbols missed in llib-ltinfo and llib-ltinfot for 6.1?, Thomas Dickey, 2018/02/27
- Re: Some symbols missed in llib-ltinfo and llib-ltinfot for 6.1?, Dr. Werner Fink, 2018/02/28
- Re: [bug-ncurses] Some symbols missed in llib-ltinfo and llib-ltinfot for 6.1?, Dr. Werner Fink, 2018/02/28
- Re: Some symbols missed in llib-ltinfo and llib-ltinfot for 6.1?, Sven Joachim, 2018/02/28