From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#24703: fontconfig keeps obfuscated reference to itself, not grafted Date: Sun, 16 Oct 2016 17:06:55 +0200 Message-ID: <87eg3ggwog.fsf@gnu.org> References: <87mvi5lzqu.fsf@netris.org> <87oa2kgxti.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:37176) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bvn2j-0003Yu-U1 for bug-guix@gnu.org; Sun, 16 Oct 2016 11:08:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bvn2g-0001Yo-O3 for bug-guix@gnu.org; Sun, 16 Oct 2016 11:08:05 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:56967) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1bvn2g-0001Yk-Kn for bug-guix@gnu.org; Sun, 16 Oct 2016 11:08:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87oa2kgxti.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Sun, 16 Oct 2016 16:42:17 +0200") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Mark H Weaver Cc: 24703@debbugs.gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable ludo@gnu.org (Ludovic Court=C3=A8s) skribis: > Mark H Weaver skribis: > >> It turns out there's an obfuscated self-reference to fontconfig's store >> directory. Here's an excerpt of the output of "hexdump -C >> libfontconfig.so.1.9.0": >> >> 0000cca0 00 48 b9 2f 67 6e 75 2f 73 74 6f c6 40 48 00 45 |.H./gnu/sto= .@H.E| >> 0000ccb0 31 e4 48 89 08 48 b9 72 65 2f 62 34 38 34 6e 48 |1.H..H.re/b= 484nH| >> 0000ccc0 89 48 08 48 b9 76 6e 39 6e 6e 72 33 64 48 89 48 |.H.H.vn9nnr= 3dH.H| >> 0000ccd0 10 48 b9 64 63 6c 70 7a 32 66 6d 48 89 48 18 48 |.H.dclpz2fm= H.H.H| >> 0000cce0 b9 61 39 79 78 6d 69 6d 67 48 89 48 20 48 b9 32 |.a9yxmimgH.= H H.2| >> 0000ccf0 6a 6a 2d 66 6f 6e 74 48 89 48 28 48 b9 63 6f 6e |jj-fontH.H(= H.con| >> 0000cd00 66 69 67 2d 32 48 89 48 30 48 b9 2e 31 31 2e 39 |fig-2H.H0H.= .11.9| >> 0000cd10 34 2f 65 48 89 48 38 48 b9 74 63 2f 66 6f 6e 74 |4/eH.H8H.tc= /font| >> 0000cd20 73 48 89 48 40 48 8b 04 24 48 8b 18 48 89 c5 48 |sH.H@H..$H.= .H..H| > > See commit 9d50da70608de32d9db0c29859caec6f2cddb95f in WordNet: > -fno-builtin-strcpy is the solution I found. Simple test case: --=-=-= Content-Type: text/plain Content-Disposition: inline; filename=t.c Content-Description: the code #include void foo (char *bar) { strcpy (bar, "this is a very long string that's gonna be split"); } --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Run =E2=80=9Cgcc -c t.c=E2=80=9D with and without -fno-builtin-strcpy. Ludo=E2=80=99. --=-=-=--