sox-devel@lists.sourceforge.net unofficial mirror
 help / color / mirror / code / Atom feed
* [ sox-Feature Requests-2214694 ] Do not export lsx_ symbols in libsox
@ 2013-03-08 12:01 SourceForge.net
  0 siblings, 0 replies; only message in thread
From: SourceForge.net @ 2013-03-08 12:01 UTC (permalink / raw)
  To: SourceForge.net

Feature Requests item #2214694, was opened at 2008-11-01 14:12
Message generated for change (Comment added) made by uklauer
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=360706&aid=2214694&group_id=10706

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Chris Bagwell (cbagwell)
Assigned to: Nobody/Anonymous (nobody)
Summary: Do not export lsx_ symbols in libsox

Initial Comment:
If you look at the public symbols in libsox, you'll see a lot of symbols that we do not advertise as part of the SoX API.  They have all been prefixed with lsx_ to help distinguish them.

It would be nice to not export those as public symbols.  Most obvious option is to make use of -retain-symbols-file where it is supported.  

I think I've also seen attempts to do this at compile time by png.h (not sure if it works or worth the trouble it looks like it causes).

----------------------------------------------------------------------

>Comment By: Ulrich Klauer (uklauer)
Date: 2013-03-08 04:01

Message:
This can, in principle, be easily done via libtool's -export-symbols-regex
option ("-export-symbols-regex '^sox_'").

However, SoX-the-application uses several internal functions (see "nm -Du
`which sox` | grep lsx_"), and the modules built via --with-whatever=dyn
some more. Therefore, the regex to use is more like:
"^(sox_.*|lsx_(check_read_params|(close|open)_dllibrary|(debug(_more|_most)?|fail|report|warn)_impl|eof|fail_errno|filelength|find_(enum_(text|value)|file_extension)|getopt(_init)?|lpc10_(create_(de|en)coder_state|(de|en)code)|raw(read|write)|read(_b_buf|buf|chars)|realloc|rewind|seeki|sigfigs3p?|strcasecmp|tell
|unreadb|write(b|_b_buf|buf|s)))$"
Still, this hides about 90% of the private symbols, so I think I will
actually add this, as a step in the right direction.

To deal with the rest, we'd need to create a self-contained helper library
that can be linked (statically) into the modules, and into
SoX-the-application. But it is probably difficult to make it
self-contained, as those functions in turn call more internal functions,
etc.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=360706&aid=2214694&group_id=10706

------------------------------------------------------------------------------
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2013-03-08 12:02 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-08 12:01 [ sox-Feature Requests-2214694 ] Do not export lsx_ symbols in libsox SourceForge.net

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/sox.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).