From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/4474 Path: news.gmane.org!not-for-mail From: John Spencer Newsgroups: gmane.linux.lib.musl.general Subject: Re: Re: libgcc --disable-shared test case Date: Sun, 12 Jan 2014 10:54:07 +0100 Message-ID: <52D2663F.1030109@barfooze.de> References: <20131017060913.GA1957@brightrain.aerifal.cx> <1389462032.1176.18@driftwood> <20140111215106.GV24286@brightrain.aerifal.cx> <52D1BFE9.6040703@landley.net> <20140111222354.GW24286@brightrain.aerifal.cx> <52D1C7EC.5090908@landley.net> <20140111224509.GX24286@brightrain.aerifal.cx> <52D1D9DF.1010300@barfooze.de> <52D1FF86.80800@landley.net> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1389520476 23692 80.91.229.3 (12 Jan 2014 09:54:36 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 12 Jan 2014 09:54:36 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-4478-gllmg-musl=m.gmane.org@lists.openwall.com Sun Jan 12 10:54:45 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 1W2Hkh-0006VB-W8 for gllmg-musl@plane.gmane.org; Sun, 12 Jan 2014 10:54:44 +0100 Original-Received: (qmail 20204 invoked by uid 550); 12 Jan 2014 09:54:41 -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 20190 invoked from network); 12 Jan 2014 09:54:40 -0000 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20130801 Thunderbird/17.0.8 In-Reply-To: <52D1FF86.80800@landley.net> Xref: news.gmane.org gmane.linux.lib.musl.general:4474 Archived-At: Rob Landley wrote: > On 01/11/14 17:55, John Spencer wrote: >> Rich Felker wrote: >>> The way to fix it is to find the conditional logic in the gcc build >>> system (I forget whether it's in configure, the Makefiles, or the >>> headers) that disables use of the visibility attribute when >>> --disable-shared is passed, and simply dummy it out so that visibility >>> is always used. At one point we discussed on IRC how this could be >>> fixed at the GCC level, so I could probably dig something out of IRC >>> logs if you want. >> >> that would be >> https://github.com/sabotage-linux/sabotage/blob/36661440192e2ec51531ea81c7866578010f3283/KEEP/gcc-454-libgcc_hidden.patch >> > > In 4.2 there is no libgcc/Makefile.in, instead there's a mklibgcc.in > generating the file. Given that it's generating a value and assigning it > to vis_hide a few lines earlier, @vis_hide@ is some external stuff that passes in all function names or so. the makefile has some logic depending on --disable-shared to either set vis_hide to all functions (@vis_hide@), or to nothing at all. this patch here just sets vis_hide to them all unconditionally > I have no idea if the suggested fix > (trying to pass through a value from autoconf?) is relevant to this > version of the code. > > The real problem is I have no way to reproduce the failure yet. The you can just build libc.so with the new compiler and if it has any undefined symbols in it, it's broken (readelf -a) a broken libc.so has stuff like this 2: 00000000 0 NOTYPE GLOBAL DEFAULT UND __muldc3 3: 00000000 0 NOTYPE GLOBAL DEFAULT UND __mulsc3 4: 00000000 0 NOTYPE GLOBAL DEFAULT UND __mulxc3 > comment that it occurs building musl for mips seems useful, I'll try > that. But it's kinda hard to fix a failure I've never seen fail... > > Rob >