From owner-freebsd-arm@FreeBSD.ORG Mon Jan 12 16:52:55 2015 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 47B90126 for ; Mon, 12 Jan 2015 16:52:55 +0000 (UTC) Received: from mail-yk0-f180.google.com (mail-yk0-f180.google.com [209.85.160.180]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 003A3858 for ; Mon, 12 Jan 2015 16:52:54 +0000 (UTC) Received: by mail-yk0-f180.google.com with SMTP id 9so9669116ykp.11 for ; Mon, 12 Jan 2015 08:52:48 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:mime-version:content-type:from :in-reply-to:date:cc:message-id:references:to; bh=FR3uJjPgoVDwEXh5H95n5t5dG8bkIjCE44VAunqUtqE=; b=eAPLMGwLZlZ20mGXxQg8XvJVumgdBRpAd6jQNusVo1gCDQXkupbVv3obrAUj28Na96 5a2JIsnnC59VZqP9R1ugDR8CIvujfSSc5arIM2wT9MTUb6vNpMSLjaSObpxPp6DU80b+ NfW7gxAUvJLmIhRBZVj3NNG+JWqaWyy8Na9uVkV2FfCw37PkT37muVWX7J2fZgN4umjP uwyywrjAcFDoxeGLS4lRaPhdFMVmcdqM/JuOJF4ZFZUxOghXRoTK2inGcx3ubYysRyZd 6gLAhJejnDmeHaQlGHswLBktrgobW6CajcMNBE8ZqJrJOK8/sQPubT+qGiA0wCeB9tMN rlMA== X-Gm-Message-State: ALoCoQmK7RyNN4z5UPsOQIQJ5kv7cku/UDm82reMkANgnOm5WZ3BZI4oadCu3fO/slY74CsWJFST X-Received: by 10.236.32.129 with SMTP id o1mr23088627yha.196.1421081568266; Mon, 12 Jan 2015 08:52:48 -0800 (PST) Received: from [10.64.26.9] ([69.53.236.236]) by mx.google.com with ESMTPSA id i27sm10892054yha.1.2015.01.12.08.52.46 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 12 Jan 2015 08:52:47 -0800 (PST) Sender: Warner Losh Subject: Re: Issue with arm cross compiler xdev on FreeBSD 10.1 Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\)) Content-Type: multipart/signed; boundary="Apple-Mail=_52DB5EEE-8BFE-4B69-AC59-CED4FF62F317"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.5b3 From: Warner Losh In-Reply-To: Date: Mon, 12 Jan 2015 09:52:44 -0700 Message-Id: References: To: Kai Noetzel X-Mailer: Apple Mail (2.1993) Cc: freebsd-arm@freebsd.org X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Jan 2015 16:52:55 -0000 --Apple-Mail=_52DB5EEE-8BFE-4B69-AC59-CED4FF62F317 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 I think there=E2=80=99s an issue with head. I keep running into the = acle-compat.h issue but when I look for it I can=E2=80=99t reproduce it. Warner > On Jan 10, 2015, at 1:42 AM, Kai Noetzel = wrote: >=20 > I retried to build the arm cross compiler with the sources of 10.1. It = took > a while but the following worked: >=20 > svn co http://svn.freebsd.org/base/release/10.1.0/ /usr/src2 > make XDEV=3Darm XDEV_ARCH=3Darmv6 WITH_GCC=3D1 xdev >=20 > .... > sh /usr/src2/tools/install.sh -C -o root -g wheel -m 444 libln.a > //usr/armv6-freebsd/usr/lib > //usr/armv6-freebsd/usr/lib/libl.a -> = //usr/armv6-freebsd/usr/lib/libln.a > //usr/armv6-freebsd/usr/lib/libfl.a -> = //usr/armv6-freebsd/usr/lib/libln.a > cd //usr/armv6-freebsd/usr/bin; mkdir -p ../../../../usr/bin; for i = in *; > do ln -sf ../..//usr/armv6-freebsd/usr/bin/$i > ../../../../usr/bin/armv6-freebsd-$i; ln -sf > ../..//usr/armv6-freebsd/usr/bin/$i > ../../../../usr/bin/armv6-freebsd10.1-$i; done >=20 > Is there an issue with head or am I doing something wrong? >=20 >=20 > On Fri, Jan 9, 2015 at 11:52 PM, Kai Noetzel = wrote: >=20 >> Hi Warner, >>=20 >> I tried to issue your command and it ran for quite a while but = stopped >> finally with the following error: >>=20 >> cc -c -O -pipe -DTARGET_ARM_EABI -DIN_GCC -DIN_LIBGCC2 >> -D__GCC_FLOAT_NOT_NEEDED -DHAVE_GTHR_DEFAULT >> -I/usr/src/gnu/lib/libgcc/../../../contrib/gcclibs/include >> -I/usr/src/gnu/lib/libgcc/../../../contrib/gcc/config >> -I/usr/src/gnu/lib/libgcc/../../../contrib/gcc -I. >> -I/usr/src/gnu/lib/libgcc/../../usr.bin/cc/cc_tools -Dinhibit_libc >> -fno-inline -std=3Dgnu99 -fheinous-gnu-extensions = -Qunused-arguments >> -fvisibility=3Dhidden -DHIDE_EXPORTS -fPIC -fexceptions -D__GLIBC__=3D3= >> -DElfW=3D__ElfN -o libunwind.o >> /usr/src/gnu/lib/libgcc/../../../contrib/gcc/config/arm/libunwind.S >> = /usr/src/gnu/lib/libgcc/../../../contrib/gcc/config/arm/libunwind.S:29:10:= >> fatal error: 'machine/acle-compat.h' file not found >> #include >> ^ >> 1 error generated. >> *** Error code 1 >>=20 >> Stop. >> make[4]: stopped in /usr/src/gnu/lib/libgcc >> *** Error code 1 >>=20 >> Stop. >> make[3]: stopped in /usr/src >> *** Error code 1 >>=20 >> Stop. >> make[2]: stopped in /usr/src >> *** Error code 1 >>=20 >> Stop. >> make[1]: stopped in /usr/src >> *** Error code 1 >>=20 >> Stop. >> make: stopped in /usr/src >>=20 >> On Fri, Jan 9, 2015 at 11:30 PM, Warner Losh wrote: >>=20 >>> Let=E2=80=99s get back to basics=E2=80=A6 >>>=20 >>> can you do the following? >>>=20 >>> make buildworld TARGET_ARCH=3Darmv6 WITHOUT_CLANG=3Dt >>> WITHOUT_CLANG_BOOTSTRAP=3Dt WITH_GCC=3Dt WITH_GCC_BOOTSTRAP=3Dt >>>=20 >>> ???? >>>=20 >>> Warner >>>=20 >>>=20 >>>=20 >>>> On Jan 9, 2015, at 3:26 PM, Kai Noetzel = wrote: >>>>=20 >>>> Hi, >>>>=20 >>>> I'm having issues trying to build the arm cross compiler on the >>> following >>>> system: >>>>=20 >>>> root@bsdcompy:/usr/src # uname -a >>>> FreeBSD bsdcompy 10.1-RELEASE FreeBSD 10.1-RELEASE #0 r274401: Tue = Nov >>> 11 >>>> 21:02:49 UTC 2014 >>>> root@releng1.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC >>>> amd64 >>>>=20 >>>> I checked out: >>>>=20 >>>> svn co http://svn.freebsd.org/base/head /usr/src >>>>=20 >>>> When I run: >>>>=20 >>>> root@bsdcompy:/usr/src # make XDEV=3Darm XDEV_ARCH=3Darmv6 = WITH_GCC=3D1 xdev >>>>=20 >>>> I get the following error: >>>>=20 >>>> ...... >>>> =3D=3D=3D> xdev lib/libelftc (obj,depend,all) >>>> =3D=3D=3D> xdev usr.bin/addr2line (obj,depend,all) >>>> cc -O2 -pipe >>>> -I/usr/src/usr.bin/addr2line/../../contrib/elftoolchain/libelftc >>>> -I/usr/src/usr.bin/addr2line/../../contrib/elftoolchain/common >>> -std=3Dgnu99 >>>> -fstack-protector -Qunused-arguments -c >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:105:39: >>>> error: passing 'Dwarf_Error' (aka 'struct _Dwarf_Error') to = parameter of >>>> incompatible type 'Dwarf_Error *' (aka 'struct _Dwarf_Error *'); = take >>> the >>>> address >>>> with & >>>> warnx("dwarf_tag: %s", dwarf_errmsg(de)); >>>> ^~ >>>> & >>>> /usr/include/libdwarf.h:122:39: note: passing argument to parameter = here >>>> const char *dwarf_errmsg(Dwarf_Error *); >>>> ^ >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:119:14: >>>> error: use of undeclared identifier 'DW_DLV_ERROR' >>>> if (ret =3D=3D DW_DLV_ERROR) >>>> ^ >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:122:8: >>>> warning: implicit declaration of function 'dwarf_formstring' is = invalid >>> in >>>> C99 [-Wimplicit-function-declaration] >>>> if (dwarf_formstring(sub_at, &func0, &de)) >>>> ^ >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:136:7: >>>> warning: implicit declaration of function 'dwarf_global_formref' is >>> invalid >>>> in C99 [-Wimplicit-function-declaration] >>>> if (dwarf_global_formref(spec_at, &ref, &de)) >>>> ^ >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:138:7: >>>> warning: implicit declaration of function 'dwarf_offdie' is invalid = in >>> C99 >>>> [-Wimplicit-function-declaration] >>>> if (dwarf_offdie(dbg, ref, &spec_die, &de)) >>>> ^ >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:150:13: >>>> error: use of undeclared identifier 'DW_DLV_ERROR' >>>> if (ret =3D=3D DW_DLV_ERROR) >>>> ^ >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:151:54: >>>> error: passing 'Dwarf_Error' (aka 'struct _Dwarf_Error') to = parameter of >>>> incompatible type 'Dwarf_Error *' (aka 'struct _Dwarf_Error *'); = take >>> the >>>> address >>>> with & >>>> errx(EXIT_FAILURE, "dwarf_child: %s", = dwarf_errmsg(de)); >>>> ^~ >>>> & >>>> /usr/include/libdwarf.h:122:39: note: passing argument to parameter = here >>>> const char *dwarf_errmsg(Dwarf_Error *); >>>> ^ >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:157:13: >>>> error: use of undeclared identifier 'DW_DLV_ERROR' >>>> if (ret =3D=3D DW_DLV_ERROR) >>>> ^ >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:158:58: >>>> error: passing 'Dwarf_Error' (aka 'struct _Dwarf_Error') to = parameter of >>>> incompatible type 'Dwarf_Error *' (aka 'struct _Dwarf_Error *'); = take >>> the >>>> address >>>> with & >>>> errx(EXIT_FAILURE, "dwarf_siblingof: %s", >>> dwarf_errmsg(de)); >>>> = ^~ >>>> = & >>>> /usr/include/libdwarf.h:122:39: note: passing argument to parameter = here >>>> const char *dwarf_errmsg(Dwarf_Error *); >>>> ^ >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:189:22: >>>> error: passing 'Dwarf_Error' (aka 'struct _Dwarf_Error') to = parameter of >>>> incompatible type 'Dwarf_Error *' (aka 'struct _Dwarf_Error *'); = take >>> the >>>> address >>>> with & >>>> dwarf_errmsg(de)); >>>> ^~ >>>> & >>>> /usr/include/libdwarf.h:122:39: note: passing argument to parameter = here >>>> const char *dwarf_errmsg(Dwarf_Error *); >>>> ^ >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:210:7: >>>> warning: implicit declaration of function 'dwarf_srclines' is = invalid in >>>> C99 [-Wimplicit-function-declaration] >>>> if (dwarf_srclines(die, &lbuf, &lcount, &de) !=3D >>> DW_DLV_OK) { >>>> ^ >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:211:45: >>>> error: passing 'Dwarf_Error' (aka 'struct _Dwarf_Error') to = parameter of >>>> incompatible type 'Dwarf_Error *' (aka 'struct _Dwarf_Error *'); = take >>> the >>>> address >>>> with & >>>> warnx("dwarf_srclines: %s", = dwarf_errmsg(de)); >>>> ^~ >>>> & >>>> /usr/include/libdwarf.h:122:39: note: passing argument to parameter = here >>>> const char *dwarf_errmsg(Dwarf_Error *); >>>> ^ >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:219:8: >>>> warning: implicit declaration of function 'dwarf_lineaddr' is = invalid in >>>> C99 [-Wimplicit-function-declaration] >>>> if (dwarf_lineaddr(lbuf[i], &lineaddr, &de)) = { >>>> ^ >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:221:22: >>>> error: passing 'Dwarf_Error' (aka 'struct _Dwarf_Error') to = parameter of >>>> incompatible type 'Dwarf_Error *' (aka 'struct _Dwarf_Error *'); = take >>> the >>>> address >>>> with & >>>> dwarf_errmsg(de)); >>>> ^~ >>>> & >>>> /usr/include/libdwarf.h:122:39: note: passing argument to parameter = here >>>> const char *dwarf_errmsg(Dwarf_Error *); >>>> ^ >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:224:8: >>>> warning: implicit declaration of function 'dwarf_lineno' is invalid = in >>> C99 >>>> [-Wimplicit-function-declaration] >>>> if (dwarf_lineno(lbuf[i], &lineno, &de)) { >>>> ^ >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:226:22: >>>> error: passing 'Dwarf_Error' (aka 'struct _Dwarf_Error') to = parameter of >>>> incompatible type 'Dwarf_Error *' (aka 'struct _Dwarf_Error *'); = take >>> the >>>> address >>>> with & >>>> dwarf_errmsg(de)); >>>> ^~ >>>> & >>>> /usr/include/libdwarf.h:122:39: note: passing argument to parameter = here >>>> const char *dwarf_errmsg(Dwarf_Error *); >>>> ^ >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:229:8: >>>> warning: implicit declaration of function 'dwarf_linesrc' is = invalid in >>> C99 >>>> [-Wimplicit-function-declaration] >>>> if (dwarf_linesrc(lbuf[i], &file0, &de)) { >>>> ^ >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:231:22: >>>> error: passing 'Dwarf_Error' (aka 'struct _Dwarf_Error') to = parameter of >>>> incompatible type 'Dwarf_Error *' (aka 'struct _Dwarf_Error *'); = take >>> the >>>> address >>>> with & >>>> dwarf_errmsg(de)); >>>> ^~ >>>> & >>>> /usr/include/libdwarf.h:122:39: note: passing argument to parameter = here >>>> const char *dwarf_errmsg(Dwarf_Error *); >>>> ^ >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:269:14: >>>> error: use of undeclared identifier 'DW_DLV_ERROR' >>>> if (ret =3D=3D DW_DLV_ERROR) >>>> ^ >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:271:21: >>>> error: passing 'Dwarf_Error' (aka 'struct _Dwarf_Error') to = parameter of >>>> incompatible type 'Dwarf_Error *' (aka 'struct _Dwarf_Error *'); = take >>> the >>>> address >>>> with & >>>> dwarf_errmsg(de)); >>>> ^~ >>>> & >>>> /usr/include/libdwarf.h:122:39: note: passing argument to parameter = here >>>> const char *dwarf_errmsg(Dwarf_Error *); >>>> ^ >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:387:46: >>>> error: too many arguments to function call, expected 4, have 6 >>>> if (dwarf_init(fd, DW_DLC_READ, NULL, NULL, &dbg, &de)) >>>> ~~~~~~~~~~ ^~~~~~~~~ >>>> /usr/include/libdwarf.h:144:1: note: 'dwarf_init' declared here >>>> int dwarf_init(int, int, Dwarf_Debug *, Dwarf_Error *); >>>> ^ >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:388:53: >>>> error: passing 'Dwarf_Error' (aka 'struct _Dwarf_Error') to = parameter of >>>> incompatible type 'Dwarf_Error *' (aka 'struct _Dwarf_Error *'); = take >>> the >>>> address >>>> with & >>>> errx(EXIT_FAILURE, "dwarf_init: %s", = dwarf_errmsg(de)); >>>> ^~ >>>> & >>>> /usr/include/libdwarf.h:122:39: note: passing argument to parameter = here >>>> const char *dwarf_errmsg(Dwarf_Error *); >>>> ^ >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:390:6: >>>> warning: implicit declaration of function 'dwarf_get_elf' is = invalid in >>> C99 >>>> [-Wimplicit-function-declaration] >>>> if (dwarf_get_elf(dbg, &e, &de) !=3D DW_DLV_OK) >>>> ^ >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:391:56: >>>> error: passing 'Dwarf_Error' (aka 'struct _Dwarf_Error') to = parameter of >>>> incompatible type 'Dwarf_Error *' (aka 'struct _Dwarf_Error *'); = take >>> the >>>> address >>>> with & >>>> errx(EXIT_FAILURE, "dwarf_get_elf: %s", >>> dwarf_errmsg(de)); >>>> = ^~ >>>> = & >>>> /usr/include/libdwarf.h:122:39: note: passing argument to parameter = here >>>> const char *dwarf_errmsg(Dwarf_Error *); >>>> ^ >>>>=20 >>> = /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.= c:407:15: >>>> warning: incompatible pointer types passing 'Dwarf_Debug' (aka = 'struct >>>> _Dwarf_Debug *') to parameter of type 'Dwarf_Debug *' >>>> (aka 'struct _Dwarf_Debug **'); take the address with & >>>> [-Wincompatible-pointer-types] >>>> dwarf_finish(dbg, &de); >>>> ^~~ >>>> & >>>> /usr/include/libdwarf.h:141:32: note: passing argument to parameter = here >>>> int dwarf_finish(Dwarf_Debug *, Dwarf_Error *); >>>> ^ >>>> 9 warnings and 16 errors generated. >>>> *** Error code 1 >>>>=20 >>>> Stop. >>>> make[2]: stopped in /usr/src/usr.bin/addr2line >>>> *** Error code 1 >>>>=20 >>>> Stop. >>>> make[1]: stopped in /usr/src >>>> *** Error code 1 >>>>=20 >>>> Stop. >>>> make: stopped in /usr/src >>>>=20 >>>> Would be great if someone could take a look. >>>> Thanks in advance. >>>>=20 >>>> Best, >>>> Kai >>>> _______________________________________________ >>>> freebsd-arm@freebsd.org mailing list >>>> http://lists.freebsd.org/mailman/listinfo/freebsd-arm >>>> To unsubscribe, send any mail to = "freebsd-arm-unsubscribe@freebsd.org" >>>=20 >>>=20 >>=20 > _______________________________________________ > freebsd-arm@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-arm > To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org" --Apple-Mail=_52DB5EEE-8BFE-4B69-AC59-CED4FF62F317 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJUs/vdAAoJEGwc0Sh9sBEAK0IP/0UtE2pVLw7DiFO4o3oDsDkW Aqb76H3FuHdzj4jJnjx3MyPDxjCvK14bO/1gqdMBy+OUE75n+cDo6YmTAzFhlgwD b8OStbD1iALyB1l05krbui5uGc6kbbSfT+JpBRb3DEWRZ37YQw7j+u8hWWxBTQoH wS2WDEXR1/giUXR7qE/fq7YVlDNy6VmWDkwJwk3vMg2SYc7OKTyaZSOMCoc7q4oG ALBD+p4ZB/n/nyVdr2GpUIY24/BxighpO7B3C9pZrG2rAGWXByAOCDJ5NSA+93tS mMMzKNigmj8/+BYWoEXpc+EpDb4IQaAtegE/c8WhkESPW0Y8RZHHF/aaeBxsRw8X sQ8iF5lynDYZ1XBRxn3U9o6O12EFFXTgWdh3ppHyJb8gPbOddVQekoJgM/HOu/fy vLnbkObwkdff20bWe3uSxLi9gNv2ZjzF7dTIqC4FyV7ZOo/8KSBDgyak/GC9ypcs RjlMUm58hEziE4P3s/h5WZG0QRun+8g6ghGBhMAC7aMUB3Y3CYAPu99dwJ7PqIYn 1PO3vQ9h2hexAep1vQMWHbJ4Uvsfgo95X7reOKgMY1LEpQz4Poc1IOIqkEZ8nO5K +kNZYOY2TL0hFvIa+itVSMjLkkNWDb+M8D/XTIyr3XL4qMnNs8SMDa89gpcTQBhs E2uFJQJOppVFSiPDyPnR =Stn0 -----END PGP SIGNATURE----- --Apple-Mail=_52DB5EEE-8BFE-4B69-AC59-CED4FF62F317--