From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/360 Path: news.gmane.org!not-for-mail From: Szabolcs Nagy Newsgroups: gmane.linux.lib.musl.general Subject: Re: Compilation error Date: Mon, 8 Aug 2011 09:08:17 +0200 Message-ID: <20110808070817.GD29562@port70.net> References: <6b8e6a08f65ec476283a3699a41451d7@smtp1.ispfr.net> <20110807193658.GA29562@port70.net> <20110807193431.GI132@brightrain.aerifal.cx> <20110807195006.GJ132@brightrain.aerifal.cx> <20110807220940.GC29562@port70.net> <20110807220025.GL132@brightrain.aerifal.cx> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1312787316 31010 80.91.229.12 (8 Aug 2011 07:08:36 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 8 Aug 2011 07:08:36 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-361-gllmg-musl=m.gmane.org@lists.openwall.com Mon Aug 08 09:08:33 2011 Return-path: Envelope-to: gllmg-musl@lo.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by lo.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1QqJwu-0002vo-CL for gllmg-musl@lo.gmane.org; Mon, 08 Aug 2011 09:08:32 +0200 Original-Received: (qmail 18070 invoked by uid 550); 8 Aug 2011 07:08:31 -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 18058 invoked from network); 8 Aug 2011 07:08:30 -0000 Content-Disposition: inline In-Reply-To: <20110807220025.GL132@brightrain.aerifal.cx> User-Agent: Mutt/1.5.20 (2009-06-14) Xref: news.gmane.org gmane.linux.lib.musl.general:360 Archived-At: * Rich Felker [2011-08-07 18:00:25 -0400]: > > (for some reason dynamic linking with musl fails now if i > > compile musl with pcc imho it used to work..) > > Can you find where it fails? > it can be a pcc bug if i compile everything with pcc but link with gcc then dynamic linking works the only change to the linker flags is -L/path/to/pcclibs -lpcc instead of -lgcc, so either pcc does not call ld properly or there is some issue with -lpcc pcc -v prints the way it calls the linker: ld -v -X -shared -o lib/libc.so -e _start -Bsymbolic-functions -soname=libc.so [..src/*/*.lo..] -L/usr/local/lib/pcc/i686-pc-linux-gnu/1.1.0.DEVEL/lib/ -lpcc -g i printed some variables right before do_single_reloc (pcc debug info is not always reliable) (type 8 is R_386_RELATIVE) running in gdb: type 8 sym_idex 0 reloc_addr 0xb785c37c *reloc_addr 0x8dc94 base 0xb77d1000 rel[0..2] 0x8b37c 0x8 0x8fdb4 Program received signal SIGSEGV, Segmentation fault. 0xb77ddda8 in do_single_reloc () at src/ldso/dynlink.c:148 148 } (gdb) bt #0 0xb77ddda8 in do_single_reloc () at src/ldso/dynlink.c:148 #1 0xb77ddcba in do_relocs (base=0xb77d1000 "\177ELF\001\001\001", start=, end=, base=0xb77d1000 "\177ELF\001\001\001", start=, end=) at src/ldso/dynlink.c:146 #2 0xb77e048b in __dynlink () at src/ldso/dynlink.c:538 #3 0xb77e0abc in _start () from ../../lib/libc.so running in valgrind: type 8 sym_idex 0 reloc_addr 0x0408b37c *reloc_addr 0x8dc94 base 0x04000000 rel[0..2] 0x8b37c 0x8 0x8fdb4 ==2261== ==2261== Process terminating with default action of signal 11 (SIGSEGV) ==2261== Bad permissions for mapped region at address 0x408B37C ==2261== at 0x400CDA8: ??? (src/ldso/dynlink.c:148) ==2261== by 0x400CCB9: ??? (src/ldso/dynlink.c:146) ==2261== by 0x400F48A: __dynlink (src/ldso/dynlink.c:538) ==2261== by 0x400FABB: (within /home/nsz/dev/lang/c/musl/lib/libc.so) valgrind says it's permission problem so i printed smaps smaps with pcc: type 8 sym_idex 0 reloc_addr 0xb78ac1ec *reloc_addr 0x62544 base 0xb7863000 rel[0..2] 0x491ec 0x8 0x63000 ... b7862000-b7863000 r-xp b7862000 00:00 0 [vdso] Size: 4 kB Rss: 4 kB Pss: 0 kB Shared_Clean: 4 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 0 kB Referenced: 4 kB Swap: 0 kB b7863000-b78c6000 r-xp 00000000 08:01 1581497 /home/nsz/dev/lang/c/musl/lib/libc.so Size: 396 kB Rss: 68 kB Pss: 68 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 68 kB Private_Dirty: 0 kB Referenced: 68 kB Swap: 0 kB b78c6000-b78c7000 rwxp 00063000 08:01 1581497 /home/nsz/dev/lang/c/musl/lib/libc.so Size: 4 kB Rss: 4 kB Pss: 4 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 4 kB Referenced: 4 kB Swap: 0 kB ... smaps when linked with gcc (no segfault): type 8 sym_idex 0 reloc_addr 0xb77c5ea4 *reloc_addr 0xdd40 base 0xb7760000 rel[0..2] 0x65ea4 0x8 0x65ea8 ... b775f000-b7760000 r-xp b775f000 00:00 0 [vdso] Size: 4 kB Rss: 4 kB Pss: 0 kB Shared_Clean: 4 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 0 kB Referenced: 4 kB Swap: 0 kB b7760000-b77c5000 r-xp 00000000 08:01 5638271 /home/nsz/dev/lang/c/musl/lib/libc.so Size: 404 kB Rss: 72 kB Pss: 72 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 72 kB Private_Dirty: 0 kB Referenced: 72 kB Swap: 0 kB b77c5000-b77c7000 rwxp 00064000 08:01 5638271 /home/nsz/dev/lang/c/musl/lib/libc.so Size: 8 kB Rss: 8 kB Pss: 8 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 8 kB Referenced: 8 kB Swap: 0 kB ...