From nobody Tue Aug 16 16:58:29 2022 X-Original-To: freebsd-ports@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4M6cmf1W7fz4Ys97 for ; Tue, 16 Aug 2022 16:58:42 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4M6cmf1H1Tz3j2T for ; Tue, 16 Aug 2022 16:58:42 +0000 (UTC) (envelope-from eduardo@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1660669122; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=46XIuTsoXuU34dCXwP0Nx1M7XspDRTXH71gsfmU+eR4=; b=iSeqEWpqrXkYxqclxvhWutcI28w3w0cgUdnWEApcaG8YfwYRODvEfqo9KLCCcYqumpS5AV Xe1GnmhMSd29prO1guh1brYKzgLpFs4rm7E69nwq1mLR+CvolxVqEOHTnKxjzJiGajVDYL 93l9biGiJTTcDvFmJGdS4zmAAAZUrbem/1eOMLFaunvZbDKLuPpzCp4/i9VEQobdZBO3mx svlKRgHQDLa2YoQKY1fC73RjSfrK3OkmKCsmdili7g4MeUQd6jUCNhPvNfnJQE58wPCgFk mE7zgYVqcLbmC9yewa+NXtPuithzImtCnS9dFWOafS0LGAErfrPDo+5iV0yV8Q== Received: from mail-vs1-f48.google.com (mail-vs1-f48.google.com [209.85.217.48]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) (Authenticated sender: eduardo) by smtp.freebsd.org (Postfix) with ESMTPSA id 4M6cmf0430z12CX for ; Tue, 16 Aug 2022 16:58:41 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: by mail-vs1-f48.google.com with SMTP id v128so10719417vsb.10 for ; Tue, 16 Aug 2022 09:58:41 -0700 (PDT) X-Gm-Message-State: ACgBeo0xFyjA69jz/RXJDtMaSWUNXknxjfzUAJweT0hWVaIe5IKRYCLT Pm3FUeEK7CCWY9nXk7DEEMCdc2Pq5OFHmPArk4A= X-Google-Smtp-Source: AA6agR7082t2TZZJDutrkN0/qhgQM17m3xlLvmaZKZk/IqcsdoJMtxPZnLqIt5XJ36xvFEeRxSCaE9XfZbEl8qbRrSg= X-Received: by 2002:a05:6102:2836:b0:386:91a5:a241 with SMTP id ba22-20020a056102283600b0038691a5a241mr8613368vsb.51.1660669121347; Tue, 16 Aug 2022 09:58:41 -0700 (PDT) List-Id: Porting software to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-ports List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-ports@freebsd.org X-BeenThere: freebsd-ports@freebsd.org MIME-Version: 1.0 References: <1D4C14BD-8955-4B86-9C99-3E58D7603122.ref@yahoo.com> <1D4C14BD-8955-4B86-9C99-3E58D7603122@yahoo.com> <7CDC63F3-8B68-420E-8012-B1692667E293@yahoo.com> <4106D776-402C-45E2-A903-4734DC3FF749@yahoo.com> <7E71C213-0EC6-453E-AEA7-68EA257C0938@yahoo.com> In-Reply-To: <7E71C213-0EC6-453E-AEA7-68EA257C0938@yahoo.com> From: Nuno Teixeira Date: Tue, 16 Aug 2022 17:58:29 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: Resolved: devel/llvm13 build: "ninja: build stopped: subcommand failed" To: Mark Millard Cc: FreeBSD Mailing List Content-Type: multipart/mixed; boundary="00000000000011685705e65ea97a" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1660669122; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=46XIuTsoXuU34dCXwP0Nx1M7XspDRTXH71gsfmU+eR4=; b=SPuW/tc/6swVtu2WOjdAJw4AmUgeoeGx5uqooSpEmXlCwpAvfhy/4UPZ30iRGuToMkfP85 +8/wSOybG7QCQPLPkEfNkyYfVPSCPlmjl75EUmHLmVJbZ/n7X99E11dc57slazPC1LRLm7 kVe6LBrE1Z0cxlmG0PpK497ugs8AybwZWtirw87nOf0Jpif+otS9PSJTtl4435TSogOimD USn2o5w6H4dkwcdoBQJ/sE1rKd5eOdxCidbm844caSxqfNvdEbbVGKZVMKiTODHbmY3DVj ciPgAlW/uiMKm7TUgmIxSiLZDwX32CfQsZccpvG1e7kYNSlwk+LwxlLE/z0aAA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1660669122; a=rsa-sha256; cv=none; b=FqdaWmY9/1ZdSobwA73e86CnJcaJ8h9A9DVB1I/hebrU83PaCqbsinrQdp5HH5Za3INrbJ VlPfaNLExZc/Mg+EymLH8yslB95aH6hjym5HjqbFbfIahA3C3i3WmUf3msDsBw3cf5MT0Q WOnquj5vVzlVlzdbzQi3FTfaoipwj/vG9hg+237MLAtfhWs2TepxaxtGV5vePTVzY+i7Gg DXxMXcY9rjXhQx+cahcKRTTBwSxUNQ1P4dfBespZio4ctp5NRjxp6TpG8oZky0N9JDgPXR DYBNjNJZAHkGizgN/r0DcSNOuA74g8/VlWlZv1Q5MXL5OrVZhAAjWnQZmKbKZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N --00000000000011685705e65ea97a Content-Type: multipart/alternative; boundary="00000000000011685505e65ea978" --00000000000011685505e65ea978 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Thanks for: --- .if ${.CURDIR:M*/devel/llvm*} MAKE_JOBS_NUMBER=3D1 .endif --- it will be usefull. Sent poudriere.conf as an attachment. Cheers, Mark Millard escreveu no dia ter=C3=A7a, 16/08/2022 =C3= =A0(s) 15:52: > > On 2022-Aug-16, at 03:11, Nuno Teixeira wrote: > > > *** Sorry about TMPFS(=3Dno) when I want to mention USE_TMPFS(=3Dno). > > > > Because I was in a hurry and I needed llvm13 package in one of my jails= , > I did what you told me and turned off FLANG, MLIR and DOCS (to avoid > textproc/py-sphinx-markdown-tables problem). > > > > I've used 6c+6t (hw.ncpu: 12) and compiled with success that consumed > ~1GB swap in ~40min. > > Glad you got a configuration for which the build completed. > > Using around 16 GiBytes of RAM and 1 GiByte of SWAP still > seems odd for having disabled FLANG and MLIR. Could you post > your /usr/local/etc/poudriere.conf file content to the list? > I wonder if something else could lead to something competing > for RAM+SWAP space. > > Also, if you rebuild at some point, the follow sort of > command's output while the SWAP is in active use could be of > interest: > > # df -m | egrep "^(Filesystem|tmpfs) " > Filesystem 1M-blocks Used Avail Capacity > Mounted on > . . . > > > Because I only use llvm* as dependencies in poudriere jails for ports > testing I could use a general llvm* options to reduce time and mem+swap o= r > if I want to stick with default options then I need to use > /usr/local/etc/poudriere.d/make.conf MAKE_JOBS_NUMBER=3Dn to be able to > compile it with my hardware. > > In the likes of /usr/local/etc/poudriere.d/make.conf you > could use something like: > > .if ${.CURDIR:M*/devel/llvm*} > MAKE_JOBS_NUMBER=3D1 > .endif > > to have the MAKE_JOBS_NUMBER assignment only be used for > devel/llvm* builds. > > > =3D=3D=3D > Mark Millard > marklmi at yahoo.com > > --=20 Nuno Teixeira FreeBSD Committer (ports) --00000000000011685505e65ea978 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thanks for:
---
.if ${.CURDIR:M*/= devel/llvm*}
MAKE_JOBS_NUMBER=3D1
.endif
---
it will be usefull.

Sent poudriere.conf as an attachment.

Cheers,
=

Mark Millard <marklmi@yahoo.c= om> escreveu no dia ter=C3=A7a, 16/08/2022 =C3=A0(s) 15:52:

On 2022-Aug-16, at 03:11, Nuno Teixeira <eduardo@freebsd.org> wrote:

> *** Sorry about TMPFS(=3Dno) when I want to mention USE_TMPFS(=3Dno).<= br> >
> Because I was in a hurry and I needed llvm13 package in one of my jail= s, I did what you told me and turned off FLANG, MLIR and DOCS (to avoid tex= tproc/py-sphinx-markdown-tables problem).
>
> I've used 6c+6t (hw.ncpu: 12) and compiled with success that consu= med ~1GB swap in ~40min.

Glad you got a configuration for which the build completed.

Using around 16 GiBytes of RAM and 1 GiByte of SWAP still
seems odd for having disabled FLANG and MLIR. Could you post
your /usr/local/etc/poudriere.conf file content to the list?
I wonder if something else could lead to something competing
for RAM+SWAP space.

Also, if you rebuild at some point, the follow sort of
command's output while the SWAP is in active use could be of
interest:

# df -m | egrep "^(Filesystem|tmpfs) "
Filesystem=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A01M-blocks Used=C2=A0 =C2=A0Avail C= apacity=C2=A0 Mounted on
. . .

> Because I only use llvm* as dependencies in poudriere jails for ports = testing I could use a general llvm* options to reduce time and mem+swap or = if I want to stick with default options then I need to use /usr/local/etc/p= oudriere.d/make.conf MAKE_JOBS_NUMBER=3Dn to be able to compile it with my = hardware.

In the likes of /usr/local/etc/poudriere.d/make.conf you
could use something like:

.if ${.CURDIR:M*/devel/llvm*}
MAKE_JOBS_NUMBER=3D1
.endif

to have the MAKE_JOBS_NUMBER assignment only be used for
devel/llvm* builds.


=3D=3D=3D
Mark Millard
marklmi at yahoo.com



--
Nun= o Teixeira
FreeBSD Committer (ports)
--00000000000011685505e65ea978-- --00000000000011685705e65ea97a Content-Type: application/octet-stream; name="poudriere.conf" Content-Disposition: attachment; filename="poudriere.conf" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l6wfia6u0 CiMgUG91ZHJpZXJlIGNhbiBvcHRpb25hbGx5IHVzZSBaRlMgZm9yIGl0cyBwb3J0cy9qYWlsIHN0 b3JhZ2UuIEZvcgojIFpGUyBkZWZpbmUgWlBPT0wsIG90aGVyd2lzZSBzZXQgTk9fWkZTPXllcwoj IAojIyMjIFpGUwojIFRoZSBwb29sIHdoZXJlIHBvdWRyaWVyZSB3aWxsIGNyZWF0ZSBhbGwgdGhl IGZpbGVzeXN0ZW1zIGl0IG5lZWRzCiMgcG91ZHJpZXJlIHdpbGwgdXNlICR7WlBPT0x9LyR7WlJP T1RGU30gYXMgaXRzIHJvb3QKIwojIFlvdSBuZWVkIGF0IGxlYXN0IDdHQiBvZiBmcmVlIHNwYWNl IGluIHRoaXMgcG9vbCB0byBoYXZlIGEgd29ya2luZwojIHBvdWRyaWVyZS4KIwpaUE9PTD16cm9v dAoKIyMjIE5PIFpGUwojIFRvIG5vdCB1c2UgWkZTLCBkZWZpbmUgTk9fWkZTPXllcwojTk9fWkZT PXllcwoKIyByb290IG9mIHRoZSBwb3VkcmllcmUgemZzIGZpbGVzeXN0ZW0sIGJ5IGRlZmF1bHQg L3BvdWRyaWVyZQpaUk9PVEZTPS9wb3VkcmllcmUKCiMgdGhlIGhvc3Qgd2hlcmUgdG8gZG93bmxv YWQgc2V0cyBmb3IgdGhlIGphaWxzIHNldHVwCiMgWW91IGNhbiBzcGVjaWZ5IGhlcmUgYSBob3N0 IG9yIGFuIElQCiMgcmVwbGFjZSBfUFJPVE9fIGJ5IGh0dHAgb3IgZnRwCiMgcmVwbGFjZSBfQ0hB TkdFX1RISVNfIGJ5IHRoZSBob3N0bmFtZSBvZiB0aGUgbWlycm9ycyB3aGVyZSB5b3Ugd2FudCB0 byBmZXRjaAojIGJ5IGRlZmF1bHQ6IGZ0cDovL2Z0cC5mcmVlYnNkLm9yZwojCiMgQWxzbyBub3Rl IHRoYXQgZXZlcnkgcHJvdG9jb2xzIHN1cHBvcnRlZCBieSBmZXRjaCgxKSBhcmUgc3VwcG9ydGVk IGhlcmUsIGV2ZW4KIyBmaWxlOi8vLwojIFN1Z2dlc3RlZDogaHR0cHM6Ly9kb3dubG9hZC5GcmVl QlNELm9yZwpGUkVFQlNEX0hPU1Q9aHR0cHM6Ly9kb3dubG9hZC5GcmVlQlNELm9yZwoKIyBCeSBk ZWZhdWx0IHRoZSBqYWlscyBoYXZlIG5vIC9ldGMvcmVzb2x2LmNvbmYsIHlvdSB3aWxsIG5lZWQg dG8gc2V0CiMgUkVTT0xWX0NPTkYgdG8gYSBmaWxlIG9uIHlvdXIgaG9zdHMgc3lzdGVtIHRoYXQg d2lsbCBiZSBjb3BpZWQgaGFzCiMgL2V0Yy9yZXNvbHYuY29uZiBmb3IgdGhlIGphaWwsIGV4Y2Vw dCBpZiB5b3UgZG9uJ3QgbmVlZCBpdCAodXNpbmcgYW4gaHR0cAojIHByb3h5IGZvciBleGFtcGxl KQpSRVNPTFZfQ09ORj0vZXRjL3Jlc29sdi5jb25mCgojIFRoZSBkaXJlY3Rvcnkgd2hlcmUgcG91 ZHJpZXJlIHdpbGwgc3RvcmUgamFpbHMgYW5kIHBvcnRzCkJBU0VGUz0vdXNyL2xvY2FsL3BvdWRy aWVyZQoKIyBUaGUgZGlyZWN0b3J5IHdoZXJlIHRoZSBqYWlsIHdpbGwgc3RvcmUgdGhlIHBhY2th Z2VzIGFuZCBsb2dzCiMgYnkgZGVmYXVsdCBhIHpmcyBmaWxlc3lzdGVtIHdpbGwgYmUgY3JlYXRl ZCBhbmQgc2V0IHRvCiMgJHtCQVNFRlN9L2RhdGEKIwojUE9VRFJJRVJFX0RBVEE9JHtCQVNFRlN9 L2RhdGEKCiMgVXNlIHBvcnRsaW50IHRvIGNoZWNrIHBvcnRzIHNhbml0eQpVU0VfUE9SVExJTlQ9 bm8KCiMgV2hlbiBidWlsZGluZyBwYWNrYWdlcywgYSBtZW1vcnkgZGV2aWNlIGNhbiBiZSB1c2Vk IHRvIHNwZWVkdXAgdGhlIGJ1aWxkLgojIE9ubHkgb25lIG9mIE1GU1NJWkUgb3IgVVNFX1RNUEZT IGlzIHN1cHBvcnRlZC4gVE1QRlMgaXMgZ2VuZXJhbGx5IGZhc3RlcgojIGFuZCB3aWxsIGV4cGFu ZCB0byB0aGUgbmVlZGVkIGFtb3VudCBvZiBSQU0uIE1GUyBpcyBhIHNsb3dlciBzaW5jZSBpdAoj IHVzZXMgVUZTIGFuZCBzZXZlcmFsIGFic3RyYWN0aW9uIGxheWVycy4KCiMgSWYgc2V0IFdSS0RJ UlBSRUZJWCB3aWxsIGJlIG1kbWZzIG9mIHRoZSBnaXZlbiBzaXplIChtTSBvciBnRykKI01GU1NJ WkU9NEcKCiMgVXNlIHRtcGZzKDUpCiMgVGhpcyBjYW4gYmUgYSBzcGFjZS1zZXBhcmF0ZWQgbGlz dCBvZiBvcHRpb25zOgojIHdya2RpciAgICAtIFVzZSB0bXBmcyg1KSBmb3IgcG9ydCBidWlsZGlu ZyBXUktESVJQUkVGSVgKIyBkYXRhICAgICAgLSBVc2UgdG1wZnMoNSkgZm9yIHBvdWRyaWVyZSBj YWNoZS90ZW1wIGJ1aWxkIGRhdGEKIyBsb2NhbGJhc2UgLSBVc2UgdG1wZnMoNSkgZm9yIExPQ0FM QkFTRSAoaW5zdGFsbGluZyBwb3J0cyBmb3IgcGFja2FnaW5nL3Rlc3RpbmcpCiMgYWxsICAgICAg IC0gUnVuIHRoZSBlbnRpcmUgYnVpbGQgaW4gbWVtb3J5LCBpbmNsdWRpbmcgYnVpbGRlciBqYWls cy4KIyB5ZXMgICAgICAgLSBFbmFibGVzIHRtcGZzKDUpIGZvciB3cmtkaXIgYW5kIGRhdGEKIyBu byAgICAgICAgLSBEaXNhYmxlIHVzZSBvZiB0bXBmcyg1KQojIEVYQU1QTEU6IFVTRV9UTVBGUz0i d3JrZGlyIGRhdGEiClVTRV9UTVBGUz1ubwoKIyBIb3cgbXVjaCBtZW1vcnkgdG8gbGltaXQgdG1w ZnMgc2l6ZSB0byBmb3IgKmVhY2ggYnVpbGRlciogaW4gR2lCCiMgKGRlZmF1bHQ6IG5vbmUpCiNU TVBGU19MSU1JVD04CgojIEhvdyBtdWNoIG1lbW9yeSB0byBsaW1pdCBqYWlsIHByb2Nlc3NlcyB0 byBmb3IgKmVhY2ggYnVpbGRlcioKIyBpbiBHaUIgKGRlZmF1bHQ6IG5vbmUpCiNNQVhfTUVNT1JZ PTEKCiMgSG93IG1hbnkgZmlsZSBkZXNjcmlwdG9ycyB0byBsaW1pdCBlYWNoIGphaWwgcHJvY2Vz cyB0byAoZGVmYXVsdDogMTAyNCkKIyBUaGlzIGNhbiBhbHNvIGJlIHNldCBwZXIgUEtHQkFTRSwg c3VjaCBhcyBNQVhfRklMRVNfUlN0dWRpbz0yMDQ4LgojIFBhY2thZ2UgbmFtZXMgd2l0aCBoeXBo ZW5zICgtKSBzaG91bGQgYmUgcmVwbGFjZWQgd2l0aCB1bmRlcnNjb3JlcyAoXykuCiNNQVhfRklM RVM9MTAyNAoKIyBJZiBzZXQgdGhlIGdpdmVuIGRpcmVjdG9yeSB3aWxsIGJlIHVzZWQgZm9yIHRo ZSBkaXN0ZmlsZXMKIyBUaGlzIGFsbG93cyB0byBzaGFyZSB0aGUgZGlzdGZpbGVzIGJldHdlZW4g amFpbHMgYW5kIHBvcnRzIHRyZWUKIyBJZiB0aGlzIGlzICJubyIsIHBvdWRyaWVyZSBtdXN0IGJl IHN1cHBsaWVkIGEgcG9ydHMgdHJlZSB0aGF0IGFscmVhZHkgaGFzCiMgdGhlIHJlcXVpcmVkIGRp c3RmaWxlcy4KRElTVEZJTEVTX0NBQ0hFPS93b3JrL0RJU1RGSUxFUwoKIyBJZiBzZXQgdGhlIHBv cnRzIHRyZWUgb3Igc291cmNlIHRyZWUgbWFya2VkIHRvIHVzZSBzdm4gd2lsbCB1c2UgdGhlIGRl ZmluZWQKIyBtaXJyb3IgKGRlZmF1bHQ6IHN2bi5GcmVlQlNELm9yZykKIyBUaGUgU1NMIGZpbmdl cnByaW50cyBhcmUgcHVibGlzaGVkIGhlcmU6CiMgaHR0cHM6Ly93d3cuZnJlZWJzZC5vcmcvZG9j L2VuX1VTLklTTzg4NTktMS9ib29rcy9oYW5kYm9vay9zdm4uaHRtbCNzdm4tbWlycm9ycwojU1ZO X0hPU1Q9c3ZuLkZyZWVCU0Qub3JnCgojIEF1dG9tYXRpYyBPUFRJT04gY2hhbmdlIGRldGVjdGlv bgojIFdoZW4gYnVsayBidWlsZGluZyBwYWNrYWdlcywgY29tcGFyZSB0aGUgb3B0aW9ucyBmcm9t IGtlcHQgcGFja2FnZXMgdG8KIyB0aGUgY3VycmVudCBvcHRpb25zIHRvIGJlIGJ1aWx0LiBJZiB0 aGV5IGRpZmZlciwgdGhlIGV4aXN0aW5nIHBhY2thZ2UKIyB3aWxsIGJlIGRlbGV0ZWQgYW5kIHRo ZSBwb3J0IHdpbGwgYmUgcmVidWlsdC4KIyBWYWxpZCBvcHRpb25zOiB5ZXMsIG5vLCB2ZXJib3Nl CiMgdmVyYm9zZSB3aWxsIGRpc3BsYXkgdGhlIG9sZCBhbmQgbmV3IG9wdGlvbnMKI0NIRUNLX0NI QU5HRURfT1BUSU9OUz12ZXJib3NlCgojIEF1dG9tYXRpYyBEZXBlbmRlbmN5IGNoYW5nZSBkZXRl Y3Rpb24KIyBXaGVuIGJ1bGsgYnVpbGRpbmcgcGFja2FnZXMsIGNvbXBhcmUgdGhlIGRlcGVuZGVu Y2llcyBmcm9tIGtlcHQgcGFja2FnZXMgdG8KIyB0aGUgY3VycmVudCBkZXBlbmRlbmNpZXMgZm9y IGV2ZXJ5IHBvcnQuIElmIHRoZXkgZGlmZmVyLCB0aGUgZXhpc3RpbmcgcGFja2FnZQojIHdpbGwg YmUgZGVsZXRlZCBhbmQgdGhlIHBvcnQgd2lsbCBiZSByZWJ1aWx0LiBUaGlzIGhlbHBzIGNhdGNo IGNoYW5nZXMgc3VjaAojIGFzIERFRkFVTFRfUlVCWV9WRVJTSU9OLCBQRVJMX1ZFUlNJT04sIFdJ VEhPVVRfWDExIHRoYXQgY2hhbmdlIGRlcGVuZGVuY2llcwojIGZvciBtYW55IHBvcnRzLgojIFZh bGlkIG9wdGlvbnM6IHllcywgbm8KIyBEZWZhdWx0OiB5ZXMKI0NIRUNLX0NIQU5HRURfREVQUz15 ZXMKCiMgQ29uc2lkZXIgYmFkIGRlcGVuZGVuY3kgbGluZXMgb24gdGhlIHdyb25nIFBLR05BTUUg YXMgZmF0YWwuCiMgRm9yIGV4YW1wbGU6CiMgICAgQlVJTERfREVQRU5EUz0gIHA1LUxpc3QtTW9y ZVV0aWxzPj0wOmxhbmcvcDUtTGlzdC1Nb3JlVXRpbHMKIyBJZiB0aGlzIHBvcnQncyBQS0dOQU1F IHdlcmUgcmVhbGx5ICJMaXN0LU1vcmVVdGlscyIgdGhlbiBpdCB3b3VsZAojIG5vdCBiZSByZWNv cmRlZCBpbnRvIHRoZSByZXN1bHRpbmcgcGFja2FnZS4gIFRoZSBuZXh0IGJ1aWxkIHdpdGgKIyBD SEVDS19DSEFOR0VEX0RFUFMgZW5hYmxlZCB3b3VsZCBjb25zaWRlciBpdCBhICJuZXcgZGVwZW5k ZW5jeSIKIyBzaW5jZSBpdCBpcyBpbiB0aGUgcG9ydCBidXQgbm90IGluIHRoZSBwYWNrYWdlLiAg VGhpcyBpcyB1c3VhbGx5CiMgYSB3YXJuaW5nIGJ1dCBjYW4gYmUgbWFkZSBmYXRhbCBpbnN0ZWFk IGJ5IGVuYWJsaW5nIHRoaXMgb3B0aW9uLgojIERlZmF1bHQ6IG5vCiNCQURfUEtHTkFNRV9ERVBT X0FSRV9GQVRBTD15ZXMKCgojIFBhdGggdG8gdGhlIFJTQSBrZXkgdG8gc2lnbiB0aGUgUEtHIHJl cG8gd2l0aC4gU2VlIHBrZy1yZXBvKDgpCiNQS0dfUkVQT19TSUdOSU5HX0tFWT0vZXRjL3NzbC9r ZXlzL3JlcG8ua2V5CgoKIyBjY2FjaGUgc3VwcG9ydC4gU3VwcGx5IHRoZSBwYXRoIHRvIHlvdXIg Y2NhY2hlIGNhY2hlIGRpcmVjdG9yeS4KIyBJdCB3aWxsIGJlIG1vdW50ZWQgaW50byB0aGUgamFp bCBhbmQgYmUgc2hhcmVkIGFtb25nIGFsbCBqYWlscy4KIyBJdCBpcyByZWNvbW1lbmRlZCB0aGF0 IGV4dHJhIGNjYWNoZSBjb25maWd1cmF0aW9uIGJlIGRvbmUgd2l0aAojIGNjYWNoZSAtbyByYXRo ZXIgdGhhbiBmcm9tIHRoZSBlbnZpcm9ubWVudC4KI0NDQUNIRV9ESVI9L3Zhci9jYWNoZS9jY2Fj aGUKI0NDQUNIRV9ESVI9L2NjYWNoZQoKIyBTdGF0aWMgY2NhY2hlIHN1cHBvcnQgZnJvbSBob3N0 LiAgVGhpcyB1c2VzIHRoZSBleGlzdGluZwojIGNjYWNoZSBmcm9tIHRoZSBob3N0IGluIHRoZSBi dWlsZCBqYWlsLiAgVGhpcyBpcyB1c2VmdWwgZm9yCiMgdXNpbmcgY2NhY2hlK21lbWNhY2hlZCB3 aGljaCBjYW5ub3QgZWFzaWx5IGJlIGJvb3RzdHJhcHBlZAojIG90aGVyd2lzZS4gIFRoZSBwYXRo IHRvIHRoZSBQUkVGSVggd2hlcmUgY2NhY2hlIHdhcyBpbnN0YWxsZWQKIyBtdXN0IGJlIHVzZWQg aGVyZSwgYW5kIGNjYWNoZSBtdXN0IGhhdmUgYmVlbiBidWlsdCBzdGF0aWNhbGx5LgojIE5vdGUg YWxzbyB0aGF0IGNjYWNoZSttZW1jYWNoZWQgd2lsbCByZXF1aXJlIG5ldHdvcmsgYWNjZXNzCiMg d2hpY2ggaXMgbm9ybWFsbHkgZGlzYWJsZWQuICBTZXBhcmF0ZWx5IHNldHRpbmcgUkVTVFJJQ1Rf TkVUV09SS0lORz1ubwojIG1heSBiZSByZXF1aXJlZCBmb3Igbm9uLWxvY2FsaG9zdCBtZW1jYWNo ZWQgc2VydmVycy4KI0NDQUNIRV9TVEFUSUNfUFJFRklYPS91c3IvbG9jYWwKCiMgVGhlIGphaWxz IG5vcm1hbGx5IG9ubHkgYWxsb3cgbmV0d29yayBhY2Nlc3MgZHVyaW5nIHRoZSAnbWFrZSBmZXRj aCcKIyBwaGFzZS4gIFRoaXMgaXMgYSBzZWN1cml0eSByZXN0cmljdGlvbiB0byBwcmV2ZW50IHJh bmRvbSB0aGluZ3MKIyByYW4gZHVyaW5nIGEgYnVpbGQgZnJvbSBhY2Nlc3NpbmcgdGhlIG5ldHdv cmsuICBEaXNhYmxpbmcgdGhpcwojIGlzIG5vdCBhZHZpc2VkLiAgQUxMT1dfTkVUV09SS0lOR19Q QUNLQUdFUyBtYXkgYmUgdXNlZCB0byBhbGxvdyBuZXR3b3JraW5nCiMgZm9yIGEgc3Vic2V0IG9m IHBhY2thZ2VzIG9ubHkuCiNSRVNUUklDVF9ORVRXT1JLSU5HPXllcwojQUxMT1dfTkVUV09SS0lO R19QQUNLQUdFUz0ibnBtLWZvbyIKCiMgcGFyYWxsZWwgYnVpbGQgc3VwcG9ydC4KIwojIEJ5IGRl ZmF1bHQgcG91ZHJpZXJlIHVzZXMgaHcubmNwdSB0byBkZXRlcm1pbmUgdGhlIG51bWJlciBvZiBi dWlsZGVycy4KIyBZb3UgY2FuIG92ZXJyaWRlIHRoaXMgZGVmYXVsdCBieSBjaGFuZ2luZyBQQVJB TExFTF9KT0JTIGhlcmUsIG9yCiMgYnkgc3BlY2lmeWluZyB0aGUgLUogZmxhZyB0byBidWxrL3Rl c3Rwb3J0LgojCiMgRXhhbXBsZSB0byBkZWZpbmUgUEFSQUxMRUxfSk9CUyB0byBvbmUgc2luZ2xl IGpvYgojUEFSQUxMRUxfSk9CUz00CgojIEhvdyBtYW55IGpvYnMgc2hvdWxkIGJlIHVzZWQgZm9y IHByZXBhcmluZyB0aGUgYnVpbGQ/IFRoZXNlIHRlbmQgdG8KIyBiZSBtb3JlIElPIGJvdW5kIGFu ZCBtYXkgYmUgd29ydGggdHdlYWtpbmcuIERlZmF1bHQ6IFBBUkFMTEVMX0pPQlMgKiAxLjI1CiMg UFJFUEFSRV9QQVJBTExFTF9KT0JTPTEKCgojIElmIHNldCwgZmFpbGVkIGJ1aWxkcyB3aWxsIHNh dmUgdGhlIFdSS0RJUiB0byAke1BPVURSSUVSRV9EQVRBfS93cmtkaXJzCiMgU0FWRV9XUktESVI9 eWVzCgojIENob29zZSB0aGUgZGVmYXVsdCBmb3JtYXQgZm9yIHRoZSB3b3JrZGlyIHBhY2tpbmc6 IGNvdWxkIGJlIHRhcix0Z3osdGJ6LHR4egojIGRlZmF1bHQgaXMgdGJ6CiMgV1JLRElSX0FSQ0hJ VkVfRk9STUFUPXRiegoKIyBEaXNhYmxlIExpbnV4IHN1cHBvcnQKIyBOT0xJTlVYPXllcwoKIyBC eSBkZWZhdWx0IHBvdWRyaWVyZSBzZXRzIEZPUkNFX1BBQ0tBR0UKIyBUbyBkaXNhYmxlIGl0ICh1 c2VmdWwgd2hlbiBidWlsZGluZyBwdWJsaWMgcGFja2FnZXMpOgojIE5PX0ZPUkNFX1BBQ0tBR0U9 eWVzCgojIEJ5IGRlZmF1bHQgcG91ZHJpZXJlIHNldHMgUEFDS0FHRV9CVUlMRElORwojIFRvIGRp c2FibGUgaXQ6CiMgTk9fUEFDS0FHRV9CVUlMRElORz15ZXMKCiMgSWYgeW91IGFyZSB1c2luZyBh IHByb3h5IGRlZmluZSBpdCBoZXJlOgojIGV4cG9ydCBIVFRQX1BST1hZPWJsYQojIGV4cG9ydCBG VFBfUFJPWFk9YmxhCiMKIyBDbGVhbm91dCB0aGUgcmVzdHJpY3RlZCBwYWNrYWdlcwojIE5PX1JF U1RSSUNURUQ9eWVzCgojIEJ5IGRlZmF1bHQgTUFLRV9KT0JTIGlzIGRpc2FibGVkIHRvIGFsbG93 IG9ubHkgb25lIHByb2Nlc3MgcGVyIGNwdQojIFVzZSB0aGUgZm9sbG93aW5nIHRvIGFsbG93IGl0 IGFueXdheQojIEFMTE9XX01BS0VfSk9CUz15ZXMKCiMgTGlzdCBvZiBwYWNrYWdlcyB0aGF0IHdp bGwgYWx3YXlzIGJlIGFsbG93ZWQgdG8gdXNlIE1BS0VfSk9CUwojIHJlZ2FyZGxlc3Mgb2YgQUxM T1dfTUFLRV9KT0JTLiBUaGlzIGlzIHVzZWZ1bCBmb3IgYWxsb3dpbmcgcG9ydHMKIyB3aGljaCBo b2xkdXAgdGhlIHJlc3Qgb2YgdGhlIHF1ZXVlIHRvIGJ1aWxkIG1vcmUgcXVpY2tseS4KQUxMT1df TUFLRV9KT0JTX1BBQ0tBR0VTPSJwa2cgY21ha2UgaWN1IGJvb3N0LWxpYnMgdGV4bGl2ZSogZG94 eWdlbiBmZm1wZWcgb3BlbnNzbCBvcGVuamRrOCBoYXJmYnV6eiBydXN0IGxsdm0qIG1lc2EqIGds aWIqIHB5MzktcXQ1KiBsaWJyc3ZnMi1ydXN0IHJ1c3QtY2JpbmRnZW4gZ28qIGdpdCogZ2NjKiBn dGsqIHNwaWRlcm1vbmtleSogcXQ1KiIKCiMgVGltZXN0YW1wIGV2ZXJ5IGxpbmUgb2YgYnVpbGQg bG9ncwojIERlZmF1bHQ6IG5vCiNUSU1FU1RBTVBfTE9HUz1ubwoKIyBVUkwgd2hlcmUgeW91ciBQ T1VEUklFUkVfREFUQS9sb2dzIGFyZSBob3N0ZWQKIyBUaGlzIHdpbGwgYmUgdXNlZCBmb3IgZ2l2 aW5nIFVSTCBoaW50cyB0byB0aGUgSFRNTCBvdXRwdXQgd2hlbgojIHNjaGVkdWxpbmcgYW5kIHN0 YXJ0aW5nIGJ1aWxkcwojVVJMX0JBU0U9aHR0cDovL3lvdXJkb21haW4uY29tL3BvdWRyaWVyZS8K CgojIFRoaXMgZGVmaW5lcyB0aGUgbWF4IHRpbWUgKGluIHNlY29uZHMpIHRoYXQgYSBjb21tYW5k IG1heSBydW4gZm9yIGEgYnVpbGQKIyBiZWZvcmUgaXQgaXMga2lsbGVkIGZvciB0YWtpbmcgdG9v IGxvbmcuIERlZmF1bHQ6IDg2NDAwCiNNQVhfRVhFQ1VUSU9OX1RJTUU9ODY0MDAKCiMgVGhpcyBk ZWZpbmVzIHRoZSB0aW1lIChpbiBzZWNvbmRzKSBiZWZvcmUgYSBjb21tYW5kIGlzIGNvbnNpZGVy ZWQgdG8KIyBiZSBpbiBhIHJ1bmF3YXkgc3RhdGUgZm9yIGhhdmluZyBubyBvdXRwdXQgb24gc3Rk b3V0LiBEZWZhdWx0OiA3MjAwCiNOT0hBTkdfVElNRT03MjAwCgoKIyBUaGUgcmVwb3NpdG9yeSBp cyB1cGRhdGVkIGF0b21pY2FsbHkgaWYgc2V0IHllcy4gVGhpcyBsZWF2ZXMgdGhlCiMgcmVwb3Np dG9yeSB1bnRvdWNoZWQgdW50aWwgdGhlIGJ1aWxkIGNvbXBsZXRlcy4gVGhpcyBpbnZvbHZlcyB1 c2luZwojIGhhcmRsaW5rcyBhbmQgc3ltbGlua3MuIFRoZSBvcGVyYXRpb25zIGFyZSBmYXN0LCBi dXQgY2FuIGJlIGludHJ1c2l2ZQojIGZvciByZW1vdGUgc3luY2luZyBvciBiYWNrdXBzLgojIFJl Y29tbWVuZGVkIHRvIGFsd2F5cyBrZWVwIG9uLgojIERlZmF1bHQ6IHllcwojQVRPTUlDX1BBQ0tB R0VfUkVQT1NJVE9SWT15ZXMKCiMgV2hlbiB1c2luZyBBVE9NSUNfUEFDS0FHRV9SRVBPU0lUT1JZ LCBjb21taXQgdGhlIHBhY2thZ2VzIGlmIHNvbWUKIyBwYWNrYWdlcyBmYWlsIHRvIGJ1aWxkLiBJ Z25vcmVkIHBvcnRzIGFyZSBjb25zaWRlcmVkIHN1Y2Nlc3NmdWwuCiMgVGhpcyBjYW4gYmUgc2V0 IHRvICdubycgdG8gb25seSBjb21taXQgdGhlIHBhY2thZ2VzIG9uY2Ugbm8gZmFpbHVyZXMKIyBh cmUgZW5jb3VudGVyZWQuCiMgRGVmYXVsdDogeWVzCiNDT01NSVRfUEFDS0FHRVNfT05fRkFJTFVS RT15ZXMKCiMgS2VlcCBvbGRlciBwYWNrYWdlIHJlcG9zaXRvcmllcy4gVGhpcyBjYW4gYmUgdXNl ZCB0byByb2xsYmFjayBhIHN5c3RlbQojIG9yIHRvIGJpc2VjdCBpc3N1ZXMgYnkgY2hhbmdpbmcg dGhlIHJlcG9zaXRvcnkgdG8gb25lIG9mIHRoZSBvbGRlcgojIHZlcnNpb25zIGFuZCByZWluc3Rh bGxpbmcgZXZlcnl0aGluZyB3aXRoIGBwa2cgdXBncmFkZSAtZmAKIyBBVE9NSUNfUEFDS0FHRV9S RVBPU0lUT1JZIGlzIHJlcXVpcmVkIGZvciB0aGlzLgojIERlZmF1bHQ6IG5vCiNLRUVQX09MRF9Q QUNLQUdFUz1ubwoKIyBIb3cgbWFueSBvbGQgcGFja2FnZSByZXBvc2l0b3JpZXMgdG8ga2VlcCB3 aXRoIEtFRVBfT0xEX1BBQ0tBR0VTCiMgRGVmYXVsdDogNQojS0VFUF9PTERfUEFDS0FHRVNfQ09V TlQ9NQoKIyBNYWtlIHRlc3RpbmcgZXJyb3JzIGZhdGFsLgojIElmIHNldCB0byAnbm8nLCBwb3J0 cyB3aXRoIHRlc3QgZmFpbHVyZSB3aWxsIGJlIG1hcmtlZCBhcyBmYWlsZWQgYnV0IHN0aWxsCiMg cGFja2FnZWQgdG8gcGVybWl0IHRlc3RpbmcgZGVwZW5kZW50IHBvcnRzICh1c2VmdWwgZm9yIGJ1 bGsgLXQgLWEpCiMgRGVmYXVsdDogeWVzCiNQT1JUVEVTVElOR19GQVRBTD15ZXMKCiMgRGVmaW5l IHRoZSBidWlsZGluZyBqYWlsIGhvc3RuYW1lIHRvIGJlIHVzZWQgd2hlbiBidWlsZGluZyB0aGUg cGFja2FnZXMKIyBTb21lIHBvcnQvcGFja2FnZXMgaGFyZGNvZGUgdGhlIGhvc3RuYW1lIG9mIHRo ZSBob3N0IGR1cmluZyBidWlsZCB0aW1lCiMgVGhpcyBpcyBhIG5lY2Vzc2FyeSBzZXR1cCBmb3Ig cmVwcm9kdWNpYmxlIGJ1aWxkcy4KI0JVSUxERVJfSE9TVE5BTUU9cGtnLkZyZWVCU0Qub3JnCgoj IERlZmluZSB0byBnZXQgYSBwcmVkaWN0YWJsZSB0aW1lc3RhbXAgb24gdGhlIHBvcnRzIHRyZWUK IyBUaGlzIGlzIGEgbmVjZXNzYXJ5IHNldHVwIGZvciByZXByb2R1Y2libGUgYnVpbGRzLgojUFJF U0VSVkVfVElNRVNUQU1QPXllcwoKIyBEZWZpbmUgdG8geWVzIHRvIGJ1aWxkIGFuZCBzdGFnZSBh cyBhIHJlZ3VsYXIgdXNlcgojIERlZmF1bHQ6IHllcywgdW5sZXNzIENDQUNIRV9ESVIgaXMgc2V0 IGFuZCBDQ0FDSEVfRElSX05PTl9ST09UX1NBRkUgaXMgbm90CiMgc2V0LiAgTm90ZSB0aGF0IHRv IHVzZSBjY2FjaGUgd2l0aCBCVUlMRF9BU19OT05fUk9PVCB5b3Ugd2lsbCBuZWVkIHRvCiMgdXNl IGEgbm9uLXNoYXJlZCBDQ0FDSEVfRElSIHRoYXQgaXMgb25seSBidWlsdCBieSBQT1JUQlVJTERf VVNFUiBhbmQgY2hvd25lZAojIHRvIHRoYXQgdXNlci4gIFRoZW4gc2V0IENDQUNIRV9ESVJfTk9O X1JPT1RfU0FGRSB0byB5ZXMuCiNCVUlMRF9BU19OT05fUk9PVD1ubwoKIyBEZWZpbmUgdG8gdGhl IHVzZXJuYW1lIHRvIGJ1aWxkIGFzIHdoZW4gQlVJTERfQVNfTk9OX1JPT1QgaXMgeWVzLgojIERl ZmF1bHQ6IG5vYm9keSAodWlkIFBPUlRCVUlMRF9VSUQpCiNQT1JUQlVJTERfVVNFUj1ub2JvZHkK CiMgRGVmaW5lIHRvIHRoZSB1aWQgdG8gdXNlIGZvciBQT1JUQlVJTERfVVNFUiBpZiB0aGUgdXNl ciBkb2VzIG5vdAojIGFscmVhZHkgZXhpc3QgaW4gdGhlIGphaWwuCiMgRGVmYXVsdDogNjU1MzIK I1BPUlRCVUlMRF9VSUQ9NjU1MzQKCiMgRGVmaW5lIHBrZ25hbWUgZ2xvYnMgdG8gYm9vc3QgcHJp b3JpdHkgZm9yCiMgRGVmYXVsdDogbm9uZQojUFJJT1JJVFlfQk9PU1Q9InB5cHkgb3Blbm9mZmlj ZSoiCgojIERlZmluZSBmb3JtYXQgZm9yIGJ1aWxkbmFtZXMKIyBEZWZhdWx0OiAlWS0lbS0lZF8l SGglTW0lU3MKIyBJU084NjAxOgojQlVJTEROQU1FX0ZPUk1BVD0iJUZUJVRaIgoKIyBEZWZpbmUg Zm9ybWF0IGZvciBidWlsZCBkdXJhdGlvbiB0aW1lcwojIERlZmF1bHQ6ICVIOiVNOiVTCiNEVVJB VElPTl9GT1JNQVQ9IiVIOiVNOiVTIgoKIyBVc2UgY29sb3JzIHdoZW4gaW4gYSBUVFkKIyBEZWZh dWx0OiB5ZXMKI1VTRV9DT0xPUlM9eWVzCgojIE9ubHkgYnVpbGQgd2hhdCBpcyByZXF1ZXN0ZWQu IERvIG5vdCByZWJ1aWxkIGJ1aWxkIGRlcHMgaWYgbm90aGluZyByZXF1ZXN0ZWQKIyBkZXBlbmRz IG9uIHRoZW0uIFRoaXMgY2FuIGNyZWF0ZSBhbiBpbmNvbnNpc3RlbnQgcmVwb3NpdG9yeSBpZiB5 b3Ugb2Z0ZW4KIyBidWlsZCBvbmUtb2ZmIHBhY2thZ2VzIGJ1dCBleHBlY3QgdGhlIHJlcG9zaXRv cnkgdG8gc3RheSBjb25zaXN0ZW50LgojIERlZmF1dDogeWVzCiNUUklNX09SUEhBTkVEX0JVSUxE X0RFUFM9eWVzCgojIEEgbGlzdCBvZiBkaXJlY3RvcmllcyB0byBleGNsdWRlIGZyb20gbGVmdG92 ZXIgYW5kIGZpbGVzeXN0ZW0gdmlvbGF0aW9uCiMgbXRyZWUgY2hlY2tzLiAgQ2NhY2hlIGlzIHVz ZWQgaGVyZSBhcyBhbiBleGFtcGxlIGJ1dCBpcyBhbHJlYWR5CiMgZXhjbHVkZWQgYnkgZGVmYXVs dC4gIFRoZXJlIGlzIG5vIG5lZWQgdG8gYWRkIGl0IGhlcmUgdW5sZXNzIGEKIyBzcGVjaWFsIGNv bmZpZ3VyYXRpb24gaXMgdXNlZCB3aGVyZSBpdCBpcyBhIHByb2JsZW0uCiMgRGVmYXVsdDogbm9u ZQojTE9DQUxfTVRSRUVfRVhDTFVERVM9Ii91c3Ivb2JqIC92YXIvdG1wL2NjYWNoZSIKCiMgU2V0 IHRvIGhvc3RlZCB0byB1c2UgdGhlIC9kYXRhIGRpcmVjdG9yeSBpbnN0ZWFkIG9mIGlubGluZSBz dHlsZSBIVE1MCiMgRGVmYXVsdDogaW5saW5lCiNIVE1MX1RZUEU9Imhvc3RlZCIKCiMgU2V0IHRv IHRyYWNrIHJlbWFpbmluZyBwb3J0cyBpbiB0aGUgSFRNTCBpbnRlcmZhY2UuICBUaGlzIGNhbiBz bG93IGRvd24KIyBwcm9jZXNzaW5nIG9mIHRoZSBxdWV1ZSBzbGlnaHRseSwgZXNwZWNpYWxseSBm b3IgYnVsayAtYSBidWlsZHMuCiMgRGVmYXVsdDogbm8KI0hUTUxfVFJBQ0tfUkVNQUlOSU5HPXll cwo= --00000000000011685705e65ea97a--