From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/4648 Path: news.gmane.org!not-for-mail From: David Grothe Newsgroups: gmane.linux.lib.musl.general Subject: Static linking of musl with code compiled using GNU header files Date: Fri, 14 Mar 2014 10:47:31 -0500 Message-ID: <53232493.80901@gcom.com> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="------------000009010903040503090602" X-Trace: ger.gmane.org 1394812060 3183 80.91.229.3 (14 Mar 2014 15:47:40 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 14 Mar 2014 15:47:40 +0000 (UTC) Cc: Support at Gcom To: musl@lists.openwall.com Original-X-From: musl-return-4652-gllmg-musl=m.gmane.org@lists.openwall.com Fri Mar 14 16:47:49 2014 Return-path: Envelope-to: gllmg-musl@plane.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1WOUKp-00027M-7j for gllmg-musl@plane.gmane.org; Fri, 14 Mar 2014 16:47:47 +0100 Original-Received: (qmail 24144 invoked by uid 550); 14 Mar 2014 15:47:45 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 24131 invoked from network); 14 Mar 2014 15:47:45 -0000 X-Virus-Scanned: OK User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 Xref: news.gmane.org gmane.linux.lib.musl.general:4648 Archived-At: This is a multi-part message in MIME format. --------------000009010903040503090602 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Hello, I have a very large code base that I have been compiling on Linux using the standard GNU C compiler [gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3]. I have been using shared object libraries, but for reasons of software support I would now like to link all my commands (a couple of dozen) and daemons using static libraries so that the code files are self-contained and can be copied, along with a core file, to any server back in my shop for analysis. With dynamic libraries I have to have exactly the same version of libc installed on the machine that I use to examine the core file as were present on the machine that generated the core file, or else gdb will not produce a stack back trace with file and line number information. So much for the background. I really don't want to port my code base to using the musl header files. I want to keep compiling with the GNU headers. When I do this and link my-huge-program.o with musl libc.a I get the following list of unresolved externals: U __divdi3 w __fini_array_end w __fini_array_start U __moddi3 U __sysv_signal U __udivdi3 U __umoddi3 U __vfprintf_chk U __vsnprintf_chk U __vsprintf_chk U __sysv_signal So, I am wondering if the musl library could at some point provide these routines to enable users to do what I am trying to do. Any possibility of that? Thanks, Dave --------------000009010903040503090602 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hello,

I have a very large code base that I have been compiling on Linux using the standard GNU C compiler [gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3].  I have been using shared object libraries, but for reasons of software support I would now like to link all my commands (a couple of dozen) and daemons using static libraries so that the code files are self-contained and can be copied, along with a core file, to any server back in my shop for analysis.  With dynamic libraries I have to have exactly the same version of libc installed on the machine that I use to examine the core file as were present on the machine that generated the core file, or else gdb will not produce a stack back trace with file and line number information.  So much for the background.

I really don't want to port my code base to using the musl header files.  I want to keep compiling with the GNU headers.  When I do this and link my-huge-program.o with musl libc.a I get the following list of unresolved externals:

         U __divdi3
         w __fini_array_end
         w __fini_array_start
         U __moddi3
         U __sysv_signal
         U __udivdi3
         U __umoddi3
         U __vfprintf_chk
         U __vsnprintf_chk
         U __vsprintf_chk
         U __sysv_signal

So, I am wondering if the musl library could at some point provide these routines to enable users to do what I am trying to do.

Any possibility of that?

Thanks,
Dave
--------------000009010903040503090602--