From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/7537 Path: news.gmane.org!not-for-mail From: Alexander Monakov Newsgroups: gmane.linux.lib.musl.general Subject: Re: [PATCH] force LTO to be disabled when compiling dlstart.lo Date: Tue, 28 Apr 2015 11:35:18 +0300 (MSK) Message-ID: References: <1430201554-11359-1-git-send-email-armccurdy@gmail.com> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Trace: ger.gmane.org 1430210138 13681 80.91.229.3 (28 Apr 2015 08:35:38 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 28 Apr 2015 08:35:38 +0000 (UTC) Cc: musl@lists.openwall.com To: Andre McCurdy Original-X-From: musl-return-7550-gllmg-musl=m.gmane.org@lists.openwall.com Tue Apr 28 10:35:38 2015 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1Yn0zM-0000Od-8N for gllmg-musl@m.gmane.org; Tue, 28 Apr 2015 10:35:32 +0200 Original-Received: (qmail 7411 invoked by uid 550); 28 Apr 2015 08:35:30 -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 7392 invoked from network); 28 Apr 2015 08:35:29 -0000 In-Reply-To: <1430201554-11359-1-git-send-email-armccurdy@gmail.com> User-Agent: Alpine 2.11 (LNX 23 2013-08-11) Xref: news.gmane.org gmane.linux.lib.musl.general:7537 Archived-At: Hello, Sorry for not joining the discussion earlier. Andre, can you specify your GCC and Binutils version? The reason I ask, with modern toolchain you shouldn't be seeing the error you reported. The fact that _dlstart_c function is used from assembly should have been communicated from the linker to the compiler via the "linker plugin". If linker plugin was not used, that would explan the problem. Can you also check if adding '-fuse-linker-plugin' to '-flto' works for you? For reference, with GCC 4.9 that uses linker plugin for LTO automatically, I get the following diagnostics: /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.2/../../../../x86_64-pc-linux-gnu/bin/ld: error: /tmp/ccxxkwJ8.ltrans0.ltrans.o: requires dynamic R_X86_64_PC32 reloc against '_dlstart_c' which may overflow at runtime; recompile with -fPIC /tmp/ccxxkwJ8.ltrans0.ltrans.o(.text+0x12): error: undefined reference to '_dlstart_c' Not saying the patch can't go in -- just want to make sure everyone on the same page regarding the origin of the problem and GCC LTO capabilities. Alexander