From owner-freebsd-gecko@FreeBSD.ORG Mon Jun 15 11:06:54 2009 Return-Path: Delivered-To: freebsd-gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4A9191065670 for ; Mon, 15 Jun 2009 11:06:54 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 37B068FC22 for ; Mon, 15 Jun 2009 11:06:54 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FB6shx076904 for ; Mon, 15 Jun 2009 11:06:54 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n5FB6rMo076900 for freebsd-gecko@FreeBSD.org; Mon, 15 Jun 2009 11:06:53 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 15 Jun 2009 11:06:53 GMT Message-Id: <200906151106.n5FB6rMo076900@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-gecko@FreeBSD.org Cc: Subject: Current problem reports assigned to freebsd-gecko@FreeBSD.org X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 11:06:54 -0000 Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- o ports/134121 gecko www/firefox3-devel packaging errors f ports/132231 gecko [PATCH] www/firefox3: Add option to build with Profile o ports/129147 gecko can't use deskutils/lightning-xpi under current amd64 f ports/128694 gecko www/firefox3 - Firefox 3 corrupts PostScript printer f o ports/103529 gecko www/seamonkey: enable SVG and Pango font rendering sup 5 problems total. From owner-freebsd-gecko@FreeBSD.ORG Mon Jun 15 11:07:10 2009 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9E2E3106566C for ; Mon, 15 Jun 2009 11:07:10 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 7162F8FC21 for ; Mon, 15 Jun 2009 11:07:10 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FB7ArT077214 for ; Mon, 15 Jun 2009 11:07:10 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n5FB79Kk077210 for gecko@FreeBSD.org; Mon, 15 Jun 2009 11:07:09 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 15 Jun 2009 11:07:09 GMT Message-Id: <200906151107.n5FB79Kk077210@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: gecko@FreeBSD.org Cc: Subject: Current problem reports assigned to gecko@FreeBSD.org X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 11:07:10 -0000 Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- o ports/134689 gecko www/Firefox ports and packages in chroot or jails cras 1 problem total. From owner-freebsd-gecko@FreeBSD.ORG Tue Jun 16 09:35:08 2009 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1CA44106564A for ; Tue, 16 Jun 2009 09:35:08 +0000 (UTC) (envelope-from lva_vladimir@mail.ru) Received: from mx45.mail.ru (mx45.mail.ru [94.100.176.59]) by mx1.freebsd.org (Postfix) with ESMTP id 8A2A98FC23 for ; Tue, 16 Jun 2009 09:35:06 +0000 (UTC) (envelope-from lva_vladimir@mail.ru) Received: from f59.mail.ru (f59.mail.ru [194.67.57.93]) by mx45.mail.ru (mPOP.Fallback_MX) with ESMTP id 782DBE005530 for ; Tue, 16 Jun 2009 12:29:45 +0400 (MSD) Received: from mail by f59.mail.ru with local id 1MGU3K-0003OZ-00 for gecko@FreeBSD.org; Tue, 16 Jun 2009 12:29:58 +0400 Received: from [217.24.165.120] by win.mail.ru with HTTP; Tue, 16 Jun 2009 12:29:58 +0400 From: =?koi8-r?Q?Vladimir_=EC=C5=C7=CB=C9=CA?= To: gecko@FreeBSD.org Mime-Version: 1.0 X-Mailer: mPOP Web-Mail 2.19 X-Originating-IP: 192.168.1.124 via proxy [217.24.165.120] Date: Tue, 16 Jun 2009 12:29:58 +0400 X-Mru-Data: 3332:1:1:196:196:0 Content-Type: multipart/mixed; boundary="----K2hqcP3f-LyyfTtZBwhjWgigh:1245140998" Message-Id: X-Spam: Not detected X-Mras: Ok Cc: Subject: error: Library requirements (cairo >= 1.6.0 freetype2 fontconfig) not met X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: =?koi8-r?Q?Vladimir_=EC=C5=C7=CB=C9=CA?= List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 09:35:08 -0000 ------K2hqcP3f-LyyfTtZBwhjWgigh:1245140998 Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8bit error: Library requirements (cairo >= 1.6.0 freetype2 fontconfig) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them. ===> Script "configure" failed unexpectedly. Please report the problem to gecko@FreeBSD.org [maintainer] and attach the "/usr/ports/www/firefox3/work/mozilla/config.log" including the output of the failure of your make command. Also, it might be a good idea to provide an overview of all packages installed on your system (e.g. an `ls /var/db/pkg`). *** Error code 1 Stop in /usr/ports/www/firefox3. *** Error code 1 Stop in /usr/ports/www/firefox3. -------------------- sistem: WMVare 6.5.2 build-156735 ------K2hqcP3f-LyyfTtZBwhjWgigh:1245140998 Content-Type: application/octet-stream; name="=?koi8-r?Q?pkg=5Fls?=" Content-Disposition: attachment; filename="=?koi8-r?Q?pkg=5Fls?=" Content-Transfer-Encoding: base64 T1JCaXQyLTIuMTQuMTAKT3BlbkVYUi0xLjYuMAphYWxpYi0xLjQucjVfNApha29kZS0yLjAuMSwx CmFrb2RlLXBsdWdpbnMtbXBjLTIuMC4xLDEKYWtvZGUtcGx1Z2lucy1tcGVnLTIuMC4xLDEKYWtv ZGUtcGx1Z2lucy1vc3MtMi4wLjEsMQpha29kZS1wbHVnaW5zLXJlc2FtcGxlci0yLjAuMSwxCmFr b2RlLXBsdWdpbnMteGlwaC0yLjAuMV8yLDEKYW1hcm9rLTEuNC43CmFwcHJlcy0xLjAuMQphcHIt ZGI0Mi0xLjIuOF8yCmFydHMtMS41LjgsMQphcnRzd3JhcHBlci0xLjUuMwphc3BlbGwtMC42MC41 XzIKYXRrLTEuMjAuMAphdXRvY29uZi0yLjEzLjAwMDIyN182CmF1dG9jb25mLTIuNjFfMgphdXRv Y29uZi13cmFwcGVyLTIwMDcxMTA5CmF1dG9tYWtlLTEuMTBfMwphdXRvbWFrZS0xLjQuNl80CmF1 dG9tYWtlLTEuNV80LDEKYXV0b21ha2UtMS42LjMKYXV0b21ha2UtMS43LjkKYXV0b21ha2UtMS44 LjUKYXV0b21ha2UtMS45LjZfMgphdXRvbWFrZS13cmFwcGVyLTIwMDcxMTA5CmF1dG90b29scy0y MDA3MDkwNQphdmFoaS0wLjYuMjIKYXZhaGktYXBwLTAuNi4yMl8xCmJhc2gtMy4yLjMzCmJkZnRv cGNmLTEuMC4xCmJlZm9yZWxpZ2h0LTEuMC4yCmJpc29uLTIuNC4xLDEKYml0bWFwLTEuMC4zCmJp dHN0cmVhbS12ZXJhLTEuMTBfNApib29zdC1weXRob24tMS4zNC4xCmNhaXJvLTEuNC4xMgpjZHBh cmFub2lhLTMuOS44XzgKY2RyZGFvLTEuMi4yCmNkcnRvb2xzLTIuMDFfNgpjbGVhcmxvb2tzLXRo ZW1lcy0wLjYuMl82CmNvbXBhdDV4LWkzODYtNS40LjAuOF85CmNvbXBvc2l0ZXByb3RvLTAuNApj dXBzLWJhc2UtMS4zLjUKY3Vwcy1wc3RvcmFzdGVyLTguMTUuNF8xCmN1cmwtNy4xNi4zCmN2c3Vw LXdpdGhvdXQtZ3VpLTE2LjFoXzQKY3lydXMtc2FzbC0yLjEuMjIKZGFtYWdlcHJvdG8tMS4xLjBf MgpkYjQxLTQuMS4yNV80CmRiNDItNC4yLjUyXzUKZGJ1cy0xLjAuMl8yCmRidXMtZ2xpYi0wLjc0 CmRidXMtcXQzLTAuNzBfMQpkZWphdnUtMi4yMQpkZXNrdG9wLWZpbGUtdXRpbHMtMC4xNApkZXNr dG9wYnNkLXRvb2xzLTEuMV8yCmRpZ2lrYW0tMC45LjMKZGlybW5nci0xLjAuMQpkbWlkZWNvZGUt Mi45CmRyaS03LjAuMSwyCmRyaTJwcm90by0yLjAKZHZkK3J3LXRvb2xzLTcuMAplZGl0cmVzLTEu MC4zCmVuY29kaW5ncy0xLjAuMiwxCmV4aXYyLTAuMTQsMQpleHBhdC0yLjAuMF8xCmZhYWQyLTIu Nl8xLDEKZmFzdGVzdF9jdnN1cC0wLjIuOV81CmZmbXBlZy0yMDA3LjEwLjA0XzEKZmZ0dzMtMy4x LjIKZmlsZWxpZ2h0LTEuMF8xCmZpcmVmb3gtMi4wLjAuMTEsMQpmaXJlZm94LWkxOG4tMi4wLjAu MTEKZml4ZXNwcm90by00LjAKZmxhYy0xLjEuMl8yCmZvbnQtYWRvYmUtMTAwZHBpLTEuMC4wXzEK Zm9udC1hZG9iZS03NWRwaS0xLjAuMApmb250LWFkb2JlLXV0b3BpYS0xMDBkcGktMS4wLjEKZm9u dC1hZG9iZS11dG9waWEtNzVkcGktMS4wLjEKZm9udC1hZG9iZS11dG9waWEtdHlwZTEtMS4wLjEK Zm9udC1hbGlhcy0xLjAuMQpmb250LWFyYWJpYy1taXNjLTEuMC4wCmZvbnQtYmgtMTAwZHBpLTEu MC4wCmZvbnQtYmgtNzVkcGktMS4wLjAKZm9udC1iaC1sdWNpZGF0eXBld3JpdGVyLTEwMGRwaS0x LjAuMApmb250LWJoLWx1Y2lkYXR5cGV3cml0ZXItNzVkcGktMS4wLjAKZm9udC1iaC10dGYtMS4w LjAKZm9udC1iaC10eXBlMS0xLjAuMApmb250LWJpdHN0cmVhbS0xMDBkcGktMS4wLjAKZm9udC1i aXRzdHJlYW0tNzVkcGktMS4wLjAKZm9udC1iaXRzdHJlYW0tdHlwZTEtMS4wLjAKZm9udC1jcm9u eXgtY3lyaWxsaWMtMS4wLjAKZm9udC1jdXJzb3ItbWlzYy0xLjAuMApmb250LWRhZXdvby1taXNj LTEuMC4wCmZvbnQtZGVjLW1pc2MtMS4wLjAKZm9udC1pYm0tdHlwZTEtMS4wLjAKZm9udC1pc2Fz LW1pc2MtMS4wLjAKZm9udC1qaXMtbWlzYy0xLjAuMApmb250LW1pY3JvLW1pc2MtMS4wLjAKZm9u dC1taXNjLWN5cmlsbGljLTEuMC4wCmZvbnQtbWlzYy1ldGhpb3BpYy0xLjAuMApmb250LW1pc2Mt bWVsdGhvLTEuMC4wXzEKZm9udC1taXNjLW1pc2MtMS4wLjAKZm9udC1tdXR0LW1pc2MtMS4wLjAK Zm9udC1zY2h1bWFjaGVyLW1pc2MtMS4wLjAKZm9udC1zY3JlZW4tY3lyaWxsaWMtMS4wLjEKZm9u dC1zb255LW1pc2MtMS4wLjAKZm9udC1zdW4tbWlzYy0xLjAuMApmb250LXV0aWwtMS4wLjEKZm9u dC13aW5pdHpraS1jeXJpbGxpYy0xLjAuMApmb250LXhmcmVlODYtdHlwZTEtMS4wLjAKZm9udGNh Y2hlcHJvdG8tMC4xLjIKZm9udGNvbmZpZy0yLjQuMl8yLDEKZm9udHNwcm90by0yLjAuMgpmb250 dG9zZm50LTEuMC4zCmZyZWV0eXBlMi0yLjMuNQpmcmliaWRpLTAuMTAuOQpmc2xzZm9udHMtMS4w LjEKZnN0b2JkZi0xLjAuMgpnYW1pbi0wLjEuOQpnY2MtNC4yLjNfMjAwNzEyMTkKZ2NvbmYyLTIu MjAuMQpnZGItNi42CmdkYm0tMS44LjNfMwpnZXR0ZXh0LTAuMTYuMV8zCmdob3N0c2NyaXB0LWdw bC04LjYwCmdpby1mYW0tYmFja2VuZC0yLjIwLjMKZ2xpYi0yLjE0LjQKZ2xwcm90by0xLjQuMTAK Z21ha2UtMy44MV8yCmdub21lLW1pbWUtZGF0YS0yLjE4LjBfMgpnbm9tZS12ZnMtMi4yMC4xCmdu b21lX3N1YnItMS4wCmdub21laGllci0yLjNfMTAKZ251cGctMi4wLjQKZ251dGxzLTIuMC4yXzEK Z3BhYy1saWJncGFjLTAuNC40LDEKZ3BnbWUtMS4xLjUKZ3J1Yi0wLjk3XzEKZ3Nmb250cy04LjEx XzQKZ3N0cmVhbWVyLTAuMTAuMTUKZ3N0cmVhbWVyLWZmbXBlZy0wLjEwLjJfMQpnc3RyZWFtZXIt cGx1Z2lucy0wLjEwLjE1LDMKZ3N0cmVhbWVyLXBsdWdpbnMtYTUyZGVjLTAuMTAuNl8yLDMKZ3N0 cmVhbWVyLXBsdWdpbnMtYmFkLTAuMTAuNV8yLDMKZ3N0cmVhbWVyLXBsdWdpbnMtY29yZS0wLjEw XzkKZ3N0cmVhbWVyLXBsdWdpbnMtZHRzLTAuMTAuNV8zLDMKZ3N0cmVhbWVyLXBsdWdpbnMtZHZk LTAuMTAuNl8xLDMKZ3N0cmVhbWVyLXBsdWdpbnMtZ29vZC0wLjEwLjYsMwpnc3RyZWFtZXItcGx1 Z2lucy1saWJwbmctMC4xMC42XzIsMwpnc3RyZWFtZXItcGx1Z2lucy1tYWQtMC4xMC42XzMsMwpn c3RyZWFtZXItcGx1Z2lucy1tcDMtMC4xMC4wCmdzdHJlYW1lci1wbHVnaW5zLW9nZy0wLjEwLjE1 XzIsMwpnc3RyZWFtZXItcGx1Z2lucy1wYW5nby0wLjEwLjE1XzIsMwpnc3RyZWFtZXItcGx1Z2lu cy10aGVvcmEtMC4xMC4xNV80LDMKZ3N0cmVhbWVyLXBsdWdpbnMtdWdseS0wLjEwLjZfMSwzCmdz dHJlYW1lci1wbHVnaW5zLXZvcmJpcy0wLjEwLjE1XzMsMwpnc3RyZWFtZXItcGx1Z2lucy14dmlk LTAuMTAuNV8xLDMKZ3Rhci0xLjE4XzEKZ3RrLTIuMTIuMwpndGstZW5naW5lczItMi4xMi4yCmd0 a3NwZWxsLTIuMC4xMV81Cmd1dGVucHJpbnQtNS4xLjMKZ3V0ZW5wcmludC1iYXNlLTUuMS4zXzEK Z3V0ZW5wcmludC1jdXBzLTUuMS4zCmd1dGVucHJpbnQtaWpzLTUuMS4zCmhhbC0wLjUuOC4yMDA3 MTIyNApoaWNvbG9yLWljb24tdGhlbWUtMC4xMF8yCmljZWF1dGgtMS4wLjIKaWNvLTEuMC4yCmls bWJhc2UtMS4wLjBfMgppbnB1dHByb3RvLTEuNC4yLjEKaW50bHRvb2wtMC40MC42CmphY2tpdC0w LjEwMy4wCmphc3Blci0xLjkwMC4xXzYKanBlZy02Yl80CmszYi0xLjAuNAprM2ItaTE4bi0xLjAu MwprYnByb3RvLTEuMC4zCmtkZS1zdHlsZS1saXBzdGlrLTIuMi4zCmtkZS14ZGctZW52LTEuMF8z LDEKa2RlYWNjZXNzaWJpbGl0eS0zLjUuOAprZGVhZGRvbnMta2ZpbGUtcGx1Z2lucy0zLjUuOApr ZGVhZGRvbnMta2lja2VyLWFwcGxldHMtMy41LjgKa2RlYWRkb25zLWtvbnEtcGx1Z2lucy0zLjUu OAprZGVhZGRvbnMtcmVuYW1lZGxnLXBsdWdpbnMtMy41LjgKa2RlYXJ0d29yay0zLjUuOAprZGVi YXNlLTMuNS44CmtkZWJhc2Uta29tcG1nci0zLjUuOAprZGVlZHUtMy41LjgKa2RlZ2FtZXMtMy41 LjgKa2RlZ3JhcGhpY3MtMy41LjhfMQprZGVoaWVyLTEuMF8xMQprZGVsaWJzLTMuNS44CmtkZW11 bHRpbWVkaWEtMy41LjgKa2RlbmV0d29yay0zLjUuOAprZGVwaW0tMy41LjgKa2Rlc2RrLTMuNS44 CmtkZXRveXMtMy41LjgKa2RldXRpbHMtMy41LjgKa2RldmVsb3AtMy41LjAKa2Rld2ViZGV2LTMu NS44LDIKa29udmVyc2F0aW9uLTEuMC4xXzEKa3RvcnJlbnQtMi4yLjJfMQpsY21zLTEuMTcsMQps aWJGUy0xLjAuMApsaWJHTC03LjAuMQpsaWJHTFUtNy4wLjEKbGliSUNFLTEuMC40LDEKbGliSURM LTAuOC45XzEKbGliU00tMS4wLjMsMQpsaWJYMTEtMS4xLjMsMQpsaWJYU2NyblNhdmVyLTEuMS4y CmxpYlhUcmFwLTEuMC4wCmxpYlhhdS0xLjAuM18yCmxpYlhhdy0xLjAuNCwxCmxpYlhjb21wb3Np dGUtMC40LjAsMQpsaWJYY3Vyc29yLTEuMS45CmxpYlhkYW1hZ2UtMS4xLjEKbGliWGRtY3AtMS4w LjIKbGliWGV2aWUtMS4wLjIKbGliWGV4dC0xLjAuMywxCmxpYlhmaXhlcy00LjAuMwpsaWJYZm9u dC0xLjMuMV8xLDEKbGliWGZvbnRjYWNoZS0xLjAuNApsaWJYZnQtMi4xLjEyCmxpYlhpLTEuMS4z LDEKbGliWGluZXJhbWEtMS4wLjIsMQpsaWJYbXUtMS4wLjMsMQpsaWJYcC0xLjAuMCwxCmxpYlhw bS0zLjUuNwpsaWJYcHJpbnRBcHBVdGlsLTEuMC4xCmxpYlhwcmludFV0aWwtMS4wLjEKbGliWHJh bmRyLTEuMi4yCmxpYlhyZW5kZXItMC45LjQKbGliWHJlcy0xLjAuM18yCmxpYlh0LTEuMC41Cmxp Ylh0c3QtMS4wLjMKbGliWHYtMS4wLjMsMQpsaWJYdk1DLTEuMC40CmxpYlh4Zjg2ZGdhLTEuMC4y CmxpYlh4Zjg2bWlzYy0xLjAuMQpsaWJYeGY4NnZtLTEuMC4xCmxpYmE1Mi0wLjcuNF8xCmxpYmFv LTAuOC44XzEKbGliYXJ0X2xncGwtMi4zLjE5LDEKbGliYXVkaW9maWxlLTAuMi42CmxpYmJvbm9i by0yLjIwLjIKbGliY2RkYi0xLjMuMApsaWJjZGlvLTAuNzdfMgpsaWJkYWVtb24tMC4xMgpsaWJk Y2EtMC4wLjUKbGliZG14LTEuMC4yCmxpYmRybS0yLjMuMApsaWJkdmJwc2ktMC4xLjVfMQpsaWJk dmRuYXYtMC4xLjEwXzMKbGliZHZkcmVhZC0wLjkuN18zCmxpYmVibWwtMC43LjcKbGliZXhpZi0w LjYuMTUKbGliZmFtZS0wLjkuMV8yCmxpYmZvbnRlbmMtMS4wLjQKbGliZ2NyeXB0LTEuMi40XzEK bGliZ21wLTQuMi4yCmxpYmdwZy1lcnJvci0xLjUKbGliZ3Bob3RvMi0yLjQuMApsaWJncG9kLTAu NS4yCmxpYmljb252LTEuMTFfMQpsaWJpZDN0YWctMC4xNS4xYgpsaWJpZG4tMS4yCmxpYmlqcy0w LjM1XzEKbGlia2RjcmF3LTAuMS4zCmxpYmtleGl2Mi0wLjEuNgpsaWJraXBpLTAuMS41XzEKbGli a3NiYS0xLjAuMgpsaWJsdGRsLTEuNS4yNApsaWJtYWQtMC4xNS4xYl8yCmxpYm1hdHJvc2thLTAu OC4xCmxpYm1uZy0xLjAuOQpsaWJtb2RwbHVnLTAuOC40CmxpYm1wY2RlYy0xLjIuNgpsaWJtcGVn Mi0wLjQuMV8yCmxpYm1zcGFjay0wLjAuMjAwNDAzMDhfMwpsaWJtdHAtMC4yLjEKbGlibXVzaWNi cmFpbnotMi4xLjUKbGlibmpiLTIuMi41CmxpYm5vdGlmeS0wLjQuNF8xCmxpYm9mYS0wLjkuM18x CmxpYm9nZy0xLjEuMyw0CmxpYm9pbC0wLjMuMTIKbGlib2xkWC0xLjAuMQpsaWJvcGVuZGFhcC0w LjQuMF8xCmxpYm9wZW5zeW5jLTAuMjJfMQpsaWJwYXBlci0xLjEuMjFfMwpsaWJwdXJwbGUtMi4z LjFfMQpsaWJzYW1wbGVyYXRlLTAuMS4yXzIKbGlic2xhbmcyLTIuMS40XzEKbGlic25kZmlsZS0x LjAuMTdfMQpsaWJ0aGFpLTAuMS41XzMKbGlidGhlb3JhLTEuMC5hOApsaWJ0b29sLTEuNS4yNAps aWJ0dW5lcGltcC0wLjUuM18xLDEKbGlidXNiLTAuMS4xMl8xCmxpYnZvbHVtZV9pZC0wLjc1LjBf MQpsaWJ2b3JiaXMtMS4yLjBfMSwzCmxpYnhpbmUtMS4xLjdfMwpsaWJ4a2JmaWxlLTEuMC40Cmxp YnhrYnVpLTEuMC4yCmxpYnhtbDItMi42LjMwCmxpYnhzbHQtMS4xLjIyCmxpbmMtMS4wLjNfNgps aXN0cmVzLTEuMC4xCmxvY2FsZWRhdGEtNS40Cmx1aXQtMS4wLjJfMgptNC0xLjQuOSwxCm1ETlNS ZXNwb25kZXItMTA4Cm1jLTQuNi4yCm1rY29tcG9zZWNhY2hlLTEuMl8xCm1rZm9udGRpci0xLjAu Mwpta2ZvbnRzY2FsZS0xLjAuMwptb29kaW4tMC40LjJfMQptcGQtMy4xOF81Cm1wZWc0aXAtbGli bXA0djItMS42LjEKbXBmci0yLjMuMApuYXMtMS44XzEKbmVvbi0wLjI2LjQKbmV0LXNubXAtNS4z LjFfNwpuc3ByLTQuNwpuc3MtMy4xMS43Cm52aWRpYS1kcml2ZXIKb2Nsb2NrLTEuMC4xCm9wZW5s ZGFwLWNsaWVudC0yLjMuNDAKb3Blbm9mZmljZS5vcmctMi4zLjEKb3BlbnNscC0xLjIuMV8yCnA1 LVhNTC1QYXJzZXItMi4zNgpwYW5nby0xLjE4LjMKcGNpaWRzLTIwMDcxMDA0CnBjcmUtNy40CnBl cmwtNS44LjlfMwpwaWRnaW4tMi4zLjEKcGlsb3QtbGluay0wLjEyLjIsMQpwaXhtYW4tMC45LjYK cGtnLWNvbmZpZy0wLjIyXzEKcGtnX2xzCnBrZ2RiLmRiCnBuZy0xLjIuMjNfMQpwb2xpY3lraXQt MC4xLjIwMDYwNTE0XzQKcG9wcGxlci0wLjYuMwpwb3BwbGVyLWRhdGEtMC4xCnBvcHBsZXItcXQt MC42LjMKcG9wdC0xLjdfNApwb3J0YXVkaW8tMTguMV8yCnBvcnRhdWRpdC0wLjUuMTIKcG9ydHVw Z3JhZGUtMi4zLjEsMgpwcmludHByb3RvLTEuMC4zCnBydHVubmVsLTAuMi43CnB0aC0yLjAuNwpw eTI1LWRidXMtMC44Mi40CnB5dGhvbjI1LTIuNS4xXzEKcXQtMy4zLjhfNgpyYW5kcnByb3RvLTEu Mi4xCnJlY29yZHByb3RvLTEuMTMuMgpyZW5kZXJwcm90by0wLjkuMwpyZ2ItMS4wLjEKcnN0YXJ0 LTEuMC4yCnJ1LWtkZS1pMThuLTMuNS44CnJ1YnktMS44LjYuMTExXzEsMQpydWJ5MTgtYmRiLTAu Ni4yCnNhbWJhLWxpYnNtYmNsaWVudC0zLjAuMjgKc2NyaXB0cy0xLjAuMQpzY3Juc2F2ZXJwcm90 by0xLjEuMApzZGwtMS4yLjExXzEsMgpzZGxfaW1hZ2UtMS4yLjVfMgpzZXNzcmVnLTEuMC4zCnNl dHhrYm1hcC0xLjAuNApzaGFyZWQtbWltZS1pbmZvLTAuMjJfMQpzaG93Zm9udC0xLjAuMQpzbXBy b3h5LTEuMC4yCnNwZWV4LTEuMi5iMiwxCnNxbGl0ZTMtMy40LjEKc3RhcnR1cC1ub3RpZmljYXRp b24tMC45XzEKc3VidmVyc2lvbi0xLjQuNF8xCnN1ZG8tMS42LjkuNgpzdW5iaXJkLTAuNSwxCnN2 Z2FsaWItMS40LjNfNQpzd2lnLTEuMy4zMV8yCnRhZ2xpYi0xLjRfMgp0aHVuZGVyYmlyZC0yLjAu MC45CnRodW5kZXJiaXJkLWkxOG4tMi4wLjAuOQp0aWR5LTIwMDAwODA0XzIKdGlmZi0zLjguMl8x CnRyYXBwcm90by0zLjQuMwp0d20tMS4wLjNfMwp1bnJhci0zLjcxLmIxLDUKdW56aXAtNS41Ml8z CnZjZGltYWdlci0wLjcuMjNfMwp2aWRlb3Byb3RvLTIuMi4yCnZpZXdyZXMtMS4wLjEKdmxjLTAu OC42LmQsMgp2b3JiaXMtdG9vbHMtMS4xLjFfNSwzCndhdnBhY2stNC40MS4wCnd4Z3RrMi1jb21t b24tMi44LjUKd3hndGsyLXVuaWNvZGUtMi44LjUKeDExcGVyZi0xLjQuMQp4MjY0LTAuMC4yMDA3 MDkxMwp4YXV0aC0xLjAuMgp4YmFja2xpZ2h0LTEuMQp4YmlmZi0xLjAuMQp4Yml0bWFwcy0xLjAu MQp4Y2FsYy0xLjAuMgp4Y2xpcGJvYXJkLTEuMC4xCnhjbG9jay0xLjAuMwp4Y21zZGItMS4wLjEK eGNvbnNvbGUtMS4wLjMKeGN1cnNvci10aGVtZXMtMS4wLjFfMQp4Y3Vyc29yZ2VuLTEuMC4yCnhk YmVkaXp6eS0xLjAuMgp4ZGl0dmlldy0xLjAuMQp4ZG0tMS4xLjZfMgp4ZHB5aW5mby0xLjAuMgp4 ZHJpaW5mby0xLjAuMgp4ZWRpdC0xLjAuMgp4ZXYtMS4wLjIKeGV4dHByb3RvLTcuMC4yCnhleWVz LTEuMC4xCnhmODYtaW5wdXQta2V5Ym9hcmQtMS4yLjJfMQp4Zjg2LWlucHV0LW1vdXNlLTEuMi4z CnhmODYtdmlkZW8tYXRpLTYuNy4xOTYKeGY4Ni12aWRlby1pbnRlbC0yLjEuMQp4Zjg2LXZpZGVv LW52LTIuMS42CnhmODYtdmlkZW8tcmFkZW9uaGQtMS4wLjAKeGY4Ni12aWRlby12ZXNhLTEuMy4w XzEKeGY4Ni12aWRlby12Z2EtNC4xLjBfMQp4Zjg2LXZpZGVvLXZpYS0wLjIuMl8yCnhmODZkZ2Et MS4wLjIKeGY4NmRnYXByb3RvLTIuMC4zCnhmODZtaXNjcHJvdG8tMC45LjIKeGY4NnZpZG1vZGVw cm90by0yLjIuMgp4ZmQtMS4wLjEKeGZpbmRwcm94eS0xLjAuMQp4Zm9udHNlbC0xLjAuMgp4ZnMt MS4wLjUsMQp4ZnNpbmZvLTEuMC4xCnhmd3AtMS4wLjEKeGdhbW1hLTEuMC4yCnhnYy0xLjAuMQp4 aG9zdC0xLjAuMgp4aW5lcmFtYXByb3RvLTEuMS4yCnhpbml0LTEuMC43CnhrYmNvbXAtMS4wLjMK eGtiZXZkLTEuMC4yCnhrYnByaW50LTEuMC4xCnhrYnV0aWxzLTEuMC4xCnhrZXlib2FyZC1jb25m aWctMS4wXzIKeGtpbGwtMS4wLjEKeGxvYWQtMS4wLjIKeGxvZ28tMS4wLjEKeGxzYXRvbXMtMS4w LjEKeGxzY2xpZW50cy0xLjAuMQp4bHNmb250cy0xLjAuMgp4bWFnLTEuMC4yCnhtYW4tMS4wLjMK eG1lc3NhZ2UtMS4wLjIKeG1vZG1hcC0xLjAuMwp4bW9yZS0xLjAuMQp4b3JnLTcuM18xCnhvcmct YXBwcy03LjMKeG9yZy1kb2NzLTEuNCwxCnhvcmctZHJpdmVycy03LjNfMQp4b3JnLWZvbnRzLTEw MGRwaS03LjMKeG9yZy1mb250cy03LjMKeG9yZy1mb250cy03NWRwaS03LjMKeG9yZy1mb250cy1j eXJpbGxpYy03LjMKeG9yZy1mb250cy1taXNjYml0bWFwcy03LjMKeG9yZy1mb250cy10cnVldHlw ZS03LjMKeG9yZy1mb250cy10eXBlMS03LjMKeG9yZy1saWJyYXJpZXMtNy4zXzEKeG9yZy1wcm90 b3MtNy4zCnhvcmctc2VydmVyLTEuNF8zLDEKeHBoZWxsb3dvcmxkLTEuMC4xXzEKeHBpLXF1aWNr LWxvY2FsZS1zd2l0Y2hlci0xLjYuMy43CnhwbHNwcmludGVycy0xLjAuMQp4cHItMS4wLjIKeHBy ZWhhc2hwcmludGVybGlzdC0xLjAuMQp4cHJvcC0xLjAuMwp4cHJvdG8tNy4wLjEwXzEKeHJhbmRy LTEuMi4yCnhyZGItMS4wLjQKeHJlZnJlc2gtMS4wLjIKeHJ4LTEuMC4xCnhzZXQtMS4wLjMKeHNl dG1vZGUtMS4wLjAKeHNldHBvaW50ZXItMS4wLjEKeHNldHJvb3QtMS4wLjIKeHNtLTEuMC4xCnhz dGRjbWFwLTEuMC4xCnh0ZXJtLTIyOV8xCnh0cmFucy0xLjAuNAp4dHJhcC0xLjAuMgp4dmlkLTEu MS4zLDEKeHZpZHR1bmUtMS4wLjEKeHZpbmZvLTEuMC4yCnh3ZC0xLjAuMQp4d2luaW5mby0xLjAu Mwp4d3VkLTEuMC4xCnppcC0yLjMyCg== ------K2hqcP3f-LyyfTtZBwhjWgigh:1245140998 Content-Type: application/octet-stream; name="config.log" Content-Disposition: attachment; filename="config.log" Content-Transfer-Encoding: base64 VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz IGEgbWlzdGFrZS4KCmNvbmZpZ3VyZToxMDAyOiBjaGVja2luZyBob3N0IHN5c3RlbSB0eXBlCmNv bmZpZ3VyZToxMDIzOiBjaGVja2luZyB0YXJnZXQgc3lzdGVtIHR5cGUKY29uZmlndXJlOjEwNDE6 IGNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlCmNvbmZpZ3VyZToxMTIxOiBjaGVja2luZyBmb3Ig Z2F3awpjb25maWd1cmU6MTEyMTogY2hlY2tpbmcgZm9yIG1hd2sKY29uZmlndXJlOjExMjE6IGNo ZWNraW5nIGZvciBuYXdrCmNvbmZpZ3VyZToyMjA1OiBjaGVja2luZyBmb3IgZ2NjCmNvbmZpZ3Vy ZToyMzE4OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIChjYyAtTzIgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLXBpcGUgIC1PMiAgICAgKSB3b3Jrcwpjb25maWd1cmU6MjMzNDogY2MgLW8g Y29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlICAtTzIgICAgICAgICAgY29u ZnRlc3QuYyAtcHRocmVhZCAtTC91c3IvbG9jYWwvbGliIC1saWNvbnYgMT4mNQpjb25maWd1cmU6 MjM2MDogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciAoY2MgLU8yIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1waXBlICAtTzIgICAgICkgaXMgYSBjcm9zcy1jb21waWxlcgpjb25maWd1cmU6 MjM2NTogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgR05VIEMKY29uZmlndXJlOjIzNzQ6 IGNjIC1FIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjIzOTM6IGNoZWNraW5nIHdoZXRoZXIgY2MgYWNj ZXB0cyAtZwpjb25maWd1cmU6MjQyOTogY2hlY2tpbmcgZm9yIGMrKwpjb25maWd1cmU6MjQ2MTog Y2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIChjKysgLU8yIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1waXBlIC1PMiAgICAgKSB3b3Jrcwpjb25maWd1cmU6MjQ3NzogYysrIC1vIGNvbmZ0 ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtTzIgICAgICAgICAgY29uZnRlc3Qu QyAtcHRocmVhZCAtTC91c3IvbG9jYWwvbGliIC1saWNvbnYgMT4mNQpjb25maWd1cmU6MjUwMzog Y2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIChjKysgLU8yIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1waXBlIC1PMiAgICAgKSBpcyBhIGNyb3NzLWNvbXBpbGVyCmNvbmZpZ3VyZToyNTA4 OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyBHTlUgQysrCmNvbmZpZ3VyZToyNTE3OiBj KysgLUUgY29uZnRlc3QuQwpjb25maWd1cmU6MjUzNjogY2hlY2tpbmcgd2hldGhlciBjKysgYWNj ZXB0cyAtZwpjb25maWd1cmU6MjU4NTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1w aXBlICAtTzIgICAgIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MjYwMjogY2MgLWMgLU8yIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlICAtTzIgICAgIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1 cmU6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZmlndXJlOjI1OTg6IHdhcm5pbmc6IGluY29tcGF0 aWJsZSBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBmdW5jdGlvbiAnZXhpdCcKY29u ZmlndXJlOjI2MjE6IGNoZWNraW5nIGZvciByYW5saWIKY29uZmlndXJlOjI2NTM6IGNoZWNraW5n IGZvciBhcwpjb25maWd1cmU6MjY5NDogY2hlY2tpbmcgZm9yIGFyCmNvbmZpZ3VyZToyNzI5OiBj aGVja2luZyBmb3IgbGQKY29uZmlndXJlOjI3NjQ6IGNoZWNraW5nIGZvciBzdHJpcApjb25maWd1 cmU6Mjc5OTogY2hlY2tpbmcgZm9yIHdpbmRyZXMKY29uZmlndXJlOjMyMTY6IGNoZWNraW5nIHdo ZXRoZXIgY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyCmNvbmZpZ3VyZTozMjI4OiBj YyAtYyBjb25mdGVzdC5jIC1vIGNvbmZ0ZXN0Lm8gMT4mNQpjb25maWd1cmU6MzIyOTogY2MgLWMg Y29uZnRlc3QuYyAtbyBjb25mdGVzdC5vIDE+JjUKY29uZmlndXJlOjMyNzM6IGNoZWNraW5nIGhv dyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29yCmNvbmZpZ3VyZTozMjk0OiBjYyAtRSAgICAgY29u ZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0CmNvbmZpZ3VyZTozMzUzOiBjaGVja2lu ZyBob3cgdG8gcnVuIHRoZSBDKysgcHJlcHJvY2Vzc29yCmNvbmZpZ3VyZTozMzcxOiBjKysgLUUg ICAgIGNvbmZ0ZXN0LkMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dApjb25maWd1cmU6MzQyNjog Y2hlY2tpbmcgZm9yIGEgQlNEIGNvbXBhdGlibGUgaW5zdGFsbApjb25maWd1cmU6MzQ3OTogY2hl Y2tpbmcgd2hldGhlciBsbiAtcyB3b3Jrcwpjb25maWd1cmU6MzUwNDogY2hlY2tpbmcgZm9yIC91 c3IvbG9jYWwvYmluL3Blcmw1LjguOQpjb25maWd1cmU6MzU0NTogY2hlY2tpbmcgZm9yIG1pbmlt dW0gcmVxdWlyZWQgcGVybCB2ZXJzaW9uID49IDUuMDA2CmNvbmZpZ3VyZTozNTU2OiBjaGVja2lu ZyBmb3IgZnVsbCBwZXJsIGluc3RhbGxhdGlvbgpjb25maWd1cmU6MzU3MTogY2hlY2tpbmcgZm9y IHB5dGhvbgpjb25maWd1cmU6MzYxNjogY2hlY2tpbmcgZm9yIG5zaW5zdGFsbApjb25maWd1cmU6 MzY2MTogY2hlY2tpbmcgZm9yIGRveHlnZW4KY29uZmlndXJlOjM2OTc6IGNoZWNraW5nIGZvciB3 aG9hbWkKY29uZmlndXJlOjM3MzM6IGNoZWNraW5nIGZvciBhdXRvY29uZgpjb25maWd1cmU6Mzc2 OTogY2hlY2tpbmcgZm9yIHVuemlwCmNvbmZpZ3VyZTozODA3OiBjaGVja2luZyBmb3IgemlwCmNv bmZpZ3VyZTozODQ4OiBjaGVja2luZyBmb3IgbWFrZWRlcGVuZApjb25maWd1cmU6Mzg4MzogY2hl Y2tpbmcgZm9yIHhhcmdzCmNvbmZpZ3VyZTo0MjA2OiBjaGVja2luZyBmb3IgZ21ha2UKY29uZmln dXJlOjQyNzQ6IGNoZWNraW5nIGZvciBYCmNvbmZpZ3VyZTo0NTg4OiBjaGVja2luZyBmb3IgZG5l dF9udG9hIGluIC1sZG5ldApjb25maWd1cmU6NDYwNzogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1waXBlICAtTzIgICAgICAgICAgY29uZnRlc3QuYyAtbGRuZXQgIC1w dGhyZWFkIC1ML3Vzci9sb2NhbC9saWIgLWxpY29udiAxPiY1Ci91c3IvYmluL2xkOiBjYW5ub3Qg ZmluZCAtbGRuZXQKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDQ1OTYgImNv bmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVy bmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1 c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4g YW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNo YXIgZG5ldF9udG9hKCk7CgppbnQgbWFpbigpIHsKZG5ldF9udG9hKCkKOyByZXR1cm4gMDsgfQpj b25maWd1cmU6NDYyOTogY2hlY2tpbmcgZm9yIGRuZXRfbnRvYSBpbiAtbGRuZXRfc3R1Ygpjb25m aWd1cmU6NDY0ODogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBl ICAtTzIgICAgICAgICAgY29uZnRlc3QuYyAtbGRuZXRfc3R1YiAgLXB0aHJlYWQgLUwvdXNyL2xv Y2FsL2xpYiAtbGljb252IDE+JjUKL3Vzci9iaW4vbGQ6IGNhbm5vdCBmaW5kIC1sZG5ldF9zdHVi CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA0NjM3ICJjb25maWd1cmUiCiNp bmNsdWRlICJjb25mZGVmcy5oIgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5 cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdo dCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0 cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIGRuZXRfbnRv YSgpOwoKaW50IG1haW4oKSB7CmRuZXRfbnRvYSgpCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjQ2 Nzc6IGNoZWNraW5nIGZvciBnZXRob3N0YnluYW1lCmNvbmZpZ3VyZTo0NzA1OiBjYyAtbyBjb25m dGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgIC1PMiAgICAgICAgICBjb25mdGVz dC5jIC1wdGhyZWFkIC1ML3Vzci9sb2NhbC9saWIgLWxpY29udiAxPiY1CmNvbmZpZ3VyZTo0Nzc1 OiBjaGVja2luZyBmb3IgY29ubmVjdApjb25maWd1cmU6NDgwMzogY2MgLW8gY29uZnRlc3QgLU8y IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlICAtTzIgICAgICAgICAgY29uZnRlc3QuYyAtcHRo cmVhZCAtTC91c3IvbG9jYWwvbGliIC1saWNvbnYgMT4mNQpjb25maWd1cmU6NDg2NzogY2hlY2tp bmcgZm9yIHJlbW92ZQpjb25maWd1cmU6NDg5NTogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1waXBlICAtTzIgICAgICAgICAgY29uZnRlc3QuYyAtcHRocmVhZCAtTC91 c3IvbG9jYWwvbGliIC1saWNvbnYgMT4mNQpjb25maWd1cmU6NDk1OTogY2hlY2tpbmcgZm9yIHNo bWF0CmNvbmZpZ3VyZTo0OTg3OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNp bmcgLXBpcGUgIC1PMiAgICAgICAgICBjb25mdGVzdC5jIC1wdGhyZWFkIC1ML3Vzci9sb2NhbC9s aWIgLWxpY29udiAxPiY1CmNvbmZpZ3VyZTo1MDYwOiBjaGVja2luZyBmb3IgSWNlQ29ubmVjdGlv bk51bWJlciBpbiAtbElDRQpjb25maWd1cmU6NTA3OTogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1waXBlICAtTzIgICAgICAgICAgLUwvdXNyL2xvY2FsL2xpYiBjb25m dGVzdC5jIC1sSUNFICAtcHRocmVhZCAtTC91c3IvbG9jYWwvbGliIC1saWNvbnYgMT4mNQpjb25m aWd1cmU6NTU0NzogY2hlY2tpbmcgd2hldGhlciBsZCBoYXMgYXJjaGl2ZSBleHRyYWN0aW9uIGZs YWdzCmNvbmZpZ3VyZTo1NTcxOiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNp bmcgLXBpcGUgIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAgICAgIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1XbCwtLXdob2xlLWFyY2hpdmUgY29uZnRlc3QuYyAtV2wsLS1uby13aG9sZS1hcmNoaXZl IDE+JjUKY29uZmlndXJlOjU2MDQ6IGNoZWNraW5nIHRoYXQgc3RhdGljIGFzc2VydGlvbiBtYWNy b3MgdXNlZCBpbiBhdXRvY29uZiB0ZXN0cyB3b3JrCmNvbmZpZ3VyZTo1NjI1OiBjYyAtYyAtTzIg LWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAgICAg IC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6NTY0MjogY2Mg LWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlICAtTzIgLWZuby1zdHJpY3QtYWxpYXNp bmcgICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOiBJ biBmdW5jdGlvbiAnbWFpbic6CmNvbmZpZ3VyZTo1NjQzOiBlcnJvcjogc2l6ZSBvZiBhcnJheSAn c3RhdGljX2Fzc2VydF9saW5lXzU2NDInIGlzIG5lZ2F0aXZlCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgojbGluZSA1NjM1ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoK I2RlZmluZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVChjb25kaXRpb24pIENPTkZJR1VSRV9TVEFU SUNfQVNTRVJUX0lNUEwoY29uZGl0aW9uLCBfX0xJTkVfXykKI2RlZmluZSBDT05GSUdVUkVfU1RB VElDX0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgbGluZSkgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRf SU1QTDIoY29uZGl0aW9uLCBsaW5lKQojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lN UEwyKGNvbmRpdGlvbiwgbGluZSkgdHlwZWRlZiBpbnQgc3RhdGljX2Fzc2VydF9saW5lXyMjbGlu ZVsoY29uZGl0aW9uKSA/IDEgOiAtMV0KCmludCBtYWluKCkgewpDT05GSUdVUkVfU1RBVElDX0FT U0VSVCgwKQo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTo1NjY1OiBjKysgLWMgLU8yIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1waXBlIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAgICAgIC1JL3Vzci9s b2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6NTY4MjogYysrIC1jIC1PMiAt Zm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgICAgICAt SS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOiBJbiBmdW5jdGlv biAnaW50IG1haW4oKSc6CmNvbmZpZ3VyZTo1NjgyOiBlcnJvcjogc2l6ZSBvZiBhcnJheSAnc3Rh dGljX2Fzc2VydF9saW5lXzU2ODInIGlzIG5lZ2F0aXZlCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgojbGluZSA1Njc1ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoKI2Rl ZmluZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVChjb25kaXRpb24pIENPTkZJR1VSRV9TVEFUSUNf QVNTRVJUX0lNUEwoY29uZGl0aW9uLCBfX0xJTkVfXykKI2RlZmluZSBDT05GSUdVUkVfU1RBVElD X0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgbGluZSkgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1Q TDIoY29uZGl0aW9uLCBsaW5lKQojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwy KGNvbmRpdGlvbiwgbGluZSkgdHlwZWRlZiBpbnQgc3RhdGljX2Fzc2VydF9saW5lXyMjbGluZVso Y29uZGl0aW9uKSA/IDEgOiAtMV0KCmludCBtYWluKCkgewpDT05GSUdVUkVfU1RBVElDX0FTU0VS VCgwKQo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTo1NzE3OiBjaGVja2luZyBmb3IgNjQtYml0IE9T CmNvbmZpZ3VyZTo1NzI2OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgIC1P MiAtZm5vLXN0cmljdC1hbGlhc2luZyAgICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0 LmMgMT4mNQpjb25maWd1cmU6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZmlndXJlOjU3Mjc6IGVy cm9yOiBzaXplIG9mIGFycmF5ICdzdGF0aWNfYXNzZXJ0X2xpbmVfNTcyNicgaXMgbmVnYXRpdmUK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDU3MTkgImNvbmZpZ3VyZSIKI2lu Y2x1ZGUgImNvbmZkZWZzLmgiCgojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUKGNvbmRp dGlvbikgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTChjb25kaXRpb24sIF9fTElORV9fKQoj ZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwoY29uZGl0aW9uLCBsaW5lKSBDT05G SUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMihjb25kaXRpb24sIGxpbmUpCiNkZWZpbmUgQ09ORklH VVJFX1NUQVRJQ19BU1NFUlRfSU1QTDIoY29uZGl0aW9uLCBsaW5lKSB0eXBlZGVmIGludCBzdGF0 aWNfYXNzZXJ0X2xpbmVfIyNsaW5lWyhjb25kaXRpb24pID8gMSA6IC0xXQoKaW50IG1haW4oKSB7 CkNPTkZJR1VSRV9TVEFUSUNfQVNTRVJUKHNpemVvZihsb25nKSA9PSA4KQo7IHJldHVybiAwOyB9 CmNvbmZpZ3VyZTo3MzY1OiBjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcwpjb25maWd1 cmU6NzM3ODogY2MgLUUgICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4vZGV2 L251bGwgMj5jb25mdGVzdC5vdXQKY29uZmlndXJlOjc0NDU6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAt Zm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAgICAg LUkvdXNyL2xvY2FsL2luY2x1ZGUgICAgICBjb25mdGVzdC5jIC1wdGhyZWFkIC1ML3Vzci9sb2Nh bC9saWIgLWxpY29udiAxPiY1CmNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25maWd1 cmU6NzQ0MDogd2FybmluZzogaW5jb21wYXRpYmxlIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGJ1 aWx0LWluIGZ1bmN0aW9uICdleGl0Jwpjb25maWd1cmU6NzQ2OTogY2hlY2tpbmcgZm9yIHdvcmtp bmcgY29uc3QKY29uZmlndXJlOjc1MjM6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAt cGlwZSAgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUg Y29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTo3NTQ0OiBjaGVja2luZyBmb3IgbW9kZV90CmNvbmZp Z3VyZTo3NTc3OiBjaGVja2luZyBmb3Igb2ZmX3QKY29uZmlndXJlOjc2MTA6IGNoZWNraW5nIGZv ciBwaWRfdApjb25maWd1cmU6NzY0MzogY2hlY2tpbmcgZm9yIHNpemVfdApjb25maWd1cmU6NzY3 NjogY2hlY2tpbmcgZm9yIHN0X2Jsa3NpemUgaW4gc3RydWN0IHN0YXQKY29uZmlndXJlOjc2ODk6 IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAgLU8yIC1mbm8tc3RyaWN0LWFs aWFzaW5nICAgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3Vy ZTo3NzEwOiBjaGVja2luZyBmb3Igc2lnaW5mb190CmNvbmZpZ3VyZTo3NzIzOiBjYyAtYyAtTzIg LWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAgICAg IC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6Nzc1NzogY2hl Y2tpbmcgZm9yIGludDE2X3QKY29uZmlndXJlOjc3NzA6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1h bGlhc2luZyAtcGlwZSAgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAgICAgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTo3NzkyOiBjaGVja2luZyBmb3IgaW50 MzJfdApjb25maWd1cmU6NzgwNTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBl ICAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25m dGVzdC5jIDE+JjUKY29uZmlndXJlOjc4Mjc6IGNoZWNraW5nIGZvciBpbnQ2NF90CmNvbmZpZ3Vy ZTo3ODQwOiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgIC1PMiAtZm5vLXN0 cmljdC1hbGlhc2luZyAgICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpj b25maWd1cmU6Nzg2MjogY2hlY2tpbmcgZm9yIGludDY0CmNvbmZpZ3VyZTo3ODc1OiBjYyAtYyAt TzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAg ICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6IEluIGZ1 bmN0aW9uICdtYWluJzoKY29uZmlndXJlOjc4NzE6IGVycm9yOiAnaW50NjQnIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQpjb25maWd1cmU6Nzg3MTogZXJyb3I6IChFYWNo IHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UKY29uZmlndXJlOjc4 NzE6IGVycm9yOiBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluLikKY29uZmlndXJlOjc4 NzE6IGVycm9yOiBleHBlY3RlZCAnOycgYmVmb3JlICdmb28nCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgojbGluZSA3ODY3ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoj aW5jbHVkZSA8c3RkaW8uaD4KICAgICAgICAgICAgICAgICAgI2luY2x1ZGUgPHN5cy90eXBlcy5o PgppbnQgbWFpbigpIHsKaW50NjQgZm9vID0gMDsKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6Nzg5 NzogY2hlY2tpbmcgZm9yIHVpbnQKY29uZmlndXJlOjc5MTA6IGNjIC1jIC1PMiAtZm5vLXN0cmlj dC1hbGlhc2luZyAtcGlwZSAgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAgICAgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTo3OTMyOiBjaGVja2luZyBmb3Ig dWludF90CmNvbmZpZ3VyZTo3OTQ1OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBp cGUgIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAgICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNv bmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZmlndXJlOjc5 NDE6IGVycm9yOiAndWludF90JyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bikKY29uZmlndXJlOjc5NDE6IGVycm9yOiAoRWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMg cmVwb3J0ZWQgb25seSBvbmNlCmNvbmZpZ3VyZTo3OTQxOiBlcnJvcjogZm9yIGVhY2ggZnVuY3Rp b24gaXQgYXBwZWFycyBpbi4pCmNvbmZpZ3VyZTo3OTQxOiBlcnJvcjogZXhwZWN0ZWQgJzsnIGJl Zm9yZSAnZm9vJwpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNzkzNyAiY29u ZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPHN0ZGlvLmg+CiAgICAgICAg ICAgICAgICAgICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KaW50IG1haW4oKSB7CnVpbnRfdCBmb28g PSAwOwo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTo3OTY3OiBjaGVja2luZyBmb3IgdWludDE2X3QK Y29uZmlndXJlOjc5ODA6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAgLU8y IC1mbm8tc3RyaWN0LWFsaWFzaW5nICAgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3Qu YyAxPiY1CmNvbmZpZ3VyZTo4MDExOiBjaGVja2luZyBmb3IgdW5hbWUuZG9tYWlubmFtZQpjb25m aWd1cmU6ODAyNDogYysrIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtTzIgLWZu by1zdHJpY3QtYWxpYXNpbmcgICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+ JjUKY29uZmlndXJlOiBJbiBmdW5jdGlvbiAnaW50IG1haW4oKSc6CmNvbmZpZ3VyZTo4MDIwOiBl cnJvcjogJ3N0cnVjdCB1dHNuYW1lJyBoYXMgbm8gbWVtYmVyIG5hbWVkICdkb21haW5uYW1lJwpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgODAxNiAiY29uZmlndXJlIgojaW5j bHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CmludCBtYWluKCkgewog c3RydWN0IHV0c25hbWUgKnJlczsgY2hhciAqZG9tYWluOyAKICAgICAgICAgICAgKHZvaWQpdW5h bWUocmVzKTsgIGlmIChyZXMgIT0gMCkgeyBkb21haW4gPSByZXMtPmRvbWFpbm5hbWU7IH0gCjsg cmV0dXJuIDA7IH0KY29uZmlndXJlOjgwNDg6IGNoZWNraW5nIGZvciB1bmFtZS5fX2RvbWFpbm5h bWUKY29uZmlndXJlOjgwNjE6IGMrKyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUg LU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRl c3QuQyAxPiY1CmNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gJ2ludCBtYWluKCknOgpjb25maWd1cmU6 ODA1NzogZXJyb3I6ICdzdHJ1Y3QgdXRzbmFtZScgaGFzIG5vIG1lbWJlciBuYW1lZCAnX19kb21h aW5uYW1lJwpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgODA1MyAiY29uZmln dXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CmludCBt YWluKCkgewogc3RydWN0IHV0c25hbWUgKnJlczsgY2hhciAqZG9tYWluOyAKICAgICAgICAgICAg KHZvaWQpdW5hbWUocmVzKTsgIGlmIChyZXMgIT0gMCkgeyBkb21haW4gPSByZXMtPl9fZG9tYWlu bmFtZTsgfSAKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6ODA5NDogY2hlY2tpbmcgZm9yIHVzYWJs ZSB3Y2hhcl90ICgyIGJ5dGVzLCB1bnNpZ25lZCkKY29uZmlndXJlOjgxMDg6IGNjIC1jIC1PMiAt Zm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAgICAg LUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTogSW4gZnVuY3Rp b24gJ21haW4nOgpjb25maWd1cmU6ODEwNzogZXJyb3I6IHNpemUgb2YgYXJyYXkgJ3N0YXRpY19h c3NlcnRfbGluZV84MTA3JyBpcyBuZWdhdGl2ZQpjb25maWd1cmU6ODEwOTogZXJyb3I6IHNpemUg b2YgYXJyYXkgJ3N0YXRpY19hc3NlcnRfbGluZV84MTA4JyBpcyBuZWdhdGl2ZQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgODA5OSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29u ZmRlZnMuaCIKI2luY2x1ZGUgPHN0ZGRlZi5oPgogICAgICAgICAgICAgICAgICAgICAKI2RlZmlu ZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVChjb25kaXRpb24pIENPTkZJR1VSRV9TVEFUSUNfQVNT RVJUX0lNUEwoY29uZGl0aW9uLCBfX0xJTkVfXykKI2RlZmluZSBDT05GSUdVUkVfU1RBVElDX0FT U0VSVF9JTVBMKGNvbmRpdGlvbiwgbGluZSkgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTDIo Y29uZGl0aW9uLCBsaW5lKQojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwyKGNv bmRpdGlvbiwgbGluZSkgdHlwZWRlZiBpbnQgc3RhdGljX2Fzc2VydF9saW5lXyMjbGluZVsoY29u ZGl0aW9uKSA/IDEgOiAtMV0KCmludCBtYWluKCkgewpDT05GSUdVUkVfU1RBVElDX0FTU0VSVChz aXplb2Yod2NoYXJfdCkgPT0gMik7CiAgICAgICAgICAgICAgICAgICAgIENPTkZJR1VSRV9TVEFU SUNfQVNTRVJUKCh3Y2hhcl90KS0xID4gKHdjaGFyX3QpIDApCjsgcmV0dXJuIDA7IH0KY29uZmln dXJlOjgxNDE6IGNoZWNraW5nIGZvciBjb21waWxlciAtZnNob3J0LXdjaGFyIG9wdGlvbgpjb25m aWd1cmU6ODE1NTogYysrIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtTzIgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZzaG9ydC13Y2hhciAgICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRl IGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6ODE4OTogY2hlY2tpbmcgZm9yIHZpc2liaWxpdHko aGlkZGVuKSBhdHRyaWJ1dGUKY29uZmlndXJlOjgyMTQ6IGNoZWNraW5nIGZvciB2aXNpYmlsaXR5 KGRlZmF1bHQpIGF0dHJpYnV0ZQpjb25maWd1cmU6ODIzOTogY2hlY2tpbmcgZm9yIHZpc2liaWxp dHkgcHJhZ21hIHN1cHBvcnQKY29uZmlndXJlOjgyNjQ6IGNoZWNraW5nIEZvciBnY2MgdmlzaWJp bGl0eSBidWcgd2l0aCBjbGFzcy1sZXZlbCBhdHRyaWJ1dGVzIChHQ0MgYnVnIDI2OTA1KQpjb25m aWd1cmU6ODI5MjogY2hlY2tpbmcgRm9yIHg4Nl82NCBnY2MgdmlzaWJpbGl0eSBidWcgd2l0aCBi dWlsdGlucyAoR0NDIGJ1ZyAyMDI5NykKY29uZmlndXJlOjgzNDA6IGNoZWNraW5nIGZvciBkaXJl bnQuaCB0aGF0IGRlZmluZXMgRElSCmNvbmZpZ3VyZTo4MzUzOiBjYyAtYyAtTzIgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLXBpcGUgIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAgICAgIC1JL3Vzci9s b2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6ODM3ODogY2hlY2tpbmcgZm9y IG9wZW5kaXIgaW4gLWxkaXIKY29uZmlndXJlOjgzOTc6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5v LXN0cmljdC1hbGlhc2luZyAtcGlwZSAgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAgICAgLUkv dXNyL2xvY2FsL2luY2x1ZGUgICAgICBjb25mdGVzdC5jIC1sZGlyICAtcHRocmVhZCAtTC91c3Iv bG9jYWwvbGliIC1saWNvbnYgMT4mNQovdXNyL2Jpbi9sZDogY2Fubm90IGZpbmQgLWxkaXIKY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDgzODYgImNvbmZpZ3VyZSIKI2luY2x1 ZGUgImNvbmZkZWZzLmgiCi8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0 byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1h dGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFy Z3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgb3BlbmRpcigpOwoK aW50IG1haW4oKSB7Cm9wZW5kaXIoKQo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTo4NDcwOiBjaGVj a2luZyBmb3Igc3lzL2J5dGVvcmRlci5oCmNvbmZpZ3VyZTo4NDgwOiBjYyAtRSAgICAgIC1JL3Vz ci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4vZGV2L251 bGwgMj5jb25mdGVzdC5vdXQKY29uZmlndXJlOjg0NzY6Mjc6IGVycm9yOiBzeXMvYnl0ZW9yZGVy Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CiNsaW5lIDg0NzUgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCiNpbmNsdWRl IDxzeXMvYnl0ZW9yZGVyLmg+CmNvbmZpZ3VyZTo4NDcwOiBjaGVja2luZyBmb3IgY29tcGF0LmgK Y29uZmlndXJlOjg0ODA6IGNjIC1FICAgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9s b2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dApjb25maWd1 cmU6ODQ3NjoyMDogZXJyb3I6IGNvbXBhdC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA4NDc1ICJjb25maWd1cmUiCiNpbmNs dWRlICJjb25mZGVmcy5oIgojaW5jbHVkZSA8Y29tcGF0Lmg+CmNvbmZpZ3VyZTo4NDcwOiBjaGVj a2luZyBmb3IgZ2V0b3B0LmgKY29uZmlndXJlOjg0ODA6IGNjIC1FICAgICAgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNv bmZ0ZXN0Lm91dApjb25maWd1cmU6ODUxMDogY2hlY2tpbmcgZm9yIHN5cy9iaXR5cGVzLmgKY29u ZmlndXJlOjg1MjA6IGNjIC1FICAgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dApjb25maWd1cmU6 ODUxNjoyNTogZXJyb3I6IHN5cy9iaXR5cGVzLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDg1MTUgImNvbmZpZ3VyZSIKI2lu Y2x1ZGUgImNvbmZkZWZzLmgiCiNpbmNsdWRlIDxzeXMvYml0eXBlcy5oPgpjb25maWd1cmU6ODUx MDogY2hlY2tpbmcgZm9yIG1lbW9yeS5oCmNvbmZpZ3VyZTo4NTIwOiBjYyAtRSAgICAgIC1JL3Vz ci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4vZGV2L251 bGwgMj5jb25mdGVzdC5vdXQKY29uZmlndXJlOjg1MTA6IGNoZWNraW5nIGZvciB1bmlzdGQuaApj b25maWd1cmU6ODUyMDogY2MgLUUgICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0CmNvbmZpZ3Vy ZTo4NTUwOiBjaGVja2luZyBmb3IgZ251L2xpYmMtdmVyc2lvbi5oCmNvbmZpZ3VyZTo4NTYwOiBj YyAtRSAgICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25m dGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQKY29uZmlndXJlOjg1NTY6MzA6IGVycm9y OiBnbnUvbGliYy12ZXJzaW9uLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDg1NTUgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNv bmZkZWZzLmgiCiNpbmNsdWRlIDxnbnUvbGliYy12ZXJzaW9uLmg+CmNvbmZpZ3VyZTo4NTUwOiBj aGVja2luZyBmb3IgbmxfdHlwZXMuaApjb25maWd1cmU6ODU2MDogY2MgLUUgICAgICAtSS91c3Iv bG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+L2Rldi9udWxs IDI+Y29uZnRlc3Qub3V0CmNvbmZpZ3VyZTo4NTkwOiBjaGVja2luZyBmb3IgbWFsbG9jLmgKY29u ZmlndXJlOjg2MDA6IGNjIC1FICAgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dApJbiBmaWxlIGlu Y2x1ZGVkIGZyb20gY29uZmlndXJlOjg1OTY6Ci91c3IvaW5jbHVkZS9tYWxsb2MuaDozOjI6IGVy cm9yOiAjZXJyb3IgIjxtYWxsb2MuaD4gaGFzIGJlZW4gcmVwbGFjZWQgYnkgPHN0ZGxpYi5oPiIK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDg1OTUgImNvbmZpZ3VyZSIKI2lu Y2x1ZGUgImNvbmZkZWZzLmgiCiNpbmNsdWRlIDxtYWxsb2MuaD4KY29uZmlndXJlOjg2MzA6IGNo ZWNraW5nIGZvciBYMTEvWEtCbGliLmgKY29uZmlndXJlOjg2NDA6IGNjIC1FICAgICAgLUkvdXNy L2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPi9kZXYvbnVs bCAyPmNvbmZ0ZXN0Lm91dApjb25maWd1cmU6ODY3MTogY2hlY2tpbmcgZm9yIHN5cy9zdGF0dmZz LmgKY29uZmlndXJlOjg2ODE6IGNjIC1FICAgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dApjb25m aWd1cmU6ODY3MTogY2hlY2tpbmcgZm9yIHN5cy9zdGF0ZnMuaApjb25maWd1cmU6ODY4MTogY2Mg LUUgICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRl c3QuYyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0CmNvbmZpZ3VyZTo4Njc3OjI0OiBlcnJvcjog c3lzL3N0YXRmcy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgojbGluZSA4Njc2ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5o IgojaW5jbHVkZSA8c3lzL3N0YXRmcy5oPgpjb25maWd1cmU6ODY3MTogY2hlY2tpbmcgZm9yIHN5 cy92ZnMuaApjb25maWd1cmU6ODY4MTogY2MgLUUgICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAg LUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0 CmNvbmZpZ3VyZTo4Njc3OjIxOiBlcnJvcjogc3lzL3Zmcy5oOiBObyBzdWNoIGZpbGUgb3IgZGly ZWN0b3J5CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA4Njc2ICJjb25maWd1 cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgojaW5jbHVkZSA8c3lzL3Zmcy5oPgpjb25maWd1cmU6 ODY3MTogY2hlY2tpbmcgZm9yIHN5cy9tb3VudC5oCmNvbmZpZ3VyZTo4NjgxOiBjYyAtRSAgICAg IC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4v ZGV2L251bGwgMj5jb25mdGVzdC5vdXQKY29uZmlndXJlOjg3MTI6IGNoZWNraW5nIGZvciBtbWlu dHJpbi5oCmNvbmZpZ3VyZTo4NzIyOiBjYyAtRSAgICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAt SS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQK SW4gZmlsZSBpbmNsdWRlZCBmcm9tIGNvbmZpZ3VyZTo4NzE4OgovdXNyL2luY2x1ZGUvbW1pbnRy aW4uaDozNTozOiBlcnJvcjogI2Vycm9yICJNTVggaW5zdHJ1Y3Rpb24gc2V0IG5vdCBlbmFibGVk Igpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgODcxNyAiY29uZmlndXJlIgoj aW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPG1taW50cmluLmg+CmNvbmZpZ3VyZTo4NzU5 OiBjaGVja2luZyBmb3IgbmV3CmNvbmZpZ3VyZTo4NzY5OiBjKysgLUUgICAgICAtSS91c3IvbG9j YWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyA+L2Rldi9udWxsIDI+ Y29uZnRlc3Qub3V0CmNvbmZpZ3VyZTo4ODYxOiBjaGVja2luZyBmb3Igc3lzL2NkZWZzLmgKY29u ZmlndXJlOjg4NzE6IGNjIC1FICAgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dApjb25maWd1cmU6 ODkwNTogY2hlY2tpbmcgZm9yIGdldGhvc3RieW5hbWVfciBpbiAtcHRocmVhZApjb25maWd1cmU6 ODkyNDogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlICAtTzIg LWZuby1zdHJpY3QtYWxpYXNpbmcgICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgICAgICBjb25mdGVzdC5jIC1wdGhyZWFkICAtcHRocmVhZCAtTC91c3IvbG9j YWwvbGliIC1saWNvbnYgMT4mNQpjb25maWd1cmU6ODk2MTogY2hlY2tpbmcgZm9yIGF0YW4gaW4g LWxtCmNvbmZpZ3VyZTo4OTgwOiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNp bmcgLXBpcGUgIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAgICAgIC1JL3Vzci9sb2NhbC9pbmNs dWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgICAgIGNvbmZ0ZXN0LmMgLWxtICAtcHRocmVhZCAt cHRocmVhZCAtTC91c3IvbG9jYWwvbGliIC1saWNvbnYgMT4mNQpjb25maWd1cmU6ODk3Mzogd2Fy bmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdhdGFuJwpjb25m aWd1cmU6OTAwODogY2hlY2tpbmcgZm9yIGRsb3BlbiBpbiAtbGRsCmNvbmZpZ3VyZTo5MDI3OiBj YyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgIC1PMiAtZm5vLXN0 cmljdC1hbGlhc2luZyAgICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5j bHVkZSAgICAgIGNvbmZ0ZXN0LmMgLWxkbCAgLWxtIC1wdGhyZWFkIC1wdGhyZWFkIC1ML3Vzci9s b2NhbC9saWIgLWxpY29udiAxPiY1Ci91c3IvYmluL2xkOiBjYW5ub3QgZmluZCAtbGRsCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA5MDE2ICJjb25maWd1cmUiCiNpbmNsdWRl ICJjb25mZGVmcy5oIgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8g YXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRj aCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1 bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIGRsb3BlbigpOwoKaW50 IG1haW4oKSB7CmRsb3BlbigpCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjkwOTE6IGNoZWNraW5n IGZvciBkbGFkZHIKY29uZmlndXJlOjkxMTk6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmlj dC1hbGlhc2luZyAtcGlwZSAgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1EX0dOVV9TT1VSQ0Ug ICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgICAgICBjb25m dGVzdC5jIC1sbSAtcHRocmVhZCAtcHRocmVhZCAtTC91c3IvbG9jYWwvbGliIC1saWNvbnYgMT4m NQpjb25maWd1cmU6OTI0OTogY2hlY2tpbmcgZm9yIHNvY2tldCBpbiAtbHNvY2tldApjb25maWd1 cmU6OTI2ODogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlICAt TzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNy L2xvY2FsL2luY2x1ZGUgICAgICBjb25mdGVzdC5jIC1sc29ja2V0ICAtbG0gLXB0aHJlYWQgLXB0 aHJlYWQgLUwvdXNyL2xvY2FsL2xpYiAtbGljb252IDE+JjUKL3Vzci9iaW4vbGQ6IGNhbm5vdCBm aW5kIC1sc29ja2V0CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA5MjU3ICJj b25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRl cm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNh dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGlu IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpj aGFyIHNvY2tldCgpOwoKaW50IG1haW4oKSB7CnNvY2tldCgpCjsgcmV0dXJuIDA7IH0KY29uZmln dXJlOjkzMTM6IGNoZWNraW5nIGZvciBYRHJhd0xpbmVzIGluIC1sWDExCmNvbmZpZ3VyZTo5MzMy OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgIC1PMiAtZm5v LXN0cmljdC1hbGlhc2luZyAgICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwv aW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAgICAgIGNvbmZ0ZXN0LmMgLWxYMTEgLWxYMTEgIC1s bSAtcHRocmVhZCAtcHRocmVhZCAtTC91c3IvbG9jYWwvbGliIC1saWNvbnYgMT4mNQpjb25maWd1 cmU6OTM1NDogY2hlY2tpbmcgZm9yIFhleHRBZGREaXNwbGF5IGluIC1sWGV4dApjb25maWd1cmU6 OTM3MzogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlICAtTzIg LWZuby1zdHJpY3QtYWxpYXNpbmcgICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgICAgICBjb25mdGVzdC5jIC1sWGV4dCAtbFgx MSAgLWxtIC1wdGhyZWFkIC1wdGhyZWFkIC1ML3Vzci9sb2NhbC9saWIgLWxpY29udiAxPiY1CmNv bmZpZ3VyZTo5Mzk3OiBjaGVja2luZyBmb3IgWHRGcmVlIGluIC1sWHQKY29uZmlndXJlOjk0MTY6 IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAgLU8yIC1mbm8t c3RyaWN0LWFsaWFzaW5nICAgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9p bmNsdWRlICAtTC91c3IvbG9jYWwvbGliICAgICAgY29uZnRlc3QuYyAtbFh0ICAtbG0gLXB0aHJl YWQgLXB0aHJlYWQgLUwvdXNyL2xvY2FsL2xpYiAtbGljb252IDE+JjUKY29uZmlndXJlOjk1NzA6 IGNoZWNraW5nIGZvciBYU2htQ3JlYXRlSW1hZ2UgaW4gLWxYZXh0CmNvbmZpZ3VyZTo5NTg5OiBj YyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgIC1PMiAtZm5vLXN0 cmljdC1hbGlhc2luZyAgICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5j bHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAgICAgIGNvbmZ0ZXN0LmMgLWxYZXh0IC1sWDExICAtbFhl eHQgLWxtIC1wdGhyZWFkIC1wdGhyZWFkIC1ML3Vzci9sb2NhbC9saWIgLWxpY29udiAxPiY1CmNv bmZpZ3VyZTo5NjExOiBjaGVja2luZyBmb3IgWDExL2V4dGVuc2lvbnMvWFNobS5oCmNvbmZpZ3Vy ZTo5NjIxOiBjYyAtRSAgICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5j bHVkZSBjb25mdGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQKY29uZmlndXJlOjk2NTE6 IGNoZWNraW5nIGZvciBYaWVGbG9HZW9tZXRyeSBpbiAtbFhJRQpjb25maWd1cmU6OTY3MDogY2Mg LW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlICAtTzIgLWZuby1zdHJp Y3QtYWxpYXNpbmcgICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgIC1ML3Vzci9sb2NhbC9saWIgICAgICBjb25mdGVzdC5jIC1sWElFIC1sWDExICAtbFhleHQg LWxtIC1wdGhyZWFkIC1wdGhyZWFkIC1ML3Vzci9sb2NhbC9saWIgLWxpY29udiAxPiY1Ci91c3Iv YmluL2xkOiBjYW5ub3QgZmluZCAtbFhJRQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK I2xpbmUgOTY1OSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogT3ZlcnJpZGUg YW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KLyogV2Ug dXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2Nj MgogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxs IGFwcGx5LiAgKi8KY2hhciBYaWVGbG9HZW9tZXRyeSgpOwoKaW50IG1haW4oKSB7ClhpZUZsb0dl b21ldHJ5KCkKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6OTY5MjogY2hlY2tpbmcgZm9yIFgxMS9l eHRlbnNpb25zL1hJRWxpYi5oCmNvbmZpZ3VyZTo5NzAyOiBjYyAtRSAgICAgIC1JL3Vzci9sb2Nh bC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4vZGV2L251bGwgMj5j b25mdGVzdC5vdXQKY29uZmlndXJlOjk2OTg6MzU6IGVycm9yOiBYMTEvZXh0ZW5zaW9ucy9YSUVs aWIuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKI2xpbmUgOTY5NyAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1 ZGUgPFgxMS9leHRlbnNpb25zL1hJRWxpYi5oPgpjb25maWd1cmU6OTc3NjogY2hlY2tpbmcgZm9y IGZyZWV0eXBlLWNvbmZpZwpjb25maWd1cmU6OTgxMjogY2hlY2tpbmcgZm9yIEZyZWVUeXBlIC0g dmVyc2lvbiA+PSA2LjEuMApjb25maWd1cmU6OTkzNjogY2hlY2tpbmcgZm9yIEZUX0JpdG1hcF9T aXplLnlfcHBlbQpjb25maWd1cmU6OTk1MTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1waXBlICAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZnJl ZXR5cGUyIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1J L3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6OTk3NzogY2hlY2tp bmcgZm9yIEZUX0dseXBoU2xvdF9FbWJvbGRlbgpjb25maWd1cmU6MTAwMDU6IGNjIC1vIGNvbmZ0 ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAgLU8yIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvbG9jYWwvaW5jbHVkZSAg ICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgICAgIGNvbmZ0 ZXN0LmMgLWxtIC1wdGhyZWFkIC1wdGhyZWFkIC1ML3Vzci9sb2NhbC9saWIgLWxpY29udiAtTC91 c3IvbG9jYWwvbGliIC1XbCwtLXJwYXRoIC1XbCwvdXNyL2xvY2FsL2xpYiAtbGZyZWV0eXBlIC1s eiAxPiY1Ci91c3IvYmluL2xkOiB3YXJuaW5nOiBsaWJ6LnNvLjMsIG5lZWRlZCBieSAvdXNyL2xv Y2FsL2xpYi9saWJmcmVldHlwZS5zbywgbWF5IGNvbmZsaWN0IHdpdGggbGliei5zby40CmNvbmZp Z3VyZTo5OTc3OiBjaGVja2luZyBmb3IgRlRfTG9hZF9TZm50X1RhYmxlCmNvbmZpZ3VyZToxMDAw NTogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlICAtTzIgLWZu by1zdHJpY3QtYWxpYXNpbmcgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9s b2NhbC9pbmNsdWRlICAgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNs dWRlICAgICAgY29uZnRlc3QuYyAtbG0gLXB0aHJlYWQgLXB0aHJlYWQgLUwvdXNyL2xvY2FsL2xp YiAtbGljb252IC1ML3Vzci9sb2NhbC9saWIgLVdsLC0tcnBhdGggLVdsLC91c3IvbG9jYWwvbGli IC1sZnJlZXR5cGUgLWx6IDE+JjUKL3Vzci9iaW4vbGQ6IHdhcm5pbmc6IGxpYnouc28uMywgbmVl ZGVkIGJ5IC91c3IvbG9jYWwvbGliL2xpYmZyZWV0eXBlLnNvLCBtYXkgY29uZmxpY3Qgd2l0aCBs aWJ6LnNvLjQKY29uZmlndXJlOjk5Nzc6IGNoZWNraW5nIGZvciBGVF9TZWxlY3RfU2l6ZQpjb25m aWd1cmU6MTAwMDU6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlw ZSAgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2ZyZWV0eXBl MiAtSS91c3IvbG9jYWwvaW5jbHVkZSAgICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3Iv bG9jYWwvaW5jbHVkZSAgICAgIGNvbmZ0ZXN0LmMgLWxtIC1wdGhyZWFkIC1wdGhyZWFkIC1ML3Vz ci9sb2NhbC9saWIgLWxpY29udiAtTC91c3IvbG9jYWwvbGliIC1XbCwtLXJwYXRoIC1XbCwvdXNy L2xvY2FsL2xpYiAtbGZyZWV0eXBlIC1seiAxPiY1Ci91c3IvYmluL2xkOiB3YXJuaW5nOiBsaWJ6 LnNvLjMsIG5lZWRlZCBieSAvdXNyL2xvY2FsL2xpYi9saWJmcmVldHlwZS5zbywgbWF5IGNvbmZs aWN0IHdpdGggbGliei5zby40CmNvbmZpZ3VyZToxMDA0ODogY2hlY2tpbmcgZm9yIHB0aHJlYWRf Y3JlYXRlIGluIC1wdGhyZWFkcwpjYyAtbyBkdW1teSBkdW1teS5jIC1PMiAtZm5vLXN0cmljdC1h bGlhc2luZyAtcGlwZSAgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAgICAgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkcyAgICAgIC1sbSAtcHRocmVh ZCAtcHRocmVhZCAtTC91c3IvbG9jYWwvbGliIC1saWNvbnYKY2M6IHVucmVjb2duaXplZCBvcHRp b24gJy1wdGhyZWFkcycKY29uZmlndXJlOjEwMTc2OiBjaGVja2luZyB3aGV0aGVyIGNjIGFjY2Vw dHMgLXB0aHJlYWQKY29uZmlndXJlOjEwMjk0OiBjaGVja2luZyB3aGV0aGVyIG1tYXAoKSBzZWVz IHdyaXRlKClzCmNvbmZpZ3VyZToxMDMzNzogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1waXBlICAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgICAgICAtSS91c3IvbG9j YWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgICAgICBjb25mdGVzdC5j IC1sbSAtcHRocmVhZCAtcHRocmVhZCAtTC91c3IvbG9jYWwvbGliIC1saWNvbnYgMT4mNQpjb25m aWd1cmU6MTAzNjI6IGNoZWNraW5nIHdoZXRoZXIgY2MgbmVlZHMgLXRyYWRpdGlvbmFsCkluIGZp bGUgaW5jbHVkZWQgZnJvbSAvdXNyL2luY2x1ZGUvc3lzL2lvY3RsLmg6ODEsCiAgICAgICAgICAg ICAgICAgZnJvbSAvdXNyL2luY2x1ZGUvc2d0dHkuaDozOSwKICAgICAgICAgICAgICAgICBmcm9t IGNvbmZpZ3VyZToxMDM2OToKL3Vzci9pbmNsdWRlL3N5cy9pb2N0bF9jb21wYXQuaDo0NToyOiB3 YXJuaW5nOiAjd2FybmluZyAiT2xkIEJTRCB0dHkgQVBJIHVzZWQgYW5kIGRlcGVuZHMgb24gQ09N UEFUXzQzVFRZLiBVc2UgdGVybWlvcy5oIGluc3RlYWQiCmNvbmZpZ3VyZToxMDM4NzoyMDogZXJy b3I6IHRlcm1pby5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToxMDQwODog Y2hlY2tpbmcgZm9yIDgtYml0IGNsZWFuIG1lbWNtcApjb25maWd1cmU6MTA0MjY6IGNjIC1vIGNv bmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAgLU8yIC1mbm8tc3RyaWN0LWFs aWFzaW5nICAgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1w dGhyZWFkICAgICAgY29uZnRlc3QuYyAtbG0gLXB0aHJlYWQgLXB0aHJlYWQgLUwvdXNyL2xvY2Fs L2xpYiAtbGljb252IDE+JjUKY29uZmlndXJlOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZpZ3Vy ZToxMDQyMTogd2FybmluZzogaW5jb21wYXRpYmxlIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGJ1 aWx0LWluIGZ1bmN0aW9uICdleGl0Jwpjb25maWd1cmU6MTA0NDY6IGNoZWNraW5nIGZvciByYW5k b20KY29uZmlndXJlOjEwNDc0OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNp bmcgLXBpcGUgIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAgICAgIC1JL3Vzci9sb2NhbC9pbmNs dWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgICAgIGNvbmZ0ZXN0LmMgLWxtIC1w dGhyZWFkIC1wdGhyZWFkIC1ML3Vzci9sb2NhbC9saWIgLWxpY29udiAxPiY1CmNvbmZpZ3VyZTox MDQ0NjogY2hlY2tpbmcgZm9yIHN0cmVycm9yCmNvbmZpZ3VyZToxMDQ3NDogY2MgLW8gY29uZnRl c3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlICAtTzIgLWZuby1zdHJpY3QtYWxpYXNp bmcgICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJl YWQgICAgICBjb25mdGVzdC5jIC1sbSAtcHRocmVhZCAtcHRocmVhZCAtTC91c3IvbG9jYWwvbGli IC1saWNvbnYgMT4mNQpjb25maWd1cmU6MTA0NDY6IGNoZWNraW5nIGZvciBsY2hvd24KY29uZmln dXJlOjEwNDc0OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUg IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAgICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgICAgIGNvbmZ0ZXN0LmMgLWxtIC1wdGhyZWFkIC1w dGhyZWFkIC1ML3Vzci9sb2NhbC9saWIgLWxpY29udiAxPiY1CmNvbmZpZ3VyZToxMDQ0NjogY2hl Y2tpbmcgZm9yIGZjaG1vZApjb25maWd1cmU6MTA0NzQ6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5v LXN0cmljdC1hbGlhc2luZyAtcGlwZSAgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAgICAgLUkv dXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAgICAgY29u ZnRlc3QuYyAtbG0gLXB0aHJlYWQgLXB0aHJlYWQgLUwvdXNyL2xvY2FsL2xpYiAtbGljb252IDE+ JjUKY29uZmlndXJlOjEwNDQ2OiBjaGVja2luZyBmb3Igc25wcmludGYKY29uZmlndXJlOjEwNDc0 OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgIC1PMiAtZm5v LXN0cmljdC1hbGlhc2luZyAgICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwv aW5jbHVkZSAtcHRocmVhZCAgICAgIGNvbmZ0ZXN0LmMgLWxtIC1wdGhyZWFkIC1wdGhyZWFkIC1M L3Vzci9sb2NhbC9saWIgLWxpY29udiAxPiY1CmNvbmZpZ3VyZToxMDQ1ODogd2FybmluZzogY29u ZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdzbnByaW50ZicKY29uZmlndXJl OjEwNDQ2OiBjaGVja2luZyBmb3Igc3RhdHZmcwpjb25maWd1cmU6MTA0NzQ6IGNjIC1vIGNvbmZ0 ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAgLU8yIC1mbm8tc3RyaWN0LWFsaWFz aW5nICAgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhy ZWFkICAgICAgY29uZnRlc3QuYyAtbG0gLXB0aHJlYWQgLXB0aHJlYWQgLUwvdXNyL2xvY2FsL2xp YiAtbGljb252IDE+JjUKY29uZmlndXJlOjEwNDQ2OiBjaGVja2luZyBmb3IgbWVtbW92ZQpjb25m aWd1cmU6MTA0NzQ6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlw ZSAgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1J L3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAgICAgY29uZnRlc3QuYyAtbG0gLXB0aHJlYWQg LXB0aHJlYWQgLUwvdXNyL2xvY2FsL2xpYiAtbGljb252IDE+JjUKY29uZmlndXJlOjEwNDU4OiB3 YXJuaW5nOiBjb25mbGljdGluZyB0eXBlcyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24gJ21lbW1vdmUn CmNvbmZpZ3VyZToxMDQ0NjogY2hlY2tpbmcgZm9yIHJpbnQKY29uZmlndXJlOjEwNDc0OiBjYyAt byBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgIC1PMiAtZm5vLXN0cmlj dC1hbGlhc2luZyAgICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVk ZSAtcHRocmVhZCAgICAgIGNvbmZ0ZXN0LmMgLWxtIC1wdGhyZWFkIC1wdGhyZWFkIC1ML3Vzci9s b2NhbC9saWIgLWxpY29udiAxPiY1CmNvbmZpZ3VyZToxMDQ1ODogd2FybmluZzogY29uZmxpY3Rp bmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdyaW50Jwpjb25maWd1cmU6MTA0NDY6IGNo ZWNraW5nIGZvciBzdGF0NjQKY29uZmlndXJlOjEwNDc0OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZu by1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAgICAgIC1J L3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgICAgIGNv bmZ0ZXN0LmMgLWxtIC1wdGhyZWFkIC1wdGhyZWFkIC1ML3Vzci9sb2NhbC9saWIgLWxpY29udiAx PiY1Ci92YXIvdG1wLy9jY1JhMkhEZy5vKC50ZXh0KzB4MTIpOiBJbiBmdW5jdGlvbiBgbWFpbic6 CjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgc3RhdDY0Jwpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKI2xpbmUgMTA0NTEgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8q IFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcg cHJvdG90eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgc3RhdDY0KCk7IGJl bG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5h bCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNl IGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFu ZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFy IHN0YXQ2NCgpOwoKaW50IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRo aXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3 aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRo aW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICov CiNpZiBkZWZpbmVkIChfX3N0dWJfc3RhdDY0KSB8fCBkZWZpbmVkIChfX3N0dWJfX19zdGF0NjQp CmNob2tlIG1lCiNlbHNlCnN0YXQ2NCgpOwojZW5kaWYKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJl OjEwNDQ2OiBjaGVja2luZyBmb3IgbHN0YXQ2NApjb25maWd1cmU6MTA0NzQ6IGNjIC1vIGNvbmZ0 ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAgLU8yIC1mbm8tc3RyaWN0LWFsaWFz aW5nICAgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhy ZWFkICAgICAgY29uZnRlc3QuYyAtbG0gLXB0aHJlYWQgLXB0aHJlYWQgLUwvdXNyL2xvY2FsL2xp YiAtbGljb252IDE+JjUKL3Zhci90bXAvL2NjSDVEVXkwLm8oLnRleHQrMHgxMik6IEluIGZ1bmN0 aW9uIGBtYWluJzoKOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBsc3RhdDY0Jwpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMTA0NTEgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNv bmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhv cGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIg bHN0YXQ2NCgpOyBiZWxvdy4gICovCiNpbmNsdWRlIDxhc3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55 IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KLyogV2UgdXNl IGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgog ICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFw cGx5LiAgKi8KY2hhciBsc3RhdDY0KCk7CgppbnQgbWFpbigpIHsKCi8qIFRoZSBHTlUgQyBsaWJy YXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRv IGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5h bWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlz IGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1Yl9sc3RhdDY0KSB8fCBkZWZpbmVkIChf X3N0dWJfX19sc3RhdDY0KQpjaG9rZSBtZQojZWxzZQpsc3RhdDY0KCk7CiNlbmRpZgoKOyByZXR1 cm4gMDsgfQpjb25maWd1cmU6MTA0NDY6IGNoZWNraW5nIGZvciB0cnVuY2F0ZTY0CmNvbmZpZ3Vy ZToxMDQ3NDogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlICAt TzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgICAgICBjb25mdGVzdC5jIC1sbSAtcHRocmVhZCAtcHRo cmVhZCAtTC91c3IvbG9jYWwvbGliIC1saWNvbnYgMT4mNQovdmFyL3RtcC8vY2MyTnVCVU8ubygu dGV4dCsweDEyKTogSW4gZnVuY3Rpb24gYG1haW4nOgo6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8g YHRydW5jYXRlNjQnCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMDQ1MSAi Y29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZp bmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2gg Y2FuIGNvbmZsaWN0IHdpdGggY2hhciB0cnVuY2F0ZTY0KCk7IGJlbG93LiAgKi8KI2luY2x1ZGUg PGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZv aWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0 aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIHRydW5jYXRlNjQoKTsKCmlu dCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlv bnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBT b21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3 aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAo X19zdHViX3RydW5jYXRlNjQpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX3RydW5jYXRlNjQpCmNob2tl IG1lCiNlbHNlCnRydW5jYXRlNjQoKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTox MDQ0NjogY2hlY2tpbmcgZm9yIHN0YXR2ZnM2NApjb25maWd1cmU6MTA0NzQ6IGNjIC1vIGNvbmZ0 ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAgLU8yIC1mbm8tc3RyaWN0LWFsaWFz aW5nICAgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhy ZWFkICAgICAgY29uZnRlc3QuYyAtbG0gLXB0aHJlYWQgLXB0aHJlYWQgLUwvdXNyL2xvY2FsL2xp YiAtbGljb252IDE+JjUKL3Zhci90bXAvL2NjSm5ydFRiLm8oLnRleHQrMHgxMik6IEluIGZ1bmN0 aW9uIGBtYWluJzoKOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzdGF0dmZzNjQnCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMDQ1MSAiY29uZmlndXJlIgojaW5jbHVkZSAi Y29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQg aG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hh ciBzdGF0dmZzNjQoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRl IGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdl IHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdj YzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGls bCBhcHBseS4gICovCmNoYXIgc3RhdHZmczY0KCk7CgppbnQgbWFpbigpIHsKCi8qIFRoZSBHTlUg QyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMK ICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVh bGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBu YW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1Yl9zdGF0dmZzNjQpIHx8IGRl ZmluZWQgKF9fc3R1Yl9fX3N0YXR2ZnM2NCkKY2hva2UgbWUKI2Vsc2UKc3RhdHZmczY0KCk7CiNl bmRpZgoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MTA1MDE6IGNoZWNraW5nIGZvciBmbG9ja2Zp bGUKY29uZmlndXJlOjEwNTI5OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNp bmcgLXBpcGUgIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAgICAgIC1JL3Vzci9sb2NhbC9pbmNs dWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgICAgIGNvbmZ0ZXN0LmMgLWxtIC1w dGhyZWFkIC1wdGhyZWFkIC1ML3Vzci9sb2NhbC9saWIgLWxpY29udiAxPiY1CmNvbmZpZ3VyZTox MDUwMTogY2hlY2tpbmcgZm9yIGdldHBhZ2VzaXplCmNvbmZpZ3VyZToxMDUyOTogY2MgLW8gY29u ZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlICAtTzIgLWZuby1zdHJpY3QtYWxp YXNpbmcgICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0 aHJlYWQgICAgICBjb25mdGVzdC5jIC1sbSAtcHRocmVhZCAtcHRocmVhZCAtTC91c3IvbG9jYWwv bGliIC1saWNvbnYgMT4mNQpjb25maWd1cmU6MTA1NTg6IGNoZWNraW5nIGZvciBsb2NhbHRpbWVf cgpjb25maWd1cmU6MTA1ODY6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtcGlwZSAgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAgICAgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAgICAgY29uZnRlc3QuYyAtbG0gLXB0 aHJlYWQgLXB0aHJlYWQgLUwvdXNyL2xvY2FsL2xpYiAtbGljb252IDE+JjUKY29uZmlndXJlOjEw NTU4OiBjaGVja2luZyBmb3Igc3RydG9rX3IKY29uZmlndXJlOjEwNTg2OiBjYyAtbyBjb25mdGVz dCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgIC1PMiAtZm5vLXN0cmljdC1hbGlhc2lu ZyAgICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVh ZCAgICAgIGNvbmZ0ZXN0LmMgLWxtIC1wdGhyZWFkIC1wdGhyZWFkIC1ML3Vzci9sb2NhbC9saWIg LWxpY29udiAxPiY1CmNvbmZpZ3VyZToxMDYyMjogY2hlY2tpbmcgZm9yIHdjcnRvbWIKY29uZmln dXJlOjEwNjM0OiBjKysgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBl IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtZnNob3J0LXdjaGFyICAgICAgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAgICAgY29uZnRlc3QuQyAt bG0gLXB0aHJlYWQgLXB0aHJlYWQgLUwvdXNyL2xvY2FsL2xpYiAtbGljb252IDE+JjUKY29uZmln dXJlOjEwNjU0OiBjaGVja2luZyBmb3IgbWJydG93Ywpjb25maWd1cmU6MTA2NjY6IGMrKyAtbyBj b25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLU8yIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1mc2hvcnQtd2NoYXIgICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLXB0aHJlYWQgICAgICBjb25mdGVzdC5DIC1sbSAtcHRocmVhZCAtcHRocmVh ZCAtTC91c3IvbG9jYWwvbGliIC1saWNvbnYgMT4mNQpjb25maWd1cmU6MTA2OTU6IGNoZWNraW5n IGZvciByZXNfbmluaXQoKQpjb25maWd1cmU6MTA3MTI6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5v LXN0cmljdC1hbGlhc2luZyAtcGlwZSAgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAgICAgLUkv dXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAgICAgY29u ZnRlc3QuYyAtbG0gLXB0aHJlYWQgLXB0aHJlYWQgLUwvdXNyL2xvY2FsL2xpYiAtbGljb252IDE+ JjUKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGNvbmZpZ3VyZToxMDcwNToKL3Vzci9pbmNsdWRlL3Jl c29sdi5oOjE2MTogZXJyb3I6IGFycmF5IHR5cGUgaGFzIGluY29tcGxldGUgZWxlbWVudCB0eXBl Ci91c3IvaW5jbHVkZS9yZXNvbHYuaDoxNzU6IGVycm9yOiBmaWVsZCAnYWRkcicgaGFzIGluY29t cGxldGUgdHlwZQovdXNyL2luY2x1ZGUvcmVzb2x2Lmg6MTk5OiBlcnJvcjogZmllbGQgJ3Npbicg aGFzIGluY29tcGxldGUgdHlwZQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUg MTA3MDAgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCgogICAgICAgICNpZmRlZiBs aW51eAogICAgICAgICNkZWZpbmUgX0JTRF9TT1VSQ0UgMQogICAgICAgICNlbmRpZgogICAgICAg ICNpbmNsdWRlIDxyZXNvbHYuaD4KICAgICAgICAKaW50IG1haW4oKSB7CmludCBmb28gPSByZXNf bmluaXQoJl9yZXMpOwo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMDc0MjogY2hlY2tpbmcgZm9y IGdudV9nZXRfbGliY192ZXJzaW9uKCkKY29uZmlndXJlOjEwNzU4OiBjKysgLW8gY29uZnRlc3Qg LU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAt ZnNob3J0LXdjaGFyICAgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1wdGhyZWFkICAgICAgY29uZnRlc3QuQyAtbG0gLXB0aHJlYWQgLXB0aHJlYWQgLUwvdXNy L2xvY2FsL2xpYiAtbGljb252IDE+JjUKY29uZmlndXJlOiBJbiBmdW5jdGlvbiAnaW50IG1haW4o KSc6CmNvbmZpZ3VyZToxMDc1NDogZXJyb3I6ICdnbnVfZ2V0X2xpYmNfdmVyc2lvbicgd2FzIG5v dCBkZWNsYXJlZCBpbiB0aGlzIHNjb3BlCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgoj bGluZSAxMDc0NyAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKCiAgICAgICAgI2lm ZGVmIEhBVkVfR05VX0xJQkNfVkVSU0lPTl9ICiAgICAgICAgI2luY2x1ZGUgPGdudS9saWJjLXZl cnNpb24uaD4KICAgICAgICAjZW5kaWYKICAgICAgICAKaW50IG1haW4oKSB7CmNvbnN0IGNoYXIg KmdsaWJjX3ZlcnNpb24gPSBnbnVfZ2V0X2xpYmNfdmVyc2lvbigpOwo7IHJldHVybiAwOyB9CmNv bmZpZ3VyZToxMDc4NzogY2hlY2tpbmcgZm9yIGljb252IGluIC1sYwpjb25maWd1cmU6MTA4MDk6 IGMrKyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLU8yIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1mc2hvcnQtd2NoYXIgICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAg LUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgICAgICBjb25mdGVzdC5DIC1sYyAgLWxtIC1w dGhyZWFkIC1wdGhyZWFkIC1ML3Vzci9sb2NhbC9saWIgLWxpY29udiAxPiY1CmNvbmZpZ3VyZTox MDkxODogY2hlY2tpbmcgZm9yIGljb252KCkKY29uZmlndXJlOjEwOTM3OiBjKysgLW8gY29uZnRl c3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1PMiAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZnNob3J0LXdjaGFyICAgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9p bmNsdWRlIC1wdGhyZWFkICAgICAgY29uZnRlc3QuQyAtbG0gLXB0aHJlYWQgLXB0aHJlYWQgLUwv dXNyL2xvY2FsL2xpYiAtbGljb252ICAxPiY1CmNvbmZpZ3VyZToxMDk2MTogY2hlY2tpbmcgZm9y IGljb252KCkgd2l0aCBjb25zdCBpbnB1dApjb25maWd1cmU6MTA5ODE6IGMrKyAtYyAtTzIgLWZu by1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mc2hvcnQt d2NoYXIgICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29u ZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZToxMTAxMDogY2hlY2tpbmcgZm9yIG5sX2xhbmdpbmZvIGFu ZCBDT0RFU0VUCmNvbmZpZ3VyZToxMTAyMjogYysrIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmlj dC1hbGlhc2luZyAtcGlwZSAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZzaG9ydC13Y2hhciAg ICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAg ICAgIGNvbmZ0ZXN0LkMgLWxtIC1wdGhyZWFkIC1wdGhyZWFkIC1ML3Vzci9sb2NhbC9saWIgLWxp Y29udiAxPiY1CmNvbmZpZ3VyZToxMTA1NDogY2hlY2tpbmcgZm9yIGFuIGltcGxlbWVudGF0aW9u IG9mIHZhX2NvcHkoKQpjb25maWd1cmU6MTEwNzg6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0 cmljdC1hbGlhc2luZyAtcGlwZSAgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAgICAgLUkvdXNy L2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAgICAgY29uZnRl c3QuYyAtbG0gLXB0aHJlYWQgLXB0aHJlYWQgLUwvdXNyL2xvY2FsL2xpYiAtbGljb252IDE+JjUK Y29uZmlndXJlOiBJbiBmdW5jdGlvbiAnZic6CmNvbmZpZ3VyZToxMTA3Mjogd2FybmluZzogaW5j b21wYXRpYmxlIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGJ1aWx0LWluIGZ1bmN0aW9uICdleGl0 Jwpjb25maWd1cmU6MTEwOTU6IGNoZWNraW5nIGZvciBhbiBpbXBsZW1lbnRhdGlvbiBvZiBfX3Zh X2NvcHkoKQpjb25maWd1cmU6MTExMTk6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1h bGlhc2luZyAtcGlwZSAgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAgICAgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAgICAgY29uZnRlc3QuYyAt bG0gLXB0aHJlYWQgLXB0aHJlYWQgLUwvdXNyL2xvY2FsL2xpYiAtbGljb252IDE+JjUKY29uZmln dXJlOiBJbiBmdW5jdGlvbiAnZic6CmNvbmZpZ3VyZToxMTExMzogd2FybmluZzogaW5jb21wYXRp YmxlIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGJ1aWx0LWluIGZ1bmN0aW9uICdleGl0JwovdmFy L3RtcC8vY2Nyb0VRYWgubygudGV4dCsweDE3KTogSW4gZnVuY3Rpb24gYGYnOgo6IHVuZGVmaW5l ZCByZWZlcmVuY2UgdG8gYF9fdmFfY29weScKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CiNsaW5lIDExMTA1ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoKICAgICAgICAj aW5jbHVkZSA8c3RkYXJnLmg+CiAgICAgICAgdm9pZCBmIChpbnQgaSwgLi4uKSB7CiAgICAgICAg ICAgIHZhX2xpc3QgYXJnczEsIGFyZ3MyOwogICAgICAgICAgICB2YV9zdGFydCAoYXJnczEsIGkp OwogICAgICAgICAgICBfX3ZhX2NvcHkgKGFyZ3MyLCBhcmdzMSk7CiAgICAgICAgICAgIGlmICh2 YV9hcmcgKGFyZ3MyLCBpbnQpICE9IDQyIHx8IHZhX2FyZyAoYXJnczEsIGludCkgIT0gNDIpCiAg ICAgICAgICAgICAgICBleGl0ICgxKTsKICAgICAgICAgICAgdmFfZW5kIChhcmdzMSk7IHZhX2Vu ZCAoYXJnczIpOwogICAgICAgIH0KICAgICAgICBpbnQgbWFpbigpIHsgZiAoMCwgNDIpOyByZXR1 cm4gMDsgfQpjb25maWd1cmU6MTExMzY6IGNoZWNraW5nIHdoZXRoZXIgdmFfbGlzdHMgY2FuIGJl IGNvcGllZCBieSB2YWx1ZQpjb25maWd1cmU6MTExNjA6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5v LXN0cmljdC1hbGlhc2luZyAtcGlwZSAgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAgICAgLUkv dXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAgICAgY29u ZnRlc3QuYyAtbG0gLXB0aHJlYWQgLXB0aHJlYWQgLUwvdXNyL2xvY2FsL2xpYiAtbGljb252IDE+ JjUKY29uZmlndXJlOiBJbiBmdW5jdGlvbiAnZic6CmNvbmZpZ3VyZToxMTE1NDogd2FybmluZzog aW5jb21wYXRpYmxlIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGJ1aWx0LWluIGZ1bmN0aW9uICdl eGl0Jwpjb25maWd1cmU6MTEyNTk6IGNoZWNraW5nIGZvciBDKysgZXhjZXB0aW9ucyBmbGFnCmNv bmZpZ3VyZToxMTI5NDogY2hlY2tpbmcgZm9yIGdjYyAzLjAgQUJJCmNvbmZpZ3VyZToxMTMxMjog YysrIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtTzIgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZzaG9ydC13Y2hhciAgICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9j YWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjExMzM2OiBjaGVja2luZyBmb3Ig QysrICJleHBsaWNpdCIga2V5d29yZApjb25maWd1cmU6MTEzNTE6IGMrKyAtYyAtTzIgLWZuby1z dHJpY3QtYWxpYXNpbmcgLXBpcGUgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mc2hvcnQtd2No YXIgICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRl c3QuQyAxPiY1CmNvbmZpZ3VyZToxMTM3MjogY2hlY2tpbmcgZm9yIEMrKyAidHlwZW5hbWUiIGtl eXdvcmQKY29uZmlndXJlOjExMzk2OiBjKysgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1w aXBlIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtZnNob3J0LXdjaGFyICAgICAgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1 cmU6MTE0MTc6IGNoZWNraW5nIGZvciBtb2Rlcm4gQysrIHRlbXBsYXRlIHNwZWNpYWxpemF0aW9u IHN5bnRheCBzdXBwb3J0CmNvbmZpZ3VyZToxMTQzMjogYysrIC1jIC1PMiAtZm5vLXN0cmljdC1h bGlhc2luZyAtcGlwZSAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZzaG9ydC13Y2hhciAgICAg IC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+ JjUKY29uZmlndXJlOjExNDU0OiBjaGVja2luZyB3aGV0aGVyIHBhcnRpYWwgdGVtcGxhdGUgc3Bl Y2lhbGl6YXRpb24gd29ya3MKY29uZmlndXJlOjExNDY3OiBjKysgLWMgLU8yIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1waXBlIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtZnNob3J0LXdjaGFyICAg ICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMg MT4mNQpjb25maWd1cmU6MTE0ODg6IGNoZWNraW5nIHdoZXRoZXIgb3BlcmF0b3JzIG11c3QgYmUg cmUtZGVmaW5lZCBmb3IgdGVtcGxhdGVzIGRlcml2ZWQgZnJvbSB0ZW1wbGF0ZXMKY29uZmlndXJl OjExNTA1OiBjKysgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1PMiAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZnNob3J0LXdjaGFyICAgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1J L3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6MTE1Mjc6IGNoZWNr aW5nIHdoZXRoZXIgd2UgbmVlZCB0byBjYXN0IGEgZGVyaXZlZCB0ZW1wbGF0ZSB0byBwYXNzIGFz IGl0cyBiYXNlIGNsYXNzCmNvbmZpZ3VyZToxMTU0MTogYysrIC1jIC1PMiAtZm5vLXN0cmljdC1h bGlhc2luZyAtcGlwZSAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZzaG9ydC13Y2hhciAgICAg IC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+ JjUKY29uZmlndXJlOjExNTYyOiBjaGVja2luZyB3aGV0aGVyIHRoZSBjb21waWxlciBjYW4gcmVz b2x2ZSBjb25zdCBhbWJpZ3VpdGllcyBmb3IgdGVtcGxhdGVzCmNvbmZpZ3VyZToxMTU4ODogYysr IC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtTzIgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWZzaG9ydC13Y2hhciAgICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwv aW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjExNjEwOiBjaGVja2luZyB3aGV0aGVy IHRoZSBDKysgInVzaW5nIiBrZXl3b3JkIGNhbiBjaGFuZ2UgYWNjZXNzCmNvbmZpZ3VyZToxMTYy MzogYysrIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtTzIgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZzaG9ydC13Y2hhciAgICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3Iv bG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjExNjM0OiBjKysgLWMgLU8y IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtZnNo b3J0LXdjaGFyICAgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRl IGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6IEluIGZ1bmN0aW9uICdpbnQgbWFpbigpJzoKY29u ZmlndXJlOjExNjI3OiBlcnJvcjogJ2ludCBBOjpmb28oKScgaXMgaW5hY2Nlc3NpYmxlCmNvbmZp Z3VyZToxMTYzMDogZXJyb3I6IHdpdGhpbiB0aGlzIGNvbnRleHQKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CiNsaW5lIDExNjI2ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5o IgpjbGFzcyBBIHsgcHVibGljOiBpbnQgZm9vKCkgeyByZXR1cm4gMTsgfSB9OwogICAgICAgICAg ICAgICAgICAgICAgIGNsYXNzIEIgOiBwdWJsaWMgQSB7IHByaXZhdGU6IHVzaW5nIEE6OmZvbzsg fTsKaW50IG1haW4oKSB7CkIgYjsgcmV0dXJuIGIuZm9vKCk7CjsgcmV0dXJuIDA7IH0KY29uZmln dXJlOjExNjYyOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgInVzaW5nIiBrZXl3b3JkIHJlc29s dmVzIGFtYmlndWl0eQpjb25maWd1cmU6MTE2ODM6IGMrKyAtYyAtTzIgLWZuby1zdHJpY3QtYWxp YXNpbmcgLXBpcGUgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mc2hvcnQtd2NoYXIgICAgICAt SS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1 CmNvbmZpZ3VyZToxMTcwNDogY2hlY2tpbmcgZm9yICJzdGQ6OiIgbmFtZXNwYWNlCmNvbmZpZ3Vy ZToxMTcxNjogYysrIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtTzIgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZzaG9ydC13Y2hhciAgICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAt SS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjExNzM3OiBjaGVj a2luZyB3aGV0aGVyIHN0YW5kYXJkIHRlbXBsYXRlIG9wZXJhdG9yIT0oKSBpcyBhbWJpZ3VvdXMK Y29uZmlndXJlOjExNzUyOiBjKysgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1P MiAtZm5vLXN0cmljdC1hbGlhc2luZyAtZnNob3J0LXdjaGFyICAgICAgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6MTE3 NzQ6IGNoZWNraW5nIGZvciBDKysgcmVpbnRlcnByZXRfY2FzdApjb25maWd1cmU6MTE3ODc6IGMr KyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLU8yIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mc2hvcnQtd2NoYXIgICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZToxMTgwODogY2hlY2tpbmcgZm9yIEMr KyBkeW5hbWljX2Nhc3QgdG8gdm9pZCoKY29uZmlndXJlOjExODMyOiBjKysgLW8gY29uZnRlc3Qg LU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAt ZnNob3J0LXdjaGFyICAgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1wdGhyZWFkICAgICAgY29uZnRlc3QuQyAtbG0gLXB0aHJlYWQgLXB0aHJlYWQgLUwvdXNy L2xvY2FsL2xpYiAtbGljb252IDE+JjUKY29uZmlndXJlOjExODU2OiBjaGVja2luZyB3aGV0aGVy IEMrKyByZXF1aXJlcyBpbXBsZW1lbnRhdGlvbiBvZiB1bnVzZWQgdmlydHVhbCBtZXRob2RzCmNv bmZpZ3VyZToxMTg2ODogYysrIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAt cGlwZSAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZzaG9ydC13Y2hhciAgICAgIC1JL3Vzci9s b2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgICAgIGNvbmZ0ZXN0 LkMgLWxtIC1wdGhyZWFkIC1wdGhyZWFkIC1ML3Vzci9sb2NhbC9saWIgLWxpY29udiAxPiY1CmNv bmZpZ3VyZToxMTg5MTogY2hlY2tpbmcgZm9yIHRyb3VibGUgY29tcGFyaW5nIHRvIHplcm8gbmVh ciBzdGQ6Om9wZXJhdG9yIT0oKQpjb25maWd1cmU6MTE5MDc6IGMrKyAtYyAtTzIgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLXBpcGUgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mc2hvcnQtd2NoYXIg ICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3Qu QyAxPiY1CmNvbmZpZ3VyZToxMTkzOTogY2hlY2tpbmcgZm9yIExDX01FU1NBR0VTCmNvbmZpZ3Vy ZToxMTk1MTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlICAtTzIgLWZuby1z dHJpY3QtYWxpYXNpbmcgICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMjA1NDogY2hlY2tpbmcgZm9yIG5zcHIt Y29uZmlnCmNvbmZpZ3VyZToxMjA4OTogY2hlY2tpbmcgZm9yIE5TUFIgLSB2ZXJzaW9uID49IDQu Ny4wCmNvbmZpZ3VyZToxMjE0OTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBl ICAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLUkvdXNyL2xvY2FsL2luY2x1ZGUvbnNwciAgICAg IC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+ JjUKY29uZmlndXJlOjEyNDUxOiBjaGVja2luZyBmb3IgZ3pyZWFkIGluIC1segpjb25maWd1cmU6 MTI0NzA6IGNjIC1vIGNvbmZ0ZXN0IC1JL3Vzci9pbmNsdWRlIC1PMiAtZm5vLXN0cmljdC1hbGlh c2luZyAtcGlwZSAgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAgICAgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9saWIgLXB0aHJlYWQgICAgICBjb25m dGVzdC5jIC1seiAgLWxtIC1wdGhyZWFkIC1wdGhyZWFkIC1ML3Vzci9sb2NhbC9saWIgLWxpY29u diAxPiY1CmNvbmZpZ3VyZToxMjUwNjogY2MgLWMgLUkvdXNyL2luY2x1ZGUgLU8yIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1waXBlICAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgICAgICAtSS91c3Iv bG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZp Z3VyZToxMzE4NzogY2hlY2tpbmcgaWYgYXBwLXNwZWNpZmljIGNvbmZ2YXJzLnNoIGV4aXN0cwpj b25maWd1cmU6MTM0MzA6IGNoZWNraW5nIGZvciBwa2ctY29uZmlnCmNvbmZpZ3VyZToxMzQ3NDog Y2hlY2tpbmcgZm9yIGd0aystMi4wID49IDIuMTAuMCBndGsrLXVuaXgtcHJpbnQtMi4wIGdkay14 MTEtMi4wIGdsaWItMi4wIGdvYmplY3QtMi4wCmNvbmZpZ3VyZToxMzQ4MTogY2hlY2tpbmcgTU9a X0dUSzJfQ0ZMQUdTCmNvbmZpZ3VyZToxMzQ4NjogY2hlY2tpbmcgTU9aX0dUSzJfTElCUwpjb25m aWd1cmU6MTM4NTc6IGNoZWNraW5nIGZvciB4ZnQKY29uZmlndXJlOjEzODY0OiBjaGVja2luZyBN T1pfWEZUX0NGTEFHUwpjb25maWd1cmU6MTM4Njk6IGNoZWNraW5nIE1PWl9YRlRfTElCUwpjb25m aWd1cmU6MTM5NTE6IGNoZWNraW5nIGZvciBwYW5nbyA+PSAxLjEwLjAKY29uZmlndXJlOjEzOTU4 OiBjaGVja2luZyBfUEFOR09DSEtfQ0ZMQUdTCmNvbmZpZ3VyZToxMzk2MzogY2hlY2tpbmcgX1BB TkdPQ0hLX0xJQlMKY29uZmlndXJlOjE0MDQyOiBjaGVja2luZyBmb3IgcGFuZ28gPj0gMS4xMC4w IHBhbmdvY2Fpcm8gPj0gMS4xMC4wIHBhbmdvZnQyID49IDEuMTAuMApjb25maWd1cmU6MTQwNDk6 IGNoZWNraW5nIE1PWl9QQU5HT19DRkxBR1MKY29uZmlndXJlOjE0MDU0OiBjaGVja2luZyBNT1pf UEFOR09fTElCUwpjb25maWd1cmU6MTQxNzU6IGNoZWNraW5nIGZvciBnbm9tZS12ZnMtMi4wID49 IDIuMCBnbm9tZS12ZnMtbW9kdWxlLTIuMCA+PSAyLjAKY29uZmlndXJlOjE0MTgyOiBjaGVja2lu ZyBNT1pfR05PTUVWRlNfQ0ZMQUdTCmNvbmZpZ3VyZToxNDE4NzogY2hlY2tpbmcgTU9aX0dOT01F VkZTX0xJQlMKY29uZmlndXJlOjE0MjgyOiBjaGVja2luZyBmb3IgZ2NvbmYtMi4wID49IDEuMi4x CmNvbmZpZ3VyZToxNDI4OTogY2hlY2tpbmcgTU9aX0dDT05GX0NGTEFHUwpjb25maWd1cmU6MTQy OTQ6IGNoZWNraW5nIE1PWl9HQ09ORl9MSUJTCmNvbmZpZ3VyZToxNDM5MzogY2hlY2tpbmcgZm9y IGxpYmdub21lLTIuMCA+PSAyLjAKY29uZmlndXJlOjE0NjYwOiBjaGVja2luZyBmb3IgZGJ1cy1n bGliLTEgPj0gMC42MApjb25maWd1cmU6MTQ2Njc6IGNoZWNraW5nIE1PWl9EQlVTX0dMSUJfQ0ZM QUdTCmNvbmZpZ3VyZToxNDY3MjogY2hlY2tpbmcgTU9aX0RCVVNfR0xJQl9MSUJTCmNvbmZpZ3Vy ZToxNTg2NjogY2hlY2tpbmcgZm9yIHRhciBhcmNoaXZlcgpjb25maWd1cmU6MTU4NzI6IGNoZWNr aW5nIGZvciBnbnV0YXIKY29uZmlndXJlOjE1ODcyOiBjaGVja2luZyBmb3IgZ3Rhcgpjb25maWd1 cmU6MTU5MDk6IGNoZWNraW5nIGZvciB3Z2V0CmNvbmZpZ3VyZToxNTkxNTogY2hlY2tpbmcgZm9y IHdnZXQKY29uZmlndXJlOjE2NjE0OiBjaGVja2luZyBmb3IgdmFsaWQgb3B0aW1pemF0aW9uIGZs YWdzCmNvbmZpZ3VyZToxNjYyNTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBl ICAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8gICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAg LUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxNzQzMjogY2hl Y2tpbmcgZm9yIF9fY3hhX2RlbWFuZ2xlCmNvbmZpZ3VyZToxNzQ2MzogYysrIC1vIGNvbmZ0ZXN0 IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZzaG9ydC13Y2hhciAgICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5j bHVkZSAtcHRocmVhZCAgICAgIGNvbmZ0ZXN0LkMgLWxtIC1wdGhyZWFkIC1wdGhyZWFkIC1ML3Vz ci9sb2NhbC9saWIgLWxpY29udiAxPiY1CmNvbmZpZ3VyZToxNzUxMTogY2hlY2tpbmcgZm9yIHVu d2luZC5oCmNvbmZpZ3VyZToxNzUyMTogY2MgLUUgICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAg LUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0 CmNvbmZpZ3VyZToxNzUxNzoyMDogZXJyb3I6IHVud2luZC5oOiBObyBzdWNoIGZpbGUgb3IgZGly ZWN0b3J5CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxNzUxNiAiY29uZmln dXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPHVud2luZC5oPgpjb25maWd1cmU6 MTc2OTA6IGNoZWNraW5nIGZvciBnY2MgLXBpcGUgc3VwcG9ydApkdW1teS1oZWxsby5jOiBJbiBm dW5jdGlvbiAnbWFpbic6CmR1bW15LWhlbGxvLmM6Mjogd2FybmluZzogaW5jb21wYXRpYmxlIGlt cGxpY2l0IGRlY2xhcmF0aW9uIG9mIGJ1aWx0LWluIGZ1bmN0aW9uICdleGl0Jwpjb25maWd1cmU6 MTc3MTI6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAgLU8yIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1waXBlICAgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTc3NTQ6IGNoZWNraW5nIHdoZXRo ZXIgY29tcGlsZXIgc3VwcG9ydHMgLVduby1sb25nLWxvbmcKY29uZmlndXJlOjE3NzYzOiBjYyAt YyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgIC1PMiAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtcGlwZSAtV25vLWxvbmctbG9uZyAgICAgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3Iv bG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjE3Nzk5OiBjaGVja2luZyB3 aGV0aGVyIEMgY29tcGlsZXIgc3VwcG9ydHMgLWZwcm9maWxlLWdlbmVyYXRlCmNvbmZpZ3VyZTox NzgwODogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlICAtTzIgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLXBpcGUgLWZwcm9maWxlLWdlbmVyYXRlICAgICAgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTc5 NDE6IGNoZWNraW5nIGZvciBjb3JyZWN0IHRlbXBvcmFyeSBvYmplY3QgZGVzdHJ1Y3Rpb24gb3Jk ZXIKY29uZmlndXJlOjE3OTY2OiBjKysgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1waXBlIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtZnNob3J0LXdjaGFyIC1waXBlICAg ICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAg ICAgY29uZnRlc3QuQyAtbG0gLXB0aHJlYWQgLXB0aHJlYWQgLUwvdXNyL2xvY2FsL2xpYiAtbGlj b252IDE+JjUKY29uZmlndXJlOjE3OTg3OiBjaGVja2luZyBmb3IgY29ycmVjdCBvdmVybG9hZCBy ZXNvbHV0aW9uIHdpdGggY29uc3QgYW5kIHRlbXBsYXRlcwpjb25maWd1cmU6MTgwMjI6IGMrKyAt YyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1mc2hvcnQtd2NoYXIgLXBpcGUgIC1XYWxsIC1XY29udmVyc2lvbiAtV3BvaW50ZXItYXJpdGgg LVdvdmVybG9hZGVkLXZpcnR1YWwgLVdzeW50aCAtV25vLWN0b3ItZHRvci1wcml2YWN5IC1Xbm8t bm9uLXZpcnR1YWwtZHRvciAtV2Nhc3QtYWxpZ24gLVduby1sb25nLWxvbmcgICAgICAtSS91c3Iv bG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZp Z3VyZTogSW4gZnVuY3Rpb24gJ2ludCBtYWluKCknOgpjb25maWd1cmU6MTgwMTc6IHdhcm5pbmc6 ICdiYXInIGlzIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCmNvbmZpZ3VyZTox ODM2OTogY2hlY2tpbmcgZm9yIGxpYklETC0yLjAgPj0gMC44LjAgZ2xpYi0yLjAgZ29iamVjdC0y LjAKY29uZmlndXJlOjE4Mzc2OiBjaGVja2luZyBMSUJJRExfQ0ZMQUdTCmNvbmZpZ3VyZToxODM4 MTogY2hlY2tpbmcgTElCSURMX0xJQlMKY29uZmlndXJlOjE5MjIyOiBjaGVja2luZyBmb3IgZ2xp Yi0yLjAgPj0gMS4zLjcgZ29iamVjdC0yLjAKY29uZmlndXJlOjE5MjI5OiBjaGVja2luZyBHTElC X0NGTEFHUwpjb25maWd1cmU6MTkyMzQ6IGNoZWNraW5nIEdMSUJfTElCUwpjb25maWd1cmU6MTk4 MzQ6IGNoZWNraW5nIGZvciBzdGRpbnQuaApjb25maWd1cmU6MTk4NDQ6IGNjIC1FICAgICAgLUkv dXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPi9kZXYv bnVsbCAyPmNvbmZ0ZXN0Lm91dApjb25maWd1cmU6MTk4MzQ6IGNoZWNraW5nIGZvciBpbnR0eXBl cy5oCmNvbmZpZ3VyZToxOTg0NDogY2MgLUUgICAgICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUkv dXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0CmNv bmZpZ3VyZToxOTgzNDogY2hlY2tpbmcgZm9yIHN5cy9pbnRfdHlwZXMuaApjb25maWd1cmU6MTk4 NDQ6IGNjIC1FICAgICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRl IGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dApjb25maWd1cmU6MTk4NDA6Mjc6 IGVycm9yOiBzeXMvaW50X3R5cGVzLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDE5ODM5ICJjb25maWd1cmUiCiNpbmNsdWRl ICJjb25mZGVmcy5oIgojaW5jbHVkZSA8c3lzL2ludF90eXBlcy5oPgpjb25maWd1cmU6MjAxMTM6 IGNoZWNraW5nIGZvciBjYWlybyA+PSAxLjYuMCBmcmVldHlwZTIgZm9udGNvbmZpZwo= ------K2hqcP3f-LyyfTtZBwhjWgigh:1245140998-- From owner-freebsd-gecko@FreeBSD.ORG Tue Jun 16 09:36:18 2009 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 417441065675 for ; Tue, 16 Jun 2009 09:36:18 +0000 (UTC) (envelope-from miwi@bsdcrew.de) Received: from bsdcrew.de (duro.unixfreunde.de [85.214.90.4]) by mx1.freebsd.org (Postfix) with ESMTP id 06BDF8FC16 for ; Tue, 16 Jun 2009 09:36:17 +0000 (UTC) (envelope-from miwi@bsdcrew.de) Received: by bsdcrew.de (Postfix, from userid 1001) id 65B844AC62; Tue, 16 Jun 2009 11:36:13 +0200 (CEST) Date: Tue, 16 Jun 2009 11:36:13 +0200 From: Martin Wilke To: Vladimir ?????? Message-ID: <20090616093613.GD48737@bsdcrew.de> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; x-action=pgp-signed Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.19 (2009-01-05) Cc: gecko@FreeBSD.org Subject: Re: error: Library requirements (cairo >= 1.6.0 freetype2 fontconfig) not met X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 09:36:18 -0000 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tue, Jun 16, 2009 at 12:29:58PM +0400, Vladimir ?????? wrote: > error: Library requirements (cairo >= 1.6.0 freetype2 fontconfig) not met; consider > adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a > nonstandard prefix so pkg-config can find them. > ===> Script "configure" failed unexpectedly. > Please report the problem to gecko@FreeBSD.org [maintainer] and attach the > "/usr/ports/www/firefox3/work/mozilla/config.log" including the output of the > failure of your make command. Also, it might be a good idea to provide an > overview of all packages installed on your system (e.g. an `ls /var/db/pkg`). > *** Error code 1 > > Stop in /usr/ports/www/firefox3. > *** Error code 1 > > Stop in /usr/ports/www/firefox3. Please update all your ports. > > -------------------- > sistem: WMVare 6.5.2 build-156735 > _______________________________________________ > freebsd-gecko@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-gecko > To unsubscribe, send any mail to "freebsd-gecko-unsubscribe@freebsd.org" - -- +-----------------------+-------------------------------+ | PGP : 0xB1E6FCE9 | Jabber : miwi(at)BSDCrew.de | | Skype : splash_111 | Mail : miwi(at)FreeBSD.org | +-----------------------+-------------------------------+ | Mess with the Best, Die like the Rest! | +-----------------------+-------------------------------+ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (FreeBSD) iEYEARECAAYFAko3Z40ACgkQdLJIhLHm/OlQXQCgyQbi0Jm4VPAYBod/VTfKBtEI EkYAoLTsFxsIXYzzZH+zJx+Zg8bOUElF =k2PS -----END PGP SIGNATURE----- From owner-freebsd-gecko@FreeBSD.ORG Tue Jun 16 16:23:36 2009 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EEFD81065670 for ; Tue, 16 Jun 2009 16:23:36 +0000 (UTC) (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.245.56]) by mx1.freebsd.org (Postfix) with ESMTP id 6B3D08FC0C for ; Tue, 16 Jun 2009 16:23:36 +0000 (UTC) (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: from trillian.chruetertee.ch (trillian [217.150.245.56]) by trillian.chruetertee.ch (8.14.3/8.14.3) with ESMTP id n5GGNZOK044439 for ; Tue, 16 Jun 2009 16:23:35 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.3/8.14.3/Submit) id n5GGNU68043580 for freebsd-gecko@freebsd.org; Tue, 16 Jun 2009 16:23:30 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Tue, 16 Jun 2009 16:23:30 GMT Message-Id: <200906161623.n5GGNU68043580@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [SVN-Commit] r37 - trunk/www/libxul X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: freebsd-gecko@freebsd.org List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 16:23:37 -0000 Author: miwi Date: Tue Jun 16 16:23:29 2009 New Revision: 37 Log: - Sync w/ FreeBSD - Update to 1.9.0.11 Modified: trunk/www/libxul/Makefile trunk/www/libxul/distinfo Modified: trunk/www/libxul/Makefile ============================================================================== --- trunk/www/libxul/Makefile Fri Jun 12 15:23:21 2009 (r36) +++ trunk/www/libxul/Makefile Tue Jun 16 16:23:29 2009 (r37) @@ -2,12 +2,12 @@ # Date created: 2006-02-20 # Whom: Michael Johnson # -# $FreeBSD: ports/www/libxul/Makefile,v 1.4 2009/05/04 19:23:43 miwi Exp $ +# $FreeBSD: ports/www/libxul/Makefile,v 1.6 2009/05/29 04:38:39 linimon Exp $ # $MCom: ports/www/libxul/Makefile,v 1.25 2009/04/07 17:47:01 marcus Exp $ # PORTNAME= libxul -PORTVERSION= 1.9.0.10 +PORTVERSION= 1.9.0.11 CATEGORIES?= www devel MASTER_SITES= ${MASTER_SITE_MOZILLA} MASTER_SITE_SUBDIR= xulrunner/releases/${PORTVERSION}/source/ @@ -47,6 +47,12 @@ libxul-unstable libxul mozilla-gtkmozembed-embedding \ mozilla-gtkmozembed mozilla-js mozilla-nss mozilla-plugin +.include + +.if ${ARCH} == "sparc64" +BROKEN= Does not compile on sparc64 +.endif + post-patch: ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS:C/-pthread/${GECKO_PTHREAD_LIBS}/}|' \ ${WRKSRC}/storage/build/Makefile.in \ @@ -58,4 +64,4 @@ s|%%MOZ_LIBDIR%%|${PREFIX}/lib/${MOZILLA}|g" \ ${WRKSRC}/xulrunner/installer/*.pc.in || ${TRUE} -.include +.include Modified: trunk/www/libxul/distinfo ============================================================================== --- trunk/www/libxul/distinfo Fri Jun 12 15:23:21 2009 (r36) +++ trunk/www/libxul/distinfo Tue Jun 16 16:23:29 2009 (r37) @@ -1,3 +1,3 @@ -MD5 (xulrunner-1.9.0.10-source.tar.bz2) = 1012e835a5c130d18479bccdee240640 -SHA256 (xulrunner-1.9.0.10-source.tar.bz2) = c46c0bf8a280074296b59c0a6a8e1478febb1fa52bbcba591b95b61c6e4dc8f7 -SIZE (xulrunner-1.9.0.10-source.tar.bz2) = 37081374 +MD5 (xulrunner-1.9.0.11-source.tar.bz2) = b509f7c05e9566ed290e2c098316c7c3 +SHA256 (xulrunner-1.9.0.11-source.tar.bz2) = 524496fdb6748fdb8200e4b28c6b3cc6bb7f554c022566d2fc1de143b8b02fde +SIZE (xulrunner-1.9.0.11-source.tar.bz2) = 37214869 From owner-freebsd-gecko@FreeBSD.ORG Tue Jun 16 21:34:52 2009 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B88E01065673 for ; Tue, 16 Jun 2009 21:34:52 +0000 (UTC) (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.245.56]) by mx1.freebsd.org (Postfix) with ESMTP id 48D2B8FC08 for ; Tue, 16 Jun 2009 21:34:51 +0000 (UTC) (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: from trillian.chruetertee.ch (trillian [217.150.245.56]) by trillian.chruetertee.ch (8.14.3/8.14.3) with ESMTP id n5GLYoAo054674 for ; Tue, 16 Jun 2009 21:34:50 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.3/8.14.3/Submit) id n5GLYjxE053958 for freebsd-gecko@freebsd.org; Tue, 16 Jun 2009 21:34:45 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Tue, 16 Jun 2009 21:34:45 GMT Message-Id: <200906162134.n5GLYjxE053958@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [SVN-Commit] r38 - in trunk/www/firefox3-devel: . files X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: freebsd-gecko@freebsd.org List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 21:34:53 -0000 Author: miwi Date: Tue Jun 16 21:34:45 2009 New Revision: 38 Log: - Update to 3.5-RC1 Deleted: trunk/www/firefox3-devel/files/patch-js-src-xpconnect-src-xpcquickstubs.cpp Modified: trunk/www/firefox3-devel/Makefile trunk/www/firefox3-devel/distinfo Modified: trunk/www/firefox3-devel/Makefile ============================================================================== --- trunk/www/firefox3-devel/Makefile Tue Jun 16 16:23:29 2009 (r37) +++ trunk/www/firefox3-devel/Makefile Tue Jun 16 21:34:45 2009 (r38) @@ -6,7 +6,7 @@ # PORTNAME= firefox -DISTVERSION= 3.5b4 +DISTVERSION= 3.5rc1 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= ${MASTER_SITE_MOZILLA} Modified: trunk/www/firefox3-devel/distinfo ============================================================================== --- trunk/www/firefox3-devel/distinfo Tue Jun 16 16:23:29 2009 (r37) +++ trunk/www/firefox3-devel/distinfo Tue Jun 16 21:34:45 2009 (r38) @@ -1,3 +1,3 @@ -MD5 (firefox-3.5b4-source.tar.bz2) = ff6bf463300cb56bcf750973b2af3d80 -SHA256 (firefox-3.5b4-source.tar.bz2) = b653f2fa8dfdd0a54a6b8c576769719cf9014ca6b09f8e9d351721a51766d95d -SIZE (firefox-3.5b4-source.tar.bz2) = 45782023 +MD5 (firefox-3.5rc1-source.tar.bz2) = 6e9b5fa844f5ddf80b1ae819b43b52ad +SHA256 (firefox-3.5rc1-source.tar.bz2) = 94bda3c09924cbb92460b6e235634415d29b10e784acb5d9bc6ec509e69ed993 +SIZE (firefox-3.5rc1-source.tar.bz2) = 46596337 Deleted: trunk/www/firefox3-devel/files/patch-js-src-xpconnect-src-xpcquickstubs.cpp ============================================================================== --- trunk/www/firefox3-devel/files/patch-js-src-xpconnect-src-xpcquickstubs.cpp Tue Jun 16 21:34:45 2009 (r37) +++ /dev/null 00:00:00 1970 (deleted) @@ -1,32 +0,0 @@ ---- js/src/xpconnect/src/xpcquickstubs.cpp.orig 2009-05-10 14:31:55.000000000 +0200 -+++ js/src/xpconnect/src/xpcquickstubs.cpp 2009-05-10 14:33:07.000000000 +0200 -@@ -210,8 +210,8 @@ - if(setterobjp) - *setterobjp = setterobj; - return JS_DefinePropertyById(cx, obj, interned_id, JSVAL_VOID, -- (JSPropertyOp)getterobj, -- (JSPropertyOp)setterobj, -+ JS_DATA_TO_FUNC_PTR(JSPropertyOp, getterobj), -+ JS_DATA_TO_FUNC_PTR(JSPropertyOp, setterobj), - attrs); - } - -@@ -255,7 +255,7 @@ - if(attrs & JSPROP_GETTER) - { - JS_SET_RVAL(cx, vp, -- OBJECT_TO_JSVAL(reinterpret_cast(getter))); -+ OBJECT_TO_JSVAL(JS_FUNC_TO_DATA_PTR(JSObject *, getter))); - return JS_TRUE; - } - } -@@ -264,7 +264,7 @@ - if(attrs & JSPROP_SETTER) - { - JS_SET_RVAL(cx, vp, -- OBJECT_TO_JSVAL(reinterpret_cast(setter))); -+ OBJECT_TO_JSVAL(JS_FUNC_TO_DATA_PTR(JSObject *, setter))); - return JS_TRUE; - } - } - From owner-freebsd-gecko@FreeBSD.ORG Wed Jun 17 08:19:24 2009 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 82D1D106566B for ; Wed, 17 Jun 2009 08:19:24 +0000 (UTC) (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.245.56]) by mx1.freebsd.org (Postfix) with ESMTP id EF9BE8FC0C for ; Wed, 17 Jun 2009 08:19:22 +0000 (UTC) (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: from trillian.chruetertee.ch (trillian [217.150.245.56]) by trillian.chruetertee.ch (8.14.3/8.14.3) with ESMTP id n5H8JLMa026743 for ; Wed, 17 Jun 2009 08:19:21 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.3/8.14.3/Submit) id n5H8JGJ5023647 for freebsd-gecko@freebsd.org; Wed, 17 Jun 2009 08:19:16 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Wed, 17 Jun 2009 08:19:16 GMT Message-Id: <200906170819.n5H8JGJ5023647@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [SVN-Commit] r39 - in trunk/devel: . nspr nspr/files X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: freebsd-gecko@freebsd.org List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 08:19:24 -0000 Author: miwi Date: Wed Jun 17 08:19:15 2009 New Revision: 39 Log: - Add devel/nspr and update to 4.8 Submitted by: gahr@ Added: trunk/devel/ trunk/devel/nspr/ trunk/devel/nspr/Makefile trunk/devel/nspr/distinfo trunk/devel/nspr/files/ trunk/devel/nspr/files/patch-..::config::autoconf.mk.in trunk/devel/nspr/files/patch-..::configure trunk/devel/nspr/files/patch-..::pr::src::pthreads::ptio.c trunk/devel/nspr/files/patch-.._pr_include_md__freebsd.cfg trunk/devel/nspr/files/patch-.._pr_include_md__freebsd.h trunk/devel/nspr/files/patch-.._pr_src_misc_prsystem.c trunk/devel/nspr/files/patch-.._pr_tests_Makefile trunk/devel/nspr/files/patch-config-nsprc.pc.in trunk/devel/nspr/files/patch-libtests trunk/devel/nspr/files/patch-pthread_t trunk/devel/nspr/files/patch-tests trunk/devel/nspr/files/patch-warnings trunk/devel/nspr/pkg-descr trunk/devel/nspr/pkg-plist Added: trunk/devel/nspr/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/devel/nspr/Makefile Wed Jun 17 08:19:15 2009 (r39) @@ -0,0 +1,82 @@ +# Ports collection Makefile for: nspr +# Date created: 18 December 2001 +# Whom: Maxim Sobolev +# +# $FreeBSD: ports/devel/nspr/Makefile,v 1.36 2008/04/03 16:50:42 ahze Exp $ +# $MCom: ports-experimental/devel/nspr/Makefile,v 1.6 2008/03/12 13:06:56 ahze Exp $ + +PORTNAME= nspr +DISTVERSION= 4.8 +CATEGORIES= devel +#MASTER_SITES= LOCAL/ahze +MASTER_SITES= ${MASTER_SITE_MOZILLA} +MASTER_SITE_SUBDIR= nspr/releases/v${PORTVERSION}/src + +MAINTAINER= gnome@FreeBSD.org +COMMENT= A platform-neutral API for system level and libc like functions + +WRKSRC= ${WRKDIR}/${DISTNAME}/mozilla/nsprpub/build + +USE_LDCONFIG= yes +USE_GMAKE= yes +GNU_CONFIGURE= yes +CONFIGURE_SCRIPT=../configure +CONFIGURE_ARGS= --disable-debug \ + --with-pthreads +CONFIGURE_ENV= BSD_PTHREAD_LIBS=${PTHREAD_LIBS} + +MAKE_ENV= DIST=${WRKSRC}/dist + +LIBS= libnspr4.so.1 libplc4.so.1 libplds4.so.1 + +.include + +post-patch: + @${REINPLACE_CMD} -e 's,-lpthread,${PTHREAD_LIBS},g ; s,echo aout,echo elf,g' ${WRKSRC}/${CONFIGURE_SCRIPT} +.if ${OSVERSION} < 601104 + @${REINPLACE_CMD} -e 's|pthread_cond_wait|_pthread_cond_wait|g' \ + ${WRKSRC}/../pr/src/md/unix/pthreads_user.c \ + ${WRKSRC}/../pr/src/pthreads/ptsynch.c +.endif + +do-install: + ${MKDIR} ${PREFIX}/include/nspr + ${TAR} -C ${WRKSRC}/dist/include --dereference -cf - . | \ + ${TAR} -C ${PREFIX}/include -xf - + ${TAR} -C ${WRKSRC}/dist/lib --dereference -cf - . | \ + ${TAR} -C ${PREFIX}/lib -xf - + ${INSTALL_SCRIPT} ${WRKSRC}/config/nspr-config ${PREFIX}/bin + ${MKDIR} ${PREFIX}/libdata/pkgconfig + ${INSTALL_DATA} ${WRKSRC}/config/nspr.pc ${PREFIX}/libdata/pkgconfig +.for lib in ${LIBS} + ${LN} -sf ${lib} ${PREFIX}/lib/${lib:R} +.endfor + +prtests: + env PTHREAD_LIBS="${PTHREAD_LIBS}" ${GMAKE} -C ${WRKSRC}/pr/tests + ${LN} -sf libmy.so.1 ${WRKSRC}/pr/tests/dll/libmy.so + cd ${WRKSRC}/pr/tests && ../../../pr/tests/runtests.sh + +libtests: + ${GMAKE} -C ${WRKSRC}/lib/tests + ${WRKSRC}/lib/tests/string + ${WRKSRC}/lib/tests/base64t + # The test below is commented out, because arena requires + # command-line arguments. If you can provide reasonable values + # for it, please contact ${MAINTAINER}. Thank you. + # ${WRKSRC}/lib/tests/arena + # + +test: libtests prtests + +#.if defined(PACKAGE_BUILDING) +#post-build: test +#.else +post-build: + # + # Please, consider running ``make test'' to find any + # possible build problems. + # +#.endif + +.include Added: trunk/devel/nspr/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/devel/nspr/distinfo Wed Jun 17 08:19:15 2009 (r39) @@ -0,0 +1,3 @@ +MD5 (nspr-4.8.tar.gz) = e0916a72bcc6c427551ea262183fdb26 +SHA256 (nspr-4.8.tar.gz) = a2de84aa21a7bbabd93c4f172123d58c6432c2358807bb260ac338b2dc61dbfe +SIZE (nspr-4.8.tar.gz) = 1170419 Added: trunk/devel/nspr/files/patch-..::config::autoconf.mk.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/devel/nspr/files/patch-..::config::autoconf.mk.in Wed Jun 17 08:19:15 2009 (r39) @@ -0,0 +1,11 @@ +--- ../config/autoconf.mk.in.orig Wed Oct 17 02:31:02 2001 ++++ ../config/autoconf.mk.in Thu Aug 8 19:22:44 2002 +@@ -17,7 +17,7 @@ + dist_includedir = @dist_includedir@ + dist_libdir = @dist_libdir@ + +-DIST = $(dist_prefix) ++DIST ?= $(dist_prefix) + + RELEASE_OBJDIR_NAME = @RELEASE_OBJDIR_NAME@ + OBJDIR_NAME = @OBJDIR_NAME@ Added: trunk/devel/nspr/files/patch-..::configure ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/devel/nspr/files/patch-..::configure Wed Jun 17 08:19:15 2009 (r39) @@ -0,0 +1,31 @@ +--- ../configure.orig 2009-05-08 15:12:31.000000000 +0200 ++++ ../configure 2009-06-17 09:18:56.000000000 +0200 +@@ -3508,7 +3508,7 @@ + CFLAGS="$CFLAGS $(DSO_CFLAGS) -ansi -Wall" + MOZ_OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo elf` + if test "$MOZ_OBJFORMAT" = "elf"; then +- DLL_SUFFIX=so ++ DLL_SUFFIX=so.1 + else + DLL_SUFFIX=so.1.0 + fi +@@ -5649,11 +5649,6 @@ + #define _THREAD_SAFE 1 + EOF + +- if test "$ac_cv_have_dash_pthread" = "yes"; then +- _PTHREAD_LDFLAGS="-pthread" +- else +- _PTHREAD_LDFLAGS="-lc_r" +- fi + ;; + *-netbsd*) + if test "$ac_cv_have_dash_pthread" = "yes"; then +@@ -6037,6 +6032,7 @@ + config/nsprincl.mk + config/nsprincl.sh + config/nspr-config ++config/nspr.pc + lib/Makefile + lib/ds/Makefile + lib/libc/Makefile Added: trunk/devel/nspr/files/patch-..::pr::src::pthreads::ptio.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/devel/nspr/files/patch-..::pr::src::pthreads::ptio.c Wed Jun 17 08:19:15 2009 (r39) @@ -0,0 +1,20 @@ +--- ../pr/src/pthreads/ptio.c.orig Mon Feb 2 10:41:43 2004 ++++ ../pr/src/pthreads/ptio.c Mon Feb 2 10:44:49 2004 +@@ -3470,6 +3470,17 @@ + &on, sizeof(on)); + } + #endif ++#if (defined(_PR_INET6_PROBE) || defined(_PR_INET6)) && \ ++ defined(__FreeBSD__) && defined(IPV6_V6ONLY) ++ if (domain == PR_AF_INET6) { ++ int opt = 0; ++ if (setsockopt(osfd, IPPROTO_IPV6, IPV6_V6ONLY, ++ &opt, sizeof(opt))) { ++ close(osfd); ++ return NULL; ++ } ++ } ++#endif + fd = pt_SetMethods(osfd, ftype, PR_FALSE, PR_FALSE); + if (fd == NULL) close(osfd); + } Added: trunk/devel/nspr/files/patch-.._pr_include_md__freebsd.cfg ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/devel/nspr/files/patch-.._pr_include_md__freebsd.cfg Wed Jun 17 08:19:15 2009 (r39) @@ -0,0 +1,54 @@ +--- ../pr/include/md/_freebsd.cfg ++++ ../pr/include/md/_freebsd.cfg +@@ -283,6 +283,51 @@ + #define PR_ALIGN_OF_POINTER 8 + #define PR_ALIGN_OF_WORD 8 + ++#elif defined(__powerpc__) ++ ++#undef IS_LITTLE_ENDIAN ++#define IS_BIG_ENDIAN 1 ++ ++#define PR_BYTES_PER_BYTE 1 ++#define PR_BYTES_PER_SHORT 2 ++#define PR_BYTES_PER_INT 4 ++#define PR_BYTES_PER_INT64 8 ++#define PR_BYTES_PER_LONG 4 ++#define PR_BYTES_PER_FLOAT 4 ++#define PR_BYTES_PER_DOUBLE 8 ++#define PR_BYTES_PER_WORD 4 ++#define PR_BYTES_PER_DWORD 8 ++ ++#define PR_BITS_PER_BYTE 8 ++#define PR_BITS_PER_SHORT 16 ++#define PR_BITS_PER_INT 32 ++#define PR_BITS_PER_INT64 64 ++#define PR_BITS_PER_LONG 32 ++#define PR_BITS_PER_FLOAT 32 ++#define PR_BITS_PER_DOUBLE 64 ++#define PR_BITS_PER_WORD 32 ++ ++#define PR_BITS_PER_BYTE_LOG2 3 ++#define PR_BITS_PER_SHORT_LOG2 4 ++#define PR_BITS_PER_INT_LOG2 5 ++#define PR_BITS_PER_INT64_LOG2 6 ++#define PR_BITS_PER_LONG_LOG2 5 ++#define PR_BITS_PER_FLOAT_LOG2 5 ++#define PR_BITS_PER_DOUBLE_LOG2 6 ++#define PR_BITS_PER_WORD_LOG2 5 ++ ++#define PR_ALIGN_OF_SHORT 2 ++#define PR_ALIGN_OF_INT 4 ++#define PR_ALIGN_OF_LONG 4 ++#define PR_ALIGN_OF_INT64 8 ++#define PR_ALIGN_OF_FLOAT 4 ++#define PR_ALIGN_OF_DOUBLE 8 ++#define PR_ALIGN_OF_POINTER 4 ++#define PR_ALIGN_OF_WORD 4 ++ ++#define PR_BYTES_PER_WORD_LOG2 2 ++#define PR_BYTES_PER_DWORD_LOG2 3 ++ + #else + + #error "Unknown CPU architecture" Added: trunk/devel/nspr/files/patch-.._pr_include_md__freebsd.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/devel/nspr/files/patch-.._pr_include_md__freebsd.h Wed Jun 17 08:19:15 2009 (r39) @@ -0,0 +1,28 @@ +--- ../pr/include/md/_freebsd.h ++++ ../pr/include/md/_freebsd.h +@@ -57,6 +57,8 @@ + #define _PR_SI_ARCHITECTURE "ia64" + #elif defined(__amd64__) + #define _PR_SI_ARCHITECTURE "amd64" ++#elif defined(__powerpc__) ++#define _PR_SI_ARCHITECTURE "powerpc" + #else + #error "Unknown CPU architecture" + #endif +@@ -106,6 +108,16 @@ + #define _PR_IPV6_V6ONLY_PROBE + #endif + ++#if (__FreeBSD_version >= 700016) || (__FreeBSD_version < 700000 && __FreeBSD_version >= 601103) ++#if defined(_PR_PTHREADS) ++#define _PR_HAVE_GETPROTO_R ++#define _PR_HAVE_5_ARG_GETPROTO_R ++#define _PR_HAVE_GETHOST_R ++#define _PR_HAVE_GETHOST_R_INT ++#define _PR_HAVE_THREADSAFE_GETHOST ++#endif ++#endif ++ + #define USE_SETJMP + + #ifndef _PR_PTHREADS Added: trunk/devel/nspr/files/patch-.._pr_src_misc_prsystem.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/devel/nspr/files/patch-.._pr_src_misc_prsystem.c Wed Jun 17 08:19:15 2009 (r39) @@ -0,0 +1,22 @@ +--- ../pr/src/misc/prsystem.c.orig Fri May 6 20:35:58 2005 ++++ ../pr/src/misc/prsystem.c Sun Dec 4 22:09:51 2005 +@@ -352,6 +352,19 @@ PR_IMPLEMENT(PRUint64) PR_GetPhysicalMem + odm_terminate(); + } + ++#elif defined(__FreeBSD__) ++ ++ int mib[2]; ++ unsigned long physmem; ++ size_t len; ++ ++ mib[0] = CTL_HW; ++ mib[1] = HW_PHYSMEM; ++ len = sizeof(physmem); ++ if(sysctl(mib, 2, &physmem, &len, NULL, 0) == 0 ++ && len == sizeof(physmem)) ++ bytes = physmem; ++ + #else + + PR_SetError(PR_NOT_IMPLEMENTED_ERROR, 0); Added: trunk/devel/nspr/files/patch-.._pr_tests_Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/devel/nspr/files/patch-.._pr_tests_Makefile Wed Jun 17 08:19:15 2009 (r39) @@ -0,0 +1,11 @@ +--- ../../nsprpub/pr/tests/Makefile.in.orig Mon Apr 26 00:01:02 2004 ++++ ../../nsprpub/pr/tests/Makefile.in Tue Nov 28 11:08:14 2006 +@@ -418,7 +418,7 @@ + + ifeq ($(OS_ARCH),FreeBSD) + ifeq ($(USE_PTHREADS),1) +-LDOPTS += -pthread ++LDOPTS += ${PTHREAD_LIBS} + endif + LDOPTS += -Xlinker -R $(ABSOLUTE_LIB_DIR) + endif Added: trunk/devel/nspr/files/patch-config-nsprc.pc.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/devel/nspr/files/patch-config-nsprc.pc.in Wed Jun 17 08:19:15 2009 (r39) @@ -0,0 +1,13 @@ +--- ../config/nspr.pc.in.orig Thu Aug 4 21:38:50 2005 ++++ ../config/nspr.pc.in Thu Aug 4 21:38:59 2005 +@@ -0,0 +1,10 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: NSPR ++Description: The Netscape Portable Runtime ++Version: @MOD_MAJOR_VERSION@.@MOD_MINOR_VERSION@.@MOD_PATCH_VERSION@ ++Libs: -L${libdir} -lplds@MOD_MAJOR_VERSION@ -lplc@MOD_MAJOR_VERSION@ -lnspr@MOD_MAJOR_VERSION@ @OS_LIBS@ ++Cflags: -I${includedir} Added: trunk/devel/nspr/files/patch-libtests ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/devel/nspr/files/patch-libtests Wed Jun 17 08:19:15 2009 (r39) @@ -0,0 +1,611 @@ +--- ../lib/tests/string.c Sun Apr 25 11:00:46 2004 ++++ ../lib/tests/string.c Mon Jul 25 20:14:12 2005 +@@ -160,5 +160,5 @@ + if( array[i].rv != rv ) + { +- printf("FAIL %d: (0x%x, %s)->0x%x\n", i, array[i].dest, ++ printf("FAIL %d: (%p, %s)->%p\n", i, array[i].dest, + array[i].str ? array[i].str : "(null)", rv); + return PR_FALSE; +@@ -270,6 +270,6 @@ + if( array[i].rv != rv ) + { +- printf("FAIL %d: (0x%x, %s, %lu)->0x%x\n", i, array[i].dest, +- array[i].str ? array[i].str : "(null)", array[i].len, rv); ++ printf("FAIL %d: (%p, %s, %u)->%p\n", i, array[i].dest, ++ array[i].str ? array[i].str : "(null)", (unsigned)array[i].len, rv); + return PR_FALSE; + } +@@ -396,6 +396,6 @@ + if( array[i].rv != rv ) + { +- printf("FAIL %d: (0x%x, %s, %lu)->0x%x\n", i, array[i].dest, +- array[i].str ? array[i].str : "(null)", array[i].len, rv); ++ printf("FAIL %d: (%p, %s, %u)->%p\n", i, array[i].dest, ++ array[i].str ? array[i].str : "(null)", (unsigned)array[i].len, rv); + return PR_FALSE; + } +@@ -448,5 +448,5 @@ + if( (char *)0 == rv ) + { +- printf("FAIL %d: 0x%x -> 0\n", i, array[i]); ++ printf("FAIL %d: %p -> 0\n", i, array[i]); + return PR_FALSE; + } +@@ -532,6 +532,6 @@ + if( (char *)0 == rv ) + { +- printf("FAIL %d: %s,%lu -> 0\n", i, +- array[i].str ? array[i].str : "(null)", array[i].len); ++ printf("FAIL %d: %s,%u -> 0\n", i, ++ array[i].str ? array[i].str : "(null)", (unsigned)array[i].len); + return PR_FALSE; + } +@@ -717,8 +717,8 @@ + if( (char *)0 != rv ) + { +- printf("FAIL %d: %s+%s/%lu -> %.32s, not zero\n", i, ++ printf("FAIL %d: %s+%s/%u -> %.32s, not zero\n", i, + array[i].first ? array[i].first : "(null)", + array[i].second ? array[i].second : "(null)", +- array[i].length, rv); ++ (unsigned)array[i].length, rv); + return PR_FALSE; + } +@@ -728,8 +728,8 @@ + if( (char *)0 == rv ) + { +- printf("FAIL %d: %s+%s/%lu -> null, not %s\n", i, ++ printf("FAIL %d: %s+%s/%u -> null, not %s\n", i, + array[i].first ? array[i].first : "(null)", + array[i].second ? array[i].second : "(null)", +- array[i].length, array[i].result); ++ (unsigned)array[i].length, array[i].result); + return PR_FALSE; + } +@@ -743,8 +743,8 @@ + if( *a != *b ) + { +- printf("FAIL %d: %s+%s/%lu -> %.32s, not %s\n", i, ++ printf("FAIL %d: %s+%s/%u -> %.32s, not %s\n", i, + array[i].first ? array[i].first : "(null)", + array[i].second ? array[i].second : "(null)", +- array[i].length, rv, array[i].result); ++ (unsigned)array[i].length, rv, array[i].result); + return PR_FALSE; + } +@@ -758,8 +758,8 @@ + if( (char)0 != *b ) + { +- printf("FAIL %d: %s+%s/%lu -> not nulled\n", i, ++ printf("FAIL %d: %s+%s/%u -> not nulled\n", i, + array[i].first ? array[i].first : "(null)", + array[i].second ? array[i].second : "(null)", +- array[i].length); ++ (unsigned)array[i].length); + return PR_FALSE; + } +@@ -769,8 +769,8 @@ + if( (char)0 == *b ) + { +- printf("FAIL %d: %s+%s/%lu -> overrun\n", i, ++ printf("FAIL %d: %s+%s/%u -> overrun\n", i, + array[i].first ? array[i].first : "(null)", + array[i].second ? array[i].second : "(null)", +- array[i].length); ++ (unsigned)array[i].length); + return PR_FALSE; + } +@@ -847,8 +847,8 @@ + if( (char *)0 != rv ) + { +- printf("FAIL %d: %s+%s/%lu -> %.32s, not zero\n", i, ++ printf("FAIL %d: %s+%s/%u -> %.32s, not zero\n", i, + array[i].first ? array[i].first : "(null)", + array[i].second ? array[i].second : "(null)", +- array[i].length, rv); ++ (unsigned)array[i].length, rv); + return PR_FALSE; + } +@@ -858,8 +858,8 @@ + if( (char *)0 == rv ) + { +- printf("FAIL %d: %s+%s/%lu -> null, not %s\n", i, ++ printf("FAIL %d: %s+%s/%u -> null, not %s\n", i, + array[i].first ? array[i].first : "(null)", + array[i].second ? array[i].second : "(null)", +- array[i].length, array[i].result); ++ (unsigned)array[i].length, array[i].result); + return PR_FALSE; + } +@@ -873,8 +873,8 @@ + if( *a != *b ) + { +- printf("FAIL %d: %s+%s/%lu -> %.32s, not %s\n", i, ++ printf("FAIL %d: %s+%s/%u -> %.32s, not %s\n", i, + array[i].first ? array[i].first : "(null)", + array[i].second ? array[i].second : "(null)", +- array[i].length, rv, array[i].result); ++ (unsigned)array[i].length, rv, array[i].result); + return PR_FALSE; + } +@@ -1105,8 +1105,8 @@ + } + +- printf("FAIL %d: %s-%s/%ld -> %d, not %d\n", i, ++ printf("FAIL %d: %s-%s/%d -> %d, not %d\n", i, + array[i].one ? array[i].one : "(null)", + array[i].two ? array[i].two : "(null)", +- array[i].max, rv, array[i].sign); ++ (int)array[i].max, rv, array[i].sign); + return PR_FALSE; + } +@@ -1327,8 +1327,8 @@ + } + +- printf("FAIL %d: %s-%s/%ld -> %d, not %d\n", i, ++ printf("FAIL %d: %s-%s/%d -> %d, not %d\n", i, + array[i].one ? array[i].one : "(null)", + array[i].two ? array[i].two : "(null)", +- array[i].max, rv, array[i].sign); ++ (int)array[i].max, rv, array[i].sign); + return PR_FALSE; + } +@@ -1400,6 +1400,6 @@ + if( (char *)0 == rv ) + { +- printf("FAIL %d: %s,%c -> null, not +%lu\n", i, array[i].str, +- array[i].chr, array[i].off); ++ printf("FAIL %d: %s,%c -> null, not +%u\n", i, array[i].str, ++ array[i].chr, (unsigned)array[i].off); + return PR_FALSE; + } +@@ -1407,6 +1407,6 @@ + if( &array[i].str[ array[i].off ] != rv ) + { +- printf("FAIL %d: %s,%c -> 0x%x, not 0x%x+%lu\n", i, array[i].str, +- array[i].chr, rv, array[i].str, array[i].off); ++ printf("FAIL %d: %s,%c -> %p, not %p+%u\n", i, array[i].str, ++ array[i].chr, rv, array[i].str, (unsigned)array[i].off); + return PR_FALSE; + } +@@ -1480,6 +1480,6 @@ + if( (char *)0 == rv ) + { +- printf("FAIL %d: %s,%c -> null, not +%lu\n", i, array[i].str, +- array[i].chr, array[i].off); ++ printf("FAIL %d: %s,%c -> null, not +%u\n", i, array[i].str, ++ array[i].chr, (unsigned)array[i].off); + return PR_FALSE; + } +@@ -1487,6 +1487,6 @@ + if( &array[i].str[ array[i].off ] != rv ) + { +- printf("FAIL %d: %s,%c -> 0x%x, not 0x%x+%lu\n", i, array[i].str, +- array[i].chr, rv, array[i].str, array[i].off); ++ printf("FAIL %d: %s,%c -> %p, not %p+%u\n", i, array[i].str, ++ array[i].chr, rv, array[i].str, (unsigned)array[i].off); + return PR_FALSE; + } +@@ -1555,6 +1555,6 @@ + if( (char *)0 != rv ) + { +- printf("FAIL %d: %s,%c/%lu -> %.32s, not zero\n", i, array[i].str, +- array[i].chr, array[i].max, rv); ++ printf("FAIL %d: %s,%c/%u -> %.32s, not zero\n", i, array[i].str, ++ array[i].chr, (unsigned)array[i].max, rv); + return PR_FALSE; + } +@@ -1564,6 +1564,6 @@ + if( (char *)0 == rv ) + { +- printf("FAIL %d: %s,%c/%lu -> null, not +%lu\n", i, array[i].str, +- array[i].chr, array[i].max, array[i].off); ++ printf("FAIL %d: %s,%c/%u -> null, not +%u\n", i, array[i].str, ++ array[i].chr, (unsigned)array[i].max, (unsigned)array[i].off); + return PR_FALSE; + } +@@ -1571,6 +1571,6 @@ + if( &array[i].str[ array[i].off ] != rv ) + { +- printf("FAIL %d: %s,%c/%lu -> 0x%x, not 0x%x+%lu\n", i, array[i].str, +- array[i].chr, array[i].max, rv, array[i].str, array[i].off); ++ printf("FAIL %d: %s,%c/%u -> %p, not %p+%u\n", i, array[i].str, ++ array[i].chr, (unsigned)array[i].max, rv, array[i].str, (unsigned)array[i].off); + return PR_FALSE; + } +@@ -1639,6 +1639,6 @@ + if( (char *)0 != rv ) + { +- printf("FAIL %d: %s,%c/%lu -> %.32s, not zero\n", i, array[i].str, +- array[i].chr, array[i].max, rv); ++ printf("FAIL %d: %s,%c/%u -> %.32s, not zero\n", i, array[i].str, ++ array[i].chr, (unsigned)array[i].max, rv); + return PR_FALSE; + } +@@ -1648,13 +1648,13 @@ + if( (char *)0 == rv ) + { +- printf("FAIL %d: %s,%c/%lu -> null, not +%lu\n", i, array[i].str, +- array[i].chr, array[i].max, array[i].off); ++ printf("FAIL %d: %s,%c/%u -> null, not +%u\n", i, array[i].str, ++ array[i].chr, (unsigned)array[i].max, (unsigned)array[i].off); + return PR_FALSE; + } + +- if( &array[i].str[ array[i].off ] != rv ) ++ if( &array[i].str[ array[i].off ] != rv) + { +- printf("FAIL %d: %s,%c/%lu -> 0x%x, not 0x%x+%lu\n", i, array[i].str, +- array[i].chr, array[i].max, rv, array[i].str, array[i].off); ++ printf("FAIL %d: %s,%c/%u -> %p, not %p+%u\n", i, array[i].str, ++ array[i].chr, (unsigned)array[i].max, rv, array[i].str, (unsigned)array[i].off); + return PR_FALSE; + } +@@ -1735,8 +1735,8 @@ + if( (char *)0 == rv ) + { +- printf("FAIL %d: %s,%s -> null, not +%lu\n", i, ++ printf("FAIL %d: %s,%s -> null, not +%u\n", i, + array[i].str ? array[i].str : "(null)", + array[i].chrs ? array[i].chrs : "(null)", +- array[i].off); ++ (unsigned)array[i].off); + return PR_FALSE; + } +@@ -1744,8 +1744,8 @@ + if( &array[i].str[ array[i].off ] != rv ) + { +- printf("FAIL %d: %s,%s -> 0x%x, not 0x%x+%lu\n", i, ++ printf("FAIL %d: %s,%s -> %p, not %p+%u\n", i, + array[i].str ? array[i].str : "(null)", + array[i].chrs ? array[i].chrs : "(null)", +- rv, array[i].str, array[i].off); ++ rv, array[i].str, (unsigned)array[i].off); + return PR_FALSE; + } +@@ -1826,8 +1826,8 @@ + if( (char *)0 == rv ) + { +- printf("FAIL %d: %s,%s -> null, not +%lu\n", i, ++ printf("FAIL %d: %s,%s -> null, not +%u\n", i, + array[i].str ? array[i].str : "(null)", + array[i].chrs ? array[i].chrs : "(null)", +- array[i].off); ++ (unsigned)array[i].off); + return PR_FALSE; + } +@@ -1835,8 +1835,8 @@ + if( &array[i].str[ array[i].off ] != rv ) + { +- printf("FAIL %d: %s,%s -> 0x%x, not 0x%x+%lu\n", i, ++ printf("FAIL %d: %s,%s -> %p, not %p+%u\n", i, + array[i].str ? array[i].str : "(null)", + array[i].chrs ? array[i].chrs : "(null)", +- rv, array[i].str, array[i].off); ++ rv, array[i].str, (unsigned)array[i].off); + return PR_FALSE; + } +@@ -1912,8 +1912,8 @@ + if( (char *)0 != rv ) + { +- printf("FAIL %d: %s,%s/%lu -> %.32s, not null\n", i, ++ printf("FAIL %d: %s,%s/%u -> %.32s, not null\n", i, + array[i].str ? array[i].str : "(null)", + array[i].chrs ? array[i].chrs : "(null)", +- array[i].max, rv); ++ (unsigned)array[i].max, rv); + return PR_FALSE; + } +@@ -1923,8 +1923,8 @@ + if( (char *)0 == rv ) + { +- printf("FAIL %d: %s,%s/%lu -> null, not +%lu\n", i, ++ printf("FAIL %d: %s,%s/%u -> null, not +%u\n", i, + array[i].str ? array[i].str : "(null)", + array[i].chrs ? array[i].chrs : "(null)", +- array[i].max, array[i].off); ++ (unsigned)array[i].max, array[i].off); + return PR_FALSE; + } +@@ -1932,8 +1932,8 @@ + if( &array[i].str[ array[i].off ] != rv ) + { +- printf("FAIL %d: %s,%s/%lu -> 0x%x, not 0x%x+%lu\n", i, ++ printf("FAIL %d: %s,%s/%u -> %p, not %p+%u\n", i, + array[i].str ? array[i].str : "(null)", + array[i].chrs ? array[i].chrs : "(null)", +- array[i].max, rv, array[i].str, array[i].off); ++ (unsigned)array[i].max, rv, array[i].str, array[i].off); + return PR_FALSE; + } +@@ -2018,8 +2018,8 @@ + if( (char *)0 != rv ) + { +- printf("FAIL %d: %s,%s/%lu -> %.32s, not null\n", i, ++ printf("FAIL %d: %s,%s/%u -> %.32s, not null\n", i, + array[i].str ? array[i].str : "(null)", + array[i].chrs ? array[i].chrs : "(null)", +- array[i].max, rv); ++ (unsigned)array[i].max, rv); + return PR_FALSE; + } +@@ -2029,8 +2029,8 @@ + if( (char *)0 == rv ) + { +- printf("FAIL %d: %s,%s/%lu -> null, not +%lu\n", i, ++ printf("FAIL %d: %s,%s/%u -> null, not +%u\n", i, + array[i].str ? array[i].str : "(null)", + array[i].chrs ? array[i].chrs : "(null)", +- array[i].max, array[i].off); ++ (unsigned)array[i].max, array[i].off); + return PR_FALSE; + } +@@ -2038,8 +2038,8 @@ + if( &array[i].str[ array[i].off ] != rv ) + { +- printf("FAIL %d: %s,%s/%lu -> 0x%x, not 0x%x+%lu\n", i, ++ printf("FAIL %d: %s,%s/%u -> %p, not %p+%u\n", i, + array[i].str ? array[i].str : "(null)", + array[i].chrs ? array[i].chrs : "(null)", +- array[i].max, rv, array[i].str, array[i].off); ++ (unsigned)array[i].max, rv, array[i].str, array[i].off); + return PR_FALSE; + } +@@ -2137,8 +2137,8 @@ + if( (char *)0 == rv ) + { +- printf("FAIL %d: %s,%s -> null, not 0x%x+%lu\n", i, ++ printf("FAIL %d: %s,%s -> null, not %p+%u\n", i, + array[i].str ? array[i].str : "(null)", + array[i].sub ? array[i].sub : "(null)", +- array[i].str, array[i].off); ++ array[i].str, (unsigned)array[i].off); + return PR_FALSE; + } +@@ -2146,8 +2146,8 @@ + if( &array[i].str[ array[i].off ] != rv ) + { +- printf("FAIL %d: %s,%s -> 0x%x, not 0x%x+%lu\n", i, ++ printf("FAIL %d: %s,%s -> %p, not %p+%u\n", i, + array[i].str ? array[i].str : "(null)", + array[i].sub ? array[i].sub : "(null)", +- rv, array[i].str, array[i].off); ++ rv, array[i].str, (unsigned)array[i].off); + return PR_FALSE; + } +@@ -2245,8 +2245,8 @@ + if( (char *)0 == rv ) + { +- printf("FAIL %d: %s,%s -> null, not 0x%x+%lu\n", i, ++ printf("FAIL %d: %s,%s -> null, not %p+%u\n", i, + array[i].str ? array[i].str : "(null)", + array[i].sub ? array[i].sub : "(null)", +- array[i].str, array[i].off); ++ array[i].str, (unsigned)array[i].off); + return PR_FALSE; + } +@@ -2254,8 +2254,8 @@ + if( &array[i].str[ array[i].off ] != rv ) + { +- printf("FAIL %d: %s,%s -> 0x%x, not 0x%x+%lu\n", i, ++ printf("FAIL %d: %s,%s -> %p, not %p+%u\n", i, + array[i].str ? array[i].str : "(null)", + array[i].sub ? array[i].sub : "(null)", +- rv, array[i].str, array[i].off); ++ rv, array[i].str, (unsigned)array[i].off); + return PR_FALSE; + } +@@ -2364,8 +2364,8 @@ + if( (char *)0 != rv ) + { +- printf("FAIL %d: %s,%s/%lu -> %.32s, not null\n", i, ++ printf("FAIL %d: %s,%s/%u -> %.32s, not null\n", i, + array[i].str ? array[i].str : "(null)", + array[i].sub ? array[i].sub : "(null)", +- array[i].max, rv); ++ (unsigned)array[i].max, rv); + return PR_FALSE; + } +@@ -2375,8 +2375,8 @@ + if( (char *)0 == rv ) + { +- printf("FAIL %d: %s,%s/%lu -> null, not 0x%x+%lu\n", i, ++ printf("FAIL %d: %s,%s/%u -> null, not %p+%u\n", i, + array[i].str ? array[i].str : "(null)", + array[i].sub ? array[i].sub : "(null)", +- array[i].max, array[i].str, array[i].off); ++ (unsigned)array[i].max, array[i].str, (unsigned)array[i].off); + return PR_FALSE; + } +@@ -2384,8 +2384,8 @@ + if( &array[i].str[ array[i].off ] != rv ) + { +- printf("FAIL %d: %s,%s/%lu -> 0x%x, not 0x%x+%lu\n", i, ++ printf("FAIL %d: %s,%s/%u -> %p, not %p+%u\n", i, + array[i].str ? array[i].str : "(null)", + array[i].sub ? array[i].sub : "(null)", +- array[i].max, rv, array[i].str, array[i].off); ++ (unsigned)array[i].max, rv, array[i].str, (unsigned)array[i].off); + return PR_FALSE; + } +@@ -2496,8 +2496,8 @@ + if( (char *)0 != rv ) + { +- printf("FAIL %d: %s,%s/%lu -> %.32s, not null\n", i, ++ printf("FAIL %d: %s,%s/%u -> %.32s, not null\n", i, + array[i].str ? array[i].str : "(null)", + array[i].sub ? array[i].sub : "(null)", +- array[i].max, rv); ++ (unsigned)array[i].max, rv); + return PR_FALSE; + } +@@ -2507,8 +2507,8 @@ + if( (char *)0 == rv ) + { +- printf("FAIL %d: %s,%s/%lu -> null, not 0x%x+%lu\n", i, ++ printf("FAIL %d: %s,%s/%u -> null, not %p+%u\n", i, + array[i].str ? array[i].str : "(null)", + array[i].sub ? array[i].sub : "(null)", +- array[i].max, array[i].str, array[i].off); ++ (unsigned)array[i].max, array[i].str, (unsigned)array[i].off); + return PR_FALSE; + } +@@ -2516,8 +2516,8 @@ + if( &array[i].str[ array[i].off ] != rv ) + { +- printf("FAIL %d: %s,%s/%lu -> 0x%x, not 0x%x+%lu\n", i, ++ printf("FAIL %d: %s,%s/%u -> %p, not %p+%u\n", i, + array[i].str ? array[i].str : "(null)", + array[i].sub ? array[i].sub : "(null)", +- array[i].max, rv, array[i].str, array[i].off); ++ (unsigned)array[i].max, rv, array[i].str, (unsigned)array[i].off); + return PR_FALSE; + } +@@ -2615,8 +2615,8 @@ + if( (char *)0 == rv ) + { +- printf("FAIL %d: %s,%s -> null, not 0x%x+%lu\n", i, ++ printf("FAIL %d: %s,%s -> null, not %p+%u\n", i, + array[i].str ? array[i].str : "(null)", + array[i].sub ? array[i].sub : "(null)", +- array[i].str, array[i].off); ++ array[i].str, (unsigned)array[i].off); + return PR_FALSE; + } +@@ -2624,8 +2624,8 @@ + if( &array[i].str[ array[i].off ] != rv ) + { +- printf("FAIL %d: %s,%s -> 0x%x, not 0x%x+%lu\n", i, ++ printf("FAIL %d: %s,%s -> %p, not %p+%u\n", i, + array[i].str ? array[i].str : "(null)", + array[i].sub ? array[i].sub : "(null)", +- rv, array[i].str, array[i].off); ++ rv, array[i].str, (unsigned)array[i].off); + return PR_FALSE; + } +@@ -2723,8 +2723,8 @@ + if( (char *)0 == rv ) + { +- printf("FAIL %d: %s,%s -> null, not 0x%x+%lu\n", i, ++ printf("FAIL %d: %s,%s -> null, not %p+%u\n", i, + array[i].str ? array[i].str : "(null)", + array[i].sub ? array[i].sub : "(null)", +- array[i].str, array[i].off); ++ array[i].str, (unsigned)array[i].off); + return PR_FALSE; + } +@@ -2732,8 +2732,8 @@ + if( &array[i].str[ array[i].off ] != rv ) + { +- printf("FAIL %d: %s,%s -> 0x%x, not 0x%x+%lu\n", i, ++ printf("FAIL %d: %s,%s -> %p, not %p+%u\n", i, + array[i].str ? array[i].str : "(null)", + array[i].sub ? array[i].sub : "(null)", +- rv, array[i].str, array[i].off); ++ rv, array[i].str, (unsigned)array[i].off); + return PR_FALSE; + } +@@ -2842,8 +2842,8 @@ + if( (char *)0 != rv ) + { +- printf("FAIL %d: %s,%s/%lu -> %.32s, not null\n", i, ++ printf("FAIL %d: %s,%s/%u -> %.32s, not null\n", i, + array[i].str ? array[i].str : "(null)", + array[i].sub ? array[i].sub : "(null)", +- array[i].max, rv); ++ (unsigned)array[i].max, rv); + return PR_FALSE; + } +@@ -2853,8 +2853,8 @@ + if( (char *)0 == rv ) + { +- printf("FAIL %d: %s,%s/%lu -> null, not 0x%x+%lu\n", i, ++ printf("FAIL %d: %s,%s/%u -> null, not %p+%u\n", i, + array[i].str ? array[i].str : "(null)", + array[i].sub ? array[i].sub : "(null)", +- array[i].max, array[i].str, array[i].off); ++ (unsigned)array[i].max, array[i].str, (unsigned)array[i].off); + return PR_FALSE; + } +@@ -2862,8 +2862,8 @@ + if( &array[i].str[ array[i].off ] != rv ) + { +- printf("FAIL %d: %s,%s/%lu -> 0x%x, not 0x%x+%lu\n", i, ++ printf("FAIL %d: %s,%s/%u -> %p, not %p+%u\n", i, + array[i].str ? array[i].str : "(null)", + array[i].sub ? array[i].sub : "(null)", +- array[i].max, rv, array[i].str, array[i].off); ++ (unsigned)array[i].max, rv, array[i].str, (unsigned)array[i].off); + return PR_FALSE; + } +@@ -2974,8 +2974,8 @@ + if( (char *)0 != rv ) + { +- printf("FAIL %d: %s,%s/%lu -> %.32s, not null\n", i, ++ printf("FAIL %d: %s,%s/%u -> %.32s, not null\n", i, + array[i].str ? array[i].str : "(null)", + array[i].sub ? array[i].sub : "(null)", +- array[i].max, rv); ++ (unsigned)array[i].max, rv); + return PR_FALSE; + } +@@ -2985,8 +2985,8 @@ + if( (char *)0 == rv ) + { +- printf("FAIL %d: %s,%s/%lu -> null, not 0x%x+%lu\n", i, ++ printf("FAIL %d: %s,%s/%u -> null, not %p+%u\n", i, + array[i].str ? array[i].str : "(null)", + array[i].sub ? array[i].sub : "(null)", +- array[i].max, array[i].str, array[i].off); ++ (unsigned)array[i].max, array[i].str, (unsigned)array[i].off); + return PR_FALSE; + } +@@ -2994,8 +2994,8 @@ + if( &array[i].str[ array[i].off ] != rv ) + { +- printf("FAIL %d: %s,%s/%lu -> 0x%x, not 0x%x+%lu\n", i, ++ printf("FAIL %d: %s,%s/%u -> %p, not %p+%u\n", i, + array[i].str ? array[i].str : "(null)", + array[i].sub ? array[i].sub : "(null)", +- array[i].max, rv, array[i].str, array[i].off); ++ (unsigned)array[i].max, rv, array[i].str, (unsigned)array[i].off); + return PR_FALSE; + } +--- ../lib/tests/arena.c Sun Apr 25 11:00:46 2004 ++++ ../lib/tests/arena.c Mon Jul 25 19:52:15 2005 +@@ -69,4 +69,5 @@ + } + ++#if 0 + /* + ** Test Arena allocation. +@@ -129,4 +130,5 @@ + return; + } /* end ArenaGrow() */ ++#endif + + +--- ../lib/tests/base64t.c Sun Apr 25 11:00:46 2004 ++++ ../lib/tests/base64t.c Mon Jul 25 20:16:54 2005 +@@ -2020,5 +2020,4 @@ + { + PRUint32 plen = PL_strlen(array[i].plaintext); +- PRUint32 clen = ((plen + 2)/3)*4; + + char *rv = PL_Base64Encode(array[i].plaintext, plen, (char *)0); +@@ -2780,7 +2779,4 @@ + for( i = 0; i < sizeof(array)/sizeof(array[0]); i++ ) + { +- PRUint32 plen = PL_strlen(array[i].plaintext); +- PRUint32 clen = ((plen + 2)/3)*4; +- + char *rv = PL_Base64Encode(array[i].plaintext, 0, (char *)0); + +@@ -2916,6 +2912,4 @@ + for( i = 0; i < sizeof(array)/sizeof(array[0]); i++ ) + { +- PRUint32 clen = PL_strlen(array[i].cyphertext); +- + char *rv = PL_Base64Decode(array[i].cyphertext, 0, (char *)0); + Added: trunk/devel/nspr/files/patch-pthread_t ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/devel/nspr/files/patch-pthread_t Wed Jun 17 08:19:15 2009 (r39) @@ -0,0 +1,35 @@ +pthread_t can well be a 64-bit value -- on FreeBSD/amd64, for example. +Better to just keep calling it pthread_t isntead of casting to anything. + + -mi + +--- ../pr/include/private/pprthred.h Sun Apr 25 11:00:56 2004 ++++ ../pr/include/private/pprthred.h Tue Jul 12 00:52:42 2005 +@@ -44,4 +44,5 @@ + */ + #include "nspr.h" ++#include + + #if defined(XP_OS2) +@@ -92,5 +92,5 @@ + ** when it is created or attached. + */ +-NSPR_API(PRUint32) PR_GetThreadID(PRThread *thread); ++NSPR_API(pthread_t) PR_GetThreadID(PRThread *thread); + + /* +--- ../pr/src/pthreads/ptthread.c Wed May 25 22:27:51 2005 ++++ ../pr/src/pthreads/ptthread.c Tue Jul 12 00:49:50 2005 +@@ -979,10 +979,10 @@ + } + +-PR_IMPLEMENT(PRUint32) PR_GetThreadID(PRThread *thred) ++PR_IMPLEMENT(pthread_t) PR_GetThreadID(PRThread *thred) + { + #if defined(_PR_DCETHREADS) + return (PRUint32)&thred->id; /* this is really a sham! */ + #else +- return (PRUint32)thred->id; /* and I don't know what they will do with it */ ++ return thred->id; /* and I don't know what they will do with it */ + #endif + } Added: trunk/devel/nspr/files/patch-tests ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/devel/nspr/files/patch-tests Wed Jun 17 08:19:15 2009 (r39) @@ -0,0 +1,1845 @@ +--- ../pr/tests/cleanup.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/cleanup.c Tue Jul 12 01:19:53 2005 +@@ -48,5 +48,5 @@ + static void PR_CALLBACK Thread(void *sleep) + { +- PR_Sleep(PR_SecondsToInterval((PRUint32)sleep)); ++ PR_Sleep(PR_SecondsToInterval((intptr_t)sleep)); + printf("Thread exiting\n"); + } +@@ -72,5 +72,6 @@ + PRFileDesc *err = PR_GetSpecialFD(PR_StandardError); + PLOptState *opt = PL_CreateOptState(argc, argv, "Ghs:S:t:cC:"); +- PRIntn concurrency = 1, child_sleep = 10, main_sleep = 5, threads = 1; ++ PRIntn concurrency = 1, main_sleep = 5, threads = 1; ++ intptr_t child_sleep = 10; + + PR_STDIO_INIT(); +@@ -113,5 +114,5 @@ + PR_fprintf(err, "\tConcurrency: %d\n", concurrency); + PR_fprintf(err, "\tNumber of threads: %d\n", threads); +- PR_fprintf(err, "\tThread sleep: %d\n", child_sleep); ++ PR_fprintf(err, "\tThread sleep: %ld\n", (long)child_sleep); + PR_fprintf(err, "\tMain sleep: %d\n", main_sleep); + PR_fprintf(err, "\tCleanup will %sbe called\n\n", (cleanup) ? "" : "NOT "); +--- ../pr/tests/cvar.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/cvar.c Tue Jul 12 01:22:52 2005 +@@ -174,5 +174,5 @@ + { + CircBuf *cbp = (CircBuf *)arg; +- PRInt32 i, n; ++ intptr_t i, n; + void *data; + +@@ -180,6 +180,6 @@ + for (i = 0; i < n; i++) { + data = GetCBData(cbp); +- if ((int)data != i) +- if (debug_mode) printf("data mismatch at for i = %d usec\n", i); ++ if ((intptr_t)data != i) ++ if (debug_mode) printf("data mismatch at for i = %ld usec\n", (long)i); + } + +@@ -193,5 +193,5 @@ + { + CircBuf *cbp = (CircBuf *)arg; +- PRInt32 i, n; ++ intptr_t i, n; + + n = count / 2; +--- ../pr/tests/foreign.c Mon Mar 7 20:22:57 2005 ++++ ../pr/tests/foreign.c Tue Jul 12 01:25:31 2005 +@@ -269,5 +269,5 @@ + PRDir *dir; + PRFileDesc *pair[2]; +- PRIntn test = (PRIntn)arg; ++ intptr_t test = (intptr_t)arg; + + for (test = 0; test < 12; ++test) { +@@ -364,5 +364,5 @@ + { + PRStatus rv; +- PRInt32 thread_cnt = DEFAULT_THREAD_COUNT; ++ intptr_t thread_cnt = DEFAULT_THREAD_COUNT; + PLOptStatus os; + PLOptState *opt = PL_CreateOptState(argc, argv, "dt:"); +--- ../pr/tests/forktest.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/forktest.c Tue Jul 12 01:28:15 2005 +@@ -80,5 +80,5 @@ + PRNetAddr addr; + PRFileDesc *sock = NULL; +- PRInt32 tmp = (PRInt32)arg; ++ intptr_t tmp = (intptr_t)arg; + + /* +@@ -176,5 +176,5 @@ + } + clientThread = PR_CreateThread( PR_USER_THREAD, ClientThreadFunc, +- (void *) PR_ntohs(addr.inet.port), PR_PRIORITY_NORMAL, PR_LOCAL_THREAD, ++ (void *)(intptr_t)PR_ntohs(addr.inet.port), PR_PRIORITY_NORMAL, PR_LOCAL_THREAD, + PR_JOINABLE_THREAD, 0); + if (clientThread == NULL) { +@@ -185,2 +185,5 @@ + } ++ printf("Wait one second before accept\n"); ++ fflush(stdout); ++ PR_Sleep(PR_SecondsToInterval(1)); + printf("Accepting connection at port %hu\n", PR_ntohs(addr.inet.port)); +--- ../pr/tests/mbcs.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/mbcs.c Tue Jul 12 01:34:26 2005 +@@ -93,5 +93,4 @@ + PRFileInfo info; + PRStatus rc; +- PRInt32 err; + PRFileDesc *fd; + char nextDir[256]; +@@ -114,14 +114,14 @@ + } + if ( PR_FILE_FILE == info.type ) { +- printf("File: %s \tsize: %ld\n", dirEntry->name, info.size ); ++ printf("File: %s \tsize: %ld\n", dirEntry->name, (long)info.size ); + fd = PR_Open( file, PR_RDONLY, 0 ); + if ( NULL == fd ) { + printf("PR_Open() failed. Error: %ld, OSError: %ld\n", +- PR_GetError(), PR_GetOSError()); ++ (long)PR_GetError(), (long)PR_GetOSError()); + } + rc = PR_Close( fd ); + if ( PR_FAILURE == rc ) { + printf("PR_Close() failed. Error: %ld, OSError: %ld\n", +- PR_GetError(), PR_GetOSError()); ++ (long)PR_GetError(), (long)PR_GetOSError()); + } + } else if ( PR_FILE_DIRECTORY == info.type ) { +--- ../pr/tests/nonblock.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/nonblock.c Tue Jul 12 01:37:52 2005 +@@ -84,5 +84,5 @@ + clientThreadFunc(void *arg) + { +- PRUintn port = (PRUintn)arg; ++ intptr_t port = (intptr_t)arg; + PRFileDesc *sock; + PRNetAddr addr; +@@ -196,5 +196,5 @@ + + clientThread = PR_CreateThread(PR_USER_THREAD, +- clientThreadFunc, (void *) listenPort, ++ clientThreadFunc, (void *) (intptr_t)listenPort, + PR_PRIORITY_NORMAL, PR_LOCAL_THREAD, + PR_UNJOINABLE_THREAD, 0); +@@ -240,5 +240,5 @@ + PL_PrintError("First Receive:\n"); + fprintf(stderr, "First PR_Recv: retVal: %ld, Error: %ld\n", +- retVal, PR_GetError()); ++ (long)retVal, (long)PR_GetError()); + exit(1); + } +@@ -250,5 +250,5 @@ + PL_PrintError("Second Receive:\n"); + fprintf(stderr, "Second PR_Recv: retVal: %ld, Error: %ld\n", +- retVal, PR_GetError()); ++ (long)retVal, (long)PR_GetError()); + exit(1); + } +--- ../pr/tests/op_noacc.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/op_noacc.c Tue Jul 12 01:40:22 2005 +@@ -82,5 +82,5 @@ + PR_STDIO_INIT(); + err01 = PR_Open("err01.tmp", PR_CREATE_FILE | PR_RDWR, 0); +- if (err01 == NULL) ++ if (err01 == NULL) { + if (PR_GetError() == PR_NO_ACCESS_RIGHTS_ERROR) { + printf ("error code is %d\n",PR_GetError()); +@@ -92,3 +92,7 @@ + return 1; + } +-} ++ } else { ++ perror("err01.tmp"); ++ return 2; ++ } ++} +--- ../pr/tests/peek.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/peek.c Tue Jul 12 01:41:44 2005 +@@ -168,5 +168,5 @@ + PRFileDesc *sock; + PRSocketOptionData opt; +- PRUint16 port = (PRUint16) arg; ++ PRUint16 port = (intptr_t) arg; + PRNetAddr addr; + char buf[BUFFER_SIZE]; +@@ -332,5 +332,5 @@ + } + client = PR_CreateThread( +- PR_USER_THREAD, ClientNB, (void *) port, ++ PR_USER_THREAD, ClientNB, (void *)(intptr_t) port, + PR_PRIORITY_NORMAL, scope, PR_JOINABLE_THREAD, 0); + if (NULL == client) { +--- ../pr/tests/pipepong.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/pipepong.c Tue Jul 12 01:43:52 2005 +@@ -69,5 +69,5 @@ + fprintf(stderr, "pong process: received \"%s\"\n", buf); + if (nBytes != 5) { +- fprintf(stderr, "pong process: expected 5 bytes but got %d bytes\n", ++ fprintf(stderr, "pong process: expected 5 bytes but got %zd bytes\n", + nBytes); + exit(1); +--- ../pr/tests/poll_nm.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/poll_nm.c Tue Jul 12 01:45:57 2005 +@@ -97,5 +97,5 @@ + clientThreadFunc(void *arg) + { +- PRUintn port = (PRUintn) arg; ++ PRUintn port = (intptr_t) arg; + PRFileDesc *sock; + PRNetAddr addr; +@@ -251,5 +251,5 @@ + + clientThread = PR_CreateThread(PR_USER_THREAD, +- clientThreadFunc, (void *) listenPort1, ++ clientThreadFunc, (void *)(intptr_t)listenPort1, + PR_PRIORITY_NORMAL, PR_LOCAL_THREAD, + PR_UNJOINABLE_THREAD, 0); +@@ -261,5 +261,5 @@ + + clientThread = PR_CreateThread(PR_USER_THREAD, +- clientThreadFunc, (void *) listenPort2, ++ clientThreadFunc, (void *)(intptr_t)listenPort2, + PR_PRIORITY_NORMAL, PR_LOCAL_THREAD, + PR_UNJOINABLE_THREAD, 0); +--- ../lib/tests/Makefile.in Sun Nov 7 21:52:55 2004 ++++ ../lib/tests/Makefile.in Tue Jul 12 01:49:15 2005 +@@ -247,5 +247,5 @@ + $(LINK) $(EXEFLAGS) $(LDOPTS) $< $(LIBPLC) $(LIBPLDS) $(LIBPR) $(OS_LIBS) $(EXTRA_LIBS) + else +- $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBPLDS) $(LIBPR) $(EXTRA_LIBS) -o $@ ++ $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBPLDS) $(LIBPR) $(OS_LIBS) $(EXTRA_LIBS) -o $@ + endif + endif +--- ../pr/tests/getai.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/getai.c Tue Jul 12 02:20:40 2005 +@@ -46,6 +46,11 @@ + void *iter; + PRNetAddr addr; ++ const char *host; + +- ai = PR_GetAddrInfoByName(argv[1], PR_AF_UNSPEC, PR_AI_ADDRCONFIG); ++ if (argc > 1) ++ host = argv[1]; ++ else ++ host = "www.FreeBSD.org"; ++ ai = PR_GetAddrInfoByName(host, PR_AF_UNSPEC, PR_AI_ADDRCONFIG); + if (ai == NULL) { + fprintf(stderr, "PR_GetAddrInfoByName failed: (%d, %d)\n", +--- ../pr/tests/Makefile.in Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/Makefile.in Tue Jul 12 02:25:18 2005 +@@ -556,16 +557,17 @@ + + runtests:: $(PROGS) ALWAYS +- @$(ECHO) "\nNSPR Test Results - $(OBJDIR)\n" +- @$(ECHO) "BEGIN\t\t\t`date`" +- @$(ECHO) "NSPR_TEST_LOGFILE\t$(LOGFILE)\n" +- @$(ECHO) "Test\t\t\tResult\n" ++ @$(ECHO) "NSPR Test Results - $(OBJDIR)" ++ @$(ECHO) "BEGIN `date`" ++ @$(ECHO) "Test Result" + @cd $(OBJDIR); for i in $(PROGRAMS); do \ +- $(ECHO) "$$i\c"; \ +- ./$$i >> $(LOGFILE) 2>&1 ; \ ++ printf "$$i"; \ ++ ./$$i > $$i.output 2>&1; \ + if [ 0 = $$? ] ; then \ +- $(ECHO) "\t\t\tPassed"; \ +- else \ +- $(ECHO) "\t\t\tFAILED"; \ +- fi; \ ++ $(ECHO) " Passed"; \ ++ rm $$i.output; \ ++ else \ ++ $(ECHO) " FAILED"; \ ++ cat $$i.output; \ ++ fi; \ + done +- @$(ECHO) "\nEND\t\t`date`\n" ++ @$(ECHO) "END `date`" +--- ../pr/tests/instrumt.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/instrumt.c Mon Jul 25 20:45:54 2005 +@@ -83,5 +83,5 @@ + + #define SMALL_TRACE_BUFSIZE ( 60 * 1024 ) +- ++#define DEBUG + typedef enum + { +@@ -114,5 +114,4 @@ + PR_DEFINE_COUNTER( rh ); + const char *qn, *rn, *dn; +- const char **qname = &qn, **rname = &rn, **desc = &dn; + PRUint32 tCtr; + +@@ -126,5 +125,5 @@ + { + PR_GET_COUNTER_NAME_FROM_HANDLE( rh, qname, rname, desc ); +- tCtr = PR_GET_COUNTER(tCtr, rh); ++ PR_GET_COUNTER(tCtr, rh); + PR_LOG( lm, msgLevel, + ( "QName: %s RName: %s Desc: %s Value: %ld\n", +@@ -142,5 +141,4 @@ + PR_DEFINE_TRACE( rh ); + const char *qn, *rn, *dn; +- const char **qname = &qn, **rname = &rn, **desc = &dn; + + PR_INIT_TRACE_HANDLE( qh, NULL ); +@@ -221,6 +219,4 @@ + PRThread *t1, *t2, *t3, *t4; + PRIntn i = 0; +- PR_DEFINE_COUNTER( tc ); +- PR_DEFINE_COUNTER( zCounter ); + + PR_LOG( lm, msgLevel, +@@ -359,7 +355,5 @@ + static void TraceTest( void ) + { +- PRInt32 i; + PRInt32 size; +- PR_DEFINE_TRACE( th ); + PRThread *t1, *t2; + +--- ../pr/tests/layer.c Fri Apr 29 18:46:05 2005 ++++ ../pr/tests/layer.c Mon Jul 25 20:53:03 2005 +@@ -78,5 +78,8 @@ + { + PRFileDesc *layer = PR_CreateIOLayerStub(identity, &myMethods); +- PRStatus rv = PR_PushIOLayer(stack, PR_GetLayersIdentity(stack), layer); ++#if defined(DEBUG) || defined(FORCE_PR_ASSERT) ++ PRStatus rv = /* we only need rv for PR_ASSERT() */ ++#endif ++ PR_PushIOLayer(stack, PR_GetLayersIdentity(stack), layer); + if (verbosity > quiet) + PR_fprintf(logFile, "Pushed layer(0x%x) onto stack(0x%x)\n", layer, stack); +--- ../pr/tests/lazyinit.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/lazyinit.c Mon Jul 25 20:54:18 2005 +@@ -76,5 +76,4 @@ + PRDir *dir = NULL; + PRLock *ml = NULL; +- PRCondVar *cv = NULL; + PRThread *thread = NULL; + PRIntervalTime interval = 0; +--- ../pr/tests/lltest.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/lltest.c Mon Jul 25 20:57:30 2005 +@@ -578,4 +578,5 @@ + } + ++#if 0 + static void ShiftCompileOnly() + { +@@ -594,4 +595,5 @@ + + } /* ShiftCompileOnly */ ++#endif + + +@@ -668,5 +670,4 @@ + PRInt64 largeValTimesTwo = LL_INIT( 0x00000003, 0xfffffffe ); + PRInt64 largeMultCand = LL_INIT( 0x00000000, 0x7fffffff ); +- PRInt64 largeMinusMultCand = LL_INIT( 0xffffffff, 0x10000001 ); + PRInt64 largeMultCandx64K = LL_INIT( 0x00007fff, 0xffff0000 ); + PRInt64 largeNumSHL5 = LL_INIT( 0x0000001f, 0xffffffe0 ); +--- ../pr/tests/nbconn.c Fri Apr 29 18:46:05 2005 ++++ ../pr/tests/nbconn.c Mon Jul 25 21:00:51 2005 +@@ -93,6 +93,5 @@ + PRSocketOptionData optData; + const char *hostname = NULL; +- PRIntn default_case, n, bytes_read, bytes_sent; +- PRInt32 failed_already = 0; ++ PRIntn default_case, n; + #ifdef XP_MAC + int index; +@@ -226,5 +225,5 @@ + } + printf( "PR_GetConnectStatus: connect failed: (%ld, %ld)\n", +- PR_GetError(), PR_GetOSError()); ++ (long)PR_GetError(), (long)PR_GetOSError()); + } + PR_Close(sock); +@@ -300,5 +299,5 @@ + Server_Param sp; + char send_buf[DATA_BUF_SIZE], recv_buf[DATA_BUF_SIZE]; +- PRIntn default_case, n, bytes_read, bytes_sent; ++ PRIntn n, bytes_read, bytes_sent; + PRIntn failed_already = 0; + +@@ -376,5 +375,5 @@ + goto def_exit; + } +- DPRINTF(("Created TCP_Server thread [0x%x]\n",thr)); ++ DPRINTF(("Created TCP_Server thread [%p]\n", thr)); + pd.fd = conn_fd; + pd.in_flags = PR_POLL_WRITE | PR_POLL_EXCEPT; +@@ -459,5 +458,5 @@ + } else { + fprintf(stderr,"PR_GetConnectStatus: connect failed: (%ld, %ld)\n", +- PR_GetError(), PR_GetOSError()); ++ (long)PR_GetError(), (long)PR_GetOSError()); + failed_already = 1; + goto def_exit; +@@ -569,5 +568,4 @@ + } + if (PR_GetConnectStatus(&pd) == PR_SUCCESS) { +- PRInt32 rv; + fprintf(stderr,"PR_GetConnectStatus succeeded, expected to fail\n"); + failed_already = 1; +--- ../pr/tests/nblayer.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/nblayer.c Mon Jul 25 21:02:17 2005 +@@ -375,5 +375,5 @@ + { + PRStatus rv; +- PRFileDesc *newfd, *layer = fd; ++ PRFileDesc *newfd; + PRFileDesc *newstack; + PRFilePrivate *newsecret; +--- ../pr/tests/obsints.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/obsints.c Mon Jul 25 21:04:56 2005 +@@ -58,4 +58,7 @@ + + #include "prtypes.h" /* which includes protypes.h */ ++#if !defined(__GNUC__) ++# define __unused ++#endif + + int main() +@@ -65,15 +68,15 @@ + * defined by protypes.h. + */ +- intn in; +- uintn uin; +- uint ui; +- int8 i8; +- uint8 ui8; +- int16 i16; +- uint16 ui16; +- int32 i32; +- uint32 ui32; +- int64 i64; +- uint64 ui64; ++ intn in __unused; ++ uintn uin __unused; ++ uint ui __unused; ++ int8 i8 __unused; ++ uint8 ui8 __unused; ++ int16 i16 __unused; ++ uint16 ui16 __unused; ++ int32 i32 __unused; ++ uint32 ui32 __unused; ++ int64 i64 __unused; ++ uint64 ui64 __unused; + + printf("PASS\n"); +--- ../pr/tests/perf.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/perf.c Mon Jul 25 21:05:55 2005 +@@ -181,5 +181,5 @@ + for (i = 0; i < n; i++) { + while (cxq == 0) { +- DPRINTF(("CXReader: thread = 0x%lx waiting\n", ++ DPRINTF(("CXReader: thread = %p waiting\n", + PR_GetCurrentThread())); + PR_Wait(mon, PR_INTERVAL_NO_TIMEOUT); +@@ -194,5 +194,5 @@ + PR_Notify(mon2); + PR_ExitMonitor(mon2); +- DPRINTF(("CXReader: thread = 0x%lx exiting\n", PR_GetCurrentThread())); ++ DPRINTF(("CXReader: thread = %p exiting\n", PR_GetCurrentThread())); + } + +@@ -205,5 +205,5 @@ + for (i = 0; i < n; i++) { + while (cxq == 1) { +- DPRINTF(("CXWriter: thread = 0x%lx waiting\n", ++ DPRINTF(("CXWriter: thread = %p waiting\n", + PR_GetCurrentThread())); + PR_Wait(mon, PR_INTERVAL_NO_TIMEOUT); +@@ -218,5 +218,5 @@ + PR_Notify(mon2); + PR_ExitMonitor(mon2); +- DPRINTF(("CXWriter: thread = 0x%lx exiting\n", PR_GetCurrentThread())); ++ DPRINTF(("CXWriter: thread = %p exiting\n", PR_GetCurrentThread())); + } + +@@ -238,5 +238,5 @@ + fprintf(stderr, "ContextSwitch: cannot create thread\n"); + } else { +- DPRINTF(("ContextSwitch: created %s thread = 0x%lx\n", ++ DPRINTF(("ContextSwitch: created %s thread = %p\n", + (scope1 == PR_GLOBAL_THREAD ? + "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD"), +@@ -252,5 +252,5 @@ + fprintf(stderr, "ContextSwitch: cannot create thread\n"); + } else { +- DPRINTF(("ContextSwitch: created %s thread = 0x%lx\n", ++ DPRINTF(("ContextSwitch: created %s thread = %p\n", + (scope2 == PR_GLOBAL_THREAD ? + "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD"), +@@ -294,8 +294,8 @@ + n = count / 2; + for (i = 0; i < n; i++) { +- DPRINTF(("SemaThread: thread = 0x%lx waiting on sem = 0x%lx\n", ++ DPRINTF(("SemaThread: thread = %p waiting on sem = %p\n", + PR_GetCurrentThread(), sem[0])); + PR_WaitSem(sem[0]); +- DPRINTF(("SemaThread: thread = 0x%lx posting on sem = 0x%lx\n", ++ DPRINTF(("SemaThread: thread = %p posting on sem = %p\n", + PR_GetCurrentThread(), sem[1])); + PR_PostSem(sem[1]); +@@ -306,5 +306,5 @@ + PR_Notify(mon2); + PR_ExitMonitor(mon2); +- DPRINTF(("SemaThread: thread = 0x%lx exiting\n", PR_GetCurrentThread())); ++ DPRINTF(("SemaThread: thread = %p exiting\n", PR_GetCurrentThread())); + } + +@@ -334,5 +334,5 @@ + fprintf(stderr, "SemaContextSwitch: cannot create thread\n"); + } else { +- DPRINTF(("SemaContextSwitch: created %s thread = 0x%lx\n", ++ DPRINTF(("SemaContextSwitch: created %s thread = %p\n", + (scope1 == PR_GLOBAL_THREAD ? + "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD"), +@@ -349,5 +349,5 @@ + fprintf(stderr, "SemaContextSwitch: cannot create thread\n"); + } else { +- DPRINTF(("SemaContextSwitch: created %s thread = 0x%lx\n", ++ DPRINTF(("SemaContextSwitch: created %s thread = %p\n", + (scope2 == PR_GLOBAL_THREAD ? + "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD"), +--- ../pr/tests/prpoll.c Fri Apr 29 18:46:05 2005 ++++ ../pr/tests/prpoll.c Mon Jul 25 21:07:40 2005 +@@ -70,5 +70,5 @@ + clientThreadFunc(void *arg) + { +- PRUint16 port = (PRUint16) arg; ++ PRUint16 port = (PRUint16)(uintptr_t)arg; + PRFileDesc *sock; + PRNetAddr addr; +@@ -229,5 +229,5 @@ + + clientThread = PR_CreateThread(PR_USER_THREAD, +- clientThreadFunc, (void *) listenPort1, ++ clientThreadFunc, (void *)(uintptr_t)listenPort1, + PR_PRIORITY_NORMAL, PR_LOCAL_THREAD, + PR_UNJOINABLE_THREAD, 0); +@@ -238,5 +238,5 @@ + + clientThread = PR_CreateThread(PR_USER_THREAD, +- clientThreadFunc, (void *) listenPort2, ++ clientThreadFunc, (void *)(uintptr_t)listenPort2, + PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD, + PR_UNJOINABLE_THREAD, 0); +@@ -247,5 +247,5 @@ + + clientThread = PR_CreateThread(PR_USER_THREAD, +- clientThreadFunc, (void *) listenPort3, ++ clientThreadFunc, (void *)(uintptr_t)listenPort3, + PR_PRIORITY_NORMAL, PR_GLOBAL_BOUND_THREAD, + PR_UNJOINABLE_THREAD, 0); +--- ../pr/tests/ranfile.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/ranfile.c Mon Jul 25 21:13:44 2005 +@@ -169,5 +169,5 @@ + Hammer_t *cd = (Hammer_t*)arg; + +- (void)sprintf(filename, "%ssg%04ld.dat", baseName, cd->id); ++ (void)sprintf(filename, "%ssg%04d.dat", baseName, (int)cd->id); + + if (debug_mode) printf("Starting work on %s\n", filename); +@@ -408,6 +408,6 @@ + else + if (debug_mode) printf( +- "%s: test failed %s after %ld seconds\n", +- programName, where[hammer[poll].problem], duration); ++ "%s: test failed %s after %d seconds\n", ++ programName, where[hammer[poll].problem], (int)duration); + else failed_already=1; + } +@@ -415,5 +415,5 @@ + } + if (debug_mode) printf( +- "%s: [%ld [%ld] %ld] writes/sec average\n", ++ "%s: [%d [%d] %d] writes/sec average\n", + programName, writesMin, writesTot * 1000 / durationTot, writesMax); + +--- ../pr/tests/randseed.c Fri Apr 29 18:46:05 2005 ++++ ../pr/tests/randseed.c Mon Jul 25 21:15:01 2005 +@@ -81,5 +81,4 @@ + { + PRUint32 *rp = buf; +- PRIntn i; + + printf("%4.4d--\n", size ); +--- ../pr/tests/sel_spd.c Fri Apr 29 17:02:55 2005 ++++ ../pr/tests/sel_spd.c Mon Jul 25 21:20:29 2005 +@@ -48,4 +48,7 @@ + #include + #include ++#if defined(XP_UNIX) || defined(XP_OS2_EMX) ++# include /* getopt(3) */ ++#endif + + #ifdef XP_MAC +@@ -63,14 +66,14 @@ + + typedef struct timer_slot_t { +- unsigned long d_connect; +- unsigned long d_cl_data; +- unsigned long d_sv_data; +- unsigned long d_close; +- unsigned long d_total; +- unsigned long requests; ++ unsigned int d_connect; ++ unsigned int d_cl_data; ++ unsigned int d_sv_data; ++ unsigned int d_close; ++ unsigned int d_total; ++ unsigned int requests; + } timer_slot_t; + +-static long _iterations = 5; +-static long _client_data = 8192; ++static int _iterations = 5; ++static int _client_data = 8192; + + #if defined(XP_MAC) +@@ -81,10 +84,9 @@ + * buffer. + */ +-static long _server_data = (8*1024); +-static long _threads_max = 10, _threads = 10; ++static int _server_data = (8*1024); + #else +-static long _server_data = (128*1024); +-static long _threads_max = 10, _threads = 10; ++static int _server_data = (128*1024); + #endif ++static int _threads_max = 10, _threads = 10; + + static int verbose=0; +@@ -514,10 +516,10 @@ + { + int index; +- unsigned long tot_connect = 0; +- unsigned long tot_cl_data = 0; +- unsigned long tot_sv_data = 0; +- unsigned long tot_close = 0; +- unsigned long tot_all = 0; +- unsigned long tot_requests = 0; ++ unsigned int tot_connect = 0; ++ unsigned int tot_cl_data = 0; ++ unsigned int tot_sv_data = 0; ++ unsigned int tot_close = 0; ++ unsigned int tot_all = 0; ++ unsigned int tot_requests = 0; + + fprintf(stdout, "Server results:\n\n"); +--- ../pr/tests/selct_nm.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/selct_nm.c Mon Jul 25 21:21:56 2005 +@@ -82,5 +82,5 @@ + clientThreadFunc(void *arg) + { +- PRUintn port = (PRUintn) arg; ++ PRUintn port = (PRUintn)(uintptr_t)arg; + PRFileDesc *sock; + PRNetAddr addr; +@@ -202,5 +202,5 @@ + + clientThread = PR_CreateThread(PR_USER_THREAD, +- clientThreadFunc, (void *) listenPort1, ++ clientThreadFunc, (void *)(uintptr_t)listenPort1, + PR_PRIORITY_NORMAL, PR_LOCAL_THREAD, + PR_UNJOINABLE_THREAD, 0); +@@ -212,5 +212,5 @@ + + clientThread = PR_CreateThread(PR_USER_THREAD, +- clientThreadFunc, (void *) listenPort2, ++ clientThreadFunc, (void *)(uintptr_t)listenPort2, + PR_PRIORITY_NORMAL, PR_LOCAL_THREAD, + PR_UNJOINABLE_THREAD, 0); +--- ../pr/tests/select2.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/select2.c Mon Jul 25 21:27:44 2005 +@@ -86,4 +86,5 @@ + ***********************************************************************/ + ++static int exitcode = 2; + + static void Test_Result (int result) +@@ -93,7 +94,10 @@ + case PASS: + printf ("PASS\n"); ++ if (exitcode == 2) ++ exitcode = 0; + break; + case FAIL: + printf ("FAIL\n"); ++ exitcode = 1; + break; + default: +@@ -352,3 +357,4 @@ + + ++ return exitcode; + } +--- ../pr/tests/semaerr.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/semaerr.c Mon Jul 25 21:29:23 2005 +@@ -91,5 +91,5 @@ + } + if (PR_GetError() != PR_FILE_NOT_FOUND_ERROR) { +- fprintf(stderr, "Expected error is %d but got (%d, %d)\n", ++ fprintf(stderr, "Expected error is %ld (PR_FILE_NOT_FOUND_ERROR) but got (%d, %d)\n", + PR_FILE_NOT_FOUND_ERROR, PR_GetError(), PR_GetOSError()); + exit(1); +--- ../pr/tests/semaerr1.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/semaerr1.c Mon Jul 25 21:30:25 2005 +@@ -103,5 +103,5 @@ + } + if (PR_GetError() != PR_FILE_EXISTS_ERROR) { +- fprintf(stderr, "Expect %d but got %d\n", PR_FILE_EXISTS_ERROR, ++ fprintf(stderr, "Expected %ld (PR_FILE_EXISTS_ERROR) but got %d\n", PR_FILE_EXISTS_ERROR, + PR_GetError()); + exit(1); +--- ../pr/tests/sendzlf.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/sendzlf.c Mon Jul 25 21:31:35 2005 +@@ -59,5 +59,5 @@ + PRFileDesc *sock; + PRNetAddr addr; +- PRUint16 port = (PRUint16) arg; ++ PRUint16 port = (PRUint16)(uintptr_t)arg; + char buf[1024]; + char *bufPtr; +@@ -217,5 +217,5 @@ + + clientThread = PR_CreateThread(PR_USER_THREAD, +- ClientThread, (void *) PR_ntohs(PR_NetAddrInetPort(&addr)), ++ ClientThread, (void *)(uintptr_t)PR_ntohs(PR_NetAddrInetPort(&addr)), + PR_PRIORITY_NORMAL, scope, PR_JOINABLE_THREAD, 0); + if (NULL == clientThread) { +--- ../pr/tests/servr_kk.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/servr_kk.c Mon Jul 25 21:38:28 2005 +@@ -90,5 +90,5 @@ + #define DPRINTF printf + #else +-#define DPRINTF ++#define DPRINTF(...) + #endif + +@@ -501,4 +501,5 @@ + } + ++#if 0 + static void do_workUU(void) + { +@@ -521,4 +522,5 @@ + do_work(); + } ++#endif + + static void do_workKK(void) +--- ../pr/tests/short_thread.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/short_thread.c Mon Jul 25 21:44:20 2005 +@@ -76,6 +76,6 @@ + == NULL ) { + fprintf(stderr, +- "simple_test: Error - PR_CreateThread failed: (%ld, %ld)\n", +- PR_GetError(), PR_GetOSError()); ++ "simple_test: Error - PR_CreateThread failed: (%d, %d)\n", ++ PR_GetError(), PR_GetOSError()); + exit( 1 ); + } +--- ../pr/tests/cvar2.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/cvar2.c Mon Jul 25 20:37:10 2005 +@@ -134,5 +134,5 @@ + PR_Lock(info->lock); + if (*info->tcount == 0) { +- DPRINTF(("PrivateCondVarThread: thread 0x%lx waiting on cvar = 0x%lx\n", ++ DPRINTF(("PrivateCondVarThread: thread %p waiting on cvar = %p\n", + PR_GetCurrentThread(), info->cvar)); + PR_WaitCondVar(info->cvar, info->timeout); +@@ -147,6 +147,6 @@ + (*info->exitcount)++; + PR_NotifyCondVar(info->exitcvar); +-DPRINTF(("PrivateCondVarThread: thread 0x%lx notified exitcvar = 0x%lx cnt = %ld\n", +- PR_GetCurrentThread(), info->exitcvar,(*info->exitcount))); ++DPRINTF(("PrivateCondVarThread: thread %p notified exitcvar = %p cnt = %d\n", ++ PR_GetCurrentThread(), info->exitcvar,(int)(*info->exitcount))); + PR_Unlock(info->exitlock); + } +@@ -196,5 +196,5 @@ + CondVarTestSUU(void *_arg) + { +- PRInt32 arg = (PRInt32)_arg; ++ PRInt32 arg = (PRInt32)(intptr_t)_arg; + PRInt32 index, loops; + threadinfo *list; +@@ -228,5 +228,5 @@ + PR_LOCAL_THREAD); + index++; +- DPRINTF(("CondVarTestSUU: created thread 0x%lx\n",list[index].thread)); ++ DPRINTF(("CondVarTestSUU: created thread %p\n",list[index].thread)); + } + +@@ -238,5 +238,5 @@ + PR_NotifyCondVar(list[index].cvar); + PR_Unlock(list[index].lock); +- DPRINTF(("PrivateCondVarThread: thread 0x%lx notified cvar = 0x%lx\n", ++ DPRINTF(("PrivateCondVarThread: thread %p notified cvar = %p\n", + PR_GetCurrentThread(), list[index].cvar)); + } +@@ -266,5 +266,5 @@ + CondVarTestSUK(void *_arg) + { +- PRInt32 arg = (PRInt32)_arg; ++ PRInt32 arg = (PRInt32)(intptr_t)_arg; + PRInt32 index, loops; + threadinfo *list; +@@ -340,5 +340,5 @@ + CondVarTestPUU(void *_arg) + { +- PRInt32 arg = (PRInt32)_arg; ++ PRInt32 arg = (PRInt32)(intptr_t)_arg; + PRInt32 index, loops; + threadinfo *list; +@@ -375,5 +375,5 @@ + PR_LOCAL_THREAD); + +- DPRINTF(("CondVarTestPUU: created thread 0x%lx\n",list[index].thread)); ++ DPRINTF(("CondVarTestPUU: created thread %p\n",list[index].thread)); + index++; + tcount++; +@@ -393,6 +393,6 @@ + /* Wait for threads to finish */ + while(exitcount < arg) { +-DPRINTF(("CondVarTestPUU: thread 0x%lx waiting on exitcvar = 0x%lx cnt = %ld\n", +- PR_GetCurrentThread(), exitcvar, exitcount)); ++DPRINTF(("CondVarTestPUU: thread %p waiting on exitcvar = %p cnt = %d\n", ++ PR_GetCurrentThread(), exitcvar, (int)exitcount)); + PR_WaitCondVar(exitcvar, PR_SecondsToInterval(60)); + } +@@ -404,5 +404,5 @@ + /* Join all the threads */ + for(index=0; index<(arg); index++) { +- DPRINTF(("CondVarTestPUU: joining thread 0x%lx\n",list[index].thread)); ++ DPRINTF(("CondVarTestPUU: joining thread %p\n",list[index].thread)); + PR_JoinThread(list[index].thread); + if (list[index].internal) { +@@ -426,5 +426,5 @@ + CondVarTestPUK(void *_arg) + { +- PRInt32 arg = (PRInt32)_arg; ++ PRInt32 arg = (PRInt32)(intptr_t)_arg; + PRInt32 index, loops; + threadinfo *list; +@@ -507,5 +507,5 @@ + CondVarTest(void *_arg) + { +- PRInt32 arg = (PRInt32)_arg; ++ PRInt32 arg = (PRInt32)(intptr_t)_arg; + PRInt32 index, loops; + threadinfo *list; +@@ -640,5 +640,5 @@ + CondVarTimeoutTest(void *_arg) + { +- PRInt32 arg = (PRInt32)_arg; ++ PRInt32 arg = (PRInt32)(intptr_t)_arg; + PRInt32 index, loops; + threadinfo *list; +@@ -751,5 +751,5 @@ + CondVarMixedTest(void *_arg) + { +- PRInt32 arg = (PRInt32)_arg; ++ PRInt32 arg = (PRInt32)(intptr_t)_arg; + PRInt32 index, loops; + threadinfo *list; +@@ -912,5 +912,5 @@ + + start = PR_IntervalNow(); +- (*func)((void *)arg); ++ (*func)((void *)(intptr_t)arg); + stop = PR_IntervalNow(); + +@@ -975,5 +975,5 @@ + + for (threads = default_threads; threads < default_threads*5; threads+=default_threads) { +- printf("\n%ld Thread tests\n", threads); ++ printf("\n%d Thread tests\n", (int)threads); + Measure(CondVarTestSUU, threads, "Condvar simple test shared UU"); + Measure(CondVarTestSUK, threads, "Condvar simple test shared UK"); +--- ../pr/tests/io_timeout.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/io_timeout.c Mon Jul 25 20:50:40 2005 +@@ -56,3 +56,5 @@ + ++#include + #include ++#include + #include "nspr.h" +@@ -66,3 +68,3 @@ + #define NUM_THREADS 1 +-#define BASE_PORT 8000 ++#define BASE_PORT 38011 + #define DEFAULT_ACCEPT_TIMEOUT 2 +@@ -78,3 +80,3 @@ + PRIntn failed_already = 0; +-PRIntn debug_mode = 0; ++PRIntn debug_mode = 1; + +@@ -131,3 +133,8 @@ + if (debug_mode) +- printf("unable to bind\n"); ++ printf("unable to bind to %d: %s\n", ++ BASE_PORT + info->id, strerror(PR_GetOSError())); ++ if (PR_GetOSError() == EADDRINUSE) { ++ printf("can not proceed with this test\n"); ++ exit(0); ++ } + failed_already=1; +@@ -153,4 +160,5 @@ + if (debug_mode) { +- printf("PR_Accept() timeout worked!\n"); +- printf("TEST PASSED! PR_Accept() returned error %d\n", ++ printf("PR_Accept() timeout worked!\n" ++ "TEST PASSED! PR_Accept() returned error " ++ "PR_IO_TIMEOUT_ERROR (%ld)\n", + PR_IO_TIMEOUT_ERROR); +--- ../pr/tests/socket.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/socket.c Mon Jul 25 22:14:47 2005 +@@ -219,5 +219,7 @@ + int bytes; + int offset = 0; ++#ifdef WINNT + int err; ++#endif + PRIntervalTime timeout = PR_INTERVAL_NO_TIMEOUT; + +@@ -226,10 +228,12 @@ + + for (rem=len; rem; offset += bytes, rem -= bytes) { +- DPRINTF(("thread = 0x%lx: calling PR_Recv, bytes = %d\n", ++ DPRINTF(("thread = %p: calling PR_Recv, bytes = %d\n", + PR_GetCurrentThread(), rem)); ++#ifdef WINNT + retry: ++#endif + bytes = PR_Recv(sockfd, buf + offset, rem, 0, + timeout); +- DPRINTF(("thread = 0x%lx: returning from PR_Recv, bytes = %d\n", ++ DPRINTF(("thread = %p: returning from PR_Recv, bytes = %d\n", + PR_GetCurrentThread(), bytes)); + if (bytes < 0) { +@@ -262,9 +266,9 @@ + + for (rem=len; rem; offset += bytes, rem -= bytes) { +- DPRINTF(("thread = 0x%lx: calling PR_Send, bytes = %d\n", ++ DPRINTF(("thread = %p: calling PR_Send, bytes = %d\n", + PR_GetCurrentThread(), rem)); + bytes = PR_Send(sockfd, buf + offset, rem, 0, + PR_INTERVAL_NO_TIMEOUT); +- DPRINTF(("thread = 0x%lx: returning from PR_Send, bytes = %d\n", ++ DPRINTF(("thread = %p: returning from PR_Send, bytes = %d\n", + PR_GetCurrentThread(), bytes)); + if (bytes <= 0) +@@ -314,5 +318,5 @@ + fprintf(stderr,"prsocket_test: ERROR - PR_Shutdown\n"); + } +- DPRINTF(("Serve_Client [0x%lx]: inbuf[0] = 0x%lx\n",PR_GetCurrentThread(), ++ DPRINTF(("Serve_Client [%p]: inbuf[0] = %d\n",PR_GetCurrentThread(), + (*((int *) in_buf->data)))); + if (writen(sockfd, in_buf->data, bytes) < bytes) { +@@ -453,5 +457,5 @@ + } + +- DPRINTF(("TCP_Server: PR_BIND netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n", ++ DPRINTF(("TCP_Server: PR_BIND netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n", + netaddr.inet.ip, netaddr.inet.port)); + if (PR_SetNetAddr(PR_IpAddrLoopback, client_domain, +@@ -495,5 +499,5 @@ + + t = create_new_thread(PR_USER_THREAD, +- Serve_Client, (void *)scp, ++ Serve_Client, (void *)scp, + PR_PRIORITY_NORMAL, + PR_LOCAL_THREAD, +@@ -505,5 +509,5 @@ + goto exit; + } +- DPRINTF(("TCP_Server: Created Serve_Client = 0x%lx\n", t)); ++ DPRINTF(("TCP_Server: Created Serve_Client = %p\n", t)); + } + +@@ -521,5 +525,5 @@ + PR_Notify(sp->exit_mon); + PR_ExitMonitor(sp->exit_mon); +- DPRINTF(("TCP_Server [0x%lx] exiting\n", PR_GetCurrentThread())); ++ DPRINTF(("TCP_Server [%p] exiting\n", PR_GetCurrentThread())); + } + +@@ -579,5 +583,5 @@ + } + +- DPRINTF(("PR_Bind: UDP Server netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n", ++ DPRINTF(("PR_Bind: UDP Server netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n", + netaddr.inet.ip, netaddr.inet.port)); + /* +@@ -617,5 +621,5 @@ + memset(&netaddr, 0 , sizeof(netaddr)); + for (i = 0; i < (num_udp_clients * num_udp_datagrams_per_client); i++) { +- DPRINTF(("UDP_Server: calling PR_RecvFrom client - ip = 0x%lx, port = %d bytes = %d inbuf = 0x%lx, inbuf[0] = 0x%lx\n", ++ DPRINTF(("UDP_Server: calling PR_RecvFrom client - ip = 0x%x, port = %d bytes = %d inbuf = %p, inbuf[0] = 0x%x\n", + netaddr.inet.ip, netaddr.inet.port, bytes, in_buf->data, + in_buf->data[0])); +@@ -623,5 +627,5 @@ + rv = PR_RecvFrom(sockfd, in_buf->data, bytes, 0, &netaddr, + PR_INTERVAL_NO_TIMEOUT); +- DPRINTF(("UDP_Server: PR_RecvFrom client - ip = 0x%lx, port = %d bytes = %d inbuf = 0x%lx, inbuf[0] = 0x%lx\n", ++ DPRINTF(("UDP_Server: PR_RecvFrom client - ip = 0x%x, port = %d bytes = %d inbuf = %p, inbuf[0] = 0x%x\n", + netaddr.inet.ip, netaddr.inet.port, rv, in_buf->data, + in_buf->data[0])); +@@ -646,5 +650,5 @@ + PR_Notify(sp->exit_mon); + PR_ExitMonitor(sp->exit_mon); +- DPRINTF(("UDP_Server [0x%x] exiting\n", PR_GetCurrentThread())); ++ DPRINTF(("UDP_Server [%p] exiting\n", PR_GetCurrentThread())); + } + +@@ -689,5 +693,5 @@ + } + if (PR_Connect(sockfd, &netaddr,PR_INTERVAL_NO_TIMEOUT) < 0){ +- fprintf(stderr, "PR_Connect failed: (%ld, %ld)\n", ++ fprintf(stderr, "PR_Connect failed: (%d, %d)\n", + PR_GetError(), PR_GetOSError()); + failed_already=1; +@@ -698,5 +702,5 @@ + * fill in random data + */ +- memset(out_buf->data, ((PRInt32) (&netaddr)) + i + j, bytes); ++ memset(out_buf->data, ((intptr_t)(&netaddr)) + i + j, bytes); + /* + * write to server +@@ -711,5 +715,5 @@ + return; + } +- DPRINTF(("TCP Client [0x%lx]: out_buf = 0x%lx out_buf[0] = 0x%lx\n", ++ DPRINTF(("TCP Client [%p]: out_buf = %p out_buf[0] = 0x%x\n", + PR_GetCurrentThread(), out_buf, (*((int *) out_buf->data)))); + if (readn(sockfd, in_buf->data, bytes) < bytes) { +@@ -748,5 +752,5 @@ + PR_Notify(cp->exit_mon); + PR_ExitMonitor(cp->exit_mon); +- DPRINTF(("TCP_Client [0x%x] exiting\n", PR_GetCurrentThread())); ++ DPRINTF(("TCP_Client [%p] exiting\n", PR_GetCurrentThread())); + } + +@@ -754,5 +758,5 @@ + * UDP_Client + * Client Thread +- * Create a socket and bind an address ++ * Create a socket and bind an address + * Communicate with the server at the address specified in the argument. + * Fill in a buffer, write data to server, read it back and check +@@ -812,5 +816,5 @@ + } + +- DPRINTF(("PR_Bind: UDP Client netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n", ++ DPRINTF(("PR_Bind: UDP Client netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n", + netaddr.inet.ip, netaddr.inet.port)); + +@@ -829,7 +833,7 @@ + * fill in random data + */ +- DPRINTF(("UDP_Client [0x%lx]: out_buf = 0x%lx bytes = 0x%lx\n", ++ DPRINTF(("UDP_Client [%p]: out_buf = %p bytes = %d\n", + PR_GetCurrentThread(), out_buf->data, bytes)); +- memset(out_buf->data, ((PRInt32) (&netaddr)) + i, bytes); ++ memset(out_buf->data, ((intptr_t)(&netaddr)) + i, bytes); + /* + * write to server +@@ -844,5 +848,5 @@ + return; + } +- DPRINTF(("UDP_Client [0x%lx]: out_buf = 0x%lx out_buf[0] = 0x%lx\n", ++ DPRINTF(("UDP_Client [%p]: out_buf = %p out_buf[0] = 0x%x\n", + PR_GetCurrentThread(), out_buf, (*((int *) out_buf->data)))); + if (cp->udp_connect) +@@ -855,5 +859,5 @@ + return; + } +- DPRINTF(("UDP_Client [0x%lx]: in_buf = 0x%lx in_buf[0] = 0x%lx\n", ++ DPRINTF(("UDP_Client [%p]: in_buf = %p in_buf[0] = 0x%x\n", + PR_GetCurrentThread(), in_buf, (*((int *) in_buf->data)))); + /* +@@ -880,10 +884,10 @@ + PR_ExitMonitor(cp->exit_mon); + PR_DELETE(cp); +- DPRINTF(("UDP_Client [0x%x] exiting\n", PR_GetCurrentThread())); ++ DPRINTF(("UDP_Client [%p] exiting\n", PR_GetCurrentThread())); + } + + /* + * TCP_Socket_Client_Server_Test - concurrent server test +- * ++ * + * One server and several clients are started + * Each client connects to the server and sends a chunk of data +@@ -937,5 +941,5 @@ + sparamp->datalen = datalen; + t = PR_CreateThread(PR_USER_THREAD, +- TCP_Server, (void *)sparamp, ++ TCP_Server, (void *)sparamp, + PR_PRIORITY_NORMAL, + PR_LOCAL_THREAD, +@@ -947,5 +951,5 @@ + return -1; + } +- DPRINTF(("Created TCP server = 0x%lx\n", t)); ++ DPRINTF(("Created TCP server = %p\n", t)); + thread_count++; + +@@ -981,5 +985,5 @@ + return -1; + } +- DPRINTF(("Created TCP client = 0x%lx\n", t)); ++ DPRINTF(("Created TCP client = %p\n", t)); + thread_count++; + } +@@ -991,7 +995,7 @@ + PR_ExitMonitor(mon2); + printf("%30s","TCP_Socket_Client_Server_Test:"); +- printf("%2ld Server %2ld Clients %2ld connections_per_client\n",1l, ++ printf(" 1 Server %2d Clients %2d connections_per_client\n", + num_tcp_clients, num_tcp_connections_per_client); +- printf("%30s %2ld messages_per_connection %4ld bytes_per_message\n",":", ++ printf("%30s %2d messages_per_connection %4d bytes_per_message\n",":", + num_tcp_mesgs_per_connection, tcp_mesg_size); + +@@ -1001,5 +1005,5 @@ + /* + * UDP_Socket_Client_Server_Test - iterative server test +- * ++ * + * One server and several clients are started + * Each client connects to the server and sends a chunk of data +@@ -1055,5 +1059,5 @@ + DPRINTF(("Creating UDP server")); + t = PR_CreateThread(PR_USER_THREAD, +- UDP_Server, (void *)sparamp, ++ UDP_Server, (void *)sparamp, + PR_PRIORITY_NORMAL, + PR_LOCAL_THREAD, +@@ -1121,6 +1125,6 @@ + PR_ExitMonitor(mon2); + printf("%30s","UDP_Socket_Client_Server_Test: "); +- printf("%2ld Server %2ld Clients\n",1l, num_udp_clients); +- printf("%30s %2ld datagrams_per_client %4ld bytes_per_datagram\n",":", ++ printf(" 1 Server %2d Clients\n", num_udp_clients); ++ printf("%30s %2d datagrams_per_client %4d bytes_per_datagram\n",":", + num_udp_datagrams_per_client, udp_datagram_size); + +@@ -1477,5 +1481,5 @@ + PR_Notify(cp->exit_mon); + PR_ExitMonitor(cp->exit_mon); +- DPRINTF(("TransmitFile_Client [0x%lx] exiting\n", PR_GetCurrentThread())); ++ DPRINTF(("TransmitFile_Client [%p] exiting\n", PR_GetCurrentThread())); + } + +@@ -1519,5 +1523,5 @@ + if (bytes != (SMALL_FILE_SIZE+ SMALL_FILE_HEADER_SIZE)) { + fprintf(stderr, +- "prsocet_test: PR_TransmitFile failed: (%ld, %ld)\n", ++ "prsocet_test: PR_TransmitFile failed: (%d, %d)\n", + PR_GetError(), PR_GetOSError()); + failed_already=1; +@@ -1555,5 +1559,5 @@ + slen, bytes); + fprintf(stderr, +- "prsocket_test: PR_SendFile failed: (%ld, %ld)\n", ++ "prsocket_test: PR_SendFile failed: (%d, %d)\n", + PR_GetError(), PR_GetOSError()); + failed_already=1; +@@ -1579,5 +1583,5 @@ + slen, bytes); + fprintf(stderr, +- "prsocket_test: PR_SendFile failed: (%ld, %ld)\n", ++ "prsocket_test: PR_SendFile failed: (%d, %d)\n", + PR_GetError(), PR_GetOSError()); + failed_already=1; +@@ -1601,5 +1605,5 @@ + slen, bytes); + fprintf(stderr, +- "prsocket_test: PR_SendFile failed: (%ld, %ld)\n", ++ "prsocket_test: PR_SendFile failed: (%d, %d)\n", + PR_GetError(), PR_GetOSError()); + failed_already=1; +@@ -1623,5 +1627,5 @@ + slen, bytes); + fprintf(stderr, +- "prsocket_test: PR_SendFile failed: (%ld, %ld)\n", ++ "prsocket_test: PR_SendFile failed: (%d, %d)\n", + PR_GetError(), PR_GetOSError()); + failed_already=1; +@@ -1645,5 +1649,5 @@ + slen, bytes); + fprintf(stderr, +- "prsocket_test: PR_SendFile failed: (%ld, %ld)\n", ++ "prsocket_test: PR_SendFile failed: (%d, %d)\n", + PR_GetError(), PR_GetOSError()); + failed_already=1; +@@ -1667,5 +1671,5 @@ + slen, bytes); + fprintf(stderr, +- "prsocket_test: PR_SendFile failed: (%ld, %ld)\n", ++ "prsocket_test: PR_SendFile failed: (%d, %d)\n", + PR_GetError(), PR_GetOSError()); + failed_already=1; +@@ -1689,5 +1693,5 @@ + slen, bytes); + fprintf(stderr, +- "prsocket_test: PR_SendFile failed: (%ld, %ld)\n", ++ "prsocket_test: PR_SendFile failed: (%d, %d)\n", + PR_GetError(), PR_GetOSError()); + failed_already=1; +@@ -1788,5 +1792,5 @@ + } + +- DPRINTF(("TCP_Server: PR_BIND netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n", ++ DPRINTF(("TCP_Server: PR_BIND netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n", + netaddr.inet.ip, netaddr.inet.port)); + tcp_server_addr.inet.family = netaddr.inet.family; +@@ -1843,5 +1847,5 @@ + + t[i] = PR_CreateThread(PR_USER_THREAD, +- Serve_TransmitFile_Client, (void *)scp, ++ Serve_TransmitFile_Client, (void *)scp, + PR_PRIORITY_NORMAL, + PR_LOCAL_THREAD, +@@ -1854,5 +1858,5 @@ + goto exit; + } +- DPRINTF(("TransmitFile_Server: Created Serve_TransmitFile_Client = 0x%lx\n", t)); ++ DPRINTF(("TransmitFile_Server: Created Serve_TransmitFile_Client = %p\n", t)); + } + +@@ -1882,10 +1886,10 @@ + PR_Notify(sp->exit_mon); + PR_ExitMonitor(sp->exit_mon); +- DPRINTF(("TransmitFile_Server [0x%lx] exiting\n", PR_GetCurrentThread())); ++ DPRINTF(("TransmitFile_Server [%p] exiting\n", PR_GetCurrentThread())); + } + + /* +- * Socket_Misc_Test - test miscellaneous functions +- * ++ * Socket_Misc_Test - test miscellaneous functions ++ * + */ + static PRInt32 +@@ -2020,5 +2024,5 @@ + if (bytes <= 0) { + fprintf(stderr, +- "prsocket_test failed to write to file %s: (%ld, %ld)\n", ++ "prsocket_test failed to write to file %s: (%d, %d)\n", + LARGE_FILE_NAME, + PR_GetError(), PR_GetOSError()); +@@ -2101,5 +2105,5 @@ + sparamp->datalen = datalen; + t = PR_CreateThread(PR_USER_THREAD, +- TransmitFile_Server, (void *)sparamp, ++ TransmitFile_Server, (void *)sparamp, + PR_PRIORITY_NORMAL, + PR_LOCAL_THREAD, +@@ -2112,5 +2116,5 @@ + goto done; + } +- DPRINTF(("Created TCP server = 0x%x\n", t)); ++ DPRINTF(("Created TCP server = %p\n", t)); + thread_count++; + +@@ -2149,5 +2153,5 @@ + goto done; + } +- DPRINTF(("Created TransmitFile client = 0x%lx\n", t)); ++ DPRINTF(("Created TransmitFile client = %p\n", t)); + thread_count++; + } +@@ -2179,5 +2183,5 @@ + } + if ((PR_RmDir(TEST_DIR)) == PR_FAILURE) { +- fprintf(stderr,"prsocket_test failed to rmdir %s: (%ld, %ld)\n", ++ fprintf(stderr,"prsocket_test failed to rmdir %s: (%d, %d)\n", + TEST_DIR, PR_GetError(), PR_GetOSError()); + failed_already=1; +--- ../pr/tests/sprintf.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/sprintf.c Mon Jul 25 22:21:32 2005 +@@ -162,5 +162,5 @@ + fprintf(stderr, + "pattern='%s' l=%ld\nPR_smprintf='%s'\nPR_snprintf='%s'\n sprintf='%s'\n", +- pattern, l, s, buf, sbuf); ++ pattern, (long)l, s, buf, sbuf); + PR_smprintf_free(s); + exit(-1); +--- ../pr/tests/stack.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/stack.c Mon Jul 25 22:22:43 2005 +@@ -86,5 +86,5 @@ + PRIntn main(PRIntn argc, char **argv) + { +- PRInt32 rv, cnt, sum; ++ PRInt32 cnt, sum; + DataRecord *Item; + PRStack *list1, *list2; +@@ -240,5 +240,5 @@ + { + PRInt32 val, cnt, index, loops; +- DataRecord *Items, *Item; ++ DataRecord *Items; + PRStack *list1, *list2; + PRStackElem *node; +--- ../pr/tests/suspend.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/suspend.c Mon Jul 25 22:28:14 2005 +@@ -74,5 +74,5 @@ + { + PR_Sleep(PR_MillisecondsToInterval(4 * 1000)); +- printf("Level_2_Thread[0x%lx] exiting\n",PR_GetCurrentThread()); ++ printf("Level_2_Thread[%p] exiting\n",PR_GetCurrentThread()); + return; + } +@@ -81,5 +81,5 @@ + Level_1_Thread(void *arg) + { +- PRUint32 tmp = (PRUint32)arg; ++ PRUint32 tmp = (PRUint32)(uintptr_t)arg; + PRThreadScope scope = (PRThreadScope) tmp; + PRThread *thr; +@@ -96,5 +96,5 @@ + printf("Could not create thread!\n"); + } else { +- printf("Level_1_Thread[0x%lx] created %15s thread 0x%lx\n", ++ printf("Level_1_Thread[%p] created %15s thread %p\n", + PR_GetCurrentThread(), + (scope == PR_GLOBAL_THREAD) ? +@@ -107,5 +107,5 @@ + PR_Notify(mon); + PR_ExitMonitor(mon); +- printf("Thread[0x%lx] exiting\n",PR_GetCurrentThread()); ++ printf("Thread[%p] exiting\n",PR_GetCurrentThread()); + } + +@@ -116,11 +116,12 @@ + + printf( +- "\nprint_thread[0x%lx]: %-20s - i = %ld\n",thread, ++ "\nprint_thread[%p]: %-20s - i = %d\n",thread, + (PR_GLOBAL_THREAD == PR_GetThreadScope(thread)) ? + "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD", i); + registers = PR_GetGCRegisters(thread, 0, (int *)&words); +- printf("Regsters R0 = 0x%x R1 = 0x%x R2 = 0x%x R3 = 0x%x\n", +- registers[0],registers[1],registers[2],registers[3]); +- printf("Stack Pointer = 0x%lx\n", PR_GetSP(thread)); ++ printf("Regsters R0 = 0x%lx R1 = 0x%lx R2 = 0x%lx R3 = 0x%lx\n", ++ (unsigned long)registers[0], (unsigned long)registers[1], ++ (unsigned long)registers[2], (unsigned long)registers[3]); ++ printf("Stack Pointer = %p\n", PR_GetSP(thread)); + return PR_SUCCESS; + } +@@ -150,5 +151,5 @@ + alive--; + } +- printf("Level_0_Thread[0x%lx] created %15s thread 0x%lx\n", ++ printf("Level_0_Thread[%p] created %15s thread %p\n", + PR_GetCurrentThread(), + (scope1 == PR_GLOBAL_THREAD) ? +@@ -161,7 +162,8 @@ + PR_EnumerateThreads(print_thread, NULL); + registers = PR_GetGCRegisters(me, 1, (int *)&words); +- printf("My Registers: R0 = 0x%x R1 = 0x%x R2 = 0x%x R3 = 0x%x\n", +- registers[0],registers[1],registers[2],registers[3]); +- printf("My Stack Pointer = 0x%lx\n", PR_GetSP(me)); ++ printf("My Registers: R0 = 0x%lx R1 = 0x%lx R2 = 0x%lx R3 = 0x%lx\n", ++ (unsigned long)registers[0], (unsigned long)registers[1], ++ (unsigned long)registers[2], (unsigned long)registers[3]); ++ printf("My Stack Pointer = %p\n", PR_GetSP(me)); + PR_ResumeAll(); + +@@ -227,4 +229,6 @@ + CreateThreadsKU(); + PR_Cleanup(); ++ ++ return 0; + } + +--- ../pr/tests/testfile.c Tue Jun 20 17:46:54 2000 ++++ ../pr/tests/testfile.c Mon Jul 25 22:36:39 2005 +@@ -69,4 +69,7 @@ + #define mode_t int + #endif ++#if defined(XP_UNIX) || defined(XP_OS2_EMX) ++# include /* getopt(3) */ ++#endif + + #define DPRINTF(arg) if (_debug_on) printf arg +@@ -119,5 +122,5 @@ + + PRThread* create_new_thread(PRThreadType type, +- void (*start)(void *arg), ++ void *(*start)(void *arg), + void *arg, + PRThreadPriority priority, +@@ -181,5 +184,5 @@ + #endif + } else { +- return(PR_CreateThread(type,start,arg,priority,scope,state,stackSize)); ++ return(PR_CreateThread(type,(void (*)(void*))start,arg,priority,scope,state,stackSize)); + } + #else +@@ -342,6 +345,6 @@ + "testfile PR_GetFileInfo returned incorrect status-change time: %s\n", + pathname); +- printf("ft = %lld, ft1 = %lld\n",file_info.creationTime, +- file_info1.creationTime); ++ printf("ft = %lld, ft1 = %lld\n", (long long)file_info.creationTime, ++ (long long)file_info1.creationTime); + rv = -1; + goto cleanup; +@@ -368,6 +371,6 @@ + "testfile PR_GetFileInfo returned incorrect modify time: %s\n", + pathname); +- printf("ft = %lld, ft1 = %lld\n",file_info.modifyTime, +- file_info1.modifyTime); ++ printf("ft = %lld, ft1 = %lld\n", (long long)file_info.modifyTime, ++ (long long)file_info1.modifyTime); + rv = -1; + goto cleanup; +@@ -495,5 +498,5 @@ + + t = create_new_thread(PR_USER_THREAD, +- File_Write, (void *)fparamp, ++ (void *(*)(void *))File_Write, (void *)fparamp, + PR_PRIORITY_NORMAL, + scope, +@@ -530,5 +533,5 @@ + + t = create_new_thread(PR_USER_THREAD, +- File_Read, (void *)fparamp, ++ (void *(*)(void *))File_Read, (void *)fparamp, + PR_PRIORITY_NORMAL, + scope, +@@ -598,5 +601,5 @@ + thrarg.done= 0; + t = create_new_thread(PR_USER_THREAD, +- DirTest, &thrarg, ++ (void *(*)(void *))DirTest, &thrarg, + PR_PRIORITY_NORMAL, + PR_LOCAL_THREAD, +@@ -953,6 +956,4 @@ + #if defined(XP_UNIX) || defined(XP_OS2_EMX) + int opt; +- extern char *optarg; +- extern int optind; + #endif + #if defined(XP_UNIX) || defined(XP_OS2_EMX) +--- ../pr/tests/thrpool_server.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/thrpool_server.c Mon Jul 25 22:38:33 2005 +@@ -363,5 +363,5 @@ + + DPRINTF(( +- "TCP_Server: PR_BIND netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n", ++ "TCP_Server: PR_BIND netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n", + netaddr.inet.ip, netaddr.inet.port)); + +@@ -496,5 +496,5 @@ + + PR_ASSERT(NULL != jobp); +- DPRINTF(("TCP_Server: Created Serve_Client = 0x%lx\n", jobp)); ++ DPRINTF(("TCP_Server: Created Serve_Client = %p\n", jobp)); + + /* +@@ -513,5 +513,5 @@ + + PR_ASSERT(NULL != jobp); +- DPRINTF(("TCP_Server: Created print_stats timer job = 0x%lx\n", jobp)); ++ DPRINTF(("TCP_Server: Created print_stats timer job = %p\n", jobp)); + + exit: +@@ -530,7 +530,7 @@ + PR_DestroyMonitor(sp->exit_mon); + printf("%30s","TCP_Socket_Client_Server_Test:"); +- printf("%2ld Server %2ld Clients %2ld connections_per_client\n",1l, ++ printf(" 1 Server %2d Clients %2d connections_per_client\n", + num_tcp_clients, num_tcp_connections_per_client); +- printf("%30s %2ld messages_per_connection %4ld bytes_per_message\n",":", ++ printf("%30s %2d messages_per_connection %4d bytes_per_message\n",":", + num_tcp_mesgs_per_connection, tcp_mesg_size); + +--- ../pr/tests/thrpool_client.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/thrpool_client.c Mon Jul 25 22:40:45 2005 +@@ -127,9 +127,9 @@ + + for (rem=len; rem; offset += bytes, rem -= bytes) { +- DPRINTF(("thread = 0x%lx: calling PR_Recv, bytes = %d\n", ++ DPRINTF(("thread = %p: calling PR_Recv, bytes = %d\n", + PR_GetCurrentThread(), rem)); + bytes = PR_Recv(sockfd, buf + offset, rem, 0, + timeout); +- DPRINTF(("thread = 0x%lx: returning from PR_Recv, bytes = %d\n", ++ DPRINTF(("thread = %p: returning from PR_Recv, bytes = %d\n", + PR_GetCurrentThread(), bytes)); + if (bytes < 0) { +@@ -152,9 +152,9 @@ + + for (rem=len; rem; offset += bytes, rem -= bytes) { +- DPRINTF(("thread = 0x%lx: calling PR_Send, bytes = %d\n", ++ DPRINTF(("thread = %p: calling PR_Send, bytes = %d\n", + PR_GetCurrentThread(), rem)); + bytes = PR_Send(sockfd, buf + offset, rem, 0, + PR_INTERVAL_NO_TIMEOUT); +- DPRINTF(("thread = 0x%lx: returning from PR_Send, bytes = %d\n", ++ DPRINTF(("thread = %p: returning from PR_Send, bytes = %d\n", + PR_GetCurrentThread(), bytes)); + if (bytes <= 0) +@@ -209,5 +209,5 @@ + DPRINTF(("TCP client connecting to server:%d\n", server_port)); + if (PR_Connect(sockfd, &netaddr,PR_INTERVAL_NO_TIMEOUT) < 0){ +- fprintf(stderr, "PR_Connect failed: (%ld, %ld)\n", ++ fprintf(stderr, "PR_Connect failed: (%d, %d)\n", + PR_GetError(), PR_GetOSError()); + failed_already=1; +@@ -218,5 +218,5 @@ + * fill in random data + */ +- memset(out_buf->data, ((PRInt32) (&netaddr)) + i + j, bytes); ++ memset(out_buf->data, ((intptr_t)(&netaddr)) + i + j, bytes); + /* + * write to server +@@ -326,5 +326,5 @@ + connections++; + PR_ExitMonitor(mon2); +- DPRINTF(("Created TCP client = 0x%lx\n", thr)); ++ DPRINTF(("Created TCP client = %p\n", thr)); + } + /* Wait for client jobs to exit */ +@@ -336,7 +336,7 @@ + PR_ExitMonitor(mon2); + printf("%30s","TCP_Socket_Client_Server_Test:"); +- printf("%2ld Server %2ld Clients %2ld connections_per_client\n",1l, ++ printf(" 1 Server %2d Clients %2d connections_per_client\n", + num_tcp_clients, num_tcp_connections_per_client); +- printf("%30s %2ld messages_per_connection %4ld bytes_per_message\n",":", ++ printf("%30s %2d messages_per_connection %4d bytes_per_message\n",":", + num_tcp_mesgs_per_connection, tcp_mesg_size); + +--- ../pr/tests/threads.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/threads.c Mon Jul 25 22:43:10 2005 +@@ -66,5 +66,5 @@ + DumbThread(void *arg) + { +- PRInt32 tmp = (PRInt32)arg; ++ PRInt32 tmp = (PRInt32)(intptr_t)arg; + PRThreadScope scope = (PRThreadScope)tmp; + PRThread *thr; +@@ -214,8 +214,8 @@ + if (debug_mode) + { +- printf("\ +-** Tests lots of thread creations. \n\ +-** Create %ld native threads %ld times. \n\ +-** Create %ld user threads %ld times \n", iterations,count,iterations,count); ++ printf("** Tests lots of thread creations.\n" ++ "** Create %d native threads %d times.\n" ++ "** Create %d user threads %d times.\n", iterations, count, ++ iterations, count); + } + +--- ../pr/tests/thruput.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/thruput.c Mon Jul 25 22:44:16 2005 +@@ -407,4 +407,5 @@ + else Client(server_name); + ++ return 0; + } /* main */ + +--- ../pr/tests/timemac.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/timemac.c Mon Jul 25 22:45:33 2005 +@@ -63,5 +63,5 @@ + + /* Print day of the week, month, day, hour, minute, and second */ +- printf( "%s %s %ld %02ld:%02ld:%02ld ", ++ printf( "%s %s %d %02d:%02d:%02d ", + dayOfWeek[et->tm_wday], month[et->tm_month], et->tm_mday, + et->tm_hour, et->tm_min, et->tm_sec); +@@ -79,5 +79,5 @@ + hourOffset = totalOffset / 3600; + minOffset = (totalOffset % 3600) / 60; +- printf("%s%02ld%02ld ", sign, hourOffset, minOffset); ++ printf("%s%02d%02d ", sign, hourOffset, minOffset); + } + +@@ -140,5 +140,5 @@ + printExplodedTime(&et); + printf("\n"); +- printf("GMT offset is %ld, DST offset is %ld\n", ++ printf("GMT offset is %d, DST offset is %d\n", + et.tm_params.tp_gmt_offset, et.tm_params.tp_dst_offset); + t2 = PR_ImplodeTime(&et); +--- ../pr/tests/timetest.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/timetest.c Mon Jul 25 22:48:03 2005 +@@ -75,5 +75,5 @@ + + /* Print day of the week, month, day, hour, minute, and second */ +- if (debug_mode) printf("%s %s %ld %02ld:%02ld:%02ld ", ++ if (debug_mode) printf("%s %s %d %02d:%02d:%02d ", + dayOfWeek[et->tm_wday], month[et->tm_month], et->tm_mday, + et->tm_hour, et->tm_min, et->tm_sec); +@@ -92,5 +92,5 @@ + minOffset = (totalOffset % 3600) / 60; + if (debug_mode) +- printf("%s%02ld%02ld ", sign, hourOffset, minOffset); ++ printf("%s%02d%02d ", sign, hourOffset, minOffset); + } + +@@ -276,5 +276,5 @@ + PrintExplodedTime(&et); + if (debug_mode) printf("\n"); +- if (debug_mode) printf("GMT offset is %ld, DST offset is %ld\n", ++ if (debug_mode) printf("GMT offset is %d, DST offset is %d\n", + et.tm_params.tp_gmt_offset, et.tm_params.tp_dst_offset); + t2 = PR_ImplodeTime(&et); +--- ../pr/tests/y2k.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/y2k.c Mon Jul 25 22:49:18 2005 +@@ -82,5 +82,5 @@ + + /* Print day of the week, month, day, hour, minute, and second */ +- printf("%s %s %2ld %02ld:%02ld:%02ld ", ++ printf("%s %s %2d %02d:%02d:%02d ", + dayOfWeek[et->tm_wday], month[et->tm_month], et->tm_mday, + et->tm_hour, et->tm_min, et->tm_sec); +@@ -101,5 +101,5 @@ + hourOffset = totalOffset / 3600; + minOffset = (totalOffset % 3600) / 60; +- printf("%s%02ld%02ld ", sign, hourOffset, minOffset); ++ printf("%s%02d%02d ", sign, hourOffset, minOffset); + } + #ifdef PRINT_DETAILS +--- ../pr/tests/y2ktmo.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/y2ktmo.c Mon Jul 25 22:58:00 2005 +@@ -95,5 +95,5 @@ + static void SleepThread(void *arg) + { +- PRIntervalTime timeout = (PRIntervalTime) arg; ++ PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg; + PRIntervalTime elapsed; + #if defined(XP_UNIX) || defined(WIN32) +@@ -142,5 +142,5 @@ + static void AcceptThread(void *arg) + { +- PRIntervalTime timeout = (PRIntervalTime) arg; ++ PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg; + PRIntervalTime elapsed; + #if defined(XP_UNIX) || defined(WIN32) +@@ -214,5 +214,5 @@ + static void PollThread(void *arg) + { +- PRIntervalTime timeout = (PRIntervalTime) arg; ++ PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg; + PRIntervalTime elapsed; + #if defined(XP_UNIX) || defined(WIN32) +@@ -289,5 +289,5 @@ + static void WaitCondVarThread(void *arg) + { +- PRIntervalTime timeout = (PRIntervalTime) arg; ++ PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg; + PRIntervalTime elapsed; + #if defined(XP_UNIX) || defined(WIN32) +@@ -349,5 +349,5 @@ + static void WaitMonitorThread(void *arg) + { +- PRIntervalTime timeout = (PRIntervalTime) arg; ++ PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg; + PRIntervalTime elapsed; + #if defined(XP_UNIX) || defined(WIN32) +@@ -402,5 +402,5 @@ + static void WaitCMonitorThread(void *arg) + { +- PRIntervalTime timeout = (PRIntervalTime) arg; ++ PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg; + PRIntervalTime elapsed; + #if defined(XP_UNIX) || defined(WIN32) +@@ -525,5 +525,5 @@ + for (j = 0; j < num_thread_funcs; j++) { + threads[idx] = PR_CreateThread(PR_USER_THREAD, threadFuncs[j], +- (void*)PR_SecondsToInterval(secs), PR_PRIORITY_NORMAL, ++ (void*)(intptr_t)PR_SecondsToInterval(secs), PR_PRIORITY_NORMAL, + threadScopes[i], PR_JOINABLE_THREAD, 0); + if (threads[idx] == NULL) { +--- ../pr/tests/zerolen.c Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/zerolen.c Mon Jul 25 23:04:19 2005 +@@ -78,5 +78,5 @@ + PRFileDesc *sock; + PRNetAddr addr; +- PRUint16 port = (PRUint16) arg; ++ PRUint16 port = (PRUint16)(uintptr_t)arg; + char buf[1024]; + PRInt32 nbytes; +@@ -157,5 +157,5 @@ + */ + clientThread = PR_CreateThread(PR_USER_THREAD, +- ClientThread, (void *) PR_ntohs(PR_NetAddrInetPort(&addr)), ++ ClientThread, (void *)(uintptr_t)PR_ntohs(PR_NetAddrInetPort(&addr)), + PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD, PR_JOINABLE_THREAD, 0); + if (NULL == clientThread) { +@@ -198,5 +198,5 @@ + */ + clientThread = PR_CreateThread(PR_USER_THREAD, +- ClientThread, (void *) PR_ntohs(PR_NetAddrInetPort(&addr)), ++ ClientThread, (void *)(uintptr_t)PR_ntohs(PR_NetAddrInetPort(&addr)), + PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD, PR_JOINABLE_THREAD, 0); + if (NULL == clientThread) { +@@ -237,5 +237,5 @@ + */ + clientThread = PR_CreateThread(PR_USER_THREAD, +- ClientThread, (void *) PR_ntohs(PR_NetAddrInetPort(&addr)), ++ ClientThread, (void *)(uintptr_t)PR_ntohs(PR_NetAddrInetPort(&addr)), + PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD, PR_JOINABLE_THREAD, 0); + if (NULL == clientThread) { +--- ../pr/tests/runtests.sh Sun Apr 25 11:01:02 2004 ++++ ../pr/tests/runtests.sh Tue Jul 26 00:01:35 2005 +@@ -85,7 +85,4 @@ + # + +-#forktest (failed on IRIX) +-#nbconn - fails on some platforms +-#poll_er - fails on some platforms? limited use? + #prpoll - the bad-FD test needs to be moved to a different test + #sleep - specific to OS/2 +@@ -119,4 +116,5 @@ + fileio + foreign ++forktest + formattm + fsync +@@ -126,5 +124,4 @@ + initclk + inrval +-instrumt + intrio + intrupt +@@ -146,4 +143,5 @@ + multiwait + nameshm1 ++nbconn + nblayer + nonblock +@@ -161,4 +159,5 @@ + pipeping2 + pipeself ++poll_er + poll_nm + poll_to +@@ -230,5 +229,5 @@ + printf "BEGIN\t\t\t`date`\n" + printf "NSPR_TEST_LOGFILE\t${LOGFILE}\n\n" +-printf "Test\t\t\tResult\n\n" ++printf " Test\t\t\tResult\n\n" + if [ $OS_PLATFORM = "Windows_95" ] || [ $OS_PLATFORM = "Windows_98" ] || [ $OS_PLATFORM = "Windows_NT" ] || [ $OS_PLATFORM = "OS/2" ] ; then + for prog in $TESTS +@@ -248,8 +247,6 @@ + for prog in $TESTS + do +- printf "$prog" +- printf "\nBEGIN TEST: $prog\n\n" >> ${LOGFILE} 2>&1 +- export test_rval +- ./$prog >> ${LOGFILE} 2>&1 & ++ printf %16s $prog ++ ./$prog >> $prog.output 2>&1 & + test_pid=$! + sleep_pid=0 +@@ -266,7 +263,7 @@ + else + printf "\t\t\tFAILED\n"; ++ sed "s,^, $prog: ," < $prog.output + rval=1 + fi; +- printf "\nEND TEST: $prog\n\n" >> ${LOGFILE} 2>&1 + done + fi; +@@ -274,19 +271,2 @@ + printf "END\t\t\t`date`\n" + exit $rval +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +--- ../pr/tests/server_test.c.orig 2009-03-18 10:49:45.000000000 +0100 ++++ ../pr/tests/server_test.c 2009-06-17 09:30:18.000000000 +0200 +@@ -92,7 +92,7 @@ + #ifdef DEBUGPRINTS + #define DPRINTF printf + #else +-#define DPRINTF ++#define DPRINTF(...) + #endif + + +@@ -534,6 +534,7 @@ + do_work(); + } + ++#if 0 + static void do_workUK(void) + { + ServerScope = PR_LOCAL_THREAD; +@@ -554,6 +555,7 @@ + ClientScope = PR_GLOBAL_THREAD; + do_work(); + } ++#endif + + + static void Measure(void (*func)(void), const char *msg) +--- ../pr/tests/servr_ku.c.orig 2009-03-18 10:49:46.000000000 +0100 ++++ ../pr/tests/servr_ku.c 2009-06-17 09:51:45.000000000 +0200 +@@ -89,7 +89,7 @@ + #ifdef DEBUGPRINTS + #define DPRINTF printf + #else +-#define DPRINTF ++#define DPRINTF(...) + #endif + + PRIntn failed_already=0; +--- ../pr/tests/servr_uk.c.orig 2009-03-18 10:49:46.000000000 +0100 ++++ ../pr/tests/servr_uk.c 2009-06-17 09:53:37.000000000 +0200 +@@ -89,7 +89,7 @@ + #ifdef DEBUGPRINTS + #define DPRINTF printf + #else +-#define DPRINTF ++#define DPRINTF(...) + #endif + + PRIntn failed_already=0; +--- ../pr/tests/servr_uu.c.orig 2009-03-18 10:49:46.000000000 +0100 ++++ ../pr/tests/servr_uu.c 2009-06-17 09:55:30.000000000 +0200 +@@ -89,7 +89,7 @@ + #ifdef DEBUGPRINTS + #define DPRINTF printf + #else +-#define DPRINTF ++#define DPRINTF(...) + #endif + + PRIntn failed_already=0; Added: trunk/devel/nspr/files/patch-warnings ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/devel/nspr/files/patch-warnings Wed Jun 17 08:19:15 2009 (r39) @@ -0,0 +1,57 @@ +--- ../pr/src/pthreads/ptsynch.c Mon Nov 22 16:24:53 2004 ++++ ../pr/src/pthreads/ptsynch.c Mon Jul 25 00:03:49 2005 +@@ -63,5 +63,5 @@ + #endif /* defined(DEBUG) */ + +-#if defined(FREEBSD) ++#if defined(FREEBSD) && (defined(DEBUG) || defined(FORCE_PR_ASSERT)) + /* + * On older versions of FreeBSD, pthread_mutex_trylock returns EDEADLK. +@@ -343,5 +343,8 @@ + if (cv != NULL) + { +- int rv = _PT_PTHREAD_COND_INIT(cv->cv, _pt_cvar_attr); ++#if defined(DEBUG) || defined(FORCE_PR_ASSERT) ++ int rv = ++#endif ++ _PT_PTHREAD_COND_INIT(cv->cv, _pt_cvar_attr); + PR_ASSERT(0 == rv); + cv->lock = lock; +@@ -358,5 +361,9 @@ + if (0 > PR_AtomicDecrement(&cvar->notify_pending)) + { +- PRIntn rv = pthread_cond_destroy(&cvar->cv); PR_ASSERT(0 == rv); ++#if defined(DEBUG) || defined(FORCE_PR_ASSERT) ++ PRIntn rv = ++#endif ++ pthread_cond_destroy(&cvar->cv); ++ PR_ASSERT(0 == rv); + #if defined(DEBUG) + memset(cvar, 0xaf, sizeof(PRCondVar)); +@@ -1080,6 +1087,9 @@ + if (cv != NULL) + { ++#if defined(DEBUG) || defined(FORCE_PR_ASSERT) + int rv; +- rv = _PT_PTHREAD_COND_INIT(cv->cv, _pt_cvar_attr); ++ rv = ++#endif ++ _PT_PTHREAD_COND_INIT(cv->cv, _pt_cvar_attr); + PR_ASSERT(0 == rv); + cv->lock = _PR_NAKED_CV_LOCK; +--- ../pr/include/prcountr.h Sun Apr 25 11:00:47 2004 ++++ ../pr/include/prcountr.h Mon Jul 25 20:43:03 2005 +@@ -427,5 +427,5 @@ + (counter) = PR_GetCounter((handle)) + #else +-#define PR_GET_COUNTER(counter,handle) 0 ++#define PR_GET_COUNTER(counter,handle) + #endif + +@@ -501,5 +501,5 @@ + (next) = PR_FindNextCounterQname((handle)) + #else +-#define PR_FIND_NEXT_COUNTER_QNAME(next,handle) NULL ++#define PR_FIND_NEXT_COUNTER_QNAME(next,handle) + #endif + Added: trunk/devel/nspr/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/devel/nspr/pkg-descr Wed Jun 17 08:19:15 2009 (r39) @@ -0,0 +1,5 @@ +Netscape Portable Runtime (NSPR) provides a platform-neutral API for system +level and libc like functions. The API is used in the Mozilla client, many of +Netscape/AOL/iPlanet's and other software offerings. + +WWW: http://www.mozilla.org/projects/nspr/index.html Added: trunk/devel/nspr/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/devel/nspr/pkg-plist Wed Jun 17 08:19:15 2009 (r39) @@ -0,0 +1,103 @@ +bin/nspr-config +include/nspr/md/_aix32.cfg +include/nspr/md/_aix64.cfg +include/nspr/md/_beos.cfg +include/nspr/md/_bsdi.cfg +include/nspr/md/_darwin.cfg +include/nspr/md/_dgux.cfg +include/nspr/md/_freebsd.cfg +include/nspr/md/_hpux32.cfg +include/nspr/md/_hpux64.cfg +include/nspr/md/_irix32.cfg +include/nspr/md/_irix64.cfg +include/nspr/md/_linux.cfg +include/nspr/md/_ncr.cfg +include/nspr/md/_nec.cfg +include/nspr/md/_netbsd.cfg +include/nspr/md/_nextstep.cfg +include/nspr/md/_nto.cfg +include/nspr/md/_openbsd.cfg +include/nspr/md/_os2.cfg +include/nspr/md/_osf1.cfg +include/nspr/md/_qnx.cfg +include/nspr/md/_reliantunix.cfg +include/nspr/md/_riscos.cfg +include/nspr/md/_scoos.cfg +include/nspr/md/_solaris.cfg +include/nspr/md/_sony.cfg +include/nspr/md/_sunos4.cfg +include/nspr/md/_symbian.cfg +include/nspr/md/_unixware.cfg +include/nspr/md/_unixware7.cfg +include/nspr/md/_win95.cfg +include/nspr/md/_winnt.cfg +include/nspr/nspr.h +include/nspr/obsolete/pralarm.h +include/nspr/obsolete/probslet.h +include/nspr/obsolete/protypes.h +include/nspr/obsolete/prsem.h +include/nspr/plarena.h +include/nspr/plarenas.h +include/nspr/plbase64.h +include/nspr/plerror.h +include/nspr/plgetopt.h +include/nspr/plhash.h +include/nspr/plresolv.h +include/nspr/plstr.h +include/nspr/pratom.h +include/nspr/prbit.h +include/nspr/prclist.h +include/nspr/prcmon.h +include/nspr/prcountr.h +include/nspr/prcpucfg.h +include/nspr/prcvar.h +include/nspr/prdtoa.h +include/nspr/prenv.h +include/nspr/prerr.h +include/nspr/prerror.h +include/nspr/prinet.h +include/nspr/prinit.h +include/nspr/prinrval.h +include/nspr/prio.h +include/nspr/pripcsem.h +include/nspr/private/pprio.h +include/nspr/private/pprthred.h +include/nspr/private/prpriv.h +include/nspr/prlink.h +include/nspr/prlock.h +include/nspr/prlog.h +include/nspr/prlong.h +include/nspr/prmem.h +include/nspr/prmon.h +include/nspr/prmwait.h +include/nspr/prnetdb.h +include/nspr/prolock.h +include/nspr/prpdce.h +include/nspr/prprf.h +include/nspr/prproces.h +include/nspr/prrng.h +include/nspr/prrwlock.h +include/nspr/prshm.h +include/nspr/prshma.h +include/nspr/prsystem.h +include/nspr/prthread.h +include/nspr/prtime.h +include/nspr/prtpool.h +include/nspr/prtrace.h +include/nspr/prtypes.h +include/nspr/prvrsion.h +include/nspr/prwin16.h +lib/libnspr4.a +lib/libnspr4.so +lib/libnspr4.so.1 +lib/libplc4.a +lib/libplc4.so +lib/libplc4.so.1 +lib/libplds4.a +lib/libplds4.so +lib/libplds4.so.1 +libdata/pkgconfig/nspr.pc +@dirrm include/nspr/private +@dirrm include/nspr/obsolete +@dirrm include/nspr/md +@dirrm include/nspr From owner-freebsd-gecko@FreeBSD.ORG Wed Jun 17 13:40:24 2009 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A3993106564A; Wed, 17 Jun 2009 13:40:24 +0000 (UTC) (envelope-from miwi@bsdcrew.de) Received: from bsdcrew.de (duro.unixfreunde.de [85.214.90.4]) by mx1.freebsd.org (Postfix) with ESMTP id 648C18FC1F; Wed, 17 Jun 2009 13:40:24 +0000 (UTC) (envelope-from miwi@bsdcrew.de) Received: by bsdcrew.de (Postfix, from userid 1001) id A5AF44AC60; Wed, 17 Jun 2009 15:40:21 +0200 (CEST) Date: Wed, 17 Jun 2009 15:40:21 +0200 From: Martin Wilke To: gnome@FreeBSD.org Message-ID: <20090617134021.GA63233@bsdcrew.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; x-action=pgp-signed Content-Disposition: inline User-Agent: Mutt/1.5.19 (2009-01-05) Cc: ports@FreeBSD.org, gecko@FreeBSD.org Subject: Firefox 3.5 RC1 ready for testing! X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 13:40:25 -0000 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Firefox 3.5 RC1 ready for testing! Howdy, Yesterday FF3.5 RC1 was released! Unfortunately RC1 need a newer version of devel/nspr, we already updated devel/nspr and it seems to be work all fine. If you like to play with both updates you can try following patch [1]. I need to make a exp-run request for this update to make sure nothing will be failed. [1] http://miwi.homeunix.com/patches/ff3.5rc1.diff Please let us know if you see any problems. - - Martin - -- +-----------------------+-------------------------------+ | PGP : 0xB1E6FCE9 | Jabber : miwi(at)BSDCrew.de | | Skype : splash_111 | Mail : miwi(at)FreeBSD.org | +-----------------------+-------------------------------+ | Mess with the Best, Die like the Rest! | +-----------------------+-------------------------------+ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (FreeBSD) iEYEARECAAYFAko48kUACgkQdLJIhLHm/OkrLQCgqpmdaV63yNtulDpgUMZ/fqEh Yo8AoN6DY0Pa0cckqOkmfVWdCo8c0lwT =iJJn -----END PGP SIGNATURE----- From owner-freebsd-gecko@FreeBSD.ORG Wed Jun 17 15:54:34 2009 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9B22C106564A; Wed, 17 Jun 2009 15:54:34 +0000 (UTC) (envelope-from wxs@atarininja.org) Received: from syn.atarininja.org (syn.csh.rit.edu [129.21.60.158]) by mx1.freebsd.org (Postfix) with ESMTP id 774C98FC0C; Wed, 17 Jun 2009 15:54:34 +0000 (UTC) (envelope-from wxs@atarininja.org) Received: by syn.atarininja.org (Postfix, from userid 1001) id 198F65C37; Wed, 17 Jun 2009 11:37:49 -0400 (EDT) Date: Wed, 17 Jun 2009 11:37:49 -0400 From: Wesley Shields To: Martin Wilke Message-ID: <20090617153749.GA12469@atarininja.org> References: <20090617134021.GA63233@bsdcrew.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090617134021.GA63233@bsdcrew.de> User-Agent: Mutt/1.5.19 (2009-01-05) Cc: gnome@FreeBSD.org, ports@FreeBSD.org, gecko@FreeBSD.org Subject: Re: Firefox 3.5 RC1 ready for testing! X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 15:54:35 -0000 On Wed, Jun 17, 2009 at 03:40:21PM +0200, Martin Wilke wrote: > Firefox 3.5 RC1 ready for testing! > > Howdy, > > Yesterday FF3.5 RC1 was released! Unfortunately > RC1 need a newer version of devel/nspr, we > already updated devel/nspr and it seems to be > work all fine. If you like to play with > both updates you can try following patch [1]. I > need to make a exp-run request for this > update to make sure nothing will be failed. > > [1] > http://miwi.homeunix.com/patches/ff3.5rc1.diff Built and installed fine. Was running fine until I viewed the demo link from http://hacks.mozilla.org/2009/06/3d-transforms-isocube/ at which point firefox crashed. I'll see if I can get any details about the crash. -- WXS From owner-freebsd-gecko@FreeBSD.ORG Wed Jun 17 17:24:30 2009 Return-Path: Delivered-To: gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D1DA21065673; Wed, 17 Jun 2009 17:24:30 +0000 (UTC) (envelope-from datahead4@gmail.com) Received: from mail-gx0-f207.google.com (mail-gx0-f207.google.com [209.85.217.207]) by mx1.freebsd.org (Postfix) with ESMTP id 7671A8FC23; Wed, 17 Jun 2009 17:24:30 +0000 (UTC) (envelope-from datahead4@gmail.com) Received: by gxk3 with SMTP id 3so653543gxk.19 for ; Wed, 17 Jun 2009 10:24:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=5csD2agtpVKkaS8QpshxXUAKio9xZp44wSUxpdn67x4=; b=h8KeQjJb5Yb91SS2Tg3XUZEksWflZFSKg2l6d6LQGNANIxhaeNZ4NpKvW+v7/wwvHY u+iRn3CLIS/USh3WbqjYMoDwvG1LhAoypSJLtS5oQmbNjxPMDTBwh/1MJD3HFVTnWLjE iWrmsm9ICVXPrOtKx91+0elCI4IN60CAd0hwk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=JWZdxgwPgq8/6bVW+3SdWPNbfW9uat2kCaZUmE382eg4Helb/jnPrE9xxwfnrXNYKE Q3JsYTK0fGIJkdtn6FPA+HOFA1aBWeWf+bwlShha1xERk/N7CDxcZ2QXKc8s5ZtSGvQv A/BKVVTeX+Csmkdt2DmPdTzkhXcgFzRPLW0WQ= MIME-Version: 1.0 Received: by 10.90.115.17 with SMTP id n17mr271301agc.52.1245258231385; Wed, 17 Jun 2009 10:03:51 -0700 (PDT) In-Reply-To: <20090617153749.GA12469@atarininja.org> References: <20090617134021.GA63233@bsdcrew.de> <20090617153749.GA12469@atarininja.org> Date: Wed, 17 Jun 2009 12:03:51 -0500 Message-ID: From: Matt To: Wesley Shields Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: gecko@freebsd.org Subject: Re: Firefox 3.5 RC1 ready for testing! X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 17:24:31 -0000 On Wed, Jun 17, 2009 at 10:37 AM, Wesley Shields wrote: > On Wed, Jun 17, 2009 at 03:40:21PM +0200, Martin Wilke wrote: >> Firefox 3.5 RC1 ready for testing! >> >> Howdy, >> >> Yesterday FF3.5 RC1 was released! Unfortunately >> RC1 need a newer version of devel/nspr, we >> already updated devel/nspr and it seems to be >> work all fine. If you like to play with >> both updates you can try following patch [1]. I >> need to make a exp-run request for this >> update to make sure nothing will be failed. >> >> [1] >> http://miwi.homeunix.com/patches/ff3.5rc1.diff > > Built and installed fine. Was running fine until I viewed the demo link > from http://hacks.mozilla.org/2009/06/3d-transforms-isocube/ at which > point firefox crashed. I'll see if I can get any details about the > crash. > Same experience here. Backtrace from firefox core dump says: #0 0x11be416b in ksem_init () from /lib/libc.so.7 #1 0x11bd9a89 in sem_init () from /lib/libc.so.7 #2 0x1080bb5e in nsCanvasBidiProcessor::~nsCanvasBidiProcessor () from /usr/local/lib/firefox3/libxul.so #3 0x1080bbcf in nsCanvasBidiProcessor::~nsCanvasBidiProcessor () from /usr/local/lib/firefox3/libxul.so #4 0x10800057 in nsCanvasBidiProcessor::~nsCanvasBidiProcessor () from /usr/local/lib/firefox3/libxul.so #5 0x10800e59 in nsCanvasBidiProcessor::~nsCanvasBidiProcessor () from /usr/local/lib/firefox3/libxul.so #6 0x10cba924 in NS_GetComponentManager_P () from /usr/local/lib/firefox3/libxul.so #7 0x10c80d46 in JNIEnv_::CallStaticObjectMethod () from /usr/local/lib/firefox3/libxul.so #8 0x10cbafa1 in NS_GetComponentManager_P () from /usr/local/lib/firefox3/libxul.so #9 0x1109579a in _pt_root () from /usr/local/lib/libplds4.so.1 #10 0x11cb26ff in pthread_getprio () from /lib/libthr.so.3 #11 0x00000000 in ?? () (gdb) Everything else seems to be working very well. System is i386 7-STABLE from May 19, 2009. Matt From owner-freebsd-gecko@FreeBSD.ORG Wed Jun 17 20:04:34 2009 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 99BC6106566B; Wed, 17 Jun 2009 20:04:34 +0000 (UTC) (envelope-from xi@borderworlds.dk) Received: from kazon.borderworlds.dk (kazon.borderworlds.dk [213.239.213.48]) by mx1.freebsd.org (Postfix) with ESMTP id 57D5B8FC17; Wed, 17 Jun 2009 20:04:34 +0000 (UTC) (envelope-from xi@borderworlds.dk) Received: from talaxian.borderworlds.dk (localhost [127.0.0.1]) by kazon.borderworlds.dk (Postfix) with ESMTP id 30CEF17091; Wed, 17 Jun 2009 21:47:16 +0200 (CEST) Message-ID: <4A394843.7070306@borderworlds.dk> Date: Wed, 17 Jun 2009 21:47:15 +0200 From: Christian Laursen Organization: The Border Worlds User-Agent: Thunderbird 2.0.0.21 (X11/20090419) MIME-Version: 1.0 To: Wesley Shields References: <20090617134021.GA63233@bsdcrew.de> <20090617153749.GA12469@atarininja.org> In-Reply-To: <20090617153749.GA12469@atarininja.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: gnome@FreeBSD.org, ports@FreeBSD.org, gecko@FreeBSD.org, Martin Wilke Subject: Re: Firefox 3.5 RC1 ready for testing! X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 20:04:35 -0000 Wesley Shields wrote: > On Wed, Jun 17, 2009 at 03:40:21PM +0200, Martin Wilke wrote: >> Firefox 3.5 RC1 ready for testing! >> >> Howdy, >> >> Yesterday FF3.5 RC1 was released! Unfortunately >> RC1 need a newer version of devel/nspr, we >> already updated devel/nspr and it seems to be >> work all fine. If you like to play with >> both updates you can try following patch [1]. I >> need to make a exp-run request for this >> update to make sure nothing will be failed. >> >> [1] >> http://miwi.homeunix.com/patches/ff3.5rc1.diff > > Built and installed fine. Was running fine until I viewed the demo link > from http://hacks.mozilla.org/2009/06/3d-transforms-isocube/ at which > point firefox crashed. I'll see if I can get any details about the > crash. That happened here too. Casual browsing has caused no problems so far though. -- Christian Laursen From owner-freebsd-gecko@FreeBSD.ORG Thu Jun 18 08:39:28 2009 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6391B106567D; Thu, 18 Jun 2009 08:39:28 +0000 (UTC) (envelope-from flo@kasimir.com) Received: from mail.solomo.de (mail.solomo.de [85.214.49.72]) by mx1.freebsd.org (Postfix) with ESMTP id 1DBC08FC24; Thu, 18 Jun 2009 08:39:28 +0000 (UTC) (envelope-from flo@kasimir.com) Received: from localhost (localhost [127.0.0.1]) by mail.solomo.de (Postfix) with ESMTP id 7B80A3F50E; Thu, 18 Jun 2009 10:24:12 +0200 (CEST) X-Virus-Scanned: amavisd-new at vistream.de Received: from mail.solomo.de ([127.0.0.1]) by localhost (mail.solomo.de [127.0.0.1]) (amavisd-new, port 10024) with LMTP id YEz+lyUPPYOg; Thu, 18 Jun 2009 10:24:09 +0200 (CEST) Received: from nibbler.vistream.local (relay3.vistream.de [87.139.10.28]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mail.solomo.de (Postfix) with ESMTPSA id 40D9F3F528; Thu, 18 Jun 2009 10:24:09 +0200 (CEST) Message-ID: <4A39F9A8.4050103@kasimir.com> Date: Thu, 18 Jun 2009 10:24:08 +0200 From: Florian Smeets User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1pre) Gecko/20090616 Shredder/3.0b3pre MIME-Version: 1.0 To: wxs@freebsd.org, datahead4@gmail.com References: <20090617134021.GA63233@bsdcrew.de> <20090617153749.GA12469@atarininja.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-gecko@freebsd.org Subject: Re: Firefox 3.5 RC1 ready for testing! X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 08:39:28 -0000 On 17.06.09 19:03, Matt wrote: > On Wed, Jun 17, 2009 at 10:37 AM, Wesley Shields wrote: >> On Wed, Jun 17, 2009 at 03:40:21PM +0200, Martin Wilke wrote: >>> Firefox 3.5 RC1 ready for testing! >>> >>> Howdy, >>> >>> Yesterday FF3.5 RC1 was released! Unfortunately >>> RC1 need a newer version of devel/nspr, we >>> already updated devel/nspr and it seems to be >>> work all fine. If you like to play with >>> both updates you can try following patch [1]. I >>> need to make a exp-run request for this >>> update to make sure nothing will be failed. >>> >>> [1] >>> http://miwi.homeunix.com/patches/ff3.5rc1.diff >> >> Built and installed fine. Was running fine until I viewed the demo link >> from http://hacks.mozilla.org/2009/06/3d-transforms-isocube/ at which >> point firefox crashed. I'll see if I can get any details about the >> crash. >> > Same experience here. Backtrace from firefox core dump says: > > #0 0x11be416b in ksem_init () from /lib/libc.so.7 > #1 0x11bd9a89 in sem_init () from /lib/libc.so.7 > #2 0x1080bb5e in nsCanvasBidiProcessor::~nsCanvasBidiProcessor () > from /usr/local/lib/firefox3/libxul.so > #3 0x1080bbcf in nsCanvasBidiProcessor::~nsCanvasBidiProcessor () > from /usr/local/lib/firefox3/libxul.so > #4 0x10800057 in nsCanvasBidiProcessor::~nsCanvasBidiProcessor () > from /usr/local/lib/firefox3/libxul.so > #5 0x10800e59 in nsCanvasBidiProcessor::~nsCanvasBidiProcessor () > from /usr/local/lib/firefox3/libxul.so > #6 0x10cba924 in NS_GetComponentManager_P () from > /usr/local/lib/firefox3/libxul.so > #7 0x10c80d46 in JNIEnv_::CallStaticObjectMethod () from > /usr/local/lib/firefox3/libxul.so > #8 0x10cbafa1 in NS_GetComponentManager_P () from > /usr/local/lib/firefox3/libxul.so > #9 0x1109579a in _pt_root () from /usr/local/lib/libplds4.so.1 > #10 0x11cb26ff in pthread_getprio () from /lib/libthr.so.3 > #11 0x00000000 in ?? () > (gdb) > Could you guys please confirm that options P1003_1B_SEMAPHORES in your kernel fixes this? I was able to view the demo without crashed after i added that option to my kernel. I'm running latest -CURRENT on amd64. Cheers, Florian From owner-freebsd-gecko@FreeBSD.ORG Thu Jun 18 09:10:17 2009 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EBBC4106568C for ; Thu, 18 Jun 2009 09:10:17 +0000 (UTC) (envelope-from flo@kasimir.com) Received: from mail.solomo.de (mail.solomo.de [85.214.49.72]) by mx1.freebsd.org (Postfix) with ESMTP id A52128FC1E for ; Thu, 18 Jun 2009 09:10:17 +0000 (UTC) (envelope-from flo@kasimir.com) Received: from localhost (localhost [127.0.0.1]) by mail.solomo.de (Postfix) with ESMTP id 771A93F4EE for ; Thu, 18 Jun 2009 11:10:16 +0200 (CEST) X-Virus-Scanned: amavisd-new at vistream.de Received: from mail.solomo.de ([127.0.0.1]) by localhost (mail.solomo.de [127.0.0.1]) (amavisd-new, port 10024) with LMTP id LczFAc8HBg-9 for ; Thu, 18 Jun 2009 11:10:13 +0200 (CEST) Received: from nibbler.vistream.local (relay3.vistream.de [87.139.10.28]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mail.solomo.de (Postfix) with ESMTPSA id 30B093F4E5 for ; Thu, 18 Jun 2009 11:10:13 +0200 (CEST) Message-ID: <4A3A0474.7090703@kasimir.com> Date: Thu, 18 Jun 2009 11:10:12 +0200 From: Florian Smeets User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1pre) Gecko/20090616 Shredder/3.0b3pre MIME-Version: 1.0 To: freebsd-gecko@freebsd.org References: <20090617134021.GA63233@bsdcrew.de> <20090617153749.GA12469@atarininja.org> <4A39F9A8.4050103@kasimir.com> In-Reply-To: <4A39F9A8.4050103@kasimir.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: Firefox 3.5 RC1 ready for testing! X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 09:10:18 -0000 On 18.06.09 10:24, Florian Smeets wrote: > On 17.06.09 19:03, Matt wrote: >> On Wed, Jun 17, 2009 at 10:37 AM, Wesley Shields wrote: >>> On Wed, Jun 17, 2009 at 03:40:21PM +0200, Martin Wilke wrote: >>>> Firefox 3.5 RC1 ready for testing! >>>> >>>> Howdy, >>>> >>>> Yesterday FF3.5 RC1 was released! Unfortunately >>>> RC1 need a newer version of devel/nspr, we >>>> already updated devel/nspr and it seems to be >>>> work all fine. If you like to play with >>>> both updates you can try following patch [1]. I >>>> need to make a exp-run request for this >>>> update to make sure nothing will be failed. >>>> >>>> [1] >>>> http://miwi.homeunix.com/patches/ff3.5rc1.diff >>> >>> Built and installed fine. Was running fine until I viewed the demo link >>> from http://hacks.mozilla.org/2009/06/3d-transforms-isocube/ at which >>> point firefox crashed. I'll see if I can get any details about the >>> crash. >>> >> Same experience here. Backtrace from firefox core dump says: >> >> #0 0x11be416b in ksem_init () from /lib/libc.so.7 >> #1 0x11bd9a89 in sem_init () from /lib/libc.so.7 >> #2 0x1080bb5e in nsCanvasBidiProcessor::~nsCanvasBidiProcessor () >> from /usr/local/lib/firefox3/libxul.so >> #3 0x1080bbcf in nsCanvasBidiProcessor::~nsCanvasBidiProcessor () >> from /usr/local/lib/firefox3/libxul.so >> #4 0x10800057 in nsCanvasBidiProcessor::~nsCanvasBidiProcessor () >> from /usr/local/lib/firefox3/libxul.so >> #5 0x10800e59 in nsCanvasBidiProcessor::~nsCanvasBidiProcessor () >> from /usr/local/lib/firefox3/libxul.so >> #6 0x10cba924 in NS_GetComponentManager_P () from >> /usr/local/lib/firefox3/libxul.so >> #7 0x10c80d46 in JNIEnv_::CallStaticObjectMethod () from >> /usr/local/lib/firefox3/libxul.so >> #8 0x10cbafa1 in NS_GetComponentManager_P () from >> /usr/local/lib/firefox3/libxul.so >> #9 0x1109579a in _pt_root () from /usr/local/lib/libplds4.so.1 >> #10 0x11cb26ff in pthread_getprio () from /lib/libthr.so.3 >> #11 0x00000000 in ?? () >> (gdb) >> > > Could you guys please confirm that > > options P1003_1B_SEMAPHORES > > in your kernel fixes this? > Hi, miwi@ just noticed that "kldload sem" will do the same, so no need to recompile your kernel. To make it permanent put sem_load="YES" into your /boot/loader.conf. Cheers, Florian From owner-freebsd-gecko@FreeBSD.ORG Thu Jun 18 12:39:34 2009 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 28C2910656AE for ; Thu, 18 Jun 2009 12:39:34 +0000 (UTC) (envelope-from wxs@atarininja.org) Received: from syn.atarininja.org (syn.csh.rit.edu [129.21.60.158]) by mx1.freebsd.org (Postfix) with ESMTP id 032E18FC17 for ; Thu, 18 Jun 2009 12:39:33 +0000 (UTC) (envelope-from wxs@atarininja.org) Received: by syn.atarininja.org (Postfix, from userid 1001) id D9F555C2E; Thu, 18 Jun 2009 08:29:32 -0400 (EDT) Date: Thu, 18 Jun 2009 08:29:32 -0400 From: Wesley Shields To: Florian Smeets Message-ID: <20090618122932.GC28509@atarininja.org> References: <20090617134021.GA63233@bsdcrew.de> <20090617153749.GA12469@atarininja.org> <4A39F9A8.4050103@kasimir.com> <4A3A0474.7090703@kasimir.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A3A0474.7090703@kasimir.com> User-Agent: Mutt/1.5.19 (2009-01-05) Cc: freebsd-gecko@freebsd.org, miwi@FreeBSD.org Subject: Re: Firefox 3.5 RC1 ready for testing! X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 12:39:34 -0000 On Thu, Jun 18, 2009 at 11:10:12AM +0200, Florian Smeets wrote: > On 18.06.09 10:24, Florian Smeets wrote: > > On 17.06.09 19:03, Matt wrote: > >> On Wed, Jun 17, 2009 at 10:37 AM, Wesley Shields wrote: > >>> On Wed, Jun 17, 2009 at 03:40:21PM +0200, Martin Wilke wrote: > >>>> Firefox 3.5 RC1 ready for testing! > >>>> > >>>> Howdy, > >>>> > >>>> Yesterday FF3.5 RC1 was released! Unfortunately > >>>> RC1 need a newer version of devel/nspr, we > >>>> already updated devel/nspr and it seems to be > >>>> work all fine. If you like to play with > >>>> both updates you can try following patch [1]. I > >>>> need to make a exp-run request for this > >>>> update to make sure nothing will be failed. > >>>> > >>>> [1] > >>>> http://miwi.homeunix.com/patches/ff3.5rc1.diff > >>> > >>> Built and installed fine. Was running fine until I viewed the demo link > >>> from http://hacks.mozilla.org/2009/06/3d-transforms-isocube/ at which > >>> point firefox crashed. I'll see if I can get any details about the > >>> crash. > >>> > >> Same experience here. Backtrace from firefox core dump says: > >> > >> #0 0x11be416b in ksem_init () from /lib/libc.so.7 > >> #1 0x11bd9a89 in sem_init () from /lib/libc.so.7 > >> #2 0x1080bb5e in nsCanvasBidiProcessor::~nsCanvasBidiProcessor () > >> from /usr/local/lib/firefox3/libxul.so > >> #3 0x1080bbcf in nsCanvasBidiProcessor::~nsCanvasBidiProcessor () > >> from /usr/local/lib/firefox3/libxul.so > >> #4 0x10800057 in nsCanvasBidiProcessor::~nsCanvasBidiProcessor () > >> from /usr/local/lib/firefox3/libxul.so > >> #5 0x10800e59 in nsCanvasBidiProcessor::~nsCanvasBidiProcessor () > >> from /usr/local/lib/firefox3/libxul.so > >> #6 0x10cba924 in NS_GetComponentManager_P () from > >> /usr/local/lib/firefox3/libxul.so > >> #7 0x10c80d46 in JNIEnv_::CallStaticObjectMethod () from > >> /usr/local/lib/firefox3/libxul.so > >> #8 0x10cbafa1 in NS_GetComponentManager_P () from > >> /usr/local/lib/firefox3/libxul.so > >> #9 0x1109579a in _pt_root () from /usr/local/lib/libplds4.so.1 > >> #10 0x11cb26ff in pthread_getprio () from /lib/libthr.so.3 > >> #11 0x00000000 in ?? () > >> (gdb) > >> > > > > Could you guys please confirm that > > > > options P1003_1B_SEMAPHORES > > > > in your kernel fixes this? > > > > Hi, > > miwi@ just noticed that "kldload sem" will do the same, so no need to > recompile your kernel. > > To make it permanent put sem_load="YES" into your /boot/loader.conf. I can confirm that this fixes the crash. I think it was related to the video playing in the page. -- WXS From owner-freebsd-gecko@FreeBSD.ORG Thu Jun 18 13:26:35 2009 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4AEBD106566B for ; Thu, 18 Jun 2009 13:26:35 +0000 (UTC) (envelope-from datahead4@gmail.com) Received: from mail-yx0-f200.google.com (mail-yx0-f200.google.com [209.85.210.200]) by mx1.freebsd.org (Postfix) with ESMTP id 04FD68FC1D for ; Thu, 18 Jun 2009 13:26:34 +0000 (UTC) (envelope-from datahead4@gmail.com) Received: by yxe38 with SMTP id 38so1465884yxe.3 for ; Thu, 18 Jun 2009 06:26:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=kBfMSyJuLIYKHK3v7xE6PW765HoM10aBdrTsC5GMjPQ=; b=j/ngyRH4yAu5KrQsiu/wx8snj7D3ay6TiXyEbMHzrO9qXsqYHkJ1+4VdUaDMav3u4t cwWNR984h+D0P+RLuqwVQ6Vk3R9gnUC+RttikS2zmEUMNm1IlGQvJ9hn6z8wSeowm+pP qetrtwxhJnLzQphBWa3m3Bn3OprDJNz8UAoA0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=DpOdqYJsctujv1V8EJ5+wu6hcD0AufrjrDeG5cjYjJtdcVEZJplnwQzm75wsbNHio6 1P2jFlg3h3agO8VrUZyRJCwrtxyG3M4r1JZ0+NHnB3/4wJ6xhIXJbqD8gl741ZSFkZ+a 5XbeuoB5ctWEjaX7ZznRzC7wlXTEtt1QqMWqU= MIME-Version: 1.0 Received: by 10.90.100.11 with SMTP id x11mr1110110agb.72.1245329640678; Thu, 18 Jun 2009 05:54:00 -0700 (PDT) In-Reply-To: <4A39F9A8.4050103@kasimir.com> References: <20090617134021.GA63233@bsdcrew.de> <20090617153749.GA12469@atarininja.org> <4A39F9A8.4050103@kasimir.com> Date: Thu, 18 Jun 2009 07:54:00 -0500 Message-ID: From: Matt To: Florian Smeets Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-gecko@freebsd.org Subject: Re: Firefox 3.5 RC1 ready for testing! X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 13:26:35 -0000 On Thu, Jun 18, 2009 at 3:24 AM, Florian Smeets wrote: > On 17.06.09 19:03, Matt wrote: >> >> On Wed, Jun 17, 2009 at 10:37 AM, Wesley Shields =A0wro= te: >>> >>> On Wed, Jun 17, 2009 at 03:40:21PM +0200, Martin Wilke wrote: >>>> >>>> Firefox 3.5 RC1 ready for testing! >>>> >>>> Howdy, >>>> >>>> Yesterday FF3.5 RC1 was released! Unfortunately >>>> RC1 need a newer version of devel/nspr, we >>>> already updated devel/nspr and it seems to be >>>> work all fine. If you like to play with >>>> both updates you can try following patch [1]. I >>>> need to make a exp-run request for this >>>> update to make sure nothing will be failed. >>>> >>>> [1] >>>> http://miwi.homeunix.com/patches/ff3.5rc1.diff >>> >>> Built and installed fine. Was running fine until I viewed the demo link >>> from http://hacks.mozilla.org/2009/06/3d-transforms-isocube/ at which >>> point firefox crashed. I'll see if I can get any details about the >>> crash. >>> >> Same experience here. =A0Backtrace from firefox core dump says: >> >> #0 =A00x11be416b in ksem_init () from /lib/libc.so.7 >> #1 =A00x11bd9a89 in sem_init () from /lib/libc.so.7 >> #2 =A00x1080bb5e in nsCanvasBidiProcessor::~nsCanvasBidiProcessor () >> from /usr/local/lib/firefox3/libxul.so >> #3 =A00x1080bbcf in nsCanvasBidiProcessor::~nsCanvasBidiProcessor () >> from /usr/local/lib/firefox3/libxul.so >> #4 =A00x10800057 in nsCanvasBidiProcessor::~nsCanvasBidiProcessor () >> from /usr/local/lib/firefox3/libxul.so >> #5 =A00x10800e59 in nsCanvasBidiProcessor::~nsCanvasBidiProcessor () >> from /usr/local/lib/firefox3/libxul.so >> #6 =A00x10cba924 in NS_GetComponentManager_P () from >> /usr/local/lib/firefox3/libxul.so >> #7 =A00x10c80d46 in JNIEnv_::CallStaticObjectMethod () from >> /usr/local/lib/firefox3/libxul.so >> #8 =A00x10cbafa1 in NS_GetComponentManager_P () from >> /usr/local/lib/firefox3/libxul.so >> #9 =A00x1109579a in _pt_root () from /usr/local/lib/libplds4.so.1 >> #10 0x11cb26ff in pthread_getprio () from /lib/libthr.so.3 >> #11 0x00000000 in ?? () >> (gdb) >> > > Could you guys please confirm that > > options =A0 =A0 =A0 =A0 P1003_1B_SEMAPHORES > > in your kernel fixes this? > > I was able to view the demo without crashed after i added that option to = my > kernel. > > I'm running latest -CURRENT on amd64. Confirmed that a "kldload sem"eliminates the Firefox crash when viewing the page. Matt From owner-freebsd-gecko@FreeBSD.ORG Sat Jun 20 16:32:19 2009 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 35B151065680 for ; Sat, 20 Jun 2009 16:32:19 +0000 (UTC) (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.245.56]) by mx1.freebsd.org (Postfix) with ESMTP id BFD528FC08 for ; Sat, 20 Jun 2009 16:32:18 +0000 (UTC) (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: from trillian.chruetertee.ch (trillian [217.150.245.56]) by trillian.chruetertee.ch (8.14.3/8.14.3) with ESMTP id n5KGWGbh075862 for ; Sat, 20 Jun 2009 16:32:16 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.3/8.14.3/Submit) id n5KGWBJm075720 for freebsd-gecko@freebsd.org; Sat, 20 Jun 2009 16:32:11 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Sat, 20 Jun 2009 16:32:11 GMT Message-Id: <200906201632.n5KGWBJm075720@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [SVN-Commit] r40 - trunk/www/firefox3-devel X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: freebsd-gecko@freebsd.org List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Jun 2009 16:32:19 -0000 Author: flo Date: Sat Jun 20 16:32:11 2009 New Revision: 40 Log: - Update to 3.5rc2 Modified: trunk/www/firefox3-devel/Makefile trunk/www/firefox3-devel/distinfo Modified: trunk/www/firefox3-devel/Makefile ============================================================================== --- trunk/www/firefox3-devel/Makefile Wed Jun 17 08:19:15 2009 (r39) +++ trunk/www/firefox3-devel/Makefile Sat Jun 20 16:32:11 2009 (r40) @@ -6,7 +6,7 @@ # PORTNAME= firefox -DISTVERSION= 3.5rc1 +DISTVERSION= 3.5rc2 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= ${MASTER_SITE_MOZILLA} Modified: trunk/www/firefox3-devel/distinfo ============================================================================== --- trunk/www/firefox3-devel/distinfo Wed Jun 17 08:19:15 2009 (r39) +++ trunk/www/firefox3-devel/distinfo Sat Jun 20 16:32:11 2009 (r40) @@ -1,3 +1,3 @@ -MD5 (firefox-3.5rc1-source.tar.bz2) = 6e9b5fa844f5ddf80b1ae819b43b52ad -SHA256 (firefox-3.5rc1-source.tar.bz2) = 94bda3c09924cbb92460b6e235634415d29b10e784acb5d9bc6ec509e69ed993 -SIZE (firefox-3.5rc1-source.tar.bz2) = 46596337 +MD5 (firefox-3.5rc2-source.tar.bz2) = 6e3e05464353d56870e51eda8c4fd61d +SHA256 (firefox-3.5rc2-source.tar.bz2) = 5ff6296407ff0c40616bf1956ba5d851b8074e3a11699bea25c2cb63f8113604 +SIZE (firefox-3.5rc2-source.tar.bz2) = 46597767