* Re: Fwd: [Clamav-announce] ClamAV® blog: ClamAV 0.104.0 released
[not found] <7F07C7BE-2F52-482B-9299-2F53C2505901@ipfire.org>
@ 2021-09-03 16:36 ` Stefan Schantl
2021-09-03 16:38 ` Michael Tremer
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Stefan Schantl @ 2021-09-03 16:36 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 10421 bytes --]
Hello Michael, Hello Matthias, Hello list,
> Hello everyone,
>
> I just received this announcement that clamav 0.104.0 has been
> released.
>
> The interesting things for us are the changes in the build system:
>
> * It now requires cmake which isn’t a problem
>
> * It now requires LLVM which we don’t have
>
> LLVM is probably going to be large, but Stefan has already played
> around with it and we might be able to merge his patches. So, Stefan,
> could you please post them? I suppose Matthias is the de-facto
> maintainer of clamav. You will need to merge these patches locally to
> see if clamav is happy with what Stefan has built.
I've created and pushed a new LLVM git branch in my personal git
repository, which builds the LLVM compiler suite.
https://git.ipfire.org/?p=people/stevee/ipfire-2.x.git;a=shortlog;h=refs/heads/llvm
I hope this will do the trick with the new clamav version.
Best regards,
-Stefan
>
> This will be an interesting project :)
>
> -Michael
>
> > Begin forwarded message:
> >
> > From: "Joel Esler (jesler)" <jesler(a)cisco.com>
> > Subject: [Clamav-announce] ClamAV® blog: ClamAV 0.104.0 released
> > Date: 3 September 2021 at 16:51:29 BST
> > To: "ClamAV-announce(a)lists.clamav.net" <
> > ClamAV-announce(a)lists.clamav.net>, "clamav-users(a)lists.clamav.net"
> > <clamav-users(a)lists.clamav.net>
> > Reply-To: noreply(a)clamav.net
> >
> >
> > >
> > > https://blog.clamav.net/2021/09/clamav-01040-released.html
> > >
> > > ClamAV 0.104.0 releasedClamAV 0.104.0 is available as an official
> > > release as of today.
> > > We are also announcing a new Long Term Support (LTS) program
> > > today in an update to our End-of-Life (EOL) policy. The LTS will
> > > start retroactively with ClamAV 0.103, the previous feature
> > > release. This new LTS policy extends the life of 0.103 up through
> > > September 2023 and will facilitate the production of more
> > > frequent feature releases while enabling users to rely on a
> > > supported version for years to come if they cannot keep pace with
> > > the feature release cadence. For full details about the Long Term
> > > Support program, you can see the LTS announcement blog post and
> > > review the LTS policy in our online documentation.
> > > We're also introducing new install packages to make it easier for
> > > folks to upgrade without having to build ClamAV from source and
> > > without having to wait for a community volunteer to package the
> > > latest release. You can find the new install packages on the
> > > ClamAV.net Downloads Page.
> > > Today you can find:
> > > * x86_64 and i686 RPM packages compatible with RPM-based Linux
> > > distributions running glibc version 2.17 or newer.
> > > * x86_64 and i686 DEB packages compatible with Debian-based
> > > Linux distributions running glibc version 2.23 or newer.
> > > * An x86_64/ARM64 macOS installer package is compatible with
> > > Intel and Apple M1 systems.
> > > * x64 and win32 Windows packages are compatible with Windows 7
> > > and newer.
> > > In the future, we hope to supplement these with ARM64 Linux DEB
> > > and RPM packages and an x86_64 FreeBSD package.
> > > Please note that you may find installations in this release
> > > require more manual configuration than when using a preconfigured
> > > package provided by a Linux or Unix distribution. See our
> > > installation instructions on clamav.net for more information.
> > > ClamAV 0.104.0 includes the following improvements and changes.
> > >
> > > New Requirements * As of ClamAV 0.104, CMake is required to build
> > > ClamAV.We have added comprehensive build instructions for using
> > > CMake to the new INSTALL.md file. The online documentation will
> > > also be updated to include CMake build instructions.The Autotools
> > > and the Visual Studio build systems have been removed.
> > >
> > > Major changes * The built-in LLVM for the bytecode runtime has
> > > been removed.The bytecode interpreter is the default runtime for
> > > bytecode signatures just as it was in ClamAV 0.103.We hoped to
> > > add support for newer versions of LLVM, but ran out of time. If
> > > you're building ClamAV from source and you wish to use LLVM
> > > instead of the bytecode interpreter, you will need to supply the
> > > development libraries for LLVM version 3.6.2. See the "bytecode
> > > runtime" section in INSTALL.md to learn more.
> > > * There are now official ClamAV images on Docker Hub.Docker Hub
> > > ClamAV tags:clamav/clamav:<version>: A release preloaded with
> > > signature databases.Using this container will save the ClamAV
> > > project some bandwidth. Use this if you will keep the image
> > > around so that you don't download the entire database set every
> > > time you start a new container. Updating with FreshClam from the
> > > existing databases set does not use much
> > > data.clamav/clamav:<version>_base: A release with no signature
> > > databases.Use this container only if you mount a volume in your
> > > container under /var/lib/clamav to persist your signature
> > > database databases. This method is the best option because it
> > > will reduce data costs for ClamAV and for the Docker registry,
> > > but it does require advanced familiarity with Linux and
> > > Docker.Caution: Using this image without mounting an existing
> > > database directory will cause FreshClam to download the entire
> > > database set each time you start a new container.You can use
> > > the unstable version
> > > (i.e. clamav/clamav:unstable or clamav/clamav:unstable_base) to
> > > try the latest from our development branch.Please, be kind when
> > > using 'free' bandwidth, both for the virus databases but also the
> > > Docker registry. Try not to download the entire database set or
> > > the larger ClamAV database images on a regular basis.For more
> > > details, see the ClamAV Docker documentation.Special thanks to
> > > Olliver Schinagl for his excellent work creating ClamAV's new
> > > Docker files, image database deployment tooling, and user
> > > documentation.
> > > * clamd and freshclam are now available as Windows services. To
> > > install and run them, use the --install-service option and net
> > > start [name] command.Special thanks to Gianluigi Tiesi for his
> > > original work on this feature.
> > >
> > > Notable changesThe following was added in 0.103.1 and is repeated
> > > here for awareness, as patch versions do not generally introduce
> > > new options:
> > > * Added a new scan option to alert on broken media (graphics)
> > > file formats. This feature mitigates the risk of malformed media
> > > files intended to exploit vulnerabilities in other software. At
> > > present, media validation exists for JPEG, TIFF, PNG and GIF
> > > files. To enable this feature, set AlertBrokenMedia yes in
> > > clamd.conf, or use the --alert-broken-media option when
> > > using clamscan. These options are disabled by default in this
> > > patch release but may be enabled in a subsequent release.
> > > Application developers may enable this scan option by
> > > enabling CL_SCAN_HEURISTIC_BROKEN_MEDIA for the heuristic scan
> > > option bit field.
> > > * Added CL_TYPE_TIFF, CL_TYPE_JPEG types to match GIF, PNG
> > > typing behavior. BMP and JPEG 2000 files will continue to detect
> > > as CL_TYPE_GRAPHICS because ClamAV does not yet have BMP or JPEG
> > > 2000 format checking capabilities.
> > > * Added progress callbacks to libclamav for:database
> > > load: cl_engine_set_clcb_sigload_progress()engine
> > > compile: cl_engine_set_clcb_engine_compile_progress()engine
> > > free: cl_engine_set_clcb_engine_free_progress()These new
> > > callbacks enable an application to monitor and estimate load,
> > > compile, and unload progress. See clamav.h for API details.
> > > * Added progress bars to ClamScan for the signature load and
> > > engine compile steps before a scan begins. The start-up progress
> > > bars won't be enabled if ClamScan isn't running in a terminal
> > > (i.e. stdout is not a TTY), or if any of these options are used:-
> > > -debug--quiet--infected--no-summary
> > > Other improvements * Added the %f format string option to the
> > > ClamD VirusEvent feature to insert the file path of the scan
> > > target when a virus-event occurs. This supplements the
> > > VirusEvent %v option which prints the signature (virus) name. The
> > > ClamD VirusEvent feature also provides two environment
> > > variables, $CLAM_VIRUSEVENT_FILENAME and $CLAM_VIRUSEVENT_VIRUSNA
> > > ME for a similar effect. Patch courtesy of Vasile Papp.
> > > * Improvements to the AutoIt extraction module. Patch courtesy
> > > of cw2k.
> > > * Added support for extracting images from Excel *.xls (OLE2)
> > > documents.
> > > * Trusted SHA256-based Authenticode hashes can now be loaded in
> > > from *.cat files. For more information, visit our Authenticode
> > > documentation about using *.cat files with *.crb rules to trust
> > > signed Windows executables.
> > >
> > > Bug fixes * Fixed a memory leak affecting logical signatures that
> > > use the "byte compare" feature. Patch courtesy of Andrea De
> > > Pasquale.
> > > * Fixed bytecode match evaluation for PDF bytecode hooks in PDF
> > > file scans.
> > > * Other minor bug fixes.
> > >
> > > AcknowledgmentsThe ClamAV team thanks the following individuals
> > > for their code submissions:
> > > * Alexander Golovach
> > > * Andrea De Pasquale
> > > * Andrew Williams
> > > * Arjen de Korte
> > > * Armin Kuster
> > > * Brian Bergstrand
> > > * cw2k
> > > * Duane Waddle
> > > * Gianluigi Tiesi
> > > * Jonas Zaddach
> > > * Kenneth Hau
> > > * Mark Fortescue
> > > * Markus Strehle
> > > * Olliver Schinagl
> > > * Orion Poplawski
> > > * Sergey Valentey
> > > * Sven Rueß
> > > * Tom Briden
> > > * Tuomo Soini
> > > * Vasile Papp
> > > * Yasuhiro Kimura
> > _______________________________________________
> >
> > clamav-announce mailing list
> > clamav-announce(a)lists.clamav.net
> > https://lists.clamav.net/mailman/listinfo/clamav-announce
> >
> > http://www.clamav.net/contact.html#ml
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Clamav-announce] ClamAV® blog: ClamAV 0.104.0 released
2021-09-03 16:36 ` Fwd: [Clamav-announce] ClamAV® blog: ClamAV 0.104.0 released Stefan Schantl
@ 2021-09-03 16:38 ` Michael Tremer
2021-09-03 17:59 ` Fwd: " Matthias Fischer
2021-09-04 3:58 ` Matthias Fischer
2 siblings, 0 replies; 9+ messages in thread
From: Michael Tremer @ 2021-09-03 16:38 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 10587 bytes --]
Hello,
> On 3 Sep 2021, at 17:36, Stefan Schantl <stefan.schantl(a)ipfire.org> wrote:
>
> Hello Michael, Hello Matthias, Hello list,
>> Hello everyone,
>>
>> I just received this announcement that clamav 0.104.0 has been
>> released.
>>
>> The interesting things for us are the changes in the build system:
>>
>> * It now requires cmake which isn’t a problem
>>
>> * It now requires LLVM which we don’t have
>>
>> LLVM is probably going to be large, but Stefan has already played
>> around with it and we might be able to merge his patches. So, Stefan,
>> could you please post them? I suppose Matthias is the de-facto
>> maintainer of clamav. You will need to merge these patches locally to
>> see if clamav is happy with what Stefan has built.
>
> I've created and pushed a new LLVM git branch in my personal git
> repository, which builds the LLVM compiler suite.
>
> https://git.ipfire.org/?p=people/stevee/ipfire-2.x.git;a=shortlog;h=refs/heads/llvm
Thank you. Just for reference, could you please post this as an —-rfc to the list?
> I hope this will do the trick with the new clamav version.
I hope so, too, but we might need to ship some runtime libraries. I just don’t know which ones they might be. Ideally I want to ship as little as possible.
-Michael
>
> Best regards,
>
> -Stefan
>
>>
>> This will be an interesting project :)
>>
>> -Michael
>>
>>> Begin forwarded message:
>>>
>>> From: "Joel Esler (jesler)" <jesler(a)cisco.com>
>>> Subject: [Clamav-announce] ClamAV® blog: ClamAV 0.104.0 released
>>> Date: 3 September 2021 at 16:51:29 BST
>>> To: "ClamAV-announce(a)lists.clamav.net" <
>>> ClamAV-announce(a)lists.clamav.net>, "clamav-users(a)lists.clamav.net"
>>> <clamav-users(a)lists.clamav.net>
>>> Reply-To: noreply(a)clamav.net
>>>
>>>
>>>>
>>>> https://blog.clamav.net/2021/09/clamav-01040-released.html
>>>>
>>>> ClamAV 0.104.0 releasedClamAV 0.104.0 is available as an official
>>>> release as of today.
>>>> We are also announcing a new Long Term Support (LTS) program
>>>> today in an update to our End-of-Life (EOL) policy. The LTS will
>>>> start retroactively with ClamAV 0.103, the previous feature
>>>> release. This new LTS policy extends the life of 0.103 up through
>>>> September 2023 and will facilitate the production of more
>>>> frequent feature releases while enabling users to rely on a
>>>> supported version for years to come if they cannot keep pace with
>>>> the feature release cadence. For full details about the Long Term
>>>> Support program, you can see the LTS announcement blog post and
>>>> review the LTS policy in our online documentation.
>>>> We're also introducing new install packages to make it easier for
>>>> folks to upgrade without having to build ClamAV from source and
>>>> without having to wait for a community volunteer to package the
>>>> latest release. You can find the new install packages on the
>>>> ClamAV.net Downloads Page.
>>>> Today you can find:
>>>> * x86_64 and i686 RPM packages compatible with RPM-based Linux
>>>> distributions running glibc version 2.17 or newer.
>>>> * x86_64 and i686 DEB packages compatible with Debian-based
>>>> Linux distributions running glibc version 2.23 or newer.
>>>> * An x86_64/ARM64 macOS installer package is compatible with
>>>> Intel and Apple M1 systems.
>>>> * x64 and win32 Windows packages are compatible with Windows 7
>>>> and newer.
>>>> In the future, we hope to supplement these with ARM64 Linux DEB
>>>> and RPM packages and an x86_64 FreeBSD package.
>>>> Please note that you may find installations in this release
>>>> require more manual configuration than when using a preconfigured
>>>> package provided by a Linux or Unix distribution. See our
>>>> installation instructions on clamav.net for more information.
>>>> ClamAV 0.104.0 includes the following improvements and changes.
>>>>
>>>> New Requirements * As of ClamAV 0.104, CMake is required to build
>>>> ClamAV.We have added comprehensive build instructions for using
>>>> CMake to the new INSTALL.md file. The online documentation will
>>>> also be updated to include CMake build instructions.The Autotools
>>>> and the Visual Studio build systems have been removed.
>>>>
>>>> Major changes * The built-in LLVM for the bytecode runtime has
>>>> been removed.The bytecode interpreter is the default runtime for
>>>> bytecode signatures just as it was in ClamAV 0.103.We hoped to
>>>> add support for newer versions of LLVM, but ran out of time. If
>>>> you're building ClamAV from source and you wish to use LLVM
>>>> instead of the bytecode interpreter, you will need to supply the
>>>> development libraries for LLVM version 3.6.2. See the "bytecode
>>>> runtime" section in INSTALL.md to learn more.
>>>> * There are now official ClamAV images on Docker Hub.Docker Hub
>>>> ClamAV tags:clamav/clamav:<version>: A release preloaded with
>>>> signature databases.Using this container will save the ClamAV
>>>> project some bandwidth. Use this if you will keep the image
>>>> around so that you don't download the entire database set every
>>>> time you start a new container. Updating with FreshClam from the
>>>> existing databases set does not use much
>>>> data.clamav/clamav:<version>_base: A release with no signature
>>>> databases.Use this container only if you mount a volume in your
>>>> container under /var/lib/clamav to persist your signature
>>>> database databases. This method is the best option because it
>>>> will reduce data costs for ClamAV and for the Docker registry,
>>>> but it does require advanced familiarity with Linux and
>>>> Docker.Caution: Using this image without mounting an existing
>>>> database directory will cause FreshClam to download the entire
>>>> database set each time you start a new container.You can use
>>>> the unstable version
>>>> (i.e. clamav/clamav:unstable or clamav/clamav:unstable_base) to
>>>> try the latest from our development branch.Please, be kind when
>>>> using 'free' bandwidth, both for the virus databases but also the
>>>> Docker registry. Try not to download the entire database set or
>>>> the larger ClamAV database images on a regular basis.For more
>>>> details, see the ClamAV Docker documentation.Special thanks to
>>>> Olliver Schinagl for his excellent work creating ClamAV's new
>>>> Docker files, image database deployment tooling, and user
>>>> documentation.
>>>> * clamd and freshclam are now available as Windows services. To
>>>> install and run them, use the --install-service option and net
>>>> start [name] command.Special thanks to Gianluigi Tiesi for his
>>>> original work on this feature.
>>>>
>>>> Notable changesThe following was added in 0.103.1 and is repeated
>>>> here for awareness, as patch versions do not generally introduce
>>>> new options:
>>>> * Added a new scan option to alert on broken media (graphics)
>>>> file formats. This feature mitigates the risk of malformed media
>>>> files intended to exploit vulnerabilities in other software. At
>>>> present, media validation exists for JPEG, TIFF, PNG and GIF
>>>> files. To enable this feature, set AlertBrokenMedia yes in
>>>> clamd.conf, or use the --alert-broken-media option when
>>>> using clamscan. These options are disabled by default in this
>>>> patch release but may be enabled in a subsequent release.
>>>> Application developers may enable this scan option by
>>>> enabling CL_SCAN_HEURISTIC_BROKEN_MEDIA for the heuristic scan
>>>> option bit field.
>>>> * Added CL_TYPE_TIFF, CL_TYPE_JPEG types to match GIF, PNG
>>>> typing behavior. BMP and JPEG 2000 files will continue to detect
>>>> as CL_TYPE_GRAPHICS because ClamAV does not yet have BMP or JPEG
>>>> 2000 format checking capabilities.
>>>> * Added progress callbacks to libclamav for:database
>>>> load: cl_engine_set_clcb_sigload_progress()engine
>>>> compile: cl_engine_set_clcb_engine_compile_progress()engine
>>>> free: cl_engine_set_clcb_engine_free_progress()These new
>>>> callbacks enable an application to monitor and estimate load,
>>>> compile, and unload progress. See clamav.h for API details.
>>>> * Added progress bars to ClamScan for the signature load and
>>>> engine compile steps before a scan begins. The start-up progress
>>>> bars won't be enabled if ClamScan isn't running in a terminal
>>>> (i.e. stdout is not a TTY), or if any of these options are used:-
>>>> -debug--quiet--infected--no-summary
>>>> Other improvements * Added the %f format string option to the
>>>> ClamD VirusEvent feature to insert the file path of the scan
>>>> target when a virus-event occurs. This supplements the
>>>> VirusEvent %v option which prints the signature (virus) name. The
>>>> ClamD VirusEvent feature also provides two environment
>>>> variables, $CLAM_VIRUSEVENT_FILENAME and $CLAM_VIRUSEVENT_VIRUSNA
>>>> ME for a similar effect. Patch courtesy of Vasile Papp.
>>>> * Improvements to the AutoIt extraction module. Patch courtesy
>>>> of cw2k.
>>>> * Added support for extracting images from Excel *.xls (OLE2)
>>>> documents.
>>>> * Trusted SHA256-based Authenticode hashes can now be loaded in
>>>> from *.cat files. For more information, visit our Authenticode
>>>> documentation about using *.cat files with *.crb rules to trust
>>>> signed Windows executables.
>>>>
>>>> Bug fixes * Fixed a memory leak affecting logical signatures that
>>>> use the "byte compare" feature. Patch courtesy of Andrea De
>>>> Pasquale.
>>>> * Fixed bytecode match evaluation for PDF bytecode hooks in PDF
>>>> file scans.
>>>> * Other minor bug fixes.
>>>>
>>>> AcknowledgmentsThe ClamAV team thanks the following individuals
>>>> for their code submissions:
>>>> * Alexander Golovach
>>>> * Andrea De Pasquale
>>>> * Andrew Williams
>>>> * Arjen de Korte
>>>> * Armin Kuster
>>>> * Brian Bergstrand
>>>> * cw2k
>>>> * Duane Waddle
>>>> * Gianluigi Tiesi
>>>> * Jonas Zaddach
>>>> * Kenneth Hau
>>>> * Mark Fortescue
>>>> * Markus Strehle
>>>> * Olliver Schinagl
>>>> * Orion Poplawski
>>>> * Sergey Valentey
>>>> * Sven Rueß
>>>> * Tom Briden
>>>> * Tuomo Soini
>>>> * Vasile Papp
>>>> * Yasuhiro Kimura
>>> _______________________________________________
>>>
>>> clamav-announce mailing list
>>> clamav-announce(a)lists.clamav.net
>>> https://lists.clamav.net/mailman/listinfo/clamav-announce
>>>
>>> http://www.clamav.net/contact.html#ml
>>
>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Fwd: [Clamav-announce] ClamAV® blog: ClamAV 0.104.0 released
2021-09-03 16:36 ` Fwd: [Clamav-announce] ClamAV® blog: ClamAV 0.104.0 released Stefan Schantl
2021-09-03 16:38 ` Michael Tremer
@ 2021-09-03 17:59 ` Matthias Fischer
2021-09-04 3:58 ` Matthias Fischer
2 siblings, 0 replies; 9+ messages in thread
From: Matthias Fischer @ 2021-09-03 17:59 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 10759 bytes --]
Hi,
On 03.09.2021 18:36, Stefan Schantl wrote:
> Hello Michael, Hello Matthias, Hello list,
>> Hello everyone,
>>
>> I just received this announcement that clamav 0.104.0 has been
>> released.
>>
>> The interesting things for us are the changes in the build system:
>>
>> * It now requires cmake which isn’t a problem
>>
>> * It now requires LLVM which we don’t have
>>
>> LLVM is probably going to be large, but Stefan has already played
>> around with it and we might be able to merge his patches. So, Stefan,
>> could you please post them? I suppose Matthias is the de-facto
>> maintainer of clamav. You will need to merge these patches locally to
>> see if clamav is happy with what Stefan has built.
>
> I've created and pushed a new LLVM git branch in my personal git
> repository, which builds the LLVM compiler suite.
>
> https://git.ipfire.org/?p=people/stevee/ipfire-2.x.git;a=shortlog;h=refs/heads/llvm
>
> I hope this will do the trick with the new clamav version.
Thanks Stefan,
I'll take a look...
Best,
Matthias
> Best regards,
>
> -Stefan
>
>>
>> This will be an interesting project :)
>>
>> -Michael
>>
>> > Begin forwarded message:
>> >
>> > From: "Joel Esler (jesler)" <jesler(a)cisco.com>
>> > Subject: [Clamav-announce] ClamAV® blog: ClamAV 0.104.0 released
>> > Date: 3 September 2021 at 16:51:29 BST
>> > To: "ClamAV-announce(a)lists.clamav.net" <
>> > ClamAV-announce(a)lists.clamav.net>, "clamav-users(a)lists.clamav.net"
>> > <clamav-users(a)lists.clamav.net>
>> > Reply-To: noreply(a)clamav.net
>> >
>> >
>> > >
>> > > https://blog.clamav.net/2021/09/clamav-01040-released.html
>> > >
>> > > ClamAV 0.104.0 releasedClamAV 0.104.0 is available as an official
>> > > release as of today.
>> > > We are also announcing a new Long Term Support (LTS) program
>> > > today in an update to our End-of-Life (EOL) policy. The LTS will
>> > > start retroactively with ClamAV 0.103, the previous feature
>> > > release. This new LTS policy extends the life of 0.103 up through
>> > > September 2023 and will facilitate the production of more
>> > > frequent feature releases while enabling users to rely on a
>> > > supported version for years to come if they cannot keep pace with
>> > > the feature release cadence. For full details about the Long Term
>> > > Support program, you can see the LTS announcement blog post and
>> > > review the LTS policy in our online documentation.
>> > > We're also introducing new install packages to make it easier for
>> > > folks to upgrade without having to build ClamAV from source and
>> > > without having to wait for a community volunteer to package the
>> > > latest release. You can find the new install packages on the
>> > > ClamAV.net Downloads Page.
>> > > Today you can find:
>> > > * x86_64 and i686 RPM packages compatible with RPM-based Linux
>> > > distributions running glibc version 2.17 or newer.
>> > > * x86_64 and i686 DEB packages compatible with Debian-based
>> > > Linux distributions running glibc version 2.23 or newer.
>> > > * An x86_64/ARM64 macOS installer package is compatible with
>> > > Intel and Apple M1 systems.
>> > > * x64 and win32 Windows packages are compatible with Windows 7
>> > > and newer.
>> > > In the future, we hope to supplement these with ARM64 Linux DEB
>> > > and RPM packages and an x86_64 FreeBSD package.
>> > > Please note that you may find installations in this release
>> > > require more manual configuration than when using a preconfigured
>> > > package provided by a Linux or Unix distribution. See our
>> > > installation instructions on clamav.net for more information.
>> > > ClamAV 0.104.0 includes the following improvements and changes.
>> > >
>> > > New Requirements * As of ClamAV 0.104, CMake is required to build
>> > > ClamAV.We have added comprehensive build instructions for using
>> > > CMake to the new INSTALL.md file. The online documentation will
>> > > also be updated to include CMake build instructions.The Autotools
>> > > and the Visual Studio build systems have been removed.
>> > >
>> > > Major changes * The built-in LLVM for the bytecode runtime has
>> > > been removed.The bytecode interpreter is the default runtime for
>> > > bytecode signatures just as it was in ClamAV 0.103.We hoped to
>> > > add support for newer versions of LLVM, but ran out of time. If
>> > > you're building ClamAV from source and you wish to use LLVM
>> > > instead of the bytecode interpreter, you will need to supply the
>> > > development libraries for LLVM version 3.6.2. See the "bytecode
>> > > runtime" section in INSTALL.md to learn more.
>> > > * There are now official ClamAV images on Docker Hub.Docker Hub
>> > > ClamAV tags:clamav/clamav:<version>: A release preloaded with
>> > > signature databases.Using this container will save the ClamAV
>> > > project some bandwidth. Use this if you will keep the image
>> > > around so that you don't download the entire database set every
>> > > time you start a new container. Updating with FreshClam from the
>> > > existing databases set does not use much
>> > > data.clamav/clamav:<version>_base: A release with no signature
>> > > databases.Use this container only if you mount a volume in your
>> > > container under /var/lib/clamav to persist your signature
>> > > database databases. This method is the best option because it
>> > > will reduce data costs for ClamAV and for the Docker registry,
>> > > but it does require advanced familiarity with Linux and
>> > > Docker.Caution: Using this image without mounting an existing
>> > > database directory will cause FreshClam to download the entire
>> > > database set each time you start a new container.You can use
>> > > the unstable version
>> > > (i.e. clamav/clamav:unstable or clamav/clamav:unstable_base) to
>> > > try the latest from our development branch.Please, be kind when
>> > > using 'free' bandwidth, both for the virus databases but also the
>> > > Docker registry. Try not to download the entire database set or
>> > > the larger ClamAV database images on a regular basis.For more
>> > > details, see the ClamAV Docker documentation.Special thanks to
>> > > Olliver Schinagl for his excellent work creating ClamAV's new
>> > > Docker files, image database deployment tooling, and user
>> > > documentation.
>> > > * clamd and freshclam are now available as Windows services. To
>> > > install and run them, use the --install-service option and net
>> > > start [name] command.Special thanks to Gianluigi Tiesi for his
>> > > original work on this feature.
>> > >
>> > > Notable changesThe following was added in 0.103.1 and is repeated
>> > > here for awareness, as patch versions do not generally introduce
>> > > new options:
>> > > * Added a new scan option to alert on broken media (graphics)
>> > > file formats. This feature mitigates the risk of malformed media
>> > > files intended to exploit vulnerabilities in other software. At
>> > > present, media validation exists for JPEG, TIFF, PNG and GIF
>> > > files. To enable this feature, set AlertBrokenMedia yes in
>> > > clamd.conf, or use the --alert-broken-media option when
>> > > using clamscan. These options are disabled by default in this
>> > > patch release but may be enabled in a subsequent release.
>> > > Application developers may enable this scan option by
>> > > enabling CL_SCAN_HEURISTIC_BROKEN_MEDIA for the heuristic scan
>> > > option bit field.
>> > > * Added CL_TYPE_TIFF, CL_TYPE_JPEG types to match GIF, PNG
>> > > typing behavior. BMP and JPEG 2000 files will continue to detect
>> > > as CL_TYPE_GRAPHICS because ClamAV does not yet have BMP or JPEG
>> > > 2000 format checking capabilities.
>> > > * Added progress callbacks to libclamav for:database
>> > > load: cl_engine_set_clcb_sigload_progress()engine
>> > > compile: cl_engine_set_clcb_engine_compile_progress()engine
>> > > free: cl_engine_set_clcb_engine_free_progress()These new
>> > > callbacks enable an application to monitor and estimate load,
>> > > compile, and unload progress. See clamav.h for API details.
>> > > * Added progress bars to ClamScan for the signature load and
>> > > engine compile steps before a scan begins. The start-up progress
>> > > bars won't be enabled if ClamScan isn't running in a terminal
>> > > (i.e. stdout is not a TTY), or if any of these options are used:-
>> > > -debug--quiet--infected--no-summary
>> > > Other improvements * Added the %f format string option to the
>> > > ClamD VirusEvent feature to insert the file path of the scan
>> > > target when a virus-event occurs. This supplements the
>> > > VirusEvent %v option which prints the signature (virus) name. The
>> > > ClamD VirusEvent feature also provides two environment
>> > > variables, $CLAM_VIRUSEVENT_FILENAME and $CLAM_VIRUSEVENT_VIRUSNA
>> > > ME for a similar effect. Patch courtesy of Vasile Papp.
>> > > * Improvements to the AutoIt extraction module. Patch courtesy
>> > > of cw2k.
>> > > * Added support for extracting images from Excel *.xls (OLE2)
>> > > documents.
>> > > * Trusted SHA256-based Authenticode hashes can now be loaded in
>> > > from *.cat files. For more information, visit our Authenticode
>> > > documentation about using *.cat files with *.crb rules to trust
>> > > signed Windows executables.
>> > >
>> > > Bug fixes * Fixed a memory leak affecting logical signatures that
>> > > use the "byte compare" feature. Patch courtesy of Andrea De
>> > > Pasquale.
>> > > * Fixed bytecode match evaluation for PDF bytecode hooks in PDF
>> > > file scans.
>> > > * Other minor bug fixes.
>> > >
>> > > AcknowledgmentsThe ClamAV team thanks the following individuals
>> > > for their code submissions:
>> > > * Alexander Golovach
>> > > * Andrea De Pasquale
>> > > * Andrew Williams
>> > > * Arjen de Korte
>> > > * Armin Kuster
>> > > * Brian Bergstrand
>> > > * cw2k
>> > > * Duane Waddle
>> > > * Gianluigi Tiesi
>> > > * Jonas Zaddach
>> > > * Kenneth Hau
>> > > * Mark Fortescue
>> > > * Markus Strehle
>> > > * Olliver Schinagl
>> > > * Orion Poplawski
>> > > * Sergey Valentey
>> > > * Sven Rueß
>> > > * Tom Briden
>> > > * Tuomo Soini
>> > > * Vasile Papp
>> > > * Yasuhiro Kimura
>> > _______________________________________________
>> >
>> > clamav-announce mailing list
>> > clamav-announce(a)lists.clamav.net
>> > https://lists.clamav.net/mailman/listinfo/clamav-announce
>> >
>> > http://www.clamav.net/contact.html#ml
>>
>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Fwd: [Clamav-announce] ClamAV® blog: ClamAV 0.104.0 released
2021-09-03 16:36 ` Fwd: [Clamav-announce] ClamAV® blog: ClamAV 0.104.0 released Stefan Schantl
2021-09-03 16:38 ` Michael Tremer
2021-09-03 17:59 ` Fwd: " Matthias Fischer
@ 2021-09-04 3:58 ` Matthias Fischer
2021-09-04 11:38 ` Michael Tremer
2 siblings, 1 reply; 9+ messages in thread
From: Matthias Fischer @ 2021-09-04 3:58 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 11784 bytes --]
Hi all,
On 03.09.2021 18:36, Stefan Schantl wrote:
> Hello Michael, Hello Matthias, Hello list,
>> Hello everyone,
>>
>> I just received this announcement that clamav 0.104.0 has been
>> released.
>>
>> The interesting things for us are the changes in the build system:
>>
>> * It now requires cmake which isn’t a problem
Yep. Done.
I already did a few - early tests with 'clamav 0.104-rc. I'm still not
100% sure about the needed options, but it builds (see attached lfs-file).
>> * It now requires LLVM which we don’t have
>>
>> LLVM is probably going to be large, but Stefan has already played
>> around with it and we might be able to merge his patches. So, Stefan,
>> could you please post them? I suppose Matthias is the de-facto
>> maintainer of clamav. You will need to merge these patches locally to
>> see if clamav is happy with what Stefan has built.
>
> I've created and pushed a new LLVM git branch in my personal git
> repository, which builds the LLVM compiler suite.
>
> https://git.ipfire.org/?p=people/stevee/ipfire-2.x.git;a=shortlog;h=refs/heads/llvm
>
> I hope this will do the trick with the new clamav version.
I'm not sure at this point.
I think we need to add something like "-D BYTECODE_RUNTIME="llvm" \" for
building 'clamav'.
Stefan provided the current 'llvm 12.0.1'. Thanks again!
But the clamav announcement - please read below - says:
"We hoped to add support for newer versions of LLVM, but ran out of
time. If you're building ClamAV from source and you wish to use LLVM
instead of the bytecode interpreter, you will need to supply the
development libraries for LLVM version 3.6.2."
First build - *without* BYTECODE_RUNTIME="llvm" - seems to build ok,
next I'll test building *with* this option. I'm just a bit puzzled if I
should use 12.0.1 or 3.6.2. The latter is a bit old(!?). Or do I miss
something?
And since the 'llvm' rootfile is quite large: does anyone have an idea
what llvm-parts (/usr/bin/...? /usr/lib/...?) are needed (see attachment).
Best,
Matthias
> Best regards,
>
> -Stefan
>
>>
>> This will be an interesting project :)
I think so... ;-)
>> -Michael
>>
>> > Begin forwarded message:
>> >
>> > From: "Joel Esler (jesler)" <jesler(a)cisco.com>
>> > Subject: [Clamav-announce] ClamAV® blog: ClamAV 0.104.0 released
>> > Date: 3 September 2021 at 16:51:29 BST
>> > To: "ClamAV-announce(a)lists.clamav.net" <
>> > ClamAV-announce(a)lists.clamav.net>, "clamav-users(a)lists.clamav.net"
>> > <clamav-users(a)lists.clamav.net>
>> > Reply-To: noreply(a)clamav.net
>> >
>> >
>> > >
>> > > https://blog.clamav.net/2021/09/clamav-01040-released.html
>> > >
>> > > ClamAV 0.104.0 releasedClamAV 0.104.0 is available as an official
>> > > release as of today.
>> > > We are also announcing a new Long Term Support (LTS) program
>> > > today in an update to our End-of-Life (EOL) policy. The LTS will
>> > > start retroactively with ClamAV 0.103, the previous feature
>> > > release. This new LTS policy extends the life of 0.103 up through
>> > > September 2023 and will facilitate the production of more
>> > > frequent feature releases while enabling users to rely on a
>> > > supported version for years to come if they cannot keep pace with
>> > > the feature release cadence. For full details about the Long Term
>> > > Support program, you can see the LTS announcement blog post and
>> > > review the LTS policy in our online documentation.
>> > > We're also introducing new install packages to make it easier for
>> > > folks to upgrade without having to build ClamAV from source and
>> > > without having to wait for a community volunteer to package the
>> > > latest release. You can find the new install packages on the
>> > > ClamAV.net Downloads Page.
>> > > Today you can find:
>> > > * x86_64 and i686 RPM packages compatible with RPM-based Linux
>> > > distributions running glibc version 2.17 or newer.
>> > > * x86_64 and i686 DEB packages compatible with Debian-based
>> > > Linux distributions running glibc version 2.23 or newer.
>> > > * An x86_64/ARM64 macOS installer package is compatible with
>> > > Intel and Apple M1 systems.
>> > > * x64 and win32 Windows packages are compatible with Windows 7
>> > > and newer.
>> > > In the future, we hope to supplement these with ARM64 Linux DEB
>> > > and RPM packages and an x86_64 FreeBSD package.
>> > > Please note that you may find installations in this release
>> > > require more manual configuration than when using a preconfigured
>> > > package provided by a Linux or Unix distribution. See our
>> > > installation instructions on clamav.net for more information.
>> > > ClamAV 0.104.0 includes the following improvements and changes.
>> > >
>> > > New Requirements * As of ClamAV 0.104, CMake is required to build
>> > > ClamAV.We have added comprehensive build instructions for using
>> > > CMake to the new INSTALL.md file. The online documentation will
>> > > also be updated to include CMake build instructions.The Autotools
>> > > and the Visual Studio build systems have been removed.
>> > >
>> > > Major changes * The built-in LLVM for the bytecode runtime has
>> > > been removed.The bytecode interpreter is the default runtime for
>> > > bytecode signatures just as it was in ClamAV 0.103.We hoped to
>> > > add support for newer versions of LLVM, but ran out of time. If
>> > > you're building ClamAV from source and you wish to use LLVM
>> > > instead of the bytecode interpreter, you will need to supply the
>> > > development libraries for LLVM version 3.6.2. See the "bytecode
>> > > runtime" section in INSTALL.md to learn more.
>> > > * There are now official ClamAV images on Docker Hub.Docker Hub
>> > > ClamAV tags:clamav/clamav:<version>: A release preloaded with
>> > > signature databases.Using this container will save the ClamAV
>> > > project some bandwidth. Use this if you will keep the image
>> > > around so that you don't download the entire database set every
>> > > time you start a new container. Updating with FreshClam from the
>> > > existing databases set does not use much
>> > > data.clamav/clamav:<version>_base: A release with no signature
>> > > databases.Use this container only if you mount a volume in your
>> > > container under /var/lib/clamav to persist your signature
>> > > database databases. This method is the best option because it
>> > > will reduce data costs for ClamAV and for the Docker registry,
>> > > but it does require advanced familiarity with Linux and
>> > > Docker.Caution: Using this image without mounting an existing
>> > > database directory will cause FreshClam to download the entire
>> > > database set each time you start a new container.You can use
>> > > the unstable version
>> > > (i.e. clamav/clamav:unstable or clamav/clamav:unstable_base) to
>> > > try the latest from our development branch.Please, be kind when
>> > > using 'free' bandwidth, both for the virus databases but also the
>> > > Docker registry. Try not to download the entire database set or
>> > > the larger ClamAV database images on a regular basis.For more
>> > > details, see the ClamAV Docker documentation.Special thanks to
>> > > Olliver Schinagl for his excellent work creating ClamAV's new
>> > > Docker files, image database deployment tooling, and user
>> > > documentation.
>> > > * clamd and freshclam are now available as Windows services. To
>> > > install and run them, use the --install-service option and net
>> > > start [name] command.Special thanks to Gianluigi Tiesi for his
>> > > original work on this feature.
>> > >
>> > > Notable changesThe following was added in 0.103.1 and is repeated
>> > > here for awareness, as patch versions do not generally introduce
>> > > new options:
>> > > * Added a new scan option to alert on broken media (graphics)
>> > > file formats. This feature mitigates the risk of malformed media
>> > > files intended to exploit vulnerabilities in other software. At
>> > > present, media validation exists for JPEG, TIFF, PNG and GIF
>> > > files. To enable this feature, set AlertBrokenMedia yes in
>> > > clamd.conf, or use the --alert-broken-media option when
>> > > using clamscan. These options are disabled by default in this
>> > > patch release but may be enabled in a subsequent release.
>> > > Application developers may enable this scan option by
>> > > enabling CL_SCAN_HEURISTIC_BROKEN_MEDIA for the heuristic scan
>> > > option bit field.
>> > > * Added CL_TYPE_TIFF, CL_TYPE_JPEG types to match GIF, PNG
>> > > typing behavior. BMP and JPEG 2000 files will continue to detect
>> > > as CL_TYPE_GRAPHICS because ClamAV does not yet have BMP or JPEG
>> > > 2000 format checking capabilities.
>> > > * Added progress callbacks to libclamav for:database
>> > > load: cl_engine_set_clcb_sigload_progress()engine
>> > > compile: cl_engine_set_clcb_engine_compile_progress()engine
>> > > free: cl_engine_set_clcb_engine_free_progress()These new
>> > > callbacks enable an application to monitor and estimate load,
>> > > compile, and unload progress. See clamav.h for API details.
>> > > * Added progress bars to ClamScan for the signature load and
>> > > engine compile steps before a scan begins. The start-up progress
>> > > bars won't be enabled if ClamScan isn't running in a terminal
>> > > (i.e. stdout is not a TTY), or if any of these options are used:-
>> > > -debug--quiet--infected--no-summary
>> > > Other improvements * Added the %f format string option to the
>> > > ClamD VirusEvent feature to insert the file path of the scan
>> > > target when a virus-event occurs. This supplements the
>> > > VirusEvent %v option which prints the signature (virus) name. The
>> > > ClamD VirusEvent feature also provides two environment
>> > > variables, $CLAM_VIRUSEVENT_FILENAME and $CLAM_VIRUSEVENT_VIRUSNA
>> > > ME for a similar effect. Patch courtesy of Vasile Papp.
>> > > * Improvements to the AutoIt extraction module. Patch courtesy
>> > > of cw2k.
>> > > * Added support for extracting images from Excel *.xls (OLE2)
>> > > documents.
>> > > * Trusted SHA256-based Authenticode hashes can now be loaded in
>> > > from *.cat files. For more information, visit our Authenticode
>> > > documentation about using *.cat files with *.crb rules to trust
>> > > signed Windows executables.
>> > >
>> > > Bug fixes * Fixed a memory leak affecting logical signatures that
>> > > use the "byte compare" feature. Patch courtesy of Andrea De
>> > > Pasquale.
>> > > * Fixed bytecode match evaluation for PDF bytecode hooks in PDF
>> > > file scans.
>> > > * Other minor bug fixes.
>> > >
>> > > AcknowledgmentsThe ClamAV team thanks the following individuals
>> > > for their code submissions:
>> > > * Alexander Golovach
>> > > * Andrea De Pasquale
>> > > * Andrew Williams
>> > > * Arjen de Korte
>> > > * Armin Kuster
>> > > * Brian Bergstrand
>> > > * cw2k
>> > > * Duane Waddle
>> > > * Gianluigi Tiesi
>> > > * Jonas Zaddach
>> > > * Kenneth Hau
>> > > * Mark Fortescue
>> > > * Markus Strehle
>> > > * Olliver Schinagl
>> > > * Orion Poplawski
>> > > * Sergey Valentey
>> > > * Sven Rueß
>> > > * Tom Briden
>> > > * Tuomo Soini
>> > > * Vasile Papp
>> > > * Yasuhiro Kimura
>> > _______________________________________________
>> >
>> > clamav-announce mailing list
>> > clamav-announce(a)lists.clamav.net
>> > https://lists.clamav.net/mailman/listinfo/clamav-announce
>> >
>> > http://www.clamav.net/contact.html#ml
>>
>
>
[-- Attachment #2: llvm-12.0.1 --]
[-- Type: text/plain, Size: 124277 bytes --]
+usr/bin/bugpoint
+usr/bin/c-index-test
+usr/bin/clang
+usr/bin/clang++
+usr/bin/clang-12
+usr/bin/clang-check
+usr/bin/clang-cl
+usr/bin/clang-cpp
+usr/bin/clang-extdef-mapping
+usr/bin/clang-format
+usr/bin/clang-offload-bundler
+usr/bin/clang-offload-wrapper
+usr/bin/clang-refactor
+usr/bin/clang-rename
+usr/bin/clang-scan-deps
+usr/bin/diagtool
+usr/bin/dsymutil
+usr/bin/git-clang-format
+usr/bin/hmaptool
+usr/bin/llc
+usr/bin/lli
+usr/bin/llvm-addr2line
+usr/bin/llvm-ar
+usr/bin/llvm-as
+usr/bin/llvm-bcanalyzer
+usr/bin/llvm-bitcode-strip
+usr/bin/llvm-c-test
+usr/bin/llvm-cat
+usr/bin/llvm-cfi-verify
+usr/bin/llvm-config
+usr/bin/llvm-cov
+usr/bin/llvm-cvtres
+usr/bin/llvm-cxxdump
+usr/bin/llvm-cxxfilt
+usr/bin/llvm-cxxmap
+usr/bin/llvm-diff
+usr/bin/llvm-dis
+usr/bin/llvm-dlltool
+usr/bin/llvm-dwarfdump
+usr/bin/llvm-dwp
+usr/bin/llvm-elfabi
+usr/bin/llvm-exegesis
+usr/bin/llvm-extract
+usr/bin/llvm-gsymutil
+usr/bin/llvm-ifs
+usr/bin/llvm-install-name-tool
+usr/bin/llvm-jitlink
+usr/bin/llvm-lib
+usr/bin/llvm-libtool-darwin
+usr/bin/llvm-link
+usr/bin/llvm-lipo
+usr/bin/llvm-lto
+usr/bin/llvm-lto2
+usr/bin/llvm-mc
+usr/bin/llvm-mca
+usr/bin/llvm-ml
+usr/bin/llvm-modextract
+usr/bin/llvm-mt
+usr/bin/llvm-nm
+usr/bin/llvm-objcopy
+usr/bin/llvm-objdump
+usr/bin/llvm-opt-report
+usr/bin/llvm-pdbutil
+usr/bin/llvm-profdata
+usr/bin/llvm-profgen
+usr/bin/llvm-ranlib
+usr/bin/llvm-rc
+usr/bin/llvm-readelf
+usr/bin/llvm-readobj
+usr/bin/llvm-reduce
+usr/bin/llvm-rtdyld
+usr/bin/llvm-size
+usr/bin/llvm-split
+usr/bin/llvm-stress
+usr/bin/llvm-strings
+usr/bin/llvm-strip
+usr/bin/llvm-symbolizer
+usr/bin/llvm-tblgen
+usr/bin/llvm-undname
+usr/bin/llvm-xray
+usr/bin/opt
+usr/bin/sancov
+usr/bin/sanstats
+usr/bin/scan-build
+usr/bin/scan-view
+usr/bin/split-file
+usr/bin/verify-uselistorder
+usr/include/clang
+usr/include/clang-c
+usr/include/clang-c/BuildSystem.h
+usr/include/clang-c/CXCompilationDatabase.h
+usr/include/clang-c/CXErrorCode.h
+usr/include/clang-c/CXString.h
+usr/include/clang-c/Documentation.h
+usr/include/clang-c/ExternC.h
+usr/include/clang-c/FatalErrorHandler.h
+usr/include/clang-c/Index.h
+usr/include/clang-c/Platform.h
+usr/include/clang-c/Rewrite.h
+usr/include/clang/APINotes
+usr/include/clang/APINotes/APINotesYAMLCompiler.h
+usr/include/clang/APINotes/Types.h
+usr/include/clang/ARCMigrate
+usr/include/clang/ARCMigrate/ARCMT.h
+usr/include/clang/ARCMigrate/ARCMTActions.h
+usr/include/clang/ARCMigrate/FileRemapper.h
+usr/include/clang/AST
+usr/include/clang/AST/APValue.h
+usr/include/clang/AST/AST.h
+usr/include/clang/AST/ASTConcept.h
+usr/include/clang/AST/ASTConsumer.h
+usr/include/clang/AST/ASTContext.h
+usr/include/clang/AST/ASTContextAllocate.h
+usr/include/clang/AST/ASTDiagnostic.h
+usr/include/clang/AST/ASTDumper.h
+usr/include/clang/AST/ASTDumperUtils.h
+usr/include/clang/AST/ASTFwd.h
+usr/include/clang/AST/ASTImporter.h
+usr/include/clang/AST/ASTImporterLookupTable.h
+usr/include/clang/AST/ASTImporterSharedState.h
+usr/include/clang/AST/ASTLambda.h
+usr/include/clang/AST/ASTMutationListener.h
+usr/include/clang/AST/ASTNodeTraverser.h
+usr/include/clang/AST/ASTStructuralEquivalence.h
+usr/include/clang/AST/ASTTypeTraits.h
+usr/include/clang/AST/ASTUnresolvedSet.h
+usr/include/clang/AST/ASTVector.h
+usr/include/clang/AST/AbstractBasicReader.h
+usr/include/clang/AST/AbstractBasicReader.inc
+usr/include/clang/AST/AbstractBasicWriter.h
+usr/include/clang/AST/AbstractBasicWriter.inc
+usr/include/clang/AST/AbstractTypeReader.h
+usr/include/clang/AST/AbstractTypeReader.inc
+usr/include/clang/AST/AbstractTypeWriter.h
+usr/include/clang/AST/AbstractTypeWriter.inc
+usr/include/clang/AST/Attr.h
+usr/include/clang/AST/AttrImpl.inc
+usr/include/clang/AST/AttrIterator.h
+usr/include/clang/AST/AttrNodeTraverse.inc
+usr/include/clang/AST/AttrTextNodeDump.inc
+usr/include/clang/AST/AttrVisitor.h
+usr/include/clang/AST/AttrVisitor.inc
+usr/include/clang/AST/Attrs.inc
+usr/include/clang/AST/Availability.h
+usr/include/clang/AST/BaseSubobject.h
+usr/include/clang/AST/BuiltinTypes.def
+usr/include/clang/AST/CXXInheritance.h
+usr/include/clang/AST/CXXRecordDeclDefinitionBits.def
+usr/include/clang/AST/CanonicalType.h
+usr/include/clang/AST/CharUnits.h
+usr/include/clang/AST/Comment.h
+usr/include/clang/AST/CommentBriefParser.h
+usr/include/clang/AST/CommentCommandInfo.inc
+usr/include/clang/AST/CommentCommandList.inc
+usr/include/clang/AST/CommentCommandTraits.h
+usr/include/clang/AST/CommentDiagnostic.h
+usr/include/clang/AST/CommentHTMLNamedCharacterReferences.inc
+usr/include/clang/AST/CommentHTMLTags.inc
+usr/include/clang/AST/CommentHTMLTagsProperties.inc
+usr/include/clang/AST/CommentLexer.h
+usr/include/clang/AST/CommentNodes.inc
+usr/include/clang/AST/CommentParser.h
+usr/include/clang/AST/CommentSema.h
+usr/include/clang/AST/CommentVisitor.h
+usr/include/clang/AST/ComparisonCategories.h
+usr/include/clang/AST/ComputeDependence.h
+usr/include/clang/AST/CurrentSourceLocExprScope.h
+usr/include/clang/AST/DataCollection.h
+usr/include/clang/AST/Decl.h
+usr/include/clang/AST/DeclAccessPair.h
+usr/include/clang/AST/DeclBase.h
+usr/include/clang/AST/DeclCXX.h
+usr/include/clang/AST/DeclContextInternals.h
+usr/include/clang/AST/DeclFriend.h
+usr/include/clang/AST/DeclGroup.h
+usr/include/clang/AST/DeclLookups.h
+usr/include/clang/AST/DeclNodes.inc
+usr/include/clang/AST/DeclObjC.h
+usr/include/clang/AST/DeclObjCCommon.h
+usr/include/clang/AST/DeclOpenMP.h
+usr/include/clang/AST/DeclTemplate.h
+usr/include/clang/AST/DeclVisitor.h
+usr/include/clang/AST/DeclarationName.h
+usr/include/clang/AST/DependenceFlags.h
+usr/include/clang/AST/DependentDiagnostic.h
+usr/include/clang/AST/EvaluatedExprVisitor.h
+usr/include/clang/AST/Expr.h
+usr/include/clang/AST/ExprCXX.h
+usr/include/clang/AST/ExprConcepts.h
+usr/include/clang/AST/ExprObjC.h
+usr/include/clang/AST/ExprOpenMP.h
+usr/include/clang/AST/ExternalASTMerger.h
+usr/include/clang/AST/ExternalASTSource.h
+usr/include/clang/AST/FormatString.h
+usr/include/clang/AST/GlobalDecl.h
+usr/include/clang/AST/IgnoreExpr.h
+usr/include/clang/AST/JSONNodeDumper.h
+usr/include/clang/AST/LambdaCapture.h
+usr/include/clang/AST/LexicallyOrderedRecursiveASTVisitor.h
+usr/include/clang/AST/LocInfoType.h
+usr/include/clang/AST/Mangle.h
+usr/include/clang/AST/MangleNumberingContext.h
+usr/include/clang/AST/NSAPI.h
+usr/include/clang/AST/NestedNameSpecifier.h
+usr/include/clang/AST/NonTrivialTypeVisitor.h
+usr/include/clang/AST/ODRHash.h
+usr/include/clang/AST/OSLog.h
+usr/include/clang/AST/OpenMPClause.h
+usr/include/clang/AST/OperationKinds.def
+usr/include/clang/AST/OperationKinds.h
+usr/include/clang/AST/OptionalDiagnostic.h
+usr/include/clang/AST/ParentMap.h
+usr/include/clang/AST/ParentMapContext.h
+usr/include/clang/AST/PrettyDeclStackTrace.h
+usr/include/clang/AST/PrettyPrinter.h
+usr/include/clang/AST/QualTypeNames.h
+usr/include/clang/AST/RawCommentList.h
+usr/include/clang/AST/RecordLayout.h
+usr/include/clang/AST/RecursiveASTVisitor.h
+usr/include/clang/AST/Redeclarable.h
+usr/include/clang/AST/SelectorLocationsKind.h
+usr/include/clang/AST/Stmt.h
+usr/include/clang/AST/StmtCXX.h
+usr/include/clang/AST/StmtDataCollectors.inc
+usr/include/clang/AST/StmtGraphTraits.h
+usr/include/clang/AST/StmtIterator.h
+usr/include/clang/AST/StmtNodes.inc
+usr/include/clang/AST/StmtObjC.h
+usr/include/clang/AST/StmtOpenMP.h
+usr/include/clang/AST/StmtVisitor.h
+usr/include/clang/AST/TemplateArgumentVisitor.h
+usr/include/clang/AST/TemplateBase.h
+usr/include/clang/AST/TemplateName.h
+usr/include/clang/AST/TextNodeDumper.h
+usr/include/clang/AST/Type.h
+usr/include/clang/AST/TypeLoc.h
+usr/include/clang/AST/TypeLocNodes.def
+usr/include/clang/AST/TypeLocVisitor.h
+usr/include/clang/AST/TypeNodes.inc
+usr/include/clang/AST/TypeOrdering.h
+usr/include/clang/AST/TypeVisitor.h
+usr/include/clang/AST/UnresolvedSet.h
+usr/include/clang/AST/VTTBuilder.h
+usr/include/clang/AST/VTableBuilder.h
+usr/include/clang/ASTMatchers
+usr/include/clang/ASTMatchers/ASTMatchFinder.h
+usr/include/clang/ASTMatchers/ASTMatchers.h
+usr/include/clang/ASTMatchers/ASTMatchersInternal.h
+usr/include/clang/ASTMatchers/ASTMatchersMacros.h
+usr/include/clang/ASTMatchers/Dynamic
+usr/include/clang/ASTMatchers/Dynamic/Diagnostics.h
+usr/include/clang/ASTMatchers/Dynamic/Parser.h
+usr/include/clang/ASTMatchers/Dynamic/Registry.h
+usr/include/clang/ASTMatchers/Dynamic/VariantValue.h
+usr/include/clang/ASTMatchers/GtestMatchers.h
+usr/include/clang/Analysis
+usr/include/clang/Analysis/Analyses
+usr/include/clang/Analysis/Analyses/CFGReachabilityAnalysis.h
+usr/include/clang/Analysis/Analyses/CalledOnceCheck.h
+usr/include/clang/Analysis/Analyses/Consumed.h
+usr/include/clang/Analysis/Analyses/Dominators.h
+usr/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
+usr/include/clang/Analysis/Analyses/LiveVariables.h
+usr/include/clang/Analysis/Analyses/PostOrderCFGView.h
+usr/include/clang/Analysis/Analyses/ReachableCode.h
+usr/include/clang/Analysis/Analyses/ThreadSafety.h
+usr/include/clang/Analysis/Analyses/ThreadSafetyCommon.h
+usr/include/clang/Analysis/Analyses/ThreadSafetyLogical.h
+usr/include/clang/Analysis/Analyses/ThreadSafetyOps.def
+usr/include/clang/Analysis/Analyses/ThreadSafetyTIL.h
+usr/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h
+usr/include/clang/Analysis/Analyses/ThreadSafetyUtil.h
+usr/include/clang/Analysis/Analyses/UninitializedValues.h
+usr/include/clang/Analysis/AnalysisDeclContext.h
+usr/include/clang/Analysis/AnalysisDiagnostic.h
+usr/include/clang/Analysis/AnyCall.h
+usr/include/clang/Analysis/BodyFarm.h
+usr/include/clang/Analysis/CFG.h
+usr/include/clang/Analysis/CFGStmtMap.h
+usr/include/clang/Analysis/CallGraph.h
+usr/include/clang/Analysis/CloneDetection.h
+usr/include/clang/Analysis/CodeInjector.h
+usr/include/clang/Analysis/ConstructionContext.h
+usr/include/clang/Analysis/DomainSpecific
+usr/include/clang/Analysis/DomainSpecific/CocoaConventions.h
+usr/include/clang/Analysis/DomainSpecific/ObjCNoReturn.h
+usr/include/clang/Analysis/FlowSensitive
+usr/include/clang/Analysis/FlowSensitive/DataflowValues.h
+usr/include/clang/Analysis/FlowSensitive/DataflowWorklist.h
+usr/include/clang/Analysis/IssueHash.h
+usr/include/clang/Analysis/PathDiagnostic.h
+usr/include/clang/Analysis/ProgramPoint.h
+usr/include/clang/Analysis/RetainSummaryManager.h
+usr/include/clang/Analysis/SelectorExtras.h
+usr/include/clang/Analysis/Support
+usr/include/clang/Analysis/Support/BumpVector.h
+usr/include/clang/Basic
+usr/include/clang/Basic/AArch64SVEACLETypes.def
+usr/include/clang/Basic/ABI.h
+usr/include/clang/Basic/AddressSpaces.h
+usr/include/clang/Basic/AlignedAllocation.h
+usr/include/clang/Basic/AllDiagnostics.h
+usr/include/clang/Basic/AttrHasAttributeImpl.inc
+usr/include/clang/Basic/AttrKinds.h
+usr/include/clang/Basic/AttrList.inc
+usr/include/clang/Basic/AttrSubMatchRulesList.inc
+usr/include/clang/Basic/AttrSubjectMatchRules.h
+usr/include/clang/Basic/AttributeCommonInfo.h
+usr/include/clang/Basic/Attributes.h
+usr/include/clang/Basic/BitmaskEnum.h
+usr/include/clang/Basic/Builtins.def
+usr/include/clang/Basic/Builtins.h
+usr/include/clang/Basic/BuiltinsAArch64.def
+usr/include/clang/Basic/BuiltinsAMDGPU.def
+usr/include/clang/Basic/BuiltinsARM.def
+usr/include/clang/Basic/BuiltinsBPF.def
+usr/include/clang/Basic/BuiltinsHexagon.def
+usr/include/clang/Basic/BuiltinsHexagonDep.def
+usr/include/clang/Basic/BuiltinsHexagonMapCustomDep.def
+usr/include/clang/Basic/BuiltinsLe64.def
+usr/include/clang/Basic/BuiltinsMips.def
+usr/include/clang/Basic/BuiltinsNEON.def
+usr/include/clang/Basic/BuiltinsNVPTX.def
+usr/include/clang/Basic/BuiltinsPPC.def
+usr/include/clang/Basic/BuiltinsSVE.def
+usr/include/clang/Basic/BuiltinsSystemZ.def
+usr/include/clang/Basic/BuiltinsWebAssembly.def
+usr/include/clang/Basic/BuiltinsX86.def
+usr/include/clang/Basic/BuiltinsX86_64.def
+usr/include/clang/Basic/BuiltinsXCore.def
+usr/include/clang/Basic/CapturedStmt.h
+usr/include/clang/Basic/CharInfo.h
+usr/include/clang/Basic/CodeGenOptions.def
+usr/include/clang/Basic/CodeGenOptions.h
+usr/include/clang/Basic/CommentOptions.h
+usr/include/clang/Basic/Cuda.h
+usr/include/clang/Basic/DebugInfoOptions.h
+usr/include/clang/Basic/Diagnostic.h
+usr/include/clang/Basic/DiagnosticAST.h
+usr/include/clang/Basic/DiagnosticASTKinds.inc
+usr/include/clang/Basic/DiagnosticAnalysis.h
+usr/include/clang/Basic/DiagnosticAnalysisKinds.inc
+usr/include/clang/Basic/DiagnosticCategories.h
+usr/include/clang/Basic/DiagnosticComment.h
+usr/include/clang/Basic/DiagnosticCommentKinds.inc
+usr/include/clang/Basic/DiagnosticCommonKinds.inc
+usr/include/clang/Basic/DiagnosticCrossTU.h
+usr/include/clang/Basic/DiagnosticCrossTUKinds.inc
+usr/include/clang/Basic/DiagnosticDriver.h
+usr/include/clang/Basic/DiagnosticDriverKinds.inc
+usr/include/clang/Basic/DiagnosticError.h
+usr/include/clang/Basic/DiagnosticFrontend.h
+usr/include/clang/Basic/DiagnosticFrontendKinds.inc
+usr/include/clang/Basic/DiagnosticGroups.inc
+usr/include/clang/Basic/DiagnosticIDs.h
+usr/include/clang/Basic/DiagnosticIndexName.inc
+usr/include/clang/Basic/DiagnosticLex.h
+usr/include/clang/Basic/DiagnosticLexKinds.inc
+usr/include/clang/Basic/DiagnosticOptions.def
+usr/include/clang/Basic/DiagnosticOptions.h
+usr/include/clang/Basic/DiagnosticParse.h
+usr/include/clang/Basic/DiagnosticParseKinds.inc
+usr/include/clang/Basic/DiagnosticRefactoring.h
+usr/include/clang/Basic/DiagnosticRefactoringKinds.inc
+usr/include/clang/Basic/DiagnosticSema.h
+usr/include/clang/Basic/DiagnosticSemaKinds.inc
+usr/include/clang/Basic/DiagnosticSerialization.h
+usr/include/clang/Basic/DiagnosticSerializationKinds.inc
+usr/include/clang/Basic/DirectoryEntry.h
+usr/include/clang/Basic/ExceptionSpecificationType.h
+usr/include/clang/Basic/ExpressionTraits.h
+usr/include/clang/Basic/FPOptions.def
+usr/include/clang/Basic/Features.def
+usr/include/clang/Basic/FileEntry.h
+usr/include/clang/Basic/FileManager.h
+usr/include/clang/Basic/FileSystemOptions.h
+usr/include/clang/Basic/FileSystemStatCache.h
+usr/include/clang/Basic/IdentifierTable.h
+usr/include/clang/Basic/JsonSupport.h
+usr/include/clang/Basic/LLVM.h
+usr/include/clang/Basic/Lambda.h
+usr/include/clang/Basic/LangOptions.def
+usr/include/clang/Basic/LangOptions.h
+usr/include/clang/Basic/LangStandard.h
+usr/include/clang/Basic/LangStandards.def
+usr/include/clang/Basic/Linkage.h
+usr/include/clang/Basic/MSP430Target.def
+usr/include/clang/Basic/MacroBuilder.h
+usr/include/clang/Basic/Module.h
+usr/include/clang/Basic/ObjCRuntime.h
+usr/include/clang/Basic/OpenCLExtensionTypes.def
+usr/include/clang/Basic/OpenCLExtensions.def
+usr/include/clang/Basic/OpenCLImageTypes.def
+usr/include/clang/Basic/OpenCLOptions.h
+usr/include/clang/Basic/OpenMPKinds.def
+usr/include/clang/Basic/OpenMPKinds.h
+usr/include/clang/Basic/OperatorKinds.def
+usr/include/clang/Basic/OperatorKinds.h
+usr/include/clang/Basic/OperatorPrecedence.h
+usr/include/clang/Basic/PPCTypes.def
+usr/include/clang/Basic/PartialDiagnostic.h
+usr/include/clang/Basic/PlistSupport.h
+usr/include/clang/Basic/PragmaKinds.h
+usr/include/clang/Basic/PrettyStackTrace.h
+usr/include/clang/Basic/ProfileList.h
+usr/include/clang/Basic/SanitizerBlacklist.h
+usr/include/clang/Basic/SanitizerSpecialCaseList.h
+usr/include/clang/Basic/Sanitizers.def
+usr/include/clang/Basic/Sanitizers.h
+usr/include/clang/Basic/SourceLocation.h
+usr/include/clang/Basic/SourceManager.h
+usr/include/clang/Basic/SourceManagerInternals.h
+usr/include/clang/Basic/Specifiers.h
+usr/include/clang/Basic/Stack.h
+usr/include/clang/Basic/SyncScope.h
+usr/include/clang/Basic/TargetBuiltins.h
+usr/include/clang/Basic/TargetCXXABI.h
+usr/include/clang/Basic/TargetID.h
+usr/include/clang/Basic/TargetInfo.h
+usr/include/clang/Basic/TargetOptions.h
+usr/include/clang/Basic/TemplateKinds.h
+usr/include/clang/Basic/TokenKinds.def
+usr/include/clang/Basic/TokenKinds.h
+usr/include/clang/Basic/TypeTraits.h
+usr/include/clang/Basic/Version.h
+usr/include/clang/Basic/Version.inc
+usr/include/clang/Basic/Visibility.h
+usr/include/clang/Basic/X86Target.def
+usr/include/clang/Basic/XRayInstr.h
+usr/include/clang/Basic/XRayLists.h
+usr/include/clang/Basic/arm_cde_builtin_aliases.inc
+usr/include/clang/Basic/arm_cde_builtin_cg.inc
+usr/include/clang/Basic/arm_cde_builtin_sema.inc
+usr/include/clang/Basic/arm_cde_builtins.inc
+usr/include/clang/Basic/arm_fp16.inc
+usr/include/clang/Basic/arm_mve_builtin_aliases.inc
+usr/include/clang/Basic/arm_mve_builtin_cg.inc
+usr/include/clang/Basic/arm_mve_builtin_sema.inc
+usr/include/clang/Basic/arm_mve_builtins.inc
+usr/include/clang/Basic/arm_neon.inc
+usr/include/clang/Basic/arm_sve_builtin_cg.inc
+usr/include/clang/Basic/arm_sve_builtins.inc
+usr/include/clang/Basic/arm_sve_sema_rangechecks.inc
+usr/include/clang/Basic/arm_sve_typeflags.inc
+usr/include/clang/CodeGen
+usr/include/clang/CodeGen/BackendUtil.h
+usr/include/clang/CodeGen/CGFunctionInfo.h
+usr/include/clang/CodeGen/CodeGenABITypes.h
+usr/include/clang/CodeGen/CodeGenAction.h
+usr/include/clang/CodeGen/ConstantInitBuilder.h
+usr/include/clang/CodeGen/ConstantInitFuture.h
+usr/include/clang/CodeGen/ModuleBuilder.h
+usr/include/clang/CodeGen/ObjectFilePCHContainerOperations.h
+usr/include/clang/CodeGen/SwiftCallingConv.h
+usr/include/clang/Config
+usr/include/clang/Config/config.h
+usr/include/clang/CrossTU
+usr/include/clang/CrossTU/CrossTUDiagnostic.h
+usr/include/clang/CrossTU/CrossTranslationUnit.h
+usr/include/clang/DirectoryWatcher
+usr/include/clang/DirectoryWatcher/DirectoryWatcher.h
+usr/include/clang/Driver
+usr/include/clang/Driver/Action.h
+usr/include/clang/Driver/Compilation.h
+usr/include/clang/Driver/DarwinSDKInfo.h
+usr/include/clang/Driver/Distro.h
+usr/include/clang/Driver/Driver.h
+usr/include/clang/Driver/DriverDiagnostic.h
+usr/include/clang/Driver/Job.h
+usr/include/clang/Driver/Multilib.h
+usr/include/clang/Driver/OptionUtils.h
+usr/include/clang/Driver/Options.h
+usr/include/clang/Driver/Options.inc
+usr/include/clang/Driver/Phases.h
+usr/include/clang/Driver/SanitizerArgs.h
+usr/include/clang/Driver/Tool.h
+usr/include/clang/Driver/ToolChain.h
+usr/include/clang/Driver/Types.def
+usr/include/clang/Driver/Types.h
+usr/include/clang/Driver/Util.h
+usr/include/clang/Driver/XRayArgs.h
+usr/include/clang/Edit
+usr/include/clang/Edit/Commit.h
+usr/include/clang/Edit/EditedSource.h
+usr/include/clang/Edit/EditsReceiver.h
+usr/include/clang/Edit/FileOffset.h
+usr/include/clang/Edit/Rewriters.h
+usr/include/clang/Format
+usr/include/clang/Format/Format.h
+usr/include/clang/Frontend
+usr/include/clang/Frontend/ASTConsumers.h
+usr/include/clang/Frontend/ASTUnit.h
+usr/include/clang/Frontend/ChainedDiagnosticConsumer.h
+usr/include/clang/Frontend/CommandLineSourceLoc.h
+usr/include/clang/Frontend/CompilerInstance.h
+usr/include/clang/Frontend/CompilerInvocation.h
+usr/include/clang/Frontend/DependencyOutputOptions.h
+usr/include/clang/Frontend/DiagnosticRenderer.h
+usr/include/clang/Frontend/FrontendAction.h
+usr/include/clang/Frontend/FrontendActions.h
+usr/include/clang/Frontend/FrontendDiagnostic.h
+usr/include/clang/Frontend/FrontendOptions.h
+usr/include/clang/Frontend/FrontendPluginRegistry.h
+usr/include/clang/Frontend/LayoutOverrideSource.h
+usr/include/clang/Frontend/LogDiagnosticPrinter.h
+usr/include/clang/Frontend/MigratorOptions.h
+usr/include/clang/Frontend/MultiplexConsumer.h
+usr/include/clang/Frontend/PCHContainerOperations.h
+usr/include/clang/Frontend/PrecompiledPreamble.h
+usr/include/clang/Frontend/PreprocessorOutputOptions.h
+usr/include/clang/Frontend/SerializedDiagnosticPrinter.h
+usr/include/clang/Frontend/SerializedDiagnosticReader.h
+usr/include/clang/Frontend/SerializedDiagnostics.h
+usr/include/clang/Frontend/TextDiagnostic.h
+usr/include/clang/Frontend/TextDiagnosticBuffer.h
+usr/include/clang/Frontend/TextDiagnosticPrinter.h
+usr/include/clang/Frontend/Utils.h
+usr/include/clang/Frontend/VerifyDiagnosticConsumer.h
+usr/include/clang/FrontendTool
+usr/include/clang/FrontendTool/Utils.h
+usr/include/clang/Index
+usr/include/clang/Index/CommentToXML.h
+usr/include/clang/Index/DeclOccurrence.h
+usr/include/clang/Index/IndexDataConsumer.h
+usr/include/clang/Index/IndexSymbol.h
+usr/include/clang/Index/IndexingAction.h
+usr/include/clang/Index/IndexingOptions.h
+usr/include/clang/Index/USRGeneration.h
+usr/include/clang/IndexSerialization
+usr/include/clang/IndexSerialization/SerializablePathCollection.h
+usr/include/clang/Lex
+usr/include/clang/Lex/CodeCompletionHandler.h
+usr/include/clang/Lex/DependencyDirectivesSourceMinimizer.h
+usr/include/clang/Lex/DirectoryLookup.h
+usr/include/clang/Lex/ExternalPreprocessorSource.h
+usr/include/clang/Lex/HeaderMap.h
+usr/include/clang/Lex/HeaderMapTypes.h
+usr/include/clang/Lex/HeaderSearch.h
+usr/include/clang/Lex/HeaderSearchOptions.h
+usr/include/clang/Lex/LexDiagnostic.h
+usr/include/clang/Lex/Lexer.h
+usr/include/clang/Lex/LiteralSupport.h
+usr/include/clang/Lex/MacroArgs.h
+usr/include/clang/Lex/MacroInfo.h
+usr/include/clang/Lex/ModuleLoader.h
+usr/include/clang/Lex/ModuleMap.h
+usr/include/clang/Lex/MultipleIncludeOpt.h
+usr/include/clang/Lex/PPCallbacks.h
+usr/include/clang/Lex/PPConditionalDirectiveRecord.h
+usr/include/clang/Lex/Pragma.h
+usr/include/clang/Lex/PreprocessingRecord.h
+usr/include/clang/Lex/Preprocessor.h
+usr/include/clang/Lex/PreprocessorExcludedConditionalDirectiveSkipMapping.h
+usr/include/clang/Lex/PreprocessorLexer.h
+usr/include/clang/Lex/PreprocessorOptions.h
+usr/include/clang/Lex/ScratchBuffer.h
+usr/include/clang/Lex/Token.h
+usr/include/clang/Lex/TokenConcatenation.h
+usr/include/clang/Lex/TokenLexer.h
+usr/include/clang/Lex/VariadicMacroSupport.h
+usr/include/clang/Parse
+usr/include/clang/Parse/AttrParserStringSwitches.inc
+usr/include/clang/Parse/AttrSubMatchRulesParserStringSwitches.inc
+usr/include/clang/Parse/LoopHint.h
+usr/include/clang/Parse/ParseAST.h
+usr/include/clang/Parse/ParseDiagnostic.h
+usr/include/clang/Parse/Parser.h
+usr/include/clang/Parse/RAIIObjectsForParser.h
+usr/include/clang/Rewrite
+usr/include/clang/Rewrite/Core
+usr/include/clang/Rewrite/Core/DeltaTree.h
+usr/include/clang/Rewrite/Core/HTMLRewrite.h
+usr/include/clang/Rewrite/Core/RewriteBuffer.h
+usr/include/clang/Rewrite/Core/RewriteRope.h
+usr/include/clang/Rewrite/Core/Rewriter.h
+usr/include/clang/Rewrite/Core/TokenRewriter.h
+usr/include/clang/Rewrite/Frontend
+usr/include/clang/Rewrite/Frontend/ASTConsumers.h
+usr/include/clang/Rewrite/Frontend/FixItRewriter.h
+usr/include/clang/Rewrite/Frontend/FrontendActions.h
+usr/include/clang/Rewrite/Frontend/Rewriters.h
+usr/include/clang/Sema
+usr/include/clang/Sema/AnalysisBasedWarnings.h
+usr/include/clang/Sema/AttrParsedAttrImpl.inc
+usr/include/clang/Sema/AttrParsedAttrKinds.inc
+usr/include/clang/Sema/AttrParsedAttrList.inc
+usr/include/clang/Sema/AttrSpellingListIndex.inc
+usr/include/clang/Sema/AttrTemplateInstantiate.inc
+usr/include/clang/Sema/CXXFieldCollector.h
+usr/include/clang/Sema/CleanupInfo.h
+usr/include/clang/Sema/CodeCompleteConsumer.h
+usr/include/clang/Sema/CodeCompleteOptions.h
+usr/include/clang/Sema/DeclSpec.h
+usr/include/clang/Sema/DelayedDiagnostic.h
+usr/include/clang/Sema/Designator.h
+usr/include/clang/Sema/ExternalSemaSource.h
+usr/include/clang/Sema/IdentifierResolver.h
+usr/include/clang/Sema/Initialization.h
+usr/include/clang/Sema/Lookup.h
+usr/include/clang/Sema/MultiplexExternalSemaSource.h
+usr/include/clang/Sema/ObjCMethodList.h
+usr/include/clang/Sema/Overload.h
+usr/include/clang/Sema/Ownership.h
+usr/include/clang/Sema/ParsedAttr.h
+usr/include/clang/Sema/ParsedTemplate.h
+usr/include/clang/Sema/Scope.h
+usr/include/clang/Sema/ScopeInfo.h
+usr/include/clang/Sema/Sema.h
+usr/include/clang/Sema/SemaConcept.h
+usr/include/clang/Sema/SemaConsumer.h
+usr/include/clang/Sema/SemaDiagnostic.h
+usr/include/clang/Sema/SemaFixItUtils.h
+usr/include/clang/Sema/SemaInternal.h
+usr/include/clang/Sema/SemaLambda.h
+usr/include/clang/Sema/Template.h
+usr/include/clang/Sema/TemplateDeduction.h
+usr/include/clang/Sema/TemplateInstCallback.h
+usr/include/clang/Sema/TypoCorrection.h
+usr/include/clang/Sema/Weak.h
+usr/include/clang/Serialization
+usr/include/clang/Serialization/ASTBitCodes.h
+usr/include/clang/Serialization/ASTDeserializationListener.h
+usr/include/clang/Serialization/ASTReader.h
+usr/include/clang/Serialization/ASTRecordReader.h
+usr/include/clang/Serialization/ASTRecordWriter.h
+usr/include/clang/Serialization/ASTWriter.h
+usr/include/clang/Serialization/AttrPCHRead.inc
+usr/include/clang/Serialization/AttrPCHWrite.inc
+usr/include/clang/Serialization/ContinuousRangeMap.h
+usr/include/clang/Serialization/GlobalModuleIndex.h
+usr/include/clang/Serialization/InMemoryModuleCache.h
+usr/include/clang/Serialization/ModuleFile.h
+usr/include/clang/Serialization/ModuleFileExtension.h
+usr/include/clang/Serialization/ModuleManager.h
+usr/include/clang/Serialization/PCHContainerOperations.h
+usr/include/clang/Serialization/SerializationDiagnostic.h
+usr/include/clang/Serialization/TypeBitCodes.def
+usr/include/clang/StaticAnalyzer
+usr/include/clang/StaticAnalyzer/Checkers
+usr/include/clang/StaticAnalyzer/Checkers/BuiltinCheckerRegistration.h
+usr/include/clang/StaticAnalyzer/Checkers/Checkers.inc
+usr/include/clang/StaticAnalyzer/Checkers/LocalCheckers.h
+usr/include/clang/StaticAnalyzer/Checkers/MPIFunctionClassifier.h
+usr/include/clang/StaticAnalyzer/Checkers/SValExplainer.h
+usr/include/clang/StaticAnalyzer/Core
+usr/include/clang/StaticAnalyzer/Core/Analyses.def
+usr/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
+usr/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
+usr/include/clang/StaticAnalyzer/Core/BugReporter
+usr/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
+usr/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
+usr/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h
+usr/include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h
+usr/include/clang/StaticAnalyzer/Core/Checker.h
+usr/include/clang/StaticAnalyzer/Core/CheckerManager.h
+usr/include/clang/StaticAnalyzer/Core/CheckerRegistryData.h
+usr/include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/BlockCounter.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicCastInfo.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicSize.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicType.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeInfo.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/LoopUnrolling.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/LoopWidening.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/Regions.def
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/SValVisitor.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.def
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/SimpleConstraintManager.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/SummaryManager.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/Symbols.def
+usr/include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h
+usr/include/clang/StaticAnalyzer/Frontend
+usr/include/clang/StaticAnalyzer/Frontend/AnalysisConsumer.h
+usr/include/clang/StaticAnalyzer/Frontend/AnalyzerHelpFlags.h
+usr/include/clang/StaticAnalyzer/Frontend/CheckerRegistry.h
+usr/include/clang/StaticAnalyzer/Frontend/FrontendActions.h
+usr/include/clang/StaticAnalyzer/Frontend/ModelConsumer.h
+usr/include/clang/Testing
+usr/include/clang/Testing/CommandLineArgs.h
+usr/include/clang/Testing/TestClangConfig.h
+usr/include/clang/Tooling
+usr/include/clang/Tooling/ASTDiff
+usr/include/clang/Tooling/ASTDiff/ASTDiff.h
+usr/include/clang/Tooling/ASTDiff/ASTDiffInternal.h
+usr/include/clang/Tooling/AllTUsExecution.h
+usr/include/clang/Tooling/ArgumentsAdjusters.h
+usr/include/clang/Tooling/CommonOptionsParser.h
+usr/include/clang/Tooling/CompilationDatabase.h
+usr/include/clang/Tooling/CompilationDatabasePluginRegistry.h
+usr/include/clang/Tooling/Core
+usr/include/clang/Tooling/Core/Diagnostic.h
+usr/include/clang/Tooling/Core/Replacement.h
+usr/include/clang/Tooling/DependencyScanning
+usr/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
+usr/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
+usr/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
+usr/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
+usr/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
+usr/include/clang/Tooling/DiagnosticsYaml.h
+usr/include/clang/Tooling/Execution.h
+usr/include/clang/Tooling/FileMatchTrie.h
+usr/include/clang/Tooling/FixIt.h
+usr/include/clang/Tooling/Inclusions
+usr/include/clang/Tooling/Inclusions/HeaderIncludes.h
+usr/include/clang/Tooling/Inclusions/IncludeStyle.h
+usr/include/clang/Tooling/JSONCompilationDatabase.h
+usr/include/clang/Tooling/Refactoring
+usr/include/clang/Tooling/Refactoring.h
+usr/include/clang/Tooling/Refactoring/ASTSelection.h
+usr/include/clang/Tooling/Refactoring/AtomicChange.h
+usr/include/clang/Tooling/Refactoring/Extract
+usr/include/clang/Tooling/Refactoring/Extract/Extract.h
+usr/include/clang/Tooling/Refactoring/Extract/SourceExtraction.h
+usr/include/clang/Tooling/Refactoring/Lookup.h
+usr/include/clang/Tooling/Refactoring/RecursiveSymbolVisitor.h
+usr/include/clang/Tooling/Refactoring/RefactoringAction.h
+usr/include/clang/Tooling/Refactoring/RefactoringActionRule.h
+usr/include/clang/Tooling/Refactoring/RefactoringActionRuleRequirements.h
+usr/include/clang/Tooling/Refactoring/RefactoringActionRules.h
+usr/include/clang/Tooling/Refactoring/RefactoringActionRulesInternal.h
+usr/include/clang/Tooling/Refactoring/RefactoringDiagnostic.h
+usr/include/clang/Tooling/Refactoring/RefactoringOption.h
+usr/include/clang/Tooling/Refactoring/RefactoringOptionVisitor.h
+usr/include/clang/Tooling/Refactoring/RefactoringOptions.h
+usr/include/clang/Tooling/Refactoring/RefactoringResultConsumer.h
+usr/include/clang/Tooling/Refactoring/RefactoringRuleContext.h
+usr/include/clang/Tooling/Refactoring/Rename
+usr/include/clang/Tooling/Refactoring/Rename/RenamingAction.h
+usr/include/clang/Tooling/Refactoring/Rename/SymbolName.h
+usr/include/clang/Tooling/Refactoring/Rename/SymbolOccurrences.h
+usr/include/clang/Tooling/Refactoring/Rename/USRFinder.h
+usr/include/clang/Tooling/Refactoring/Rename/USRFindingAction.h
+usr/include/clang/Tooling/Refactoring/Rename/USRLocFinder.h
+usr/include/clang/Tooling/RefactoringCallbacks.h
+usr/include/clang/Tooling/ReplacementsYaml.h
+usr/include/clang/Tooling/StandaloneExecution.h
+usr/include/clang/Tooling/Syntax
+usr/include/clang/Tooling/Syntax/BuildTree.h
+usr/include/clang/Tooling/Syntax/Mutations.h
+usr/include/clang/Tooling/Syntax/NodeClasses.inc
+usr/include/clang/Tooling/Syntax/Nodes.h
+usr/include/clang/Tooling/Syntax/Nodes.inc
+usr/include/clang/Tooling/Syntax/Tokens.h
+usr/include/clang/Tooling/Syntax/Tree.h
+usr/include/clang/Tooling/ToolExecutorPluginRegistry.h
+usr/include/clang/Tooling/Tooling.h
+usr/include/clang/Tooling/Transformer
+usr/include/clang/Tooling/Transformer/MatchConsumer.h
+usr/include/clang/Tooling/Transformer/Parsing.h
+usr/include/clang/Tooling/Transformer/RangeSelector.h
+usr/include/clang/Tooling/Transformer/RewriteRule.h
+usr/include/clang/Tooling/Transformer/SourceCode.h
+usr/include/clang/Tooling/Transformer/SourceCodeBuilders.h
+usr/include/clang/Tooling/Transformer/Stencil.h
+usr/include/clang/Tooling/Transformer/Transformer.h
+usr/include/llvm
+usr/include/llvm-c
+usr/include/llvm-c/Analysis.h
+usr/include/llvm-c/BitReader.h
+usr/include/llvm-c/BitWriter.h
+usr/include/llvm-c/Comdat.h
+usr/include/llvm-c/Core.h
+usr/include/llvm-c/DataTypes.h
+usr/include/llvm-c/DebugInfo.h
+usr/include/llvm-c/Disassembler.h
+usr/include/llvm-c/DisassemblerTypes.h
+usr/include/llvm-c/Error.h
+usr/include/llvm-c/ErrorHandling.h
+usr/include/llvm-c/ExecutionEngine.h
+usr/include/llvm-c/ExternC.h
+usr/include/llvm-c/IRReader.h
+usr/include/llvm-c/Initialization.h
+usr/include/llvm-c/LLJIT.h
+usr/include/llvm-c/Linker.h
+usr/include/llvm-c/Object.h
+usr/include/llvm-c/Orc.h
+usr/include/llvm-c/OrcEE.h
+usr/include/llvm-c/Remarks.h
+usr/include/llvm-c/Support.h
+usr/include/llvm-c/Target.h
+usr/include/llvm-c/TargetMachine.h
+usr/include/llvm-c/Transforms
+usr/include/llvm-c/Transforms/AggressiveInstCombine.h
+usr/include/llvm-c/Transforms/Coroutines.h
+usr/include/llvm-c/Transforms/IPO.h
+usr/include/llvm-c/Transforms/InstCombine.h
+usr/include/llvm-c/Transforms/PassManagerBuilder.h
+usr/include/llvm-c/Transforms/Scalar.h
+usr/include/llvm-c/Transforms/Utils.h
+usr/include/llvm-c/Transforms/Vectorize.h
+usr/include/llvm-c/Types.h
+usr/include/llvm-c/lto.h
+usr/include/llvm/ADT
+usr/include/llvm/ADT/APFixedPoint.h
+usr/include/llvm/ADT/APFloat.h
+usr/include/llvm/ADT/APInt.h
+usr/include/llvm/ADT/APSInt.h
+usr/include/llvm/ADT/AllocatorList.h
+usr/include/llvm/ADT/Any.h
+usr/include/llvm/ADT/ArrayRef.h
+usr/include/llvm/ADT/BitVector.h
+usr/include/llvm/ADT/Bitfields.h
+usr/include/llvm/ADT/BitmaskEnum.h
+usr/include/llvm/ADT/BreadthFirstIterator.h
+usr/include/llvm/ADT/CachedHashString.h
+usr/include/llvm/ADT/CoalescingBitVector.h
+usr/include/llvm/ADT/DAGDeltaAlgorithm.h
+usr/include/llvm/ADT/DeltaAlgorithm.h
+usr/include/llvm/ADT/DenseMap.h
+usr/include/llvm/ADT/DenseMapInfo.h
+usr/include/llvm/ADT/DenseSet.h
+usr/include/llvm/ADT/DepthFirstIterator.h
+usr/include/llvm/ADT/DirectedGraph.h
+usr/include/llvm/ADT/EnumeratedArray.h
+usr/include/llvm/ADT/EpochTracker.h
+usr/include/llvm/ADT/EquivalenceClasses.h
+usr/include/llvm/ADT/FloatingPointMode.h
+usr/include/llvm/ADT/FoldingSet.h
+usr/include/llvm/ADT/FunctionExtras.h
+usr/include/llvm/ADT/GraphTraits.h
+usr/include/llvm/ADT/Hashing.h
+usr/include/llvm/ADT/ImmutableList.h
+usr/include/llvm/ADT/ImmutableMap.h
+usr/include/llvm/ADT/ImmutableSet.h
+usr/include/llvm/ADT/IndexedMap.h
+usr/include/llvm/ADT/IntEqClasses.h
+usr/include/llvm/ADT/IntervalMap.h
+usr/include/llvm/ADT/IntrusiveRefCntPtr.h
+usr/include/llvm/ADT/MapVector.h
+usr/include/llvm/ADT/None.h
+usr/include/llvm/ADT/Optional.h
+usr/include/llvm/ADT/PackedVector.h
+usr/include/llvm/ADT/PointerEmbeddedInt.h
+usr/include/llvm/ADT/PointerIntPair.h
+usr/include/llvm/ADT/PointerSumType.h
+usr/include/llvm/ADT/PointerUnion.h
+usr/include/llvm/ADT/PostOrderIterator.h
+usr/include/llvm/ADT/PriorityQueue.h
+usr/include/llvm/ADT/PriorityWorklist.h
+usr/include/llvm/ADT/SCCIterator.h
+usr/include/llvm/ADT/STLExtras.h
+usr/include/llvm/ADT/ScopeExit.h
+usr/include/llvm/ADT/ScopedHashTable.h
+usr/include/llvm/ADT/Sequence.h
+usr/include/llvm/ADT/SetOperations.h
+usr/include/llvm/ADT/SetVector.h
+usr/include/llvm/ADT/SmallBitVector.h
+usr/include/llvm/ADT/SmallPtrSet.h
+usr/include/llvm/ADT/SmallSet.h
+usr/include/llvm/ADT/SmallString.h
+usr/include/llvm/ADT/SmallVector.h
+usr/include/llvm/ADT/SparseBitVector.h
+usr/include/llvm/ADT/SparseMultiSet.h
+usr/include/llvm/ADT/SparseSet.h
+usr/include/llvm/ADT/Statistic.h
+usr/include/llvm/ADT/StringExtras.h
+usr/include/llvm/ADT/StringMap.h
+usr/include/llvm/ADT/StringMapEntry.h
+usr/include/llvm/ADT/StringRef.h
+usr/include/llvm/ADT/StringSet.h
+usr/include/llvm/ADT/StringSwitch.h
+usr/include/llvm/ADT/TinyPtrVector.h
+usr/include/llvm/ADT/Triple.h
+usr/include/llvm/ADT/Twine.h
+usr/include/llvm/ADT/TypeSwitch.h
+usr/include/llvm/ADT/UniqueVector.h
+usr/include/llvm/ADT/Waymarking.h
+usr/include/llvm/ADT/bit.h
+usr/include/llvm/ADT/edit_distance.h
+usr/include/llvm/ADT/fallible_iterator.h
+usr/include/llvm/ADT/ilist.h
+usr/include/llvm/ADT/ilist_base.h
+usr/include/llvm/ADT/ilist_iterator.h
+usr/include/llvm/ADT/ilist_node.h
+usr/include/llvm/ADT/ilist_node_base.h
+usr/include/llvm/ADT/ilist_node_options.h
+usr/include/llvm/ADT/iterator.h
+usr/include/llvm/ADT/iterator_range.h
+usr/include/llvm/ADT/simple_ilist.h
+usr/include/llvm/Analysis
+usr/include/llvm/Analysis/AliasAnalysis.h
+usr/include/llvm/Analysis/AliasAnalysisEvaluator.h
+usr/include/llvm/Analysis/AliasSetTracker.h
+usr/include/llvm/Analysis/AssumeBundleQueries.h
+usr/include/llvm/Analysis/AssumptionCache.h
+usr/include/llvm/Analysis/BasicAliasAnalysis.h
+usr/include/llvm/Analysis/BlockFrequencyInfo.h
+usr/include/llvm/Analysis/BlockFrequencyInfoImpl.h
+usr/include/llvm/Analysis/BranchProbabilityInfo.h
+usr/include/llvm/Analysis/CFG.h
+usr/include/llvm/Analysis/CFGPrinter.h
+usr/include/llvm/Analysis/CFLAliasAnalysisUtils.h
+usr/include/llvm/Analysis/CFLAndersAliasAnalysis.h
+usr/include/llvm/Analysis/CFLSteensAliasAnalysis.h
+usr/include/llvm/Analysis/CGSCCPassManager.h
+usr/include/llvm/Analysis/CallGraph.h
+usr/include/llvm/Analysis/CallGraphSCCPass.h
+usr/include/llvm/Analysis/CallPrinter.h
+usr/include/llvm/Analysis/CaptureTracking.h
+usr/include/llvm/Analysis/CmpInstAnalysis.h
+usr/include/llvm/Analysis/CodeMetrics.h
+usr/include/llvm/Analysis/ConstantFolding.h
+usr/include/llvm/Analysis/ConstraintSystem.h
+usr/include/llvm/Analysis/DDG.h
+usr/include/llvm/Analysis/DDGPrinter.h
+usr/include/llvm/Analysis/DOTGraphTraitsPass.h
+usr/include/llvm/Analysis/Delinearization.h
+usr/include/llvm/Analysis/DemandedBits.h
+usr/include/llvm/Analysis/DependenceAnalysis.h
+usr/include/llvm/Analysis/DependenceGraphBuilder.h
+usr/include/llvm/Analysis/DivergenceAnalysis.h
+usr/include/llvm/Analysis/DomPrinter.h
+usr/include/llvm/Analysis/DomTreeUpdater.h
+usr/include/llvm/Analysis/DominanceFrontier.h
+usr/include/llvm/Analysis/DominanceFrontierImpl.h
+usr/include/llvm/Analysis/EHPersonalities.h
+usr/include/llvm/Analysis/FunctionPropertiesAnalysis.h
+usr/include/llvm/Analysis/GlobalsModRef.h
+usr/include/llvm/Analysis/GuardUtils.h
+usr/include/llvm/Analysis/HeatUtils.h
+usr/include/llvm/Analysis/IRSimilarityIdentifier.h
+usr/include/llvm/Analysis/IVDescriptors.h
+usr/include/llvm/Analysis/IVUsers.h
+usr/include/llvm/Analysis/IndirectCallPromotionAnalysis.h
+usr/include/llvm/Analysis/IndirectCallVisitor.h
+usr/include/llvm/Analysis/InlineAdvisor.h
+usr/include/llvm/Analysis/InlineCost.h
+usr/include/llvm/Analysis/InlineModelFeatureMaps.h
+usr/include/llvm/Analysis/InlineSizeEstimatorAnalysis.h
+usr/include/llvm/Analysis/InstCount.h
+usr/include/llvm/Analysis/InstructionPrecedenceTracking.h
+usr/include/llvm/Analysis/InstructionSimplify.h
+usr/include/llvm/Analysis/Interval.h
+usr/include/llvm/Analysis/IntervalIterator.h
+usr/include/llvm/Analysis/IntervalPartition.h
+usr/include/llvm/Analysis/IteratedDominanceFrontier.h
+usr/include/llvm/Analysis/LazyBlockFrequencyInfo.h
+usr/include/llvm/Analysis/LazyBranchProbabilityInfo.h
+usr/include/llvm/Analysis/LazyCallGraph.h
+usr/include/llvm/Analysis/LazyValueInfo.h
+usr/include/llvm/Analysis/LegacyDivergenceAnalysis.h
+usr/include/llvm/Analysis/Lint.h
+usr/include/llvm/Analysis/Loads.h
+usr/include/llvm/Analysis/LoopAccessAnalysis.h
+usr/include/llvm/Analysis/LoopAnalysisManager.h
+usr/include/llvm/Analysis/LoopCacheAnalysis.h
+usr/include/llvm/Analysis/LoopInfo.h
+usr/include/llvm/Analysis/LoopInfoImpl.h
+usr/include/llvm/Analysis/LoopIterator.h
+usr/include/llvm/Analysis/LoopNestAnalysis.h
+usr/include/llvm/Analysis/LoopPass.h
+usr/include/llvm/Analysis/LoopUnrollAnalyzer.h
+usr/include/llvm/Analysis/MLInlineAdvisor.h
+usr/include/llvm/Analysis/MLModelRunner.h
+usr/include/llvm/Analysis/MemDerefPrinter.h
+usr/include/llvm/Analysis/MemoryBuiltins.h
+usr/include/llvm/Analysis/MemoryDependenceAnalysis.h
+usr/include/llvm/Analysis/MemoryLocation.h
+usr/include/llvm/Analysis/MemorySSA.h
+usr/include/llvm/Analysis/MemorySSAUpdater.h
+usr/include/llvm/Analysis/ModuleDebugInfoPrinter.h
+usr/include/llvm/Analysis/ModuleSummaryAnalysis.h
+usr/include/llvm/Analysis/MustExecute.h
+usr/include/llvm/Analysis/ObjCARCAliasAnalysis.h
+usr/include/llvm/Analysis/ObjCARCAnalysisUtils.h
+usr/include/llvm/Analysis/ObjCARCInstKind.h
+usr/include/llvm/Analysis/OptimizationRemarkEmitter.h
+usr/include/llvm/Analysis/PHITransAddr.h
+usr/include/llvm/Analysis/Passes.h
+usr/include/llvm/Analysis/PhiValues.h
+usr/include/llvm/Analysis/PostDominators.h
+usr/include/llvm/Analysis/ProfileSummaryInfo.h
+usr/include/llvm/Analysis/PtrUseVisitor.h
+usr/include/llvm/Analysis/RegionInfo.h
+usr/include/llvm/Analysis/RegionInfoImpl.h
+usr/include/llvm/Analysis/RegionIterator.h
+usr/include/llvm/Analysis/RegionPass.h
+usr/include/llvm/Analysis/RegionPrinter.h
+usr/include/llvm/Analysis/ReplayInlineAdvisor.h
+usr/include/llvm/Analysis/ScalarEvolution.h
+usr/include/llvm/Analysis/ScalarEvolutionAliasAnalysis.h
+usr/include/llvm/Analysis/ScalarEvolutionDivision.h
+usr/include/llvm/Analysis/ScalarEvolutionExpressions.h
+usr/include/llvm/Analysis/ScalarEvolutionNormalization.h
+usr/include/llvm/Analysis/ScopedNoAliasAA.h
+usr/include/llvm/Analysis/SparsePropagation.h
+usr/include/llvm/Analysis/StackLifetime.h
+usr/include/llvm/Analysis/StackSafetyAnalysis.h
+usr/include/llvm/Analysis/SyncDependenceAnalysis.h
+usr/include/llvm/Analysis/SyntheticCountsUtils.h
+usr/include/llvm/Analysis/TargetFolder.h
+usr/include/llvm/Analysis/TargetLibraryInfo.def
+usr/include/llvm/Analysis/TargetLibraryInfo.h
+usr/include/llvm/Analysis/TargetTransformInfo.h
+usr/include/llvm/Analysis/TargetTransformInfoImpl.h
+usr/include/llvm/Analysis/Trace.h
+usr/include/llvm/Analysis/TypeBasedAliasAnalysis.h
+usr/include/llvm/Analysis/TypeMetadataUtils.h
+usr/include/llvm/Analysis/Utils
+usr/include/llvm/Analysis/Utils/ImportedFunctionsInliningStatistics.h
+usr/include/llvm/Analysis/Utils/Local.h
+usr/include/llvm/Analysis/Utils/TFUtils.h
+usr/include/llvm/Analysis/ValueLattice.h
+usr/include/llvm/Analysis/ValueLatticeUtils.h
+usr/include/llvm/Analysis/ValueTracking.h
+usr/include/llvm/Analysis/VecFuncs.def
+usr/include/llvm/Analysis/VectorUtils.h
+usr/include/llvm/AsmParser
+usr/include/llvm/AsmParser/Parser.h
+usr/include/llvm/AsmParser/SlotMapping.h
+usr/include/llvm/BinaryFormat
+usr/include/llvm/BinaryFormat/AMDGPUMetadataVerifier.h
+usr/include/llvm/BinaryFormat/COFF.h
+usr/include/llvm/BinaryFormat/Dwarf.def
+usr/include/llvm/BinaryFormat/Dwarf.h
+usr/include/llvm/BinaryFormat/DynamicTags.def
+usr/include/llvm/BinaryFormat/ELF.h
+usr/include/llvm/BinaryFormat/ELFRelocs
+usr/include/llvm/BinaryFormat/ELFRelocs/AArch64.def
+usr/include/llvm/BinaryFormat/ELFRelocs/AMDGPU.def
+usr/include/llvm/BinaryFormat/ELFRelocs/ARC.def
+usr/include/llvm/BinaryFormat/ELFRelocs/ARM.def
+usr/include/llvm/BinaryFormat/ELFRelocs/AVR.def
+usr/include/llvm/BinaryFormat/ELFRelocs/BPF.def
+usr/include/llvm/BinaryFormat/ELFRelocs/CSKY.def
+usr/include/llvm/BinaryFormat/ELFRelocs/Hexagon.def
+usr/include/llvm/BinaryFormat/ELFRelocs/Lanai.def
+usr/include/llvm/BinaryFormat/ELFRelocs/MSP430.def
+usr/include/llvm/BinaryFormat/ELFRelocs/Mips.def
+usr/include/llvm/BinaryFormat/ELFRelocs/PowerPC.def
+usr/include/llvm/BinaryFormat/ELFRelocs/PowerPC64.def
+usr/include/llvm/BinaryFormat/ELFRelocs/RISCV.def
+usr/include/llvm/BinaryFormat/ELFRelocs/Sparc.def
+usr/include/llvm/BinaryFormat/ELFRelocs/SystemZ.def
+usr/include/llvm/BinaryFormat/ELFRelocs/VE.def
+usr/include/llvm/BinaryFormat/ELFRelocs/i386.def
+usr/include/llvm/BinaryFormat/ELFRelocs/x86_64.def
+usr/include/llvm/BinaryFormat/MachO.def
+usr/include/llvm/BinaryFormat/MachO.h
+usr/include/llvm/BinaryFormat/Magic.h
+usr/include/llvm/BinaryFormat/Minidump.h
+usr/include/llvm/BinaryFormat/MinidumpConstants.def
+usr/include/llvm/BinaryFormat/MsgPack.def
+usr/include/llvm/BinaryFormat/MsgPack.h
+usr/include/llvm/BinaryFormat/MsgPackDocument.h
+usr/include/llvm/BinaryFormat/MsgPackReader.h
+usr/include/llvm/BinaryFormat/MsgPackWriter.h
+usr/include/llvm/BinaryFormat/Wasm.h
+usr/include/llvm/BinaryFormat/WasmRelocs.def
+usr/include/llvm/BinaryFormat/WasmTraits.h
+usr/include/llvm/BinaryFormat/XCOFF.h
+usr/include/llvm/Bitcode
+usr/include/llvm/Bitcode/BitcodeAnalyzer.h
+usr/include/llvm/Bitcode/BitcodeCommon.h
+usr/include/llvm/Bitcode/BitcodeConvenience.h
+usr/include/llvm/Bitcode/BitcodeReader.h
+usr/include/llvm/Bitcode/BitcodeWriter.h
+usr/include/llvm/Bitcode/BitcodeWriterPass.h
+usr/include/llvm/Bitcode/LLVMBitCodes.h
+usr/include/llvm/Bitstream
+usr/include/llvm/Bitstream/BitCodes.h
+usr/include/llvm/Bitstream/BitstreamReader.h
+usr/include/llvm/Bitstream/BitstreamWriter.h
+usr/include/llvm/CodeGen
+usr/include/llvm/CodeGen/AccelTable.h
+usr/include/llvm/CodeGen/Analysis.h
+usr/include/llvm/CodeGen/AntiDepBreaker.h
+usr/include/llvm/CodeGen/AsmPrinter.h
+usr/include/llvm/CodeGen/AsmPrinterHandler.h
+usr/include/llvm/CodeGen/AtomicExpandUtils.h
+usr/include/llvm/CodeGen/BasicBlockSectionUtils.h
+usr/include/llvm/CodeGen/BasicTTIImpl.h
+usr/include/llvm/CodeGen/BuiltinGCs.h
+usr/include/llvm/CodeGen/CSEConfigBase.h
+usr/include/llvm/CodeGen/CalcSpillWeights.h
+usr/include/llvm/CodeGen/CallingConvLower.h
+usr/include/llvm/CodeGen/CodeGenPassBuilder.h
+usr/include/llvm/CodeGen/CommandFlags.h
+usr/include/llvm/CodeGen/CostTable.h
+usr/include/llvm/CodeGen/DAGCombine.h
+usr/include/llvm/CodeGen/DFAPacketizer.h
+usr/include/llvm/CodeGen/DIE.h
+usr/include/llvm/CodeGen/DIEValue.def
+usr/include/llvm/CodeGen/DbgEntityHistoryCalculator.h
+usr/include/llvm/CodeGen/DebugHandlerBase.h
+usr/include/llvm/CodeGen/DwarfStringPoolEntry.h
+usr/include/llvm/CodeGen/EdgeBundles.h
+usr/include/llvm/CodeGen/ExecutionDomainFix.h
+usr/include/llvm/CodeGen/ExpandReductions.h
+usr/include/llvm/CodeGen/FastISel.h
+usr/include/llvm/CodeGen/FaultMaps.h
+usr/include/llvm/CodeGen/FunctionLoweringInfo.h
+usr/include/llvm/CodeGen/GCMetadata.h
+usr/include/llvm/CodeGen/GCMetadataPrinter.h
+usr/include/llvm/CodeGen/GCStrategy.h
+usr/include/llvm/CodeGen/GlobalISel
+usr/include/llvm/CodeGen/GlobalISel/CSEInfo.h
+usr/include/llvm/CodeGen/GlobalISel/CSEMIRBuilder.h
+usr/include/llvm/CodeGen/GlobalISel/CallLowering.h
+usr/include/llvm/CodeGen/GlobalISel/Combiner.h
+usr/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
+usr/include/llvm/CodeGen/GlobalISel/CombinerInfo.h
+usr/include/llvm/CodeGen/GlobalISel/ConstantFoldingMIRBuilder.h
+usr/include/llvm/CodeGen/GlobalISel/GISelChangeObserver.h
+usr/include/llvm/CodeGen/GlobalISel/GISelKnownBits.h
+usr/include/llvm/CodeGen/GlobalISel/GISelWorkList.h
+usr/include/llvm/CodeGen/GlobalISel/IRTranslator.h
+usr/include/llvm/CodeGen/GlobalISel/InlineAsmLowering.h
+usr/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
+usr/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
+usr/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h
+usr/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
+usr/include/llvm/CodeGen/GlobalISel/Legalizer.h
+usr/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
+usr/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
+usr/include/llvm/CodeGen/GlobalISel/Localizer.h
+usr/include/llvm/CodeGen/GlobalISel/LostDebugLocObserver.h
+usr/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
+usr/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
+usr/include/llvm/CodeGen/GlobalISel/RegBankSelect.h
+usr/include/llvm/CodeGen/GlobalISel/RegisterBank.h
+usr/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h
+usr/include/llvm/CodeGen/GlobalISel/Utils.h
+usr/include/llvm/CodeGen/ISDOpcodes.h
+usr/include/llvm/CodeGen/IndirectThunks.h
+usr/include/llvm/CodeGen/IntrinsicLowering.h
+usr/include/llvm/CodeGen/LatencyPriorityQueue.h
+usr/include/llvm/CodeGen/LazyMachineBlockFrequencyInfo.h
+usr/include/llvm/CodeGen/LexicalScopes.h
+usr/include/llvm/CodeGen/LinkAllAsmWriterComponents.h
+usr/include/llvm/CodeGen/LinkAllCodegenComponents.h
+usr/include/llvm/CodeGen/LiveInterval.h
+usr/include/llvm/CodeGen/LiveIntervalCalc.h
+usr/include/llvm/CodeGen/LiveIntervalUnion.h
+usr/include/llvm/CodeGen/LiveIntervals.h
+usr/include/llvm/CodeGen/LivePhysRegs.h
+usr/include/llvm/CodeGen/LiveRangeCalc.h
+usr/include/llvm/CodeGen/LiveRangeEdit.h
+usr/include/llvm/CodeGen/LiveRegMatrix.h
+usr/include/llvm/CodeGen/LiveRegUnits.h
+usr/include/llvm/CodeGen/LiveStacks.h
+usr/include/llvm/CodeGen/LiveVariables.h
+usr/include/llvm/CodeGen/LoopTraversal.h
+usr/include/llvm/CodeGen/LowLevelType.h
+usr/include/llvm/CodeGen/MBFIWrapper.h
+usr/include/llvm/CodeGen/MIRFormatter.h
+usr/include/llvm/CodeGen/MIRParser
+usr/include/llvm/CodeGen/MIRParser/MIParser.h
+usr/include/llvm/CodeGen/MIRParser/MIRParser.h
+usr/include/llvm/CodeGen/MIRPrinter.h
+usr/include/llvm/CodeGen/MIRYamlMapping.h
+usr/include/llvm/CodeGen/MachORelocation.h
+usr/include/llvm/CodeGen/MachineBasicBlock.h
+usr/include/llvm/CodeGen/MachineBlockFrequencyInfo.h
+usr/include/llvm/CodeGen/MachineBranchProbabilityInfo.h
+usr/include/llvm/CodeGen/MachineCombinerPattern.h
+usr/include/llvm/CodeGen/MachineConstantPool.h
+usr/include/llvm/CodeGen/MachineDominanceFrontier.h
+usr/include/llvm/CodeGen/MachineDominators.h
+usr/include/llvm/CodeGen/MachineFrameInfo.h
+usr/include/llvm/CodeGen/MachineFunction.h
+usr/include/llvm/CodeGen/MachineFunctionPass.h
+usr/include/llvm/CodeGen/MachineInstr.h
+usr/include/llvm/CodeGen/MachineInstrBuilder.h
+usr/include/llvm/CodeGen/MachineInstrBundle.h
+usr/include/llvm/CodeGen/MachineInstrBundleIterator.h
+usr/include/llvm/CodeGen/MachineJumpTableInfo.h
+usr/include/llvm/CodeGen/MachineLoopInfo.h
+usr/include/llvm/CodeGen/MachineLoopUtils.h
+usr/include/llvm/CodeGen/MachineMemOperand.h
+usr/include/llvm/CodeGen/MachineModuleInfo.h
+usr/include/llvm/CodeGen/MachineModuleInfoImpls.h
+usr/include/llvm/CodeGen/MachineOperand.h
+usr/include/llvm/CodeGen/MachineOptimizationRemarkEmitter.h
+usr/include/llvm/CodeGen/MachineOutliner.h
+usr/include/llvm/CodeGen/MachinePassManager.h
+usr/include/llvm/CodeGen/MachinePassRegistry.def
+usr/include/llvm/CodeGen/MachinePassRegistry.h
+usr/include/llvm/CodeGen/MachinePipeliner.h
+usr/include/llvm/CodeGen/MachinePostDominators.h
+usr/include/llvm/CodeGen/MachineRegionInfo.h
+usr/include/llvm/CodeGen/MachineRegisterInfo.h
+usr/include/llvm/CodeGen/MachineSSAUpdater.h
+usr/include/llvm/CodeGen/MachineScheduler.h
+usr/include/llvm/CodeGen/MachineSizeOpts.h
+usr/include/llvm/CodeGen/MachineStableHash.h
+usr/include/llvm/CodeGen/MachineTraceMetrics.h
+usr/include/llvm/CodeGen/MacroFusion.h
+usr/include/llvm/CodeGen/ModuloSchedule.h
+usr/include/llvm/CodeGen/MultiHazardRecognizer.h
+usr/include/llvm/CodeGen/NonRelocatableStringpool.h
+usr/include/llvm/CodeGen/PBQP
+usr/include/llvm/CodeGen/PBQP/CostAllocator.h
+usr/include/llvm/CodeGen/PBQP/Graph.h
+usr/include/llvm/CodeGen/PBQP/Math.h
+usr/include/llvm/CodeGen/PBQP/ReductionRules.h
+usr/include/llvm/CodeGen/PBQP/Solution.h
+usr/include/llvm/CodeGen/PBQPRAConstraint.h
+usr/include/llvm/CodeGen/ParallelCG.h
+usr/include/llvm/CodeGen/Passes.h
+usr/include/llvm/CodeGen/PreISelIntrinsicLowering.h
+usr/include/llvm/CodeGen/PseudoSourceValue.h
+usr/include/llvm/CodeGen/RDFGraph.h
+usr/include/llvm/CodeGen/RDFLiveness.h
+usr/include/llvm/CodeGen/RDFRegisters.h
+usr/include/llvm/CodeGen/ReachingDefAnalysis.h
+usr/include/llvm/CodeGen/RegAllocPBQP.h
+usr/include/llvm/CodeGen/RegAllocRegistry.h
+usr/include/llvm/CodeGen/Register.h
+usr/include/llvm/CodeGen/RegisterClassInfo.h
+usr/include/llvm/CodeGen/RegisterPressure.h
+usr/include/llvm/CodeGen/RegisterScavenging.h
+usr/include/llvm/CodeGen/RegisterUsageInfo.h
+usr/include/llvm/CodeGen/ResourcePriorityQueue.h
+usr/include/llvm/CodeGen/RuntimeLibcalls.h
+usr/include/llvm/CodeGen/SDNodeProperties.td
+usr/include/llvm/CodeGen/ScheduleDAG.h
+usr/include/llvm/CodeGen/ScheduleDAGInstrs.h
+usr/include/llvm/CodeGen/ScheduleDAGMutation.h
+usr/include/llvm/CodeGen/ScheduleDFS.h
+usr/include/llvm/CodeGen/ScheduleHazardRecognizer.h
+usr/include/llvm/CodeGen/SchedulerRegistry.h
+usr/include/llvm/CodeGen/ScoreboardHazardRecognizer.h
+usr/include/llvm/CodeGen/SelectionDAG.h
+usr/include/llvm/CodeGen/SelectionDAGAddressAnalysis.h
+usr/include/llvm/CodeGen/SelectionDAGISel.h
+usr/include/llvm/CodeGen/SelectionDAGNodes.h
+usr/include/llvm/CodeGen/SelectionDAGTargetInfo.h
+usr/include/llvm/CodeGen/SlotIndexes.h
+usr/include/llvm/CodeGen/Spiller.h
+usr/include/llvm/CodeGen/StableHashing.h
+usr/include/llvm/CodeGen/StackMaps.h
+usr/include/llvm/CodeGen/StackProtector.h
+usr/include/llvm/CodeGen/SwiftErrorValueTracking.h
+usr/include/llvm/CodeGen/SwitchLoweringUtils.h
+usr/include/llvm/CodeGen/TailDuplicator.h
+usr/include/llvm/CodeGen/TargetCallingConv.h
+usr/include/llvm/CodeGen/TargetFrameLowering.h
+usr/include/llvm/CodeGen/TargetInstrInfo.h
+usr/include/llvm/CodeGen/TargetLowering.h
+usr/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
+usr/include/llvm/CodeGen/TargetOpcodes.h
+usr/include/llvm/CodeGen/TargetPassConfig.h
+usr/include/llvm/CodeGen/TargetRegisterInfo.h
+usr/include/llvm/CodeGen/TargetSchedule.h
+usr/include/llvm/CodeGen/TargetSubtargetInfo.h
+usr/include/llvm/CodeGen/TileShapeInfo.h
+usr/include/llvm/CodeGen/UnreachableBlockElim.h
+usr/include/llvm/CodeGen/ValueTypes.h
+usr/include/llvm/CodeGen/ValueTypes.td
+usr/include/llvm/CodeGen/VirtRegMap.h
+usr/include/llvm/CodeGen/WasmEHFuncInfo.h
+usr/include/llvm/CodeGen/WinEHFuncInfo.h
+usr/include/llvm/Config
+usr/include/llvm/Config/AsmParsers.def
+usr/include/llvm/Config/AsmPrinters.def
+usr/include/llvm/Config/Disassemblers.def
+usr/include/llvm/Config/Targets.def
+usr/include/llvm/Config/abi-breaking.h
+usr/include/llvm/Config/llvm-config.h
+usr/include/llvm/DWARFLinker
+usr/include/llvm/DWARFLinker/DWARFLinker.h
+usr/include/llvm/DWARFLinker/DWARFLinkerCompileUnit.h
+usr/include/llvm/DWARFLinker/DWARFLinkerDeclContext.h
+usr/include/llvm/DWARFLinker/DWARFStreamer.h
+usr/include/llvm/DebugInfo
+usr/include/llvm/DebugInfo/CodeView
+usr/include/llvm/DebugInfo/CodeView/AppendingTypeTableBuilder.h
+usr/include/llvm/DebugInfo/CodeView/CVRecord.h
+usr/include/llvm/DebugInfo/CodeView/CVSymbolVisitor.h
+usr/include/llvm/DebugInfo/CodeView/CVTypeVisitor.h
+usr/include/llvm/DebugInfo/CodeView/CodeView.h
+usr/include/llvm/DebugInfo/CodeView/CodeViewError.h
+usr/include/llvm/DebugInfo/CodeView/CodeViewRecordIO.h
+usr/include/llvm/DebugInfo/CodeView/CodeViewRegisters.def
+usr/include/llvm/DebugInfo/CodeView/CodeViewSymbols.def
+usr/include/llvm/DebugInfo/CodeView/CodeViewTypes.def
+usr/include/llvm/DebugInfo/CodeView/ContinuationRecordBuilder.h
+usr/include/llvm/DebugInfo/CodeView/DebugChecksumsSubsection.h
+usr/include/llvm/DebugInfo/CodeView/DebugCrossExSubsection.h
+usr/include/llvm/DebugInfo/CodeView/DebugCrossImpSubsection.h
+usr/include/llvm/DebugInfo/CodeView/DebugFrameDataSubsection.h
+usr/include/llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h
+usr/include/llvm/DebugInfo/CodeView/DebugLinesSubsection.h
+usr/include/llvm/DebugInfo/CodeView/DebugStringTableSubsection.h
+usr/include/llvm/DebugInfo/CodeView/DebugSubsection.h
+usr/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h
+usr/include/llvm/DebugInfo/CodeView/DebugSubsectionVisitor.h
+usr/include/llvm/DebugInfo/CodeView/DebugSymbolRVASubsection.h
+usr/include/llvm/DebugInfo/CodeView/DebugSymbolsSubsection.h
+usr/include/llvm/DebugInfo/CodeView/DebugUnknownSubsection.h
+usr/include/llvm/DebugInfo/CodeView/EnumTables.h
+usr/include/llvm/DebugInfo/CodeView/Formatters.h
+usr/include/llvm/DebugInfo/CodeView/FunctionId.h
+usr/include/llvm/DebugInfo/CodeView/GUID.h
+usr/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h
+usr/include/llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h
+usr/include/llvm/DebugInfo/CodeView/Line.h
+usr/include/llvm/DebugInfo/CodeView/MergingTypeTableBuilder.h
+usr/include/llvm/DebugInfo/CodeView/RecordName.h
+usr/include/llvm/DebugInfo/CodeView/RecordSerialization.h
+usr/include/llvm/DebugInfo/CodeView/SimpleTypeSerializer.h
+usr/include/llvm/DebugInfo/CodeView/StringsAndChecksums.h
+usr/include/llvm/DebugInfo/CodeView/SymbolDeserializer.h
+usr/include/llvm/DebugInfo/CodeView/SymbolDumpDelegate.h
+usr/include/llvm/DebugInfo/CodeView/SymbolDumper.h
+usr/include/llvm/DebugInfo/CodeView/SymbolRecord.h
+usr/include/llvm/DebugInfo/CodeView/SymbolRecordHelpers.h
+usr/include/llvm/DebugInfo/CodeView/SymbolRecordMapping.h
+usr/include/llvm/DebugInfo/CodeView/SymbolSerializer.h
+usr/include/llvm/DebugInfo/CodeView/SymbolVisitorCallbackPipeline.h
+usr/include/llvm/DebugInfo/CodeView/SymbolVisitorCallbacks.h
+usr/include/llvm/DebugInfo/CodeView/SymbolVisitorDelegate.h
+usr/include/llvm/DebugInfo/CodeView/TypeCollection.h
+usr/include/llvm/DebugInfo/CodeView/TypeDeserializer.h
+usr/include/llvm/DebugInfo/CodeView/TypeDumpVisitor.h
+usr/include/llvm/DebugInfo/CodeView/TypeHashing.h
+usr/include/llvm/DebugInfo/CodeView/TypeIndex.h
+usr/include/llvm/DebugInfo/CodeView/TypeIndexDiscovery.h
+usr/include/llvm/DebugInfo/CodeView/TypeRecord.h
+usr/include/llvm/DebugInfo/CodeView/TypeRecordHelpers.h
+usr/include/llvm/DebugInfo/CodeView/TypeRecordMapping.h
+usr/include/llvm/DebugInfo/CodeView/TypeStreamMerger.h
+usr/include/llvm/DebugInfo/CodeView/TypeSymbolEmitter.h
+usr/include/llvm/DebugInfo/CodeView/TypeTableCollection.h
+usr/include/llvm/DebugInfo/CodeView/TypeVisitorCallbackPipeline.h
+usr/include/llvm/DebugInfo/CodeView/TypeVisitorCallbacks.h
+usr/include/llvm/DebugInfo/DIContext.h
+usr/include/llvm/DebugInfo/DWARF
+usr/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h
+usr/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
+usr/include/llvm/DebugInfo/DWARF/DWARFAddressRange.h
+usr/include/llvm/DebugInfo/DWARF/DWARFAttribute.h
+usr/include/llvm/DebugInfo/DWARF/DWARFCompileUnit.h
+usr/include/llvm/DebugInfo/DWARF/DWARFContext.h
+usr/include/llvm/DebugInfo/DWARF/DWARFDataExtractor.h
+usr/include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h
+usr/include/llvm/DebugInfo/DWARF/DWARFDebugAddr.h
+usr/include/llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h
+usr/include/llvm/DebugInfo/DWARF/DWARFDebugAranges.h
+usr/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
+usr/include/llvm/DebugInfo/DWARF/DWARFDebugInfoEntry.h
+usr/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h
+usr/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h
+usr/include/llvm/DebugInfo/DWARF/DWARFDebugMacro.h
+usr/include/llvm/DebugInfo/DWARF/DWARFDebugPubTable.h
+usr/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h
+usr/include/llvm/DebugInfo/DWARF/DWARFDebugRnglists.h
+usr/include/llvm/DebugInfo/DWARF/DWARFDie.h
+usr/include/llvm/DebugInfo/DWARF/DWARFExpression.h
+usr/include/llvm/DebugInfo/DWARF/DWARFFormValue.h
+usr/include/llvm/DebugInfo/DWARF/DWARFGdbIndex.h
+usr/include/llvm/DebugInfo/DWARF/DWARFListTable.h
+usr/include/llvm/DebugInfo/DWARF/DWARFLocationExpression.h
+usr/include/llvm/DebugInfo/DWARF/DWARFObject.h
+usr/include/llvm/DebugInfo/DWARF/DWARFRelocMap.h
+usr/include/llvm/DebugInfo/DWARF/DWARFSection.h
+usr/include/llvm/DebugInfo/DWARF/DWARFTypeUnit.h
+usr/include/llvm/DebugInfo/DWARF/DWARFUnit.h
+usr/include/llvm/DebugInfo/DWARF/DWARFUnitIndex.h
+usr/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
+usr/include/llvm/DebugInfo/GSYM
+usr/include/llvm/DebugInfo/GSYM/DwarfTransformer.h
+usr/include/llvm/DebugInfo/GSYM/FileEntry.h
+usr/include/llvm/DebugInfo/GSYM/FileWriter.h
+usr/include/llvm/DebugInfo/GSYM/FunctionInfo.h
+usr/include/llvm/DebugInfo/GSYM/GsymCreator.h
+usr/include/llvm/DebugInfo/GSYM/GsymReader.h
+usr/include/llvm/DebugInfo/GSYM/Header.h
+usr/include/llvm/DebugInfo/GSYM/InlineInfo.h
+usr/include/llvm/DebugInfo/GSYM/LineEntry.h
+usr/include/llvm/DebugInfo/GSYM/LineTable.h
+usr/include/llvm/DebugInfo/GSYM/LookupResult.h
+usr/include/llvm/DebugInfo/GSYM/ObjectFileTransformer.h
+usr/include/llvm/DebugInfo/GSYM/Range.h
+usr/include/llvm/DebugInfo/GSYM/StringTable.h
+usr/include/llvm/DebugInfo/MSF
+usr/include/llvm/DebugInfo/MSF/IMSFFile.h
+usr/include/llvm/DebugInfo/MSF/MSFBuilder.h
+usr/include/llvm/DebugInfo/MSF/MSFCommon.h
+usr/include/llvm/DebugInfo/MSF/MSFError.h
+usr/include/llvm/DebugInfo/MSF/MappedBlockStream.h
+usr/include/llvm/DebugInfo/PDB
+usr/include/llvm/DebugInfo/PDB/ConcreteSymbolEnumerator.h
+usr/include/llvm/DebugInfo/PDB/DIA
+usr/include/llvm/DebugInfo/PDB/DIA/DIADataStream.h
+usr/include/llvm/DebugInfo/PDB/DIA/DIAEnumDebugStreams.h
+usr/include/llvm/DebugInfo/PDB/DIA/DIAEnumFrameData.h
+usr/include/llvm/DebugInfo/PDB/DIA/DIAEnumInjectedSources.h
+usr/include/llvm/DebugInfo/PDB/DIA/DIAEnumLineNumbers.h
+usr/include/llvm/DebugInfo/PDB/DIA/DIAEnumSectionContribs.h
+usr/include/llvm/DebugInfo/PDB/DIA/DIAEnumSourceFiles.h
+usr/include/llvm/DebugInfo/PDB/DIA/DIAEnumSymbols.h
+usr/include/llvm/DebugInfo/PDB/DIA/DIAEnumTables.h
+usr/include/llvm/DebugInfo/PDB/DIA/DIAError.h
+usr/include/llvm/DebugInfo/PDB/DIA/DIAFrameData.h
+usr/include/llvm/DebugInfo/PDB/DIA/DIAInjectedSource.h
+usr/include/llvm/DebugInfo/PDB/DIA/DIALineNumber.h
+usr/include/llvm/DebugInfo/PDB/DIA/DIARawSymbol.h
+usr/include/llvm/DebugInfo/PDB/DIA/DIASectionContrib.h
+usr/include/llvm/DebugInfo/PDB/DIA/DIASession.h
+usr/include/llvm/DebugInfo/PDB/DIA/DIASourceFile.h
+usr/include/llvm/DebugInfo/PDB/DIA/DIASupport.h
+usr/include/llvm/DebugInfo/PDB/DIA/DIATable.h
+usr/include/llvm/DebugInfo/PDB/DIA/DIAUtils.h
+usr/include/llvm/DebugInfo/PDB/GenericError.h
+usr/include/llvm/DebugInfo/PDB/IPDBDataStream.h
+usr/include/llvm/DebugInfo/PDB/IPDBEnumChildren.h
+usr/include/llvm/DebugInfo/PDB/IPDBFrameData.h
+usr/include/llvm/DebugInfo/PDB/IPDBInjectedSource.h
+usr/include/llvm/DebugInfo/PDB/IPDBLineNumber.h
+usr/include/llvm/DebugInfo/PDB/IPDBRawSymbol.h
+usr/include/llvm/DebugInfo/PDB/IPDBSectionContrib.h
+usr/include/llvm/DebugInfo/PDB/IPDBSession.h
+usr/include/llvm/DebugInfo/PDB/IPDBSourceFile.h
+usr/include/llvm/DebugInfo/PDB/IPDBTable.h
+usr/include/llvm/DebugInfo/PDB/Native
+usr/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptor.h
+usr/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h
+usr/include/llvm/DebugInfo/PDB/Native/DbiModuleList.h
+usr/include/llvm/DebugInfo/PDB/Native/DbiStream.h
+usr/include/llvm/DebugInfo/PDB/Native/DbiStreamBuilder.h
+usr/include/llvm/DebugInfo/PDB/Native/EnumTables.h
+usr/include/llvm/DebugInfo/PDB/Native/Formatters.h
+usr/include/llvm/DebugInfo/PDB/Native/GSIStreamBuilder.h
+usr/include/llvm/DebugInfo/PDB/Native/GlobalsStream.h
+usr/include/llvm/DebugInfo/PDB/Native/Hash.h
+usr/include/llvm/DebugInfo/PDB/Native/HashTable.h
+usr/include/llvm/DebugInfo/PDB/Native/ISectionContribVisitor.h
+usr/include/llvm/DebugInfo/PDB/Native/InfoStream.h
+usr/include/llvm/DebugInfo/PDB/Native/InfoStreamBuilder.h
+usr/include/llvm/DebugInfo/PDB/Native/InjectedSourceStream.h
+usr/include/llvm/DebugInfo/PDB/Native/ModuleDebugStream.h
+usr/include/llvm/DebugInfo/PDB/Native/NamedStreamMap.h
+usr/include/llvm/DebugInfo/PDB/Native/NativeCompilandSymbol.h
+usr/include/llvm/DebugInfo/PDB/Native/NativeEnumGlobals.h
+usr/include/llvm/DebugInfo/PDB/Native/NativeEnumInjectedSources.h
+usr/include/llvm/DebugInfo/PDB/Native/NativeEnumLineNumbers.h
+usr/include/llvm/DebugInfo/PDB/Native/NativeEnumModules.h
+usr/include/llvm/DebugInfo/PDB/Native/NativeEnumSymbols.h
+usr/include/llvm/DebugInfo/PDB/Native/NativeEnumTypes.h
+usr/include/llvm/DebugInfo/PDB/Native/NativeExeSymbol.h
+usr/include/llvm/DebugInfo/PDB/Native/NativeFunctionSymbol.h
+usr/include/llvm/DebugInfo/PDB/Native/NativeInlineSiteSymbol.h
+usr/include/llvm/DebugInfo/PDB/Native/NativeLineNumber.h
+usr/include/llvm/DebugInfo/PDB/Native/NativePublicSymbol.h
+usr/include/llvm/DebugInfo/PDB/Native/NativeRawSymbol.h
+usr/include/llvm/DebugInfo/PDB/Native/NativeSession.h
+usr/include/llvm/DebugInfo/PDB/Native/NativeSourceFile.h
+usr/include/llvm/DebugInfo/PDB/Native/NativeSymbolEnumerator.h
+usr/include/llvm/DebugInfo/PDB/Native/NativeTypeArray.h
+usr/include/llvm/DebugInfo/PDB/Native/NativeTypeBuiltin.h
+usr/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h
+usr/include/llvm/DebugInfo/PDB/Native/NativeTypeFunctionSig.h
+usr/include/llvm/DebugInfo/PDB/Native/NativeTypePointer.h
+usr/include/llvm/DebugInfo/PDB/Native/NativeTypeTypedef.h
+usr/include/llvm/DebugInfo/PDB/Native/NativeTypeUDT.h
+usr/include/llvm/DebugInfo/PDB/Native/NativeTypeVTShape.h
+usr/include/llvm/DebugInfo/PDB/Native/PDBFile.h
+usr/include/llvm/DebugInfo/PDB/Native/PDBFileBuilder.h
+usr/include/llvm/DebugInfo/PDB/Native/PDBStringTable.h
+usr/include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h
+usr/include/llvm/DebugInfo/PDB/Native/PublicsStream.h
+usr/include/llvm/DebugInfo/PDB/Native/RawConstants.h
+usr/include/llvm/DebugInfo/PDB/Native/RawError.h
+usr/include/llvm/DebugInfo/PDB/Native/RawTypes.h
+usr/include/llvm/DebugInfo/PDB/Native/SymbolCache.h
+usr/include/llvm/DebugInfo/PDB/Native/SymbolStream.h
+usr/include/llvm/DebugInfo/PDB/Native/TpiHashing.h
+usr/include/llvm/DebugInfo/PDB/Native/TpiStream.h
+usr/include/llvm/DebugInfo/PDB/Native/TpiStreamBuilder.h
+usr/include/llvm/DebugInfo/PDB/PDB.h
+usr/include/llvm/DebugInfo/PDB/PDBContext.h
+usr/include/llvm/DebugInfo/PDB/PDBExtras.h
+usr/include/llvm/DebugInfo/PDB/PDBSymDumper.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbol.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolAnnotation.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolBlock.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolCompiland.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolCompilandDetails.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolCompilandEnv.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolCustom.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolData.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolExe.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolFunc.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugEnd.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugStart.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolLabel.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolPublicSymbol.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolThunk.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolTypeArray.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolTypeCustom.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolTypeDimension.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolTypeFriend.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionArg.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionSig.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolTypeManaged.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolTypePointer.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolUnknown.h
+usr/include/llvm/DebugInfo/PDB/PDBSymbolUsingNamespace.h
+usr/include/llvm/DebugInfo/PDB/PDBTypes.h
+usr/include/llvm/DebugInfo/PDB/UDTLayout.h
+usr/include/llvm/DebugInfo/Symbolize
+usr/include/llvm/DebugInfo/Symbolize/DIPrinter.h
+usr/include/llvm/DebugInfo/Symbolize/SymbolizableModule.h
+usr/include/llvm/DebugInfo/Symbolize/Symbolize.h
+usr/include/llvm/Demangle
+usr/include/llvm/Demangle/Demangle.h
+usr/include/llvm/Demangle/DemangleConfig.h
+usr/include/llvm/Demangle/ItaniumDemangle.h
+usr/include/llvm/Demangle/MicrosoftDemangle.h
+usr/include/llvm/Demangle/MicrosoftDemangleNodes.h
+usr/include/llvm/Demangle/StringView.h
+usr/include/llvm/Demangle/Utility.h
+usr/include/llvm/ExecutionEngine
+usr/include/llvm/ExecutionEngine/ExecutionEngine.h
+usr/include/llvm/ExecutionEngine/GenericValue.h
+usr/include/llvm/ExecutionEngine/Interpreter.h
+usr/include/llvm/ExecutionEngine/JITEventListener.h
+usr/include/llvm/ExecutionEngine/JITLink
+usr/include/llvm/ExecutionEngine/JITLink/EHFrameSupport.h
+usr/include/llvm/ExecutionEngine/JITLink/ELF.h
+usr/include/llvm/ExecutionEngine/JITLink/ELF_x86_64.h
+usr/include/llvm/ExecutionEngine/JITLink/JITLink.h
+usr/include/llvm/ExecutionEngine/JITLink/JITLinkDylib.h
+usr/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h
+usr/include/llvm/ExecutionEngine/JITLink/MachO.h
+usr/include/llvm/ExecutionEngine/JITLink/MachO_arm64.h
+usr/include/llvm/ExecutionEngine/JITLink/MachO_x86_64.h
+usr/include/llvm/ExecutionEngine/JITSymbol.h
+usr/include/llvm/ExecutionEngine/MCJIT.h
+usr/include/llvm/ExecutionEngine/OProfileWrapper.h
+usr/include/llvm/ExecutionEngine/ObjectCache.h
+usr/include/llvm/ExecutionEngine/Orc
+usr/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
+usr/include/llvm/ExecutionEngine/Orc/CompileUtils.h
+usr/include/llvm/ExecutionEngine/Orc/Core.h
+usr/include/llvm/ExecutionEngine/Orc/DebugUtils.h
+usr/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
+usr/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h
+usr/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h
+usr/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
+usr/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h
+usr/include/llvm/ExecutionEngine/Orc/LLJIT.h
+usr/include/llvm/ExecutionEngine/Orc/Layer.h
+usr/include/llvm/ExecutionEngine/Orc/LazyReexports.h
+usr/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
+usr/include/llvm/ExecutionEngine/Orc/Mangling.h
+usr/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
+usr/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h
+usr/include/llvm/ExecutionEngine/Orc/OrcABISupport.h
+usr/include/llvm/ExecutionEngine/Orc/OrcRPCTargetProcessControl.h
+usr/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
+usr/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h
+usr/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h
+usr/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
+usr/include/llvm/ExecutionEngine/Orc/Shared
+usr/include/llvm/ExecutionEngine/Orc/Shared/FDRawByteChannel.h
+usr/include/llvm/ExecutionEngine/Orc/Shared/OrcError.h
+usr/include/llvm/ExecutionEngine/Orc/Shared/RPCUtils.h
+usr/include/llvm/ExecutionEngine/Orc/Shared/RawByteChannel.h
+usr/include/llvm/ExecutionEngine/Orc/Shared/Serialization.h
+usr/include/llvm/ExecutionEngine/Orc/Shared/TargetProcessControlTypes.h
+usr/include/llvm/ExecutionEngine/Orc/SpeculateAnalyses.h
+usr/include/llvm/ExecutionEngine/Orc/Speculation.h
+usr/include/llvm/ExecutionEngine/Orc/SymbolStringPool.h
+usr/include/llvm/ExecutionEngine/Orc/TPCDynamicLibrarySearchGenerator.h
+usr/include/llvm/ExecutionEngine/Orc/TPCEHFrameRegistrar.h
+usr/include/llvm/ExecutionEngine/Orc/TPCIndirectionUtils.h
+usr/include/llvm/ExecutionEngine/Orc/TargetProcess
+usr/include/llvm/ExecutionEngine/Orc/TargetProcess/OrcRPCTPCServer.h
+usr/include/llvm/ExecutionEngine/Orc/TargetProcess/RegisterEHFrames.h
+usr/include/llvm/ExecutionEngine/Orc/TargetProcess/TargetExecutionUtils.h
+usr/include/llvm/ExecutionEngine/Orc/TargetProcessControl.h
+usr/include/llvm/ExecutionEngine/Orc/ThreadSafeModule.h
+usr/include/llvm/ExecutionEngine/OrcMCJITReplacement.h
+usr/include/llvm/ExecutionEngine/OrcV1Deprecation.h
+usr/include/llvm/ExecutionEngine/RTDyldMemoryManager.h
+usr/include/llvm/ExecutionEngine/RuntimeDyld.h
+usr/include/llvm/ExecutionEngine/RuntimeDyldChecker.h
+usr/include/llvm/ExecutionEngine/SectionMemoryManager.h
+usr/include/llvm/FileCheck
+usr/include/llvm/FileCheck/FileCheck.h
+usr/include/llvm/Frontend
+usr/include/llvm/Frontend/Directive
+usr/include/llvm/Frontend/Directive/DirectiveBase.td
+usr/include/llvm/Frontend/OpenACC
+usr/include/llvm/Frontend/OpenACC/ACC.h.inc
+usr/include/llvm/Frontend/OpenACC/ACC.inc
+usr/include/llvm/Frontend/OpenACC/ACC.td
+usr/include/llvm/Frontend/OpenMP
+usr/include/llvm/Frontend/OpenMP/OMP.h.inc
+usr/include/llvm/Frontend/OpenMP/OMP.inc
+usr/include/llvm/Frontend/OpenMP/OMP.td
+usr/include/llvm/Frontend/OpenMP/OMPConstants.h
+usr/include/llvm/Frontend/OpenMP/OMPContext.h
+usr/include/llvm/Frontend/OpenMP/OMPGridValues.h
+usr/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+usr/include/llvm/Frontend/OpenMP/OMPKinds.def
+usr/include/llvm/FuzzMutate
+usr/include/llvm/FuzzMutate/FuzzerCLI.h
+usr/include/llvm/FuzzMutate/IRMutator.h
+usr/include/llvm/FuzzMutate/OpDescriptor.h
+usr/include/llvm/FuzzMutate/Operations.h
+usr/include/llvm/FuzzMutate/Random.h
+usr/include/llvm/FuzzMutate/RandomIRBuilder.h
+usr/include/llvm/IR
+usr/include/llvm/IR/AbstractCallSite.h
+usr/include/llvm/IR/Argument.h
+usr/include/llvm/IR/AssemblyAnnotationWriter.h
+usr/include/llvm/IR/Assumptions.h
+usr/include/llvm/IR/Attributes.h
+usr/include/llvm/IR/Attributes.inc
+usr/include/llvm/IR/Attributes.td
+usr/include/llvm/IR/AutoUpgrade.h
+usr/include/llvm/IR/BasicBlock.h
+usr/include/llvm/IR/CFG.h
+usr/include/llvm/IR/CallingConv.h
+usr/include/llvm/IR/Comdat.h
+usr/include/llvm/IR/Constant.h
+usr/include/llvm/IR/ConstantFolder.h
+usr/include/llvm/IR/ConstantRange.h
+usr/include/llvm/IR/Constants.h
+usr/include/llvm/IR/ConstrainedOps.def
+usr/include/llvm/IR/DIBuilder.h
+usr/include/llvm/IR/DataLayout.h
+usr/include/llvm/IR/DebugInfo.h
+usr/include/llvm/IR/DebugInfoFlags.def
+usr/include/llvm/IR/DebugInfoMetadata.h
+usr/include/llvm/IR/DebugLoc.h
+usr/include/llvm/IR/DerivedTypes.h
+usr/include/llvm/IR/DerivedUser.h
+usr/include/llvm/IR/DiagnosticHandler.h
+usr/include/llvm/IR/DiagnosticInfo.h
+usr/include/llvm/IR/DiagnosticPrinter.h
+usr/include/llvm/IR/Dominators.h
+usr/include/llvm/IR/FPEnv.h
+usr/include/llvm/IR/FixedMetadataKinds.def
+usr/include/llvm/IR/FixedPointBuilder.h
+usr/include/llvm/IR/Function.h
+usr/include/llvm/IR/GVMaterializer.h
+usr/include/llvm/IR/GetElementPtrTypeIterator.h
+usr/include/llvm/IR/GlobalAlias.h
+usr/include/llvm/IR/GlobalIFunc.h
+usr/include/llvm/IR/GlobalIndirectSymbol.h
+usr/include/llvm/IR/GlobalObject.h
+usr/include/llvm/IR/GlobalValue.h
+usr/include/llvm/IR/GlobalVariable.h
+usr/include/llvm/IR/IRBuilder.h
+usr/include/llvm/IR/IRBuilderFolder.h
+usr/include/llvm/IR/IRPrintingPasses.h
+usr/include/llvm/IR/InlineAsm.h
+usr/include/llvm/IR/InstIterator.h
+usr/include/llvm/IR/InstVisitor.h
+usr/include/llvm/IR/InstrTypes.h
+usr/include/llvm/IR/Instruction.def
+usr/include/llvm/IR/Instruction.h
+usr/include/llvm/IR/Instructions.h
+usr/include/llvm/IR/IntrinsicEnums.inc
+usr/include/llvm/IR/IntrinsicImpl.inc
+usr/include/llvm/IR/IntrinsicInst.h
+usr/include/llvm/IR/Intrinsics.h
+usr/include/llvm/IR/Intrinsics.td
+usr/include/llvm/IR/IntrinsicsAArch64.h
+usr/include/llvm/IR/IntrinsicsAArch64.td
+usr/include/llvm/IR/IntrinsicsAMDGPU.h
+usr/include/llvm/IR/IntrinsicsAMDGPU.td
+usr/include/llvm/IR/IntrinsicsARM.h
+usr/include/llvm/IR/IntrinsicsARM.td
+usr/include/llvm/IR/IntrinsicsBPF.h
+usr/include/llvm/IR/IntrinsicsBPF.td
+usr/include/llvm/IR/IntrinsicsHexagon.h
+usr/include/llvm/IR/IntrinsicsHexagon.td
+usr/include/llvm/IR/IntrinsicsHexagonDep.td
+usr/include/llvm/IR/IntrinsicsMips.h
+usr/include/llvm/IR/IntrinsicsMips.td
+usr/include/llvm/IR/IntrinsicsNVPTX.h
+usr/include/llvm/IR/IntrinsicsNVVM.td
+usr/include/llvm/IR/IntrinsicsPowerPC.h
+usr/include/llvm/IR/IntrinsicsPowerPC.td
+usr/include/llvm/IR/IntrinsicsR600.h
+usr/include/llvm/IR/IntrinsicsRISCV.h
+usr/include/llvm/IR/IntrinsicsRISCV.td
+usr/include/llvm/IR/IntrinsicsS390.h
+usr/include/llvm/IR/IntrinsicsSystemZ.td
+usr/include/llvm/IR/IntrinsicsVE.h
+usr/include/llvm/IR/IntrinsicsVE.td
+usr/include/llvm/IR/IntrinsicsVEVL.gen.td
+usr/include/llvm/IR/IntrinsicsWebAssembly.h
+usr/include/llvm/IR/IntrinsicsWebAssembly.td
+usr/include/llvm/IR/IntrinsicsX86.h
+usr/include/llvm/IR/IntrinsicsX86.td
+usr/include/llvm/IR/IntrinsicsXCore.h
+usr/include/llvm/IR/IntrinsicsXCore.td
+usr/include/llvm/IR/LLVMContext.h
+usr/include/llvm/IR/LLVMRemarkStreamer.h
+usr/include/llvm/IR/LegacyPassManager.h
+usr/include/llvm/IR/LegacyPassManagers.h
+usr/include/llvm/IR/LegacyPassNameParser.h
+usr/include/llvm/IR/MDBuilder.h
+usr/include/llvm/IR/Mangler.h
+usr/include/llvm/IR/MatrixBuilder.h
+usr/include/llvm/IR/Metadata.def
+usr/include/llvm/IR/Metadata.h
+usr/include/llvm/IR/Module.h
+usr/include/llvm/IR/ModuleSlotTracker.h
+usr/include/llvm/IR/ModuleSummaryIndex.h
+usr/include/llvm/IR/ModuleSummaryIndexYAML.h
+usr/include/llvm/IR/NoFolder.h
+usr/include/llvm/IR/OperandTraits.h
+usr/include/llvm/IR/Operator.h
+usr/include/llvm/IR/OptBisect.h
+usr/include/llvm/IR/PassInstrumentation.h
+usr/include/llvm/IR/PassManager.h
+usr/include/llvm/IR/PassManagerImpl.h
+usr/include/llvm/IR/PassManagerInternal.h
+usr/include/llvm/IR/PassTimingInfo.h
+usr/include/llvm/IR/PatternMatch.h
+usr/include/llvm/IR/PredIteratorCache.h
+usr/include/llvm/IR/PrintPasses.h
+usr/include/llvm/IR/ProfileSummary.h
+usr/include/llvm/IR/PseudoProbe.h
+usr/include/llvm/IR/ReplaceConstant.h
+usr/include/llvm/IR/RuntimeLibcalls.def
+usr/include/llvm/IR/SafepointIRVerifier.h
+usr/include/llvm/IR/Statepoint.h
+usr/include/llvm/IR/StructuralHash.h
+usr/include/llvm/IR/SymbolTableListTraits.h
+usr/include/llvm/IR/TrackingMDRef.h
+usr/include/llvm/IR/Type.h
+usr/include/llvm/IR/TypeFinder.h
+usr/include/llvm/IR/Use.h
+usr/include/llvm/IR/UseListOrder.h
+usr/include/llvm/IR/User.h
+usr/include/llvm/IR/VPIntrinsics.def
+usr/include/llvm/IR/Value.def
+usr/include/llvm/IR/Value.h
+usr/include/llvm/IR/ValueHandle.h
+usr/include/llvm/IR/ValueMap.h
+usr/include/llvm/IR/ValueSymbolTable.h
+usr/include/llvm/IR/Verifier.h
+usr/include/llvm/IRReader
+usr/include/llvm/IRReader/IRReader.h
+usr/include/llvm/InitializePasses.h
+usr/include/llvm/InterfaceStub
+usr/include/llvm/InterfaceStub/ELFObjHandler.h
+usr/include/llvm/InterfaceStub/ELFStub.h
+usr/include/llvm/InterfaceStub/TBEHandler.h
+usr/include/llvm/LTO
+usr/include/llvm/LTO/Caching.h
+usr/include/llvm/LTO/Config.h
+usr/include/llvm/LTO/LTO.h
+usr/include/llvm/LTO/LTOBackend.h
+usr/include/llvm/LTO/SummaryBasedOptimizations.h
+usr/include/llvm/LTO/legacy
+usr/include/llvm/LTO/legacy/LTOCodeGenerator.h
+usr/include/llvm/LTO/legacy/LTOModule.h
+usr/include/llvm/LTO/legacy/ThinLTOCodeGenerator.h
+usr/include/llvm/LTO/legacy/UpdateCompilerUsed.h
+usr/include/llvm/LineEditor
+usr/include/llvm/LineEditor/LineEditor.h
+usr/include/llvm/LinkAllIR.h
+usr/include/llvm/LinkAllPasses.h
+usr/include/llvm/Linker
+usr/include/llvm/Linker/IRMover.h
+usr/include/llvm/Linker/Linker.h
+usr/include/llvm/MC
+usr/include/llvm/MC/ConstantPools.h
+usr/include/llvm/MC/LaneBitmask.h
+usr/include/llvm/MC/MCAsmBackend.h
+usr/include/llvm/MC/MCAsmInfo.h
+usr/include/llvm/MC/MCAsmInfoCOFF.h
+usr/include/llvm/MC/MCAsmInfoDarwin.h
+usr/include/llvm/MC/MCAsmInfoELF.h
+usr/include/llvm/MC/MCAsmInfoWasm.h
+usr/include/llvm/MC/MCAsmInfoXCOFF.h
+usr/include/llvm/MC/MCAsmLayout.h
+usr/include/llvm/MC/MCAsmMacro.h
+usr/include/llvm/MC/MCAssembler.h
+usr/include/llvm/MC/MCCodeEmitter.h
+usr/include/llvm/MC/MCCodeView.h
+usr/include/llvm/MC/MCContext.h
+usr/include/llvm/MC/MCDirectives.h
+usr/include/llvm/MC/MCDisassembler
+usr/include/llvm/MC/MCDisassembler/MCDisassembler.h
+usr/include/llvm/MC/MCDisassembler/MCExternalSymbolizer.h
+usr/include/llvm/MC/MCDisassembler/MCRelocationInfo.h
+usr/include/llvm/MC/MCDisassembler/MCSymbolizer.h
+usr/include/llvm/MC/MCDwarf.h
+usr/include/llvm/MC/MCELFObjectWriter.h
+usr/include/llvm/MC/MCELFStreamer.h
+usr/include/llvm/MC/MCExpr.h
+usr/include/llvm/MC/MCFixedLenDisassembler.h
+usr/include/llvm/MC/MCFixup.h
+usr/include/llvm/MC/MCFixupKindInfo.h
+usr/include/llvm/MC/MCFragment.h
+usr/include/llvm/MC/MCInst.h
+usr/include/llvm/MC/MCInstBuilder.h
+usr/include/llvm/MC/MCInstPrinter.h
+usr/include/llvm/MC/MCInstrAnalysis.h
+usr/include/llvm/MC/MCInstrDesc.h
+usr/include/llvm/MC/MCInstrInfo.h
+usr/include/llvm/MC/MCInstrItineraries.h
+usr/include/llvm/MC/MCLabel.h
+usr/include/llvm/MC/MCLinkerOptimizationHint.h
+usr/include/llvm/MC/MCMachObjectWriter.h
+usr/include/llvm/MC/MCObjectFileInfo.h
+usr/include/llvm/MC/MCObjectStreamer.h
+usr/include/llvm/MC/MCObjectWriter.h
+usr/include/llvm/MC/MCParser
+usr/include/llvm/MC/MCParser/AsmCond.h
+usr/include/llvm/MC/MCParser/AsmLexer.h
+usr/include/llvm/MC/MCParser/MCAsmLexer.h
+usr/include/llvm/MC/MCParser/MCAsmParser.h
+usr/include/llvm/MC/MCParser/MCAsmParserExtension.h
+usr/include/llvm/MC/MCParser/MCAsmParserUtils.h
+usr/include/llvm/MC/MCParser/MCParsedAsmOperand.h
+usr/include/llvm/MC/MCParser/MCTargetAsmParser.h
+usr/include/llvm/MC/MCPseudoProbe.h
+usr/include/llvm/MC/MCRegister.h
+usr/include/llvm/MC/MCRegisterInfo.h
+usr/include/llvm/MC/MCSchedule.h
+usr/include/llvm/MC/MCSection.h
+usr/include/llvm/MC/MCSectionCOFF.h
+usr/include/llvm/MC/MCSectionELF.h
+usr/include/llvm/MC/MCSectionMachO.h
+usr/include/llvm/MC/MCSectionWasm.h
+usr/include/llvm/MC/MCSectionXCOFF.h
+usr/include/llvm/MC/MCStreamer.h
+usr/include/llvm/MC/MCSubtargetInfo.h
+usr/include/llvm/MC/MCSymbol.h
+usr/include/llvm/MC/MCSymbolCOFF.h
+usr/include/llvm/MC/MCSymbolELF.h
+usr/include/llvm/MC/MCSymbolMachO.h
+usr/include/llvm/MC/MCSymbolWasm.h
+usr/include/llvm/MC/MCSymbolXCOFF.h
+usr/include/llvm/MC/MCTargetOptions.h
+usr/include/llvm/MC/MCTargetOptionsCommandFlags.h
+usr/include/llvm/MC/MCValue.h
+usr/include/llvm/MC/MCWasmObjectWriter.h
+usr/include/llvm/MC/MCWasmStreamer.h
+usr/include/llvm/MC/MCWin64EH.h
+usr/include/llvm/MC/MCWinCOFFObjectWriter.h
+usr/include/llvm/MC/MCWinCOFFStreamer.h
+usr/include/llvm/MC/MCWinEH.h
+usr/include/llvm/MC/MCXCOFFObjectWriter.h
+usr/include/llvm/MC/MCXCOFFStreamer.h
+usr/include/llvm/MC/MachineLocation.h
+usr/include/llvm/MC/SectionKind.h
+usr/include/llvm/MC/StringTableBuilder.h
+usr/include/llvm/MC/SubtargetFeature.h
+usr/include/llvm/MCA
+usr/include/llvm/MCA/CodeEmitter.h
+usr/include/llvm/MCA/Context.h
+usr/include/llvm/MCA/HWEventListener.h
+usr/include/llvm/MCA/HardwareUnits
+usr/include/llvm/MCA/HardwareUnits/HardwareUnit.h
+usr/include/llvm/MCA/HardwareUnits/LSUnit.h
+usr/include/llvm/MCA/HardwareUnits/RegisterFile.h
+usr/include/llvm/MCA/HardwareUnits/ResourceManager.h
+usr/include/llvm/MCA/HardwareUnits/RetireControlUnit.h
+usr/include/llvm/MCA/HardwareUnits/Scheduler.h
+usr/include/llvm/MCA/InstrBuilder.h
+usr/include/llvm/MCA/Instruction.h
+usr/include/llvm/MCA/Pipeline.h
+usr/include/llvm/MCA/SourceMgr.h
+usr/include/llvm/MCA/Stages
+usr/include/llvm/MCA/Stages/DispatchStage.h
+usr/include/llvm/MCA/Stages/EntryStage.h
+usr/include/llvm/MCA/Stages/ExecuteStage.h
+usr/include/llvm/MCA/Stages/InstructionTables.h
+usr/include/llvm/MCA/Stages/MicroOpQueueStage.h
+usr/include/llvm/MCA/Stages/RetireStage.h
+usr/include/llvm/MCA/Stages/Stage.h
+usr/include/llvm/MCA/Support.h
+usr/include/llvm/Object
+usr/include/llvm/Object/Archive.h
+usr/include/llvm/Object/ArchiveWriter.h
+usr/include/llvm/Object/Binary.h
+usr/include/llvm/Object/COFF.h
+usr/include/llvm/Object/COFFImportFile.h
+usr/include/llvm/Object/COFFModuleDefinition.h
+usr/include/llvm/Object/CVDebugRecord.h
+usr/include/llvm/Object/Decompressor.h
+usr/include/llvm/Object/ELF.h
+usr/include/llvm/Object/ELFObjectFile.h
+usr/include/llvm/Object/ELFTypes.h
+usr/include/llvm/Object/Error.h
+usr/include/llvm/Object/IRObjectFile.h
+usr/include/llvm/Object/IRSymtab.h
+usr/include/llvm/Object/MachO.h
+usr/include/llvm/Object/MachOUniversal.h
+usr/include/llvm/Object/MachOUniversalWriter.h
+usr/include/llvm/Object/Minidump.h
+usr/include/llvm/Object/ModuleSymbolTable.h
+usr/include/llvm/Object/ObjectFile.h
+usr/include/llvm/Object/RelocationResolver.h
+usr/include/llvm/Object/StackMapParser.h
+usr/include/llvm/Object/SymbolSize.h
+usr/include/llvm/Object/SymbolicFile.h
+usr/include/llvm/Object/TapiFile.h
+usr/include/llvm/Object/TapiUniversal.h
+usr/include/llvm/Object/Wasm.h
+usr/include/llvm/Object/WindowsMachineFlag.h
+usr/include/llvm/Object/WindowsResource.h
+usr/include/llvm/Object/XCOFFObjectFile.h
+usr/include/llvm/ObjectYAML
+usr/include/llvm/ObjectYAML/ArchiveYAML.h
+usr/include/llvm/ObjectYAML/COFFYAML.h
+usr/include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h
+usr/include/llvm/ObjectYAML/CodeViewYAMLSymbols.h
+usr/include/llvm/ObjectYAML/CodeViewYAMLTypeHashing.h
+usr/include/llvm/ObjectYAML/CodeViewYAMLTypes.h
+usr/include/llvm/ObjectYAML/DWARFEmitter.h
+usr/include/llvm/ObjectYAML/DWARFYAML.h
+usr/include/llvm/ObjectYAML/ELFYAML.h
+usr/include/llvm/ObjectYAML/MachOYAML.h
+usr/include/llvm/ObjectYAML/MinidumpYAML.h
+usr/include/llvm/ObjectYAML/ObjectYAML.h
+usr/include/llvm/ObjectYAML/WasmYAML.h
+usr/include/llvm/ObjectYAML/XCOFFYAML.h
+usr/include/llvm/ObjectYAML/YAML.h
+usr/include/llvm/ObjectYAML/yaml2obj.h
+usr/include/llvm/Option
+usr/include/llvm/Option/Arg.h
+usr/include/llvm/Option/ArgList.h
+usr/include/llvm/Option/OptParser.td
+usr/include/llvm/Option/OptSpecifier.h
+usr/include/llvm/Option/OptTable.h
+usr/include/llvm/Option/Option.h
+usr/include/llvm/Pass.h
+usr/include/llvm/PassAnalysisSupport.h
+usr/include/llvm/PassInfo.h
+usr/include/llvm/PassRegistry.h
+usr/include/llvm/PassSupport.h
+usr/include/llvm/Passes
+usr/include/llvm/Passes/PassBuilder.h
+usr/include/llvm/Passes/PassPlugin.h
+usr/include/llvm/Passes/StandardInstrumentations.h
+usr/include/llvm/ProfileData
+usr/include/llvm/ProfileData/Coverage
+usr/include/llvm/ProfileData/Coverage/CoverageMapping.h
+usr/include/llvm/ProfileData/Coverage/CoverageMappingReader.h
+usr/include/llvm/ProfileData/Coverage/CoverageMappingWriter.h
+usr/include/llvm/ProfileData/GCOV.h
+usr/include/llvm/ProfileData/InstrProf.h
+usr/include/llvm/ProfileData/InstrProfData.inc
+usr/include/llvm/ProfileData/InstrProfReader.h
+usr/include/llvm/ProfileData/InstrProfWriter.h
+usr/include/llvm/ProfileData/ProfileCommon.h
+usr/include/llvm/ProfileData/SampleProf.h
+usr/include/llvm/ProfileData/SampleProfReader.h
+usr/include/llvm/ProfileData/SampleProfWriter.h
+usr/include/llvm/Remarks
+usr/include/llvm/Remarks/BitstreamRemarkContainer.h
+usr/include/llvm/Remarks/BitstreamRemarkParser.h
+usr/include/llvm/Remarks/BitstreamRemarkSerializer.h
+usr/include/llvm/Remarks/HotnessThresholdParser.h
+usr/include/llvm/Remarks/Remark.h
+usr/include/llvm/Remarks/RemarkFormat.h
+usr/include/llvm/Remarks/RemarkLinker.h
+usr/include/llvm/Remarks/RemarkParser.h
+usr/include/llvm/Remarks/RemarkSerializer.h
+usr/include/llvm/Remarks/RemarkStreamer.h
+usr/include/llvm/Remarks/RemarkStringTable.h
+usr/include/llvm/Remarks/YAMLRemarkSerializer.h
+usr/include/llvm/Support
+usr/include/llvm/Support/AArch64TargetParser.def
+usr/include/llvm/Support/AArch64TargetParser.h
+usr/include/llvm/Support/AMDGPUMetadata.h
+usr/include/llvm/Support/AMDHSAKernelDescriptor.h
+usr/include/llvm/Support/ARMAttributeParser.h
+usr/include/llvm/Support/ARMBuildAttributes.h
+usr/include/llvm/Support/ARMEHABI.h
+usr/include/llvm/Support/ARMTargetParser.def
+usr/include/llvm/Support/ARMTargetParser.h
+usr/include/llvm/Support/ARMWinEH.h
+usr/include/llvm/Support/AlignOf.h
+usr/include/llvm/Support/Alignment.h
+usr/include/llvm/Support/Allocator.h
+usr/include/llvm/Support/AllocatorBase.h
+usr/include/llvm/Support/ArrayRecycler.h
+usr/include/llvm/Support/Atomic.h
+usr/include/llvm/Support/AtomicOrdering.h
+usr/include/llvm/Support/Automaton.h
+usr/include/llvm/Support/Base64.h
+usr/include/llvm/Support/BinaryByteStream.h
+usr/include/llvm/Support/BinaryItemStream.h
+usr/include/llvm/Support/BinaryStream.h
+usr/include/llvm/Support/BinaryStreamArray.h
+usr/include/llvm/Support/BinaryStreamError.h
+usr/include/llvm/Support/BinaryStreamReader.h
+usr/include/llvm/Support/BinaryStreamRef.h
+usr/include/llvm/Support/BinaryStreamWriter.h
+usr/include/llvm/Support/BlockFrequency.h
+usr/include/llvm/Support/BranchProbability.h
+usr/include/llvm/Support/BuryPointer.h
+usr/include/llvm/Support/CBindingWrapping.h
+usr/include/llvm/Support/CFGDiff.h
+usr/include/llvm/Support/CFGUpdate.h
+usr/include/llvm/Support/COM.h
+usr/include/llvm/Support/CRC.h
+usr/include/llvm/Support/CachePruning.h
+usr/include/llvm/Support/Capacity.h
+usr/include/llvm/Support/Casting.h
+usr/include/llvm/Support/CheckedArithmetic.h
+usr/include/llvm/Support/Chrono.h
+usr/include/llvm/Support/CodeGen.h
+usr/include/llvm/Support/CodeGenCoverage.h
+usr/include/llvm/Support/CommandLine.h
+usr/include/llvm/Support/Compiler.h
+usr/include/llvm/Support/Compression.h
+usr/include/llvm/Support/ConvertUTF.h
+usr/include/llvm/Support/CrashRecoveryContext.h
+usr/include/llvm/Support/DJB.h
+usr/include/llvm/Support/DOTGraphTraits.h
+usr/include/llvm/Support/DataExtractor.h
+usr/include/llvm/Support/DataTypes.h
+usr/include/llvm/Support/Debug.h
+usr/include/llvm/Support/DebugCounter.h
+usr/include/llvm/Support/DynamicLibrary.h
+usr/include/llvm/Support/ELFAttributeParser.h
+usr/include/llvm/Support/ELFAttributes.h
+usr/include/llvm/Support/Endian.h
+usr/include/llvm/Support/EndianStream.h
+usr/include/llvm/Support/Errc.h
+usr/include/llvm/Support/Errno.h
+usr/include/llvm/Support/Error.h
+usr/include/llvm/Support/ErrorHandling.h
+usr/include/llvm/Support/ErrorOr.h
+usr/include/llvm/Support/ExitCodes.h
+usr/include/llvm/Support/ExtensibleRTTI.h
+usr/include/llvm/Support/Extension.def
+usr/include/llvm/Support/FileCollector.h
+usr/include/llvm/Support/FileOutputBuffer.h
+usr/include/llvm/Support/FileSystem
+usr/include/llvm/Support/FileSystem.h
+usr/include/llvm/Support/FileSystem/UniqueID.h
+usr/include/llvm/Support/FileUtilities.h
+usr/include/llvm/Support/Format.h
+usr/include/llvm/Support/FormatAdapters.h
+usr/include/llvm/Support/FormatCommon.h
+usr/include/llvm/Support/FormatProviders.h
+usr/include/llvm/Support/FormatVariadic.h
+usr/include/llvm/Support/FormatVariadicDetails.h
+usr/include/llvm/Support/FormattedStream.h
+usr/include/llvm/Support/GenericDomTree.h
+usr/include/llvm/Support/GenericDomTreeConstruction.h
+usr/include/llvm/Support/GenericIteratedDominanceFrontier.h
+usr/include/llvm/Support/GlobPattern.h
+usr/include/llvm/Support/GraphWriter.h
+usr/include/llvm/Support/Host.h
+usr/include/llvm/Support/InitLLVM.h
+usr/include/llvm/Support/InstructionCost.h
+usr/include/llvm/Support/ItaniumManglingCanonicalizer.h
+usr/include/llvm/Support/JSON.h
+usr/include/llvm/Support/KnownBits.h
+usr/include/llvm/Support/LEB128.h
+usr/include/llvm/Support/LICENSE.TXT
+usr/include/llvm/Support/LineIterator.h
+usr/include/llvm/Support/Locale.h
+usr/include/llvm/Support/LockFileManager.h
+usr/include/llvm/Support/LowLevelTypeImpl.h
+usr/include/llvm/Support/MD5.h
+usr/include/llvm/Support/MSVCErrorWorkarounds.h
+usr/include/llvm/Support/MachineValueType.h
+usr/include/llvm/Support/ManagedStatic.h
+usr/include/llvm/Support/MathExtras.h
+usr/include/llvm/Support/MemAlloc.h
+usr/include/llvm/Support/Memory.h
+usr/include/llvm/Support/MemoryBuffer.h
+usr/include/llvm/Support/MemoryBufferRef.h
+usr/include/llvm/Support/MipsABIFlags.h
+usr/include/llvm/Support/Mutex.h
+usr/include/llvm/Support/NativeFormatting.h
+usr/include/llvm/Support/OnDiskHashTable.h
+usr/include/llvm/Support/OptimizedStructLayout.h
+usr/include/llvm/Support/Parallel.h
+usr/include/llvm/Support/Path.h
+usr/include/llvm/Support/PluginLoader.h
+usr/include/llvm/Support/PointerLikeTypeTraits.h
+usr/include/llvm/Support/PrettyStackTrace.h
+usr/include/llvm/Support/Printable.h
+usr/include/llvm/Support/Process.h
+usr/include/llvm/Support/Program.h
+usr/include/llvm/Support/RISCVAttributeParser.h
+usr/include/llvm/Support/RISCVAttributes.h
+usr/include/llvm/Support/RISCVTargetParser.def
+usr/include/llvm/Support/RWMutex.h
+usr/include/llvm/Support/RandomNumberGenerator.h
+usr/include/llvm/Support/Recycler.h
+usr/include/llvm/Support/RecyclingAllocator.h
+usr/include/llvm/Support/Regex.h
+usr/include/llvm/Support/Registry.h
+usr/include/llvm/Support/ReverseIteration.h
+usr/include/llvm/Support/SHA1.h
+usr/include/llvm/Support/SMLoc.h
+usr/include/llvm/Support/SMTAPI.h
+usr/include/llvm/Support/SaveAndRestore.h
+usr/include/llvm/Support/ScaledNumber.h
+usr/include/llvm/Support/ScopedPrinter.h
+usr/include/llvm/Support/Signals.h
+usr/include/llvm/Support/Signposts.h
+usr/include/llvm/Support/SmallVectorMemoryBuffer.h
+usr/include/llvm/Support/Solaris
+usr/include/llvm/Support/Solaris/sys
+usr/include/llvm/Support/Solaris/sys/regset.h
+usr/include/llvm/Support/SourceMgr.h
+usr/include/llvm/Support/SpecialCaseList.h
+usr/include/llvm/Support/StringSaver.h
+usr/include/llvm/Support/SuffixTree.h
+usr/include/llvm/Support/SwapByteOrder.h
+usr/include/llvm/Support/SymbolRemappingReader.h
+usr/include/llvm/Support/SystemUtils.h
+usr/include/llvm/Support/TarWriter.h
+usr/include/llvm/Support/TargetOpcodes.def
+usr/include/llvm/Support/TargetParser.h
+usr/include/llvm/Support/TargetRegistry.h
+usr/include/llvm/Support/TargetSelect.h
+usr/include/llvm/Support/TaskQueue.h
+usr/include/llvm/Support/ThreadLocal.h
+usr/include/llvm/Support/ThreadPool.h
+usr/include/llvm/Support/Threading.h
+usr/include/llvm/Support/TimeProfiler.h
+usr/include/llvm/Support/Timer.h
+usr/include/llvm/Support/ToolOutputFile.h
+usr/include/llvm/Support/TrailingObjects.h
+usr/include/llvm/Support/TrigramIndex.h
+usr/include/llvm/Support/TypeName.h
+usr/include/llvm/Support/TypeSize.h
+usr/include/llvm/Support/Unicode.h
+usr/include/llvm/Support/UnicodeCharRanges.h
+usr/include/llvm/Support/VCSRevision.h
+usr/include/llvm/Support/Valgrind.h
+usr/include/llvm/Support/VersionTuple.h
+usr/include/llvm/Support/VirtualFileSystem.h
+usr/include/llvm/Support/Watchdog.h
+usr/include/llvm/Support/Win64EH.h
+usr/include/llvm/Support/Windows
+usr/include/llvm/Support/Windows/WindowsSupport.h
+usr/include/llvm/Support/WindowsError.h
+usr/include/llvm/Support/WithColor.h
+usr/include/llvm/Support/X86DisassemblerDecoderCommon.h
+usr/include/llvm/Support/X86TargetParser.def
+usr/include/llvm/Support/X86TargetParser.h
+usr/include/llvm/Support/YAMLParser.h
+usr/include/llvm/Support/YAMLTraits.h
+usr/include/llvm/Support/circular_raw_ostream.h
+usr/include/llvm/Support/raw_os_ostream.h
+usr/include/llvm/Support/raw_ostream.h
+usr/include/llvm/Support/raw_sha1_ostream.h
+usr/include/llvm/Support/thread.h
+usr/include/llvm/Support/type_traits.h
+usr/include/llvm/Support/xxhash.h
+usr/include/llvm/TableGen
+usr/include/llvm/TableGen/Automaton.td
+usr/include/llvm/TableGen/DirectiveEmitter.h
+usr/include/llvm/TableGen/Error.h
+usr/include/llvm/TableGen/Main.h
+usr/include/llvm/TableGen/Record.h
+usr/include/llvm/TableGen/SearchableTable.td
+usr/include/llvm/TableGen/SetTheory.h
+usr/include/llvm/TableGen/StringMatcher.h
+usr/include/llvm/TableGen/StringToOffsetTable.h
+usr/include/llvm/TableGen/TableGenBackend.h
+usr/include/llvm/Target
+usr/include/llvm/Target/CGPassBuilderOption.h
+usr/include/llvm/Target/CodeGenCWrappers.h
+usr/include/llvm/Target/GenericOpcodes.td
+usr/include/llvm/Target/GlobalISel
+usr/include/llvm/Target/GlobalISel/Combine.td
+usr/include/llvm/Target/GlobalISel/RegisterBank.td
+usr/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
+usr/include/llvm/Target/GlobalISel/Target.td
+usr/include/llvm/Target/Target.td
+usr/include/llvm/Target/TargetCallingConv.td
+usr/include/llvm/Target/TargetInstrPredicate.td
+usr/include/llvm/Target/TargetIntrinsicInfo.h
+usr/include/llvm/Target/TargetItinerary.td
+usr/include/llvm/Target/TargetLoweringObjectFile.h
+usr/include/llvm/Target/TargetMachine.h
+usr/include/llvm/Target/TargetOptions.h
+usr/include/llvm/Target/TargetPfmCounters.td
+usr/include/llvm/Target/TargetSchedule.td
+usr/include/llvm/Target/TargetSelectionDAG.td
+usr/include/llvm/Testing
+usr/include/llvm/Testing/Support
+usr/include/llvm/Testing/Support/Annotations.h
+usr/include/llvm/Testing/Support/Error.h
+usr/include/llvm/Testing/Support/SupportHelpers.h
+usr/include/llvm/TextAPI
+usr/include/llvm/TextAPI/MachO
+usr/include/llvm/TextAPI/MachO/Architecture.def
+usr/include/llvm/TextAPI/MachO/Architecture.h
+usr/include/llvm/TextAPI/MachO/ArchitectureSet.h
+usr/include/llvm/TextAPI/MachO/InterfaceFile.h
+usr/include/llvm/TextAPI/MachO/PackedVersion.h
+usr/include/llvm/TextAPI/MachO/Platform.h
+usr/include/llvm/TextAPI/MachO/Symbol.h
+usr/include/llvm/TextAPI/MachO/Target.h
+usr/include/llvm/TextAPI/MachO/TextAPIReader.h
+usr/include/llvm/TextAPI/MachO/TextAPIWriter.h
+usr/include/llvm/ToolDrivers
+usr/include/llvm/ToolDrivers/llvm-dlltool
+usr/include/llvm/ToolDrivers/llvm-dlltool/DlltoolDriver.h
+usr/include/llvm/ToolDrivers/llvm-lib
+usr/include/llvm/ToolDrivers/llvm-lib/LibDriver.h
+usr/include/llvm/Transforms
+usr/include/llvm/Transforms/AggressiveInstCombine
+usr/include/llvm/Transforms/AggressiveInstCombine/AggressiveInstCombine.h
+usr/include/llvm/Transforms/CFGuard.h
+usr/include/llvm/Transforms/Coroutines
+usr/include/llvm/Transforms/Coroutines.h
+usr/include/llvm/Transforms/Coroutines/CoroCleanup.h
+usr/include/llvm/Transforms/Coroutines/CoroEarly.h
+usr/include/llvm/Transforms/Coroutines/CoroElide.h
+usr/include/llvm/Transforms/Coroutines/CoroSplit.h
+usr/include/llvm/Transforms/HelloNew
+usr/include/llvm/Transforms/HelloNew/HelloWorld.h
+usr/include/llvm/Transforms/IPO
+usr/include/llvm/Transforms/IPO.h
+usr/include/llvm/Transforms/IPO/AlwaysInliner.h
+usr/include/llvm/Transforms/IPO/Annotation2Metadata.h
+usr/include/llvm/Transforms/IPO/ArgumentPromotion.h
+usr/include/llvm/Transforms/IPO/Attributor.h
+usr/include/llvm/Transforms/IPO/BlockExtractor.h
+usr/include/llvm/Transforms/IPO/CalledValuePropagation.h
+usr/include/llvm/Transforms/IPO/ConstantMerge.h
+usr/include/llvm/Transforms/IPO/CrossDSOCFI.h
+usr/include/llvm/Transforms/IPO/DeadArgumentElimination.h
+usr/include/llvm/Transforms/IPO/ElimAvailExtern.h
+usr/include/llvm/Transforms/IPO/ForceFunctionAttrs.h
+usr/include/llvm/Transforms/IPO/FunctionAttrs.h
+usr/include/llvm/Transforms/IPO/FunctionImport.h
+usr/include/llvm/Transforms/IPO/GlobalDCE.h
+usr/include/llvm/Transforms/IPO/GlobalOpt.h
+usr/include/llvm/Transforms/IPO/GlobalSplit.h
+usr/include/llvm/Transforms/IPO/HotColdSplitting.h
+usr/include/llvm/Transforms/IPO/IROutliner.h
+usr/include/llvm/Transforms/IPO/InferFunctionAttrs.h
+usr/include/llvm/Transforms/IPO/Inliner.h
+usr/include/llvm/Transforms/IPO/Internalize.h
+usr/include/llvm/Transforms/IPO/LoopExtractor.h
+usr/include/llvm/Transforms/IPO/LowerTypeTests.h
+usr/include/llvm/Transforms/IPO/MergeFunctions.h
+usr/include/llvm/Transforms/IPO/OpenMPOpt.h
+usr/include/llvm/Transforms/IPO/PartialInlining.h
+usr/include/llvm/Transforms/IPO/PassManagerBuilder.h
+usr/include/llvm/Transforms/IPO/SCCP.h
+usr/include/llvm/Transforms/IPO/SampleContextTracker.h
+usr/include/llvm/Transforms/IPO/SampleProfile.h
+usr/include/llvm/Transforms/IPO/SampleProfileProbe.h
+usr/include/llvm/Transforms/IPO/StripDeadPrototypes.h
+usr/include/llvm/Transforms/IPO/StripSymbols.h
+usr/include/llvm/Transforms/IPO/SyntheticCountsPropagation.h
+usr/include/llvm/Transforms/IPO/ThinLTOBitcodeWriter.h
+usr/include/llvm/Transforms/IPO/WholeProgramDevirt.h
+usr/include/llvm/Transforms/InstCombine
+usr/include/llvm/Transforms/InstCombine/InstCombine.h
+usr/include/llvm/Transforms/InstCombine/InstCombineWorklist.h
+usr/include/llvm/Transforms/InstCombine/InstCombiner.h
+usr/include/llvm/Transforms/Instrumentation
+usr/include/llvm/Transforms/Instrumentation.h
+usr/include/llvm/Transforms/Instrumentation/AddressSanitizer.h
+usr/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h
+usr/include/llvm/Transforms/Instrumentation/BoundsChecking.h
+usr/include/llvm/Transforms/Instrumentation/CGProfile.h
+usr/include/llvm/Transforms/Instrumentation/ControlHeightReduction.h
+usr/include/llvm/Transforms/Instrumentation/DataFlowSanitizer.h
+usr/include/llvm/Transforms/Instrumentation/GCOVProfiler.h
+usr/include/llvm/Transforms/Instrumentation/HWAddressSanitizer.h
+usr/include/llvm/Transforms/Instrumentation/InstrOrderFile.h
+usr/include/llvm/Transforms/Instrumentation/InstrProfiling.h
+usr/include/llvm/Transforms/Instrumentation/MemProfiler.h
+usr/include/llvm/Transforms/Instrumentation/MemorySanitizer.h
+usr/include/llvm/Transforms/Instrumentation/PGOInstrumentation.h
+usr/include/llvm/Transforms/Instrumentation/PoisonChecking.h
+usr/include/llvm/Transforms/Instrumentation/SanitizerCoverage.h
+usr/include/llvm/Transforms/Instrumentation/ThreadSanitizer.h
+usr/include/llvm/Transforms/ObjCARC.h
+usr/include/llvm/Transforms/Scalar
+usr/include/llvm/Transforms/Scalar.h
+usr/include/llvm/Transforms/Scalar/ADCE.h
+usr/include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h
+usr/include/llvm/Transforms/Scalar/AnnotationRemarks.h
+usr/include/llvm/Transforms/Scalar/BDCE.h
+usr/include/llvm/Transforms/Scalar/CallSiteSplitting.h
+usr/include/llvm/Transforms/Scalar/ConstantHoisting.h
+usr/include/llvm/Transforms/Scalar/ConstraintElimination.h
+usr/include/llvm/Transforms/Scalar/CorrelatedValuePropagation.h
+usr/include/llvm/Transforms/Scalar/DCE.h
+usr/include/llvm/Transforms/Scalar/DeadStoreElimination.h
+usr/include/llvm/Transforms/Scalar/DivRemPairs.h
+usr/include/llvm/Transforms/Scalar/EarlyCSE.h
+usr/include/llvm/Transforms/Scalar/Float2Int.h
+usr/include/llvm/Transforms/Scalar/GVN.h
+usr/include/llvm/Transforms/Scalar/GVNExpression.h
+usr/include/llvm/Transforms/Scalar/GuardWidening.h
+usr/include/llvm/Transforms/Scalar/IVUsersPrinter.h
+usr/include/llvm/Transforms/Scalar/IndVarSimplify.h
+usr/include/llvm/Transforms/Scalar/InductiveRangeCheckElimination.h
+usr/include/llvm/Transforms/Scalar/InferAddressSpaces.h
+usr/include/llvm/Transforms/Scalar/InstSimplifyPass.h
+usr/include/llvm/Transforms/Scalar/JumpThreading.h
+usr/include/llvm/Transforms/Scalar/LICM.h
+usr/include/llvm/Transforms/Scalar/LoopAccessAnalysisPrinter.h
+usr/include/llvm/Transforms/Scalar/LoopDataPrefetch.h
+usr/include/llvm/Transforms/Scalar/LoopDeletion.h
+usr/include/llvm/Transforms/Scalar/LoopDistribute.h
+usr/include/llvm/Transforms/Scalar/LoopFlatten.h
+usr/include/llvm/Transforms/Scalar/LoopFuse.h
+usr/include/llvm/Transforms/Scalar/LoopIdiomRecognize.h
+usr/include/llvm/Transforms/Scalar/LoopInstSimplify.h
+usr/include/llvm/Transforms/Scalar/LoopInterchange.h
+usr/include/llvm/Transforms/Scalar/LoopLoadElimination.h
+usr/include/llvm/Transforms/Scalar/LoopPassManager.h
+usr/include/llvm/Transforms/Scalar/LoopPredication.h
+usr/include/llvm/Transforms/Scalar/LoopReroll.h
+usr/include/llvm/Transforms/Scalar/LoopRotation.h
+usr/include/llvm/Transforms/Scalar/LoopSimplifyCFG.h
+usr/include/llvm/Transforms/Scalar/LoopSink.h
+usr/include/llvm/Transforms/Scalar/LoopStrengthReduce.h
+usr/include/llvm/Transforms/Scalar/LoopUnrollAndJamPass.h
+usr/include/llvm/Transforms/Scalar/LoopUnrollPass.h
+usr/include/llvm/Transforms/Scalar/LoopVersioningLICM.h
+usr/include/llvm/Transforms/Scalar/LowerAtomic.h
+usr/include/llvm/Transforms/Scalar/LowerConstantIntrinsics.h
+usr/include/llvm/Transforms/Scalar/LowerExpectIntrinsic.h
+usr/include/llvm/Transforms/Scalar/LowerGuardIntrinsic.h
+usr/include/llvm/Transforms/Scalar/LowerMatrixIntrinsics.h
+usr/include/llvm/Transforms/Scalar/LowerWidenableCondition.h
+usr/include/llvm/Transforms/Scalar/MakeGuardsExplicit.h
+usr/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
+usr/include/llvm/Transforms/Scalar/MergeICmps.h
+usr/include/llvm/Transforms/Scalar/MergedLoadStoreMotion.h
+usr/include/llvm/Transforms/Scalar/NaryReassociate.h
+usr/include/llvm/Transforms/Scalar/NewGVN.h
+usr/include/llvm/Transforms/Scalar/PartiallyInlineLibCalls.h
+usr/include/llvm/Transforms/Scalar/Reassociate.h
+usr/include/llvm/Transforms/Scalar/Reg2Mem.h
+usr/include/llvm/Transforms/Scalar/RewriteStatepointsForGC.h
+usr/include/llvm/Transforms/Scalar/SCCP.h
+usr/include/llvm/Transforms/Scalar/SROA.h
+usr/include/llvm/Transforms/Scalar/ScalarizeMaskedMemIntrin.h
+usr/include/llvm/Transforms/Scalar/Scalarizer.h
+usr/include/llvm/Transforms/Scalar/SeparateConstOffsetFromGEP.h
+usr/include/llvm/Transforms/Scalar/SimpleLoopUnswitch.h
+usr/include/llvm/Transforms/Scalar/SimplifyCFG.h
+usr/include/llvm/Transforms/Scalar/Sink.h
+usr/include/llvm/Transforms/Scalar/SpeculateAroundPHIs.h
+usr/include/llvm/Transforms/Scalar/SpeculativeExecution.h
+usr/include/llvm/Transforms/Scalar/StraightLineStrengthReduce.h
+usr/include/llvm/Transforms/Scalar/StructurizeCFG.h
+usr/include/llvm/Transforms/Scalar/TailRecursionElimination.h
+usr/include/llvm/Transforms/Scalar/WarnMissedTransforms.h
+usr/include/llvm/Transforms/Utils
+usr/include/llvm/Transforms/Utils.h
+usr/include/llvm/Transforms/Utils/AMDGPUEmitPrintf.h
+usr/include/llvm/Transforms/Utils/ASanStackFrameLayout.h
+usr/include/llvm/Transforms/Utils/AddDiscriminators.h
+usr/include/llvm/Transforms/Utils/AssumeBundleBuilder.h
+usr/include/llvm/Transforms/Utils/BasicBlockUtils.h
+usr/include/llvm/Transforms/Utils/BreakCriticalEdges.h
+usr/include/llvm/Transforms/Utils/BuildLibCalls.h
+usr/include/llvm/Transforms/Utils/BypassSlowDivision.h
+usr/include/llvm/Transforms/Utils/CallGraphUpdater.h
+usr/include/llvm/Transforms/Utils/CallPromotionUtils.h
+usr/include/llvm/Transforms/Utils/CanonicalizeAliases.h
+usr/include/llvm/Transforms/Utils/CanonicalizeFreezeInLoops.h
+usr/include/llvm/Transforms/Utils/Cloning.h
+usr/include/llvm/Transforms/Utils/CodeExtractor.h
+usr/include/llvm/Transforms/Utils/CodeMoverUtils.h
+usr/include/llvm/Transforms/Utils/CtorUtils.h
+usr/include/llvm/Transforms/Utils/Debugify.h
+usr/include/llvm/Transforms/Utils/EntryExitInstrumenter.h
+usr/include/llvm/Transforms/Utils/EscapeEnumerator.h
+usr/include/llvm/Transforms/Utils/Evaluator.h
+usr/include/llvm/Transforms/Utils/FixIrreducible.h
+usr/include/llvm/Transforms/Utils/FunctionComparator.h
+usr/include/llvm/Transforms/Utils/FunctionImportUtils.h
+usr/include/llvm/Transforms/Utils/GlobalStatus.h
+usr/include/llvm/Transforms/Utils/GuardUtils.h
+usr/include/llvm/Transforms/Utils/InjectTLIMappings.h
+usr/include/llvm/Transforms/Utils/InstructionNamer.h
+usr/include/llvm/Transforms/Utils/IntegerDivision.h
+usr/include/llvm/Transforms/Utils/LCSSA.h
+usr/include/llvm/Transforms/Utils/LibCallsShrinkWrap.h
+usr/include/llvm/Transforms/Utils/Local.h
+usr/include/llvm/Transforms/Utils/LoopPeel.h
+usr/include/llvm/Transforms/Utils/LoopRotationUtils.h
+usr/include/llvm/Transforms/Utils/LoopSimplify.h
+usr/include/llvm/Transforms/Utils/LoopUtils.h
+usr/include/llvm/Transforms/Utils/LoopVersioning.h
+usr/include/llvm/Transforms/Utils/LowerInvoke.h
+usr/include/llvm/Transforms/Utils/LowerMemIntrinsics.h
+usr/include/llvm/Transforms/Utils/LowerSwitch.h
+usr/include/llvm/Transforms/Utils/MatrixUtils.h
+usr/include/llvm/Transforms/Utils/Mem2Reg.h
+usr/include/llvm/Transforms/Utils/MetaRenamer.h
+usr/include/llvm/Transforms/Utils/ModuleUtils.h
+usr/include/llvm/Transforms/Utils/NameAnonGlobals.h
+usr/include/llvm/Transforms/Utils/PredicateInfo.h
+usr/include/llvm/Transforms/Utils/PromoteMemToReg.h
+usr/include/llvm/Transforms/Utils/SSAUpdater.h
+usr/include/llvm/Transforms/Utils/SSAUpdaterBulk.h
+usr/include/llvm/Transforms/Utils/SSAUpdaterImpl.h
+usr/include/llvm/Transforms/Utils/SanitizerStats.h
+usr/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
+usr/include/llvm/Transforms/Utils/SimplifyCFGOptions.h
+usr/include/llvm/Transforms/Utils/SimplifyIndVar.h
+usr/include/llvm/Transforms/Utils/SimplifyLibCalls.h
+usr/include/llvm/Transforms/Utils/SizeOpts.h
+usr/include/llvm/Transforms/Utils/SplitModule.h
+usr/include/llvm/Transforms/Utils/StripGCRelocates.h
+usr/include/llvm/Transforms/Utils/StripNonLineTableDebugInfo.h
+usr/include/llvm/Transforms/Utils/SymbolRewriter.h
+usr/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h
+usr/include/llvm/Transforms/Utils/UnifyLoopExits.h
+usr/include/llvm/Transforms/Utils/UniqueInternalLinkageNames.h
+usr/include/llvm/Transforms/Utils/UnrollLoop.h
+usr/include/llvm/Transforms/Utils/VNCoercion.h
+usr/include/llvm/Transforms/Utils/ValueMapper.h
+usr/include/llvm/Transforms/Vectorize
+usr/include/llvm/Transforms/Vectorize.h
+usr/include/llvm/Transforms/Vectorize/LoadStoreVectorizer.h
+usr/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
+usr/include/llvm/Transforms/Vectorize/LoopVectorize.h
+usr/include/llvm/Transforms/Vectorize/SLPVectorizer.h
+usr/include/llvm/Transforms/Vectorize/VectorCombine.h
+usr/include/llvm/WindowsManifest
+usr/include/llvm/WindowsManifest/WindowsManifestMerger.h
+usr/include/llvm/WindowsResource
+usr/include/llvm/WindowsResource/ResourceProcessor.h
+usr/include/llvm/WindowsResource/ResourceScriptToken.h
+usr/include/llvm/WindowsResource/ResourceScriptTokenList.h
+usr/include/llvm/XRay
+usr/include/llvm/XRay/BlockIndexer.h
+usr/include/llvm/XRay/BlockPrinter.h
+usr/include/llvm/XRay/BlockVerifier.h
+usr/include/llvm/XRay/FDRLogBuilder.h
+usr/include/llvm/XRay/FDRRecordConsumer.h
+usr/include/llvm/XRay/FDRRecordProducer.h
+usr/include/llvm/XRay/FDRRecords.h
+usr/include/llvm/XRay/FDRTraceExpander.h
+usr/include/llvm/XRay/FDRTraceWriter.h
+usr/include/llvm/XRay/FileHeaderReader.h
+usr/include/llvm/XRay/Graph.h
+usr/include/llvm/XRay/InstrumentationMap.h
+usr/include/llvm/XRay/Profile.h
+usr/include/llvm/XRay/RecordPrinter.h
+usr/include/llvm/XRay/Trace.h
+usr/include/llvm/XRay/XRayRecord.h
+usr/include/llvm/XRay/YAMLXRayRecord.h
+usr/lib/LLVMgold.so
+usr/lib/clang
+usr/lib/clang/12.0.1
+usr/lib/clang/12.0.1/include
+usr/lib/clang/12.0.1/include/__clang_cuda_builtin_vars.h
+usr/lib/clang/12.0.1/include/__clang_cuda_cmath.h
+usr/lib/clang/12.0.1/include/__clang_cuda_complex_builtins.h
+usr/lib/clang/12.0.1/include/__clang_cuda_device_functions.h
+usr/lib/clang/12.0.1/include/__clang_cuda_intrinsics.h
+usr/lib/clang/12.0.1/include/__clang_cuda_libdevice_declares.h
+usr/lib/clang/12.0.1/include/__clang_cuda_math.h
+usr/lib/clang/12.0.1/include/__clang_cuda_math_forward_declares.h
+usr/lib/clang/12.0.1/include/__clang_cuda_runtime_wrapper.h
+usr/lib/clang/12.0.1/include/__clang_hip_cmath.h
+usr/lib/clang/12.0.1/include/__clang_hip_libdevice_declares.h
+usr/lib/clang/12.0.1/include/__clang_hip_math.h
+usr/lib/clang/12.0.1/include/__clang_hip_runtime_wrapper.h
+usr/lib/clang/12.0.1/include/__stddef_max_align_t.h
+usr/lib/clang/12.0.1/include/__wmmintrin_aes.h
+usr/lib/clang/12.0.1/include/__wmmintrin_pclmul.h
+usr/lib/clang/12.0.1/include/adxintrin.h
+usr/lib/clang/12.0.1/include/altivec.h
+usr/lib/clang/12.0.1/include/ammintrin.h
+usr/lib/clang/12.0.1/include/amxintrin.h
+usr/lib/clang/12.0.1/include/arm64intr.h
+usr/lib/clang/12.0.1/include/arm_acle.h
+usr/lib/clang/12.0.1/include/arm_bf16.h
+usr/lib/clang/12.0.1/include/arm_cde.h
+usr/lib/clang/12.0.1/include/arm_cmse.h
+usr/lib/clang/12.0.1/include/arm_fp16.h
+usr/lib/clang/12.0.1/include/arm_mve.h
+usr/lib/clang/12.0.1/include/arm_neon.h
+usr/lib/clang/12.0.1/include/arm_sve.h
+usr/lib/clang/12.0.1/include/armintr.h
+usr/lib/clang/12.0.1/include/avx2intrin.h
+usr/lib/clang/12.0.1/include/avx512bf16intrin.h
+usr/lib/clang/12.0.1/include/avx512bitalgintrin.h
+usr/lib/clang/12.0.1/include/avx512bwintrin.h
+usr/lib/clang/12.0.1/include/avx512cdintrin.h
+usr/lib/clang/12.0.1/include/avx512dqintrin.h
+usr/lib/clang/12.0.1/include/avx512erintrin.h
+usr/lib/clang/12.0.1/include/avx512fintrin.h
+usr/lib/clang/12.0.1/include/avx512ifmaintrin.h
+usr/lib/clang/12.0.1/include/avx512ifmavlintrin.h
+usr/lib/clang/12.0.1/include/avx512pfintrin.h
+usr/lib/clang/12.0.1/include/avx512vbmi2intrin.h
+usr/lib/clang/12.0.1/include/avx512vbmiintrin.h
+usr/lib/clang/12.0.1/include/avx512vbmivlintrin.h
+usr/lib/clang/12.0.1/include/avx512vlbf16intrin.h
+usr/lib/clang/12.0.1/include/avx512vlbitalgintrin.h
+usr/lib/clang/12.0.1/include/avx512vlbwintrin.h
+usr/lib/clang/12.0.1/include/avx512vlcdintrin.h
+usr/lib/clang/12.0.1/include/avx512vldqintrin.h
+usr/lib/clang/12.0.1/include/avx512vlintrin.h
+usr/lib/clang/12.0.1/include/avx512vlvbmi2intrin.h
+usr/lib/clang/12.0.1/include/avx512vlvnniintrin.h
+usr/lib/clang/12.0.1/include/avx512vlvp2intersectintrin.h
+usr/lib/clang/12.0.1/include/avx512vnniintrin.h
+usr/lib/clang/12.0.1/include/avx512vp2intersectintrin.h
+usr/lib/clang/12.0.1/include/avx512vpopcntdqintrin.h
+usr/lib/clang/12.0.1/include/avx512vpopcntdqvlintrin.h
+usr/lib/clang/12.0.1/include/avxintrin.h
+usr/lib/clang/12.0.1/include/avxvnniintrin.h
+usr/lib/clang/12.0.1/include/bmi2intrin.h
+usr/lib/clang/12.0.1/include/bmiintrin.h
+usr/lib/clang/12.0.1/include/cet.h
+usr/lib/clang/12.0.1/include/cetintrin.h
+usr/lib/clang/12.0.1/include/cldemoteintrin.h
+usr/lib/clang/12.0.1/include/clflushoptintrin.h
+usr/lib/clang/12.0.1/include/clwbintrin.h
+usr/lib/clang/12.0.1/include/clzerointrin.h
+usr/lib/clang/12.0.1/include/cpuid.h
+usr/lib/clang/12.0.1/include/cuda_wrappers
+usr/lib/clang/12.0.1/include/cuda_wrappers/algorithm
+usr/lib/clang/12.0.1/include/cuda_wrappers/complex
+usr/lib/clang/12.0.1/include/cuda_wrappers/new
+usr/lib/clang/12.0.1/include/emmintrin.h
+usr/lib/clang/12.0.1/include/enqcmdintrin.h
+usr/lib/clang/12.0.1/include/f16cintrin.h
+usr/lib/clang/12.0.1/include/float.h
+usr/lib/clang/12.0.1/include/fma4intrin.h
+usr/lib/clang/12.0.1/include/fmaintrin.h
+usr/lib/clang/12.0.1/include/fxsrintrin.h
+usr/lib/clang/12.0.1/include/gfniintrin.h
+usr/lib/clang/12.0.1/include/hresetintrin.h
+usr/lib/clang/12.0.1/include/htmintrin.h
+usr/lib/clang/12.0.1/include/htmxlintrin.h
+usr/lib/clang/12.0.1/include/ia32intrin.h
+usr/lib/clang/12.0.1/include/immintrin.h
+usr/lib/clang/12.0.1/include/intrin.h
+usr/lib/clang/12.0.1/include/inttypes.h
+usr/lib/clang/12.0.1/include/invpcidintrin.h
+usr/lib/clang/12.0.1/include/iso646.h
+usr/lib/clang/12.0.1/include/keylockerintrin.h
+usr/lib/clang/12.0.1/include/limits.h
+usr/lib/clang/12.0.1/include/lwpintrin.h
+usr/lib/clang/12.0.1/include/lzcntintrin.h
+usr/lib/clang/12.0.1/include/mm3dnow.h
+usr/lib/clang/12.0.1/include/mm_malloc.h
+usr/lib/clang/12.0.1/include/mmintrin.h
+usr/lib/clang/12.0.1/include/module.modulemap
+usr/lib/clang/12.0.1/include/movdirintrin.h
+usr/lib/clang/12.0.1/include/msa.h
+usr/lib/clang/12.0.1/include/mwaitxintrin.h
+usr/lib/clang/12.0.1/include/nmmintrin.h
+usr/lib/clang/12.0.1/include/opencl-c-base.h
+usr/lib/clang/12.0.1/include/opencl-c.h
+usr/lib/clang/12.0.1/include/openmp_wrappers
+usr/lib/clang/12.0.1/include/openmp_wrappers/__clang_openmp_device_functions.h
+usr/lib/clang/12.0.1/include/openmp_wrappers/cmath
+usr/lib/clang/12.0.1/include/openmp_wrappers/complex
+usr/lib/clang/12.0.1/include/openmp_wrappers/complex.h
+usr/lib/clang/12.0.1/include/openmp_wrappers/complex_cmath.h
+usr/lib/clang/12.0.1/include/openmp_wrappers/math.h
+usr/lib/clang/12.0.1/include/openmp_wrappers/new
+usr/lib/clang/12.0.1/include/pconfigintrin.h
+usr/lib/clang/12.0.1/include/pkuintrin.h
+usr/lib/clang/12.0.1/include/pmmintrin.h
+usr/lib/clang/12.0.1/include/popcntintrin.h
+usr/lib/clang/12.0.1/include/ppc_wrappers
+usr/lib/clang/12.0.1/include/ppc_wrappers/emmintrin.h
+usr/lib/clang/12.0.1/include/ppc_wrappers/mm_malloc.h
+usr/lib/clang/12.0.1/include/ppc_wrappers/mmintrin.h
+usr/lib/clang/12.0.1/include/ppc_wrappers/pmmintrin.h
+usr/lib/clang/12.0.1/include/ppc_wrappers/smmintrin.h
+usr/lib/clang/12.0.1/include/ppc_wrappers/tmmintrin.h
+usr/lib/clang/12.0.1/include/ppc_wrappers/xmmintrin.h
+usr/lib/clang/12.0.1/include/prfchwintrin.h
+usr/lib/clang/12.0.1/include/ptwriteintrin.h
+usr/lib/clang/12.0.1/include/rdseedintrin.h
+usr/lib/clang/12.0.1/include/rtmintrin.h
+usr/lib/clang/12.0.1/include/s390intrin.h
+usr/lib/clang/12.0.1/include/serializeintrin.h
+usr/lib/clang/12.0.1/include/sgxintrin.h
+usr/lib/clang/12.0.1/include/shaintrin.h
+usr/lib/clang/12.0.1/include/smmintrin.h
+usr/lib/clang/12.0.1/include/stdalign.h
+usr/lib/clang/12.0.1/include/stdarg.h
+usr/lib/clang/12.0.1/include/stdatomic.h
+usr/lib/clang/12.0.1/include/stdbool.h
+usr/lib/clang/12.0.1/include/stddef.h
+usr/lib/clang/12.0.1/include/stdint.h
+usr/lib/clang/12.0.1/include/stdnoreturn.h
+usr/lib/clang/12.0.1/include/tbmintrin.h
+usr/lib/clang/12.0.1/include/tgmath.h
+usr/lib/clang/12.0.1/include/tmmintrin.h
+usr/lib/clang/12.0.1/include/tsxldtrkintrin.h
+usr/lib/clang/12.0.1/include/uintrintrin.h
+usr/lib/clang/12.0.1/include/unwind.h
+usr/lib/clang/12.0.1/include/vadefs.h
+usr/lib/clang/12.0.1/include/vaesintrin.h
+usr/lib/clang/12.0.1/include/varargs.h
+usr/lib/clang/12.0.1/include/vecintrin.h
+usr/lib/clang/12.0.1/include/vpclmulqdqintrin.h
+usr/lib/clang/12.0.1/include/waitpkgintrin.h
+usr/lib/clang/12.0.1/include/wasm_simd128.h
+usr/lib/clang/12.0.1/include/wbnoinvdintrin.h
+usr/lib/clang/12.0.1/include/wmmintrin.h
+usr/lib/clang/12.0.1/include/x86gprintrin.h
+usr/lib/clang/12.0.1/include/x86intrin.h
+usr/lib/clang/12.0.1/include/xmmintrin.h
+usr/lib/clang/12.0.1/include/xopintrin.h
+usr/lib/clang/12.0.1/include/xsavecintrin.h
+usr/lib/clang/12.0.1/include/xsaveintrin.h
+usr/lib/clang/12.0.1/include/xsaveoptintrin.h
+usr/lib/clang/12.0.1/include/xsavesintrin.h
+usr/lib/clang/12.0.1/include/xtestintrin.h
+usr/lib/cmake/clang
+usr/lib/cmake/clang/ClangConfig.cmake
+usr/lib/cmake/clang/ClangTargets-release.cmake
+usr/lib/cmake/clang/ClangTargets.cmake
+usr/lib/cmake/llvm
+usr/lib/cmake/llvm/AddLLVM.cmake
+usr/lib/cmake/llvm/AddLLVMDefinitions.cmake
+usr/lib/cmake/llvm/AddOCaml.cmake
+usr/lib/cmake/llvm/AddSphinxTarget.cmake
+usr/lib/cmake/llvm/CheckAtomic.cmake
+usr/lib/cmake/llvm/CheckCompilerVersion.cmake
+usr/lib/cmake/llvm/CheckLinkerFlag.cmake
+usr/lib/cmake/llvm/ChooseMSVCCRT.cmake
+usr/lib/cmake/llvm/CrossCompile.cmake
+usr/lib/cmake/llvm/DetermineGCCCompatible.cmake
+usr/lib/cmake/llvm/FindGRPC.cmake
+usr/lib/cmake/llvm/FindLibpfm.cmake
+usr/lib/cmake/llvm/FindOCaml.cmake
+usr/lib/cmake/llvm/FindSphinx.cmake
+usr/lib/cmake/llvm/FindZ3.cmake
+usr/lib/cmake/llvm/GenerateVersionFromVCS.cmake
+usr/lib/cmake/llvm/GetLibraryName.cmake
+usr/lib/cmake/llvm/HandleLLVMOptions.cmake
+usr/lib/cmake/llvm/HandleLLVMStdlib.cmake
+usr/lib/cmake/llvm/LLVM-Build.cmake
+usr/lib/cmake/llvm/LLVM-Config.cmake
+usr/lib/cmake/llvm/LLVMConfig.cmake
+usr/lib/cmake/llvm/LLVMConfigExtensions.cmake
+usr/lib/cmake/llvm/LLVMConfigVersion.cmake
+usr/lib/cmake/llvm/LLVMDistributionSupport.cmake
+usr/lib/cmake/llvm/LLVMExports-release.cmake
+usr/lib/cmake/llvm/LLVMExports.cmake
+usr/lib/cmake/llvm/LLVMExternalProjectUtils.cmake
+usr/lib/cmake/llvm/LLVMInstallSymlink.cmake
+usr/lib/cmake/llvm/LLVMProcessSources.cmake
+usr/lib/cmake/llvm/TableGen.cmake
+usr/lib/cmake/llvm/TensorFlowCompile.cmake
+usr/lib/cmake/llvm/UseLibtool.cmake
+usr/lib/cmake/llvm/VersionFromVCS.cmake
+usr/lib/libLLVM-12.0.1.so
+usr/lib/libLLVM-12.so
+usr/lib/libLLVM.so
+usr/lib/libLLVMAMDGPUAsmParser.a
+usr/lib/libLLVMAMDGPUCodeGen.a
+usr/lib/libLLVMAMDGPUDesc.a
+usr/lib/libLLVMAMDGPUDisassembler.a
+usr/lib/libLLVMAMDGPUInfo.a
+usr/lib/libLLVMAMDGPUUtils.a
+usr/lib/libLLVMAggressiveInstCombine.a
+usr/lib/libLLVMAnalysis.a
+usr/lib/libLLVMAsmParser.a
+usr/lib/libLLVMAsmPrinter.a
+usr/lib/libLLVMBPFAsmParser.a
+usr/lib/libLLVMBPFCodeGen.a
+usr/lib/libLLVMBPFDesc.a
+usr/lib/libLLVMBPFDisassembler.a
+usr/lib/libLLVMBPFInfo.a
+usr/lib/libLLVMBinaryFormat.a
+usr/lib/libLLVMBitReader.a
+usr/lib/libLLVMBitWriter.a
+usr/lib/libLLVMBitstreamReader.a
+usr/lib/libLLVMCFGuard.a
+usr/lib/libLLVMCodeGen.a
+usr/lib/libLLVMCore.a
+usr/lib/libLLVMCoroutines.a
+usr/lib/libLLVMCoverage.a
+usr/lib/libLLVMDWARFLinker.a
+usr/lib/libLLVMDebugInfoCodeView.a
+usr/lib/libLLVMDebugInfoDWARF.a
+usr/lib/libLLVMDebugInfoGSYM.a
+usr/lib/libLLVMDebugInfoMSF.a
+usr/lib/libLLVMDebugInfoPDB.a
+usr/lib/libLLVMDemangle.a
+usr/lib/libLLVMDlltoolDriver.a
+usr/lib/libLLVMExecutionEngine.a
+usr/lib/libLLVMExtensions.a
+usr/lib/libLLVMFileCheck.a
+usr/lib/libLLVMFrontendOpenACC.a
+usr/lib/libLLVMFrontendOpenMP.a
+usr/lib/libLLVMFuzzMutate.a
+usr/lib/libLLVMGlobalISel.a
+usr/lib/libLLVMHelloNew.a
+usr/lib/libLLVMIRReader.a
+usr/lib/libLLVMInstCombine.a
+usr/lib/libLLVMInstrumentation.a
+usr/lib/libLLVMInterfaceStub.a
+usr/lib/libLLVMInterpreter.a
+usr/lib/libLLVMJITLink.a
+usr/lib/libLLVMLTO.a
+usr/lib/libLLVMLibDriver.a
+usr/lib/libLLVMLineEditor.a
+usr/lib/libLLVMLinker.a
+usr/lib/libLLVMMC.a
+usr/lib/libLLVMMCA.a
+usr/lib/libLLVMMCDisassembler.a
+usr/lib/libLLVMMCJIT.a
+usr/lib/libLLVMMCParser.a
+usr/lib/libLLVMMIRParser.a
+usr/lib/libLLVMObjCARCOpts.a
+usr/lib/libLLVMObject.a
+usr/lib/libLLVMObjectYAML.a
+usr/lib/libLLVMOption.a
+usr/lib/libLLVMOrcJIT.a
+usr/lib/libLLVMOrcShared.a
+usr/lib/libLLVMOrcTargetProcess.a
+usr/lib/libLLVMPasses.a
+usr/lib/libLLVMProfileData.a
+usr/lib/libLLVMRemarks.a
+usr/lib/libLLVMRuntimeDyld.a
+usr/lib/libLLVMScalarOpts.a
+usr/lib/libLLVMSelectionDAG.a
+usr/lib/libLLVMSupport.a
+usr/lib/libLLVMSymbolize.a
+usr/lib/libLLVMTableGen.a
+usr/lib/libLLVMTarget.a
+usr/lib/libLLVMTextAPI.a
+usr/lib/libLLVMTransformUtils.a
+usr/lib/libLLVMVectorize.a
+usr/lib/libLLVMWindowsManifest.a
+usr/lib/libLLVMX86AsmParser.a
+usr/lib/libLLVMX86CodeGen.a
+usr/lib/libLLVMX86Desc.a
+usr/lib/libLLVMX86Disassembler.a
+usr/lib/libLLVMX86Info.a
+usr/lib/libLLVMXRay.a
+usr/lib/libLLVMipo.a
+usr/lib/libLTO.so
+usr/lib/libLTO.so.12
+usr/lib/libRemarks.so
+usr/lib/libRemarks.so.12
+usr/lib/libclang-cpp.so
+usr/lib/libclang-cpp.so.12
+usr/lib/libclang.so
+usr/lib/libclang.so.12
+usr/lib/libclangAPINotes.a
+usr/lib/libclangARCMigrate.a
+usr/lib/libclangAST.a
+usr/lib/libclangASTMatchers.a
+usr/lib/libclangAnalysis.a
+usr/lib/libclangBasic.a
+usr/lib/libclangCodeGen.a
+usr/lib/libclangCrossTU.a
+usr/lib/libclangDependencyScanning.a
+usr/lib/libclangDirectoryWatcher.a
+usr/lib/libclangDriver.a
+usr/lib/libclangDynamicASTMatchers.a
+usr/lib/libclangEdit.a
+usr/lib/libclangFormat.a
+usr/lib/libclangFrontend.a
+usr/lib/libclangFrontendTool.a
+usr/lib/libclangHandleCXX.a
+usr/lib/libclangHandleLLVM.a
+usr/lib/libclangIndex.a
+usr/lib/libclangIndexSerialization.a
+usr/lib/libclangLex.a
+usr/lib/libclangParse.a
+usr/lib/libclangRewrite.a
+usr/lib/libclangRewriteFrontend.a
+usr/lib/libclangSema.a
+usr/lib/libclangSerialization.a
+usr/lib/libclangStaticAnalyzerCheckers.a
+usr/lib/libclangStaticAnalyzerCore.a
+usr/lib/libclangStaticAnalyzerFrontend.a
+usr/lib/libclangTesting.a
+usr/lib/libclangTooling.a
+usr/lib/libclangToolingASTDiff.a
+usr/lib/libclangToolingCore.a
+usr/lib/libclangToolingInclusions.a
+usr/lib/libclangToolingRefactoring.a
+usr/lib/libclangToolingSyntax.a
+usr/lib/libclangTransformer.a
+usr/libexec/c++-analyzer
+usr/libexec/ccc-analyzer
+usr/share/clang
+usr/share/clang/bash-autocomplete.sh
+usr/share/clang/clang-format-bbedit.applescript
+usr/share/clang/clang-format-diff.py
+usr/share/clang/clang-format-sublime.py
+usr/share/clang/clang-format.el
+usr/share/clang/clang-format.py
+usr/share/clang/clang-rename.el
+usr/share/clang/clang-rename.py
+usr/share/man/man1/scan-build.1
+usr/share/opt-viewer
+usr/share/opt-viewer/opt-diff.py
+usr/share/opt-viewer/opt-stats.py
+usr/share/opt-viewer/opt-viewer.py
+usr/share/opt-viewer/optpmap.py
+usr/share/opt-viewer/optrecord.py
+usr/share/opt-viewer/style.css
+usr/share/scan-build
+usr/share/scan-build/scanview.css
+usr/share/scan-build/sorttable.js
+usr/share/scan-view
+usr/share/scan-view/Reporter.py
+usr/share/scan-view/ScanView.py
+usr/share/scan-view/bugcatcher.ico
+usr/share/scan-view/startfile.py
[-- Attachment #3: lfs_clamav.txt --]
[-- Type: text/plain, Size: 3996 bytes --]
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
# #
###############################################################################
###############################################################################
# Definitions
###############################################################################
include Config
VER = 0.104.0
THISAPP = clamav-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = clamav
PAK_VER = 57
DEPS =
# still testing, disabled for 0.104.0
#ifeq "$(BUILD_PLATFORM)" "arm"
#CONFIGURE_FLAGS = --disable-fanotify
#endif
# still testing, disabled
DATABASE_DIR = /var/lib/clamav
###############################################################################
# Top-level Rules
###############################################################################
objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = 3f4789c09f5a35e9ea580edd5c3e54b6
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
download :$(patsubst %,$(DIR_DL)/%,$(objects))
md5 : $(subst %,%_MD5,$(objects))
dist:
$(PAK)
###############################################################################
# Downloading, checking, md5sum
###############################################################################
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
@$(CHECK)
$(patsubst %,$(DIR_DL)/%,$(objects)) :
@$(LOAD)
$(subst %,%_MD5,$(objects)) :
@$(MD5)
###############################################################################
# Installation Details
###############################################################################
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && mkdir -pv build
cd $(DIR_APP)/build && cmake .. \
-D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_INSTALL_LIBDIR=/usr/lib \
-D OPTIMIZE=ON \
-D ENABLE_TESTS=OFF \
-D ENABLE_CLAMONACC=OFF \
-D ENABLE_MILTER=OFF \
-D ENABLE_MAN_PAGES=OFF \
-D ENABLE_EXTERNAL_MSPACK=OFF \
-D APP_CONFIG_DIRECTORY=/var/ipfire/clamav \
-D DATABASE_DIRECTORY=$(DATABASE_DIR)
cd $(DIR_APP)/build && make $(MAKETUNING)
cd $(DIR_APP)/build && make install
mkdir -pv $(DATABASE_DIR)
chown clamav.clamav -R $(DATABASE_DIR)
rm -rfv $(DATABASE_DIR)/*.cvd
cp -rf $(DIR_SRC)/config/clamav/* /var/ipfire/clamav/
mkdir -p /var/run/clamav
chown clamav:clamav /var/run/clamav
#install initscripts
$(call INSTALL_INITSCRIPT,clamav)
@rm -rf $(DIR_APP)
@$(POSTBUILD)
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Clamav-announce] ClamAV® blog: ClamAV 0.104.0 released
2021-09-04 3:58 ` Matthias Fischer
@ 2021-09-04 11:38 ` Michael Tremer
2021-09-04 13:07 ` Matthias Fischer
2021-09-04 16:47 ` Matthias Fischer
0 siblings, 2 replies; 9+ messages in thread
From: Michael Tremer @ 2021-09-04 11:38 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 12708 bytes --]
Hello,
> On 4 Sep 2021, at 04:58, Matthias Fischer <matthias.fischer(a)ipfire.org> wrote:
>
> Hi all,
>
> On 03.09.2021 18:36, Stefan Schantl wrote:
>> Hello Michael, Hello Matthias, Hello list,
>>> Hello everyone,
>>>
>>> I just received this announcement that clamav 0.104.0 has been
>>> released.
>>>
>>> The interesting things for us are the changes in the build system:
>>>
>>> * It now requires cmake which isn’t a problem
>
> Yep. Done.
> I already did a few - early tests with 'clamav 0.104-rc. I'm still not
> 100% sure about the needed options, but it builds (see attached lfs-file).
>
>>> * It now requires LLVM which we don’t have
>>>
>>> LLVM is probably going to be large, but Stefan has already played
>>> around with it and we might be able to merge his patches. So, Stefan,
>>> could you please post them? I suppose Matthias is the de-facto
>>> maintainer of clamav. You will need to merge these patches locally to
>>> see if clamav is happy with what Stefan has built.
>>
>> I've created and pushed a new LLVM git branch in my personal git
>> repository, which builds the LLVM compiler suite.
>>
>> https://git.ipfire.org/?p=people/stevee/ipfire-2.x.git;a=shortlog;h=refs/heads/llvm
>>
>> I hope this will do the trick with the new clamav version.
>
> I'm not sure at this point.
>
> I think we need to add something like "-D BYTECODE_RUNTIME="llvm" \" for
> building 'clamav'.
>
> Stefan provided the current 'llvm 12.0.1'. Thanks again!
>
> But the clamav announcement - please read below - says:
> "We hoped to add support for newer versions of LLVM, but ran out of
> time. If you're building ClamAV from source and you wish to use LLVM
> instead of the bytecode interpreter, you will need to supply the
> development libraries for LLVM version 3.6.2."
This is outrageous. ClamAV is owned by Cisco, a multi-billion dollar company that cannot afford to do things right. I hope they have a different strategy for their other products.
LLVM 3.6.2 was released in 2015 (https://releases.llvm.org). This is a 6 year old release that is no longer maintained and I suppose many bugs and security issues have been fixed in the meantime.
> First build - *without* BYTECODE_RUNTIME="llvm" - seems to build ok,
> next I'll test building *with* this option. I'm just a bit puzzled if I
> should use 12.0.1 or 3.6.2. The latter is a bit old(!?). Or do I miss
> something?
If it won’t build with recent releases we are facing the question whether we want to ship old and outdated software that nobody cares for any more and disable the functionality altogether. What is better? Not scanning certain signatures, or exposing the firewall to being exploited through its virus scanner?
I vote for disabling the bytecode runtime.
> And since the 'llvm' rootfile is quite large: does anyone have an idea
> what llvm-parts (/usr/bin/...? /usr/lib/...?) are needed (see attachment).
Probably some libraries which we could have seen by checking what clamav is linked against (with lld). But that is a kind of moot question now :)
Thank you for investigating this.
-Michael
> Best,
> Matthias
>
>> Best regards,
>>
>> -Stefan
>>
>>>
>>> This will be an interesting project :)
>
> I think so... ;-)
>
>>> -Michael
>>>
>>>> Begin forwarded message:
>>>>
>>>> From: "Joel Esler (jesler)" <jesler(a)cisco.com>
>>>> Subject: [Clamav-announce] ClamAV® blog: ClamAV 0.104.0 released
>>>> Date: 3 September 2021 at 16:51:29 BST
>>>> To: "ClamAV-announce(a)lists.clamav.net" <
>>>> ClamAV-announce(a)lists.clamav.net>, "clamav-users(a)lists.clamav.net"
>>>> <clamav-users(a)lists.clamav.net>
>>>> Reply-To: noreply(a)clamav.net
>>>>
>>>>
>>>>>
>>>>> https://blog.clamav.net/2021/09/clamav-01040-released.html
>>>>>
>>>>> ClamAV 0.104.0 releasedClamAV 0.104.0 is available as an official
>>>>> release as of today.
>>>>> We are also announcing a new Long Term Support (LTS) program
>>>>> today in an update to our End-of-Life (EOL) policy. The LTS will
>>>>> start retroactively with ClamAV 0.103, the previous feature
>>>>> release. This new LTS policy extends the life of 0.103 up through
>>>>> September 2023 and will facilitate the production of more
>>>>> frequent feature releases while enabling users to rely on a
>>>>> supported version for years to come if they cannot keep pace with
>>>>> the feature release cadence. For full details about the Long Term
>>>>> Support program, you can see the LTS announcement blog post and
>>>>> review the LTS policy in our online documentation.
>>>>> We're also introducing new install packages to make it easier for
>>>>> folks to upgrade without having to build ClamAV from source and
>>>>> without having to wait for a community volunteer to package the
>>>>> latest release. You can find the new install packages on the
>>>>> ClamAV.net Downloads Page.
>>>>> Today you can find:
>>>>> * x86_64 and i686 RPM packages compatible with RPM-based Linux
>>>>> distributions running glibc version 2.17 or newer.
>>>>> * x86_64 and i686 DEB packages compatible with Debian-based
>>>>> Linux distributions running glibc version 2.23 or newer.
>>>>> * An x86_64/ARM64 macOS installer package is compatible with
>>>>> Intel and Apple M1 systems.
>>>>> * x64 and win32 Windows packages are compatible with Windows 7
>>>>> and newer.
>>>>> In the future, we hope to supplement these with ARM64 Linux DEB
>>>>> and RPM packages and an x86_64 FreeBSD package.
>>>>> Please note that you may find installations in this release
>>>>> require more manual configuration than when using a preconfigured
>>>>> package provided by a Linux or Unix distribution. See our
>>>>> installation instructions on clamav.net for more information.
>>>>> ClamAV 0.104.0 includes the following improvements and changes.
>>>>>
>>>>> New Requirements * As of ClamAV 0.104, CMake is required to build
>>>>> ClamAV.We have added comprehensive build instructions for using
>>>>> CMake to the new INSTALL.md file. The online documentation will
>>>>> also be updated to include CMake build instructions.The Autotools
>>>>> and the Visual Studio build systems have been removed.
>>>>>
>>>>> Major changes * The built-in LLVM for the bytecode runtime has
>>>>> been removed.The bytecode interpreter is the default runtime for
>>>>> bytecode signatures just as it was in ClamAV 0.103.We hoped to
>>>>> add support for newer versions of LLVM, but ran out of time. If
>>>>> you're building ClamAV from source and you wish to use LLVM
>>>>> instead of the bytecode interpreter, you will need to supply the
>>>>> development libraries for LLVM version 3.6.2. See the "bytecode
>>>>> runtime" section in INSTALL.md to learn more.
>>>>> * There are now official ClamAV images on Docker Hub.Docker Hub
>>>>> ClamAV tags:clamav/clamav:<version>: A release preloaded with
>>>>> signature databases.Using this container will save the ClamAV
>>>>> project some bandwidth. Use this if you will keep the image
>>>>> around so that you don't download the entire database set every
>>>>> time you start a new container. Updating with FreshClam from the
>>>>> existing databases set does not use much
>>>>> data.clamav/clamav:<version>_base: A release with no signature
>>>>> databases.Use this container only if you mount a volume in your
>>>>> container under /var/lib/clamav to persist your signature
>>>>> database databases. This method is the best option because it
>>>>> will reduce data costs for ClamAV and for the Docker registry,
>>>>> but it does require advanced familiarity with Linux and
>>>>> Docker.Caution: Using this image without mounting an existing
>>>>> database directory will cause FreshClam to download the entire
>>>>> database set each time you start a new container.You can use
>>>>> the unstable version
>>>>> (i.e. clamav/clamav:unstable or clamav/clamav:unstable_base) to
>>>>> try the latest from our development branch.Please, be kind when
>>>>> using 'free' bandwidth, both for the virus databases but also the
>>>>> Docker registry. Try not to download the entire database set or
>>>>> the larger ClamAV database images on a regular basis.For more
>>>>> details, see the ClamAV Docker documentation.Special thanks to
>>>>> Olliver Schinagl for his excellent work creating ClamAV's new
>>>>> Docker files, image database deployment tooling, and user
>>>>> documentation.
>>>>> * clamd and freshclam are now available as Windows services. To
>>>>> install and run them, use the --install-service option and net
>>>>> start [name] command.Special thanks to Gianluigi Tiesi for his
>>>>> original work on this feature.
>>>>>
>>>>> Notable changesThe following was added in 0.103.1 and is repeated
>>>>> here for awareness, as patch versions do not generally introduce
>>>>> new options:
>>>>> * Added a new scan option to alert on broken media (graphics)
>>>>> file formats. This feature mitigates the risk of malformed media
>>>>> files intended to exploit vulnerabilities in other software. At
>>>>> present, media validation exists for JPEG, TIFF, PNG and GIF
>>>>> files. To enable this feature, set AlertBrokenMedia yes in
>>>>> clamd.conf, or use the --alert-broken-media option when
>>>>> using clamscan. These options are disabled by default in this
>>>>> patch release but may be enabled in a subsequent release.
>>>>> Application developers may enable this scan option by
>>>>> enabling CL_SCAN_HEURISTIC_BROKEN_MEDIA for the heuristic scan
>>>>> option bit field.
>>>>> * Added CL_TYPE_TIFF, CL_TYPE_JPEG types to match GIF, PNG
>>>>> typing behavior. BMP and JPEG 2000 files will continue to detect
>>>>> as CL_TYPE_GRAPHICS because ClamAV does not yet have BMP or JPEG
>>>>> 2000 format checking capabilities.
>>>>> * Added progress callbacks to libclamav for:database
>>>>> load: cl_engine_set_clcb_sigload_progress()engine
>>>>> compile: cl_engine_set_clcb_engine_compile_progress()engine
>>>>> free: cl_engine_set_clcb_engine_free_progress()These new
>>>>> callbacks enable an application to monitor and estimate load,
>>>>> compile, and unload progress. See clamav.h for API details.
>>>>> * Added progress bars to ClamScan for the signature load and
>>>>> engine compile steps before a scan begins. The start-up progress
>>>>> bars won't be enabled if ClamScan isn't running in a terminal
>>>>> (i.e. stdout is not a TTY), or if any of these options are used:-
>>>>> -debug--quiet--infected--no-summary
>>>>> Other improvements * Added the %f format string option to the
>>>>> ClamD VirusEvent feature to insert the file path of the scan
>>>>> target when a virus-event occurs. This supplements the
>>>>> VirusEvent %v option which prints the signature (virus) name. The
>>>>> ClamD VirusEvent feature also provides two environment
>>>>> variables, $CLAM_VIRUSEVENT_FILENAME and $CLAM_VIRUSEVENT_VIRUSNA
>>>>> ME for a similar effect. Patch courtesy of Vasile Papp.
>>>>> * Improvements to the AutoIt extraction module. Patch courtesy
>>>>> of cw2k.
>>>>> * Added support for extracting images from Excel *.xls (OLE2)
>>>>> documents.
>>>>> * Trusted SHA256-based Authenticode hashes can now be loaded in
>>>>> from *.cat files. For more information, visit our Authenticode
>>>>> documentation about using *.cat files with *.crb rules to trust
>>>>> signed Windows executables.
>>>>>
>>>>> Bug fixes * Fixed a memory leak affecting logical signatures that
>>>>> use the "byte compare" feature. Patch courtesy of Andrea De
>>>>> Pasquale.
>>>>> * Fixed bytecode match evaluation for PDF bytecode hooks in PDF
>>>>> file scans.
>>>>> * Other minor bug fixes.
>>>>>
>>>>> AcknowledgmentsThe ClamAV team thanks the following individuals
>>>>> for their code submissions:
>>>>> * Alexander Golovach
>>>>> * Andrea De Pasquale
>>>>> * Andrew Williams
>>>>> * Arjen de Korte
>>>>> * Armin Kuster
>>>>> * Brian Bergstrand
>>>>> * cw2k
>>>>> * Duane Waddle
>>>>> * Gianluigi Tiesi
>>>>> * Jonas Zaddach
>>>>> * Kenneth Hau
>>>>> * Mark Fortescue
>>>>> * Markus Strehle
>>>>> * Olliver Schinagl
>>>>> * Orion Poplawski
>>>>> * Sergey Valentey
>>>>> * Sven Rueß
>>>>> * Tom Briden
>>>>> * Tuomo Soini
>>>>> * Vasile Papp
>>>>> * Yasuhiro Kimura
>>>> _______________________________________________
>>>>
>>>> clamav-announce mailing list
>>>> clamav-announce(a)lists.clamav.net
>>>> https://lists.clamav.net/mailman/listinfo/clamav-announce
>>>>
>>>> http://www.clamav.net/contact.html#ml
>>>
>>
>>
>
> <llvm-12.0.1><lfs_clamav.txt>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Clamav-announce] ClamAV® blog: ClamAV 0.104.0 released
2021-09-04 11:38 ` Michael Tremer
@ 2021-09-04 13:07 ` Matthias Fischer
2021-09-04 16:47 ` Matthias Fischer
1 sibling, 0 replies; 9+ messages in thread
From: Matthias Fischer @ 2021-09-04 13:07 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 13791 bytes --]
Hi,
On 04.09.2021 13:38, Michael Tremer wrote:
> Hello,
>
>> On 4 Sep 2021, at 04:58, Matthias Fischer <matthias.fischer(a)ipfire.org> wrote:
>>
>> Hi all,
>>
>> On 03.09.2021 18:36, Stefan Schantl wrote:
>>> Hello Michael, Hello Matthias, Hello list,
>>>> Hello everyone,
>>>>
>>>> I just received this announcement that clamav 0.104.0 has been
>>>> released.
>>>>
>>>> The interesting things for us are the changes in the build system:
>>>>
>>>> * It now requires cmake which isn’t a problem
>>
>> Yep. Done.
>> I already did a few - early tests with 'clamav 0.104-rc. I'm still not
>> 100% sure about the needed options, but it builds (see attached lfs-file).
>>
>>>> * It now requires LLVM which we don’t have
>>>>
>>>> LLVM is probably going to be large, but Stefan has already played
>>>> around with it and we might be able to merge his patches. So, Stefan,
>>>> could you please post them? I suppose Matthias is the de-facto
>>>> maintainer of clamav. You will need to merge these patches locally to
>>>> see if clamav is happy with what Stefan has built.
>>>
>>> I've created and pushed a new LLVM git branch in my personal git
>>> repository, which builds the LLVM compiler suite.
>>>
>>> https://git.ipfire.org/?p=people/stevee/ipfire-2.x.git;a=shortlog;h=refs/heads/llvm
>>>
>>> I hope this will do the trick with the new clamav version.
>>
>> I'm not sure at this point.
>>
>> I think we need to add something like "-D BYTECODE_RUNTIME="llvm" \" for
>> building 'clamav'.
>>
>> Stefan provided the current 'llvm 12.0.1'. Thanks again!
>>
>> But the clamav announcement - please read below - says:
>> "We hoped to add support for newer versions of LLVM, but ran out of
>> time. If you're building ClamAV from source and you wish to use LLVM
>> instead of the bytecode interpreter, you will need to supply the
>> development libraries for LLVM version 3.6.2."
Done. Building with 'llvm 3.6.2' and 'cfe[!]-3.6.2' crashed.
I had to remove some 'llvm' options in lfs (AMDGPU and BPF), and
downloaded 'cfe 3.6.2' to test the whole '3.6.2' bundle. But
nevertheless, 'llvm 3.6.2' build did stop with a 'ninja' error. I didn't
investigate this further, it already took some time...
> This is outrageous. ClamAV is owned by Cisco, a multi-billion dollar company that cannot afford to do things right. I hope they have a different strategy for their other products.
ACK.
> LLVM 3.6.2 was released in 2015 (https://releases.llvm.org). This is a 6 year old release that is no longer maintained and I suppose many bugs and security issues have been fixed in the meantime.
ACK.
>> First build - *without* BYTECODE_RUNTIME="llvm" - seems to build ok,
>> next I'll test building *with* this option. I'm just a bit puzzled if I
>> should use 12.0.1 or 3.6.2. The latter is a bit old(!?). Or do I miss
>> something?
>
> If it won’t build with recent releases we are facing the question whether we want to ship old and outdated software that nobody cares for any more and disable the functionality altogether. What is better? Not scanning certain signatures, or exposing the firewall to being exploited through its virus scanner?
>
> I vote for disabling the bytecode runtime.
+1
Devel is running.
I'll test with "-D BYTECODE_RUNTIME="none" \" - *without* 'llvm' and
'clang' as I did in my first builds. Would this be sufficient?
Addendum:
In the meantime I tested with "-D BYTECODE_RUNTIME="interpreter" - this
is building, too. But I have not yet tested these builds productively
with a clean build respectively. And I'm not sure which one to prefer!?
Best,
Matthias
>> And since the 'llvm' rootfile is quite large: does anyone have an idea
>> what llvm-parts (/usr/bin/...? /usr/lib/...?) are needed (see attachment).
>
> Probably some libraries which we could have seen by checking what clamav is linked against (with lld). But that is a kind of moot question now :)
>
> Thank you for investigating this.
>
> -Michael
>
>> Best,
>> Matthias
>>
>>> Best regards,
>>>
>>> -Stefan
>>>
>>>>
>>>> This will be an interesting project :)
>>
>> I think so... ;-)
>>
>>>> -Michael
>>>>
>>>>> Begin forwarded message:
>>>>>
>>>>> From: "Joel Esler (jesler)" <jesler(a)cisco.com>
>>>>> Subject: [Clamav-announce] ClamAV® blog: ClamAV 0.104.0 released
>>>>> Date: 3 September 2021 at 16:51:29 BST
>>>>> To: "ClamAV-announce(a)lists.clamav.net" <
>>>>> ClamAV-announce(a)lists.clamav.net>, "clamav-users(a)lists.clamav.net"
>>>>> <clamav-users(a)lists.clamav.net>
>>>>> Reply-To: noreply(a)clamav.net
>>>>>
>>>>>
>>>>>>
>>>>>> https://blog.clamav.net/2021/09/clamav-01040-released.html
>>>>>>
>>>>>> ClamAV 0.104.0 releasedClamAV 0.104.0 is available as an official
>>>>>> release as of today.
>>>>>> We are also announcing a new Long Term Support (LTS) program
>>>>>> today in an update to our End-of-Life (EOL) policy. The LTS will
>>>>>> start retroactively with ClamAV 0.103, the previous feature
>>>>>> release. This new LTS policy extends the life of 0.103 up through
>>>>>> September 2023 and will facilitate the production of more
>>>>>> frequent feature releases while enabling users to rely on a
>>>>>> supported version for years to come if they cannot keep pace with
>>>>>> the feature release cadence. For full details about the Long Term
>>>>>> Support program, you can see the LTS announcement blog post and
>>>>>> review the LTS policy in our online documentation.
>>>>>> We're also introducing new install packages to make it easier for
>>>>>> folks to upgrade without having to build ClamAV from source and
>>>>>> without having to wait for a community volunteer to package the
>>>>>> latest release. You can find the new install packages on the
>>>>>> ClamAV.net Downloads Page.
>>>>>> Today you can find:
>>>>>> * x86_64 and i686 RPM packages compatible with RPM-based Linux
>>>>>> distributions running glibc version 2.17 or newer.
>>>>>> * x86_64 and i686 DEB packages compatible with Debian-based
>>>>>> Linux distributions running glibc version 2.23 or newer.
>>>>>> * An x86_64/ARM64 macOS installer package is compatible with
>>>>>> Intel and Apple M1 systems.
>>>>>> * x64 and win32 Windows packages are compatible with Windows 7
>>>>>> and newer.
>>>>>> In the future, we hope to supplement these with ARM64 Linux DEB
>>>>>> and RPM packages and an x86_64 FreeBSD package.
>>>>>> Please note that you may find installations in this release
>>>>>> require more manual configuration than when using a preconfigured
>>>>>> package provided by a Linux or Unix distribution. See our
>>>>>> installation instructions on clamav.net for more information.
>>>>>> ClamAV 0.104.0 includes the following improvements and changes.
>>>>>>
>>>>>> New Requirements * As of ClamAV 0.104, CMake is required to build
>>>>>> ClamAV.We have added comprehensive build instructions for using
>>>>>> CMake to the new INSTALL.md file. The online documentation will
>>>>>> also be updated to include CMake build instructions.The Autotools
>>>>>> and the Visual Studio build systems have been removed.
>>>>>>
>>>>>> Major changes * The built-in LLVM for the bytecode runtime has
>>>>>> been removed.The bytecode interpreter is the default runtime for
>>>>>> bytecode signatures just as it was in ClamAV 0.103.We hoped to
>>>>>> add support for newer versions of LLVM, but ran out of time. If
>>>>>> you're building ClamAV from source and you wish to use LLVM
>>>>>> instead of the bytecode interpreter, you will need to supply the
>>>>>> development libraries for LLVM version 3.6.2. See the "bytecode
>>>>>> runtime" section in INSTALL.md to learn more.
>>>>>> * There are now official ClamAV images on Docker Hub.Docker Hub
>>>>>> ClamAV tags:clamav/clamav:<version>: A release preloaded with
>>>>>> signature databases.Using this container will save the ClamAV
>>>>>> project some bandwidth. Use this if you will keep the image
>>>>>> around so that you don't download the entire database set every
>>>>>> time you start a new container. Updating with FreshClam from the
>>>>>> existing databases set does not use much
>>>>>> data.clamav/clamav:<version>_base: A release with no signature
>>>>>> databases.Use this container only if you mount a volume in your
>>>>>> container under /var/lib/clamav to persist your signature
>>>>>> database databases. This method is the best option because it
>>>>>> will reduce data costs for ClamAV and for the Docker registry,
>>>>>> but it does require advanced familiarity with Linux and
>>>>>> Docker.Caution: Using this image without mounting an existing
>>>>>> database directory will cause FreshClam to download the entire
>>>>>> database set each time you start a new container.You can use
>>>>>> the unstable version
>>>>>> (i.e. clamav/clamav:unstable or clamav/clamav:unstable_base) to
>>>>>> try the latest from our development branch.Please, be kind when
>>>>>> using 'free' bandwidth, both for the virus databases but also the
>>>>>> Docker registry. Try not to download the entire database set or
>>>>>> the larger ClamAV database images on a regular basis.For more
>>>>>> details, see the ClamAV Docker documentation.Special thanks to
>>>>>> Olliver Schinagl for his excellent work creating ClamAV's new
>>>>>> Docker files, image database deployment tooling, and user
>>>>>> documentation.
>>>>>> * clamd and freshclam are now available as Windows services. To
>>>>>> install and run them, use the --install-service option and net
>>>>>> start [name] command.Special thanks to Gianluigi Tiesi for his
>>>>>> original work on this feature.
>>>>>>
>>>>>> Notable changesThe following was added in 0.103.1 and is repeated
>>>>>> here for awareness, as patch versions do not generally introduce
>>>>>> new options:
>>>>>> * Added a new scan option to alert on broken media (graphics)
>>>>>> file formats. This feature mitigates the risk of malformed media
>>>>>> files intended to exploit vulnerabilities in other software. At
>>>>>> present, media validation exists for JPEG, TIFF, PNG and GIF
>>>>>> files. To enable this feature, set AlertBrokenMedia yes in
>>>>>> clamd.conf, or use the --alert-broken-media option when
>>>>>> using clamscan. These options are disabled by default in this
>>>>>> patch release but may be enabled in a subsequent release.
>>>>>> Application developers may enable this scan option by
>>>>>> enabling CL_SCAN_HEURISTIC_BROKEN_MEDIA for the heuristic scan
>>>>>> option bit field.
>>>>>> * Added CL_TYPE_TIFF, CL_TYPE_JPEG types to match GIF, PNG
>>>>>> typing behavior. BMP and JPEG 2000 files will continue to detect
>>>>>> as CL_TYPE_GRAPHICS because ClamAV does not yet have BMP or JPEG
>>>>>> 2000 format checking capabilities.
>>>>>> * Added progress callbacks to libclamav for:database
>>>>>> load: cl_engine_set_clcb_sigload_progress()engine
>>>>>> compile: cl_engine_set_clcb_engine_compile_progress()engine
>>>>>> free: cl_engine_set_clcb_engine_free_progress()These new
>>>>>> callbacks enable an application to monitor and estimate load,
>>>>>> compile, and unload progress. See clamav.h for API details.
>>>>>> * Added progress bars to ClamScan for the signature load and
>>>>>> engine compile steps before a scan begins. The start-up progress
>>>>>> bars won't be enabled if ClamScan isn't running in a terminal
>>>>>> (i.e. stdout is not a TTY), or if any of these options are used:-
>>>>>> -debug--quiet--infected--no-summary
>>>>>> Other improvements * Added the %f format string option to the
>>>>>> ClamD VirusEvent feature to insert the file path of the scan
>>>>>> target when a virus-event occurs. This supplements the
>>>>>> VirusEvent %v option which prints the signature (virus) name. The
>>>>>> ClamD VirusEvent feature also provides two environment
>>>>>> variables, $CLAM_VIRUSEVENT_FILENAME and $CLAM_VIRUSEVENT_VIRUSNA
>>>>>> ME for a similar effect. Patch courtesy of Vasile Papp.
>>>>>> * Improvements to the AutoIt extraction module. Patch courtesy
>>>>>> of cw2k.
>>>>>> * Added support for extracting images from Excel *.xls (OLE2)
>>>>>> documents.
>>>>>> * Trusted SHA256-based Authenticode hashes can now be loaded in
>>>>>> from *.cat files. For more information, visit our Authenticode
>>>>>> documentation about using *.cat files with *.crb rules to trust
>>>>>> signed Windows executables.
>>>>>>
>>>>>> Bug fixes * Fixed a memory leak affecting logical signatures that
>>>>>> use the "byte compare" feature. Patch courtesy of Andrea De
>>>>>> Pasquale.
>>>>>> * Fixed bytecode match evaluation for PDF bytecode hooks in PDF
>>>>>> file scans.
>>>>>> * Other minor bug fixes.
>>>>>>
>>>>>> AcknowledgmentsThe ClamAV team thanks the following individuals
>>>>>> for their code submissions:
>>>>>> * Alexander Golovach
>>>>>> * Andrea De Pasquale
>>>>>> * Andrew Williams
>>>>>> * Arjen de Korte
>>>>>> * Armin Kuster
>>>>>> * Brian Bergstrand
>>>>>> * cw2k
>>>>>> * Duane Waddle
>>>>>> * Gianluigi Tiesi
>>>>>> * Jonas Zaddach
>>>>>> * Kenneth Hau
>>>>>> * Mark Fortescue
>>>>>> * Markus Strehle
>>>>>> * Olliver Schinagl
>>>>>> * Orion Poplawski
>>>>>> * Sergey Valentey
>>>>>> * Sven Rueß
>>>>>> * Tom Briden
>>>>>> * Tuomo Soini
>>>>>> * Vasile Papp
>>>>>> * Yasuhiro Kimura
>>>>> _______________________________________________
>>>>>
>>>>> clamav-announce mailing list
>>>>> clamav-announce(a)lists.clamav.net
>>>>> https://lists.clamav.net/mailman/listinfo/clamav-announce
>>>>>
>>>>> http://www.clamav.net/contact.html#ml
>>>>
>>>
>>>
>>
>> <llvm-12.0.1><lfs_clamav.txt>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Clamav-announce] ClamAV® blog: ClamAV 0.104.0 released
2021-09-04 11:38 ` Michael Tremer
2021-09-04 13:07 ` Matthias Fischer
@ 2021-09-04 16:47 ` Matthias Fischer
2021-09-05 9:29 ` Matthias Fischer
1 sibling, 1 reply; 9+ messages in thread
From: Matthias Fischer @ 2021-09-04 16:47 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 13985 bytes --]
Hi,
I finally got a "testversion" of 'clamav 0.104.0' up and running in
productive environment (Core 159 / 64bit). Testing. Its filtering, no
problems during startup.
But: NO 'llvm' - I built this version with "-D
BYTECODE_RUNTIME="interpreter" \".
I did this because if I read the clamav blog right, it would make no
(big) difference compared to 0.103.3:
"The bytecode interpreter is the default runtime for bytecode signatures
just as it was in ClamAV 0.103.
We wished to add support for newer versions of LLVM, but ran out of
time. If you're building ClamAV from source and you wish to use LLVM
instead of the bytecode interpreter, you will need to supply the
development libraries for LLVM version 3.6.2."
The current 'llvm 12.0.1' isn't supported, 'llvm 3.6.2' kept crashing my
build, so I thought: what the heck!?
I'll test and report. If anyone wants to test this too, I'll send a patch.
Best,
Matthias
On 04.09.2021 13:38, Michael Tremer wrote:
> Hello,
>
>> On 4 Sep 2021, at 04:58, Matthias Fischer <matthias.fischer(a)ipfire.org> wrote:
>>
>> Hi all,
>>
>> On 03.09.2021 18:36, Stefan Schantl wrote:
>>> Hello Michael, Hello Matthias, Hello list,
>>>> Hello everyone,
>>>>
>>>> I just received this announcement that clamav 0.104.0 has been
>>>> released.
>>>>
>>>> The interesting things for us are the changes in the build system:
>>>>
>>>> * It now requires cmake which isn’t a problem
>>
>> Yep. Done.
>> I already did a few - early tests with 'clamav 0.104-rc. I'm still not
>> 100% sure about the needed options, but it builds (see attached lfs-file).
>>
>>>> * It now requires LLVM which we don’t have
>>>>
>>>> LLVM is probably going to be large, but Stefan has already played
>>>> around with it and we might be able to merge his patches. So, Stefan,
>>>> could you please post them? I suppose Matthias is the de-facto
>>>> maintainer of clamav. You will need to merge these patches locally to
>>>> see if clamav is happy with what Stefan has built.
>>>
>>> I've created and pushed a new LLVM git branch in my personal git
>>> repository, which builds the LLVM compiler suite.
>>>
>>> https://git.ipfire.org/?p=people/stevee/ipfire-2.x.git;a=shortlog;h=refs/heads/llvm
>>>
>>> I hope this will do the trick with the new clamav version.
>>
>> I'm not sure at this point.
>>
>> I think we need to add something like "-D BYTECODE_RUNTIME="llvm" \" for
>> building 'clamav'.
>>
>> Stefan provided the current 'llvm 12.0.1'. Thanks again!
>>
>> But the clamav announcement - please read below - says:
>> "We hoped to add support for newer versions of LLVM, but ran out of
>> time. If you're building ClamAV from source and you wish to use LLVM
>> instead of the bytecode interpreter, you will need to supply the
>> development libraries for LLVM version 3.6.2."
>
> This is outrageous. ClamAV is owned by Cisco, a multi-billion dollar company that cannot afford to do things right. I hope they have a different strategy for their other products.
>
> LLVM 3.6.2 was released in 2015 (https://releases.llvm.org). This is a 6 year old release that is no longer maintained and I suppose many bugs and security issues have been fixed in the meantime.
>
>> First build - *without* BYTECODE_RUNTIME="llvm" - seems to build ok,
>> next I'll test building *with* this option. I'm just a bit puzzled if I
>> should use 12.0.1 or 3.6.2. The latter is a bit old(!?). Or do I miss
>> something?
>
> If it won’t build with recent releases we are facing the question whether we want to ship old and outdated software that nobody cares for any more and disable the functionality altogether. What is better? Not scanning certain signatures, or exposing the firewall to being exploited through its virus scanner?
>
> I vote for disabling the bytecode runtime.
>
>> And since the 'llvm' rootfile is quite large: does anyone have an idea
>> what llvm-parts (/usr/bin/...? /usr/lib/...?) are needed (see attachment).
>
> Probably some libraries which we could have seen by checking what clamav is linked against (with lld). But that is a kind of moot question now :)
>
> Thank you for investigating this.
>
> -Michael
>
>> Best,
>> Matthias
>>
>>> Best regards,
>>>
>>> -Stefan
>>>
>>>>
>>>> This will be an interesting project :)
>>
>> I think so... ;-)
>>
>>>> -Michael
>>>>
>>>>> Begin forwarded message:
>>>>>
>>>>> From: "Joel Esler (jesler)" <jesler(a)cisco.com>
>>>>> Subject: [Clamav-announce] ClamAV® blog: ClamAV 0.104.0 released
>>>>> Date: 3 September 2021 at 16:51:29 BST
>>>>> To: "ClamAV-announce(a)lists.clamav.net" <
>>>>> ClamAV-announce(a)lists.clamav.net>, "clamav-users(a)lists.clamav.net"
>>>>> <clamav-users(a)lists.clamav.net>
>>>>> Reply-To: noreply(a)clamav.net
>>>>>
>>>>>
>>>>>>
>>>>>> https://blog.clamav.net/2021/09/clamav-01040-released.html
>>>>>>
>>>>>> ClamAV 0.104.0 releasedClamAV 0.104.0 is available as an official
>>>>>> release as of today.
>>>>>> We are also announcing a new Long Term Support (LTS) program
>>>>>> today in an update to our End-of-Life (EOL) policy. The LTS will
>>>>>> start retroactively with ClamAV 0.103, the previous feature
>>>>>> release. This new LTS policy extends the life of 0.103 up through
>>>>>> September 2023 and will facilitate the production of more
>>>>>> frequent feature releases while enabling users to rely on a
>>>>>> supported version for years to come if they cannot keep pace with
>>>>>> the feature release cadence. For full details about the Long Term
>>>>>> Support program, you can see the LTS announcement blog post and
>>>>>> review the LTS policy in our online documentation.
>>>>>> We're also introducing new install packages to make it easier for
>>>>>> folks to upgrade without having to build ClamAV from source and
>>>>>> without having to wait for a community volunteer to package the
>>>>>> latest release. You can find the new install packages on the
>>>>>> ClamAV.net Downloads Page.
>>>>>> Today you can find:
>>>>>> * x86_64 and i686 RPM packages compatible with RPM-based Linux
>>>>>> distributions running glibc version 2.17 or newer.
>>>>>> * x86_64 and i686 DEB packages compatible with Debian-based
>>>>>> Linux distributions running glibc version 2.23 or newer.
>>>>>> * An x86_64/ARM64 macOS installer package is compatible with
>>>>>> Intel and Apple M1 systems.
>>>>>> * x64 and win32 Windows packages are compatible with Windows 7
>>>>>> and newer.
>>>>>> In the future, we hope to supplement these with ARM64 Linux DEB
>>>>>> and RPM packages and an x86_64 FreeBSD package.
>>>>>> Please note that you may find installations in this release
>>>>>> require more manual configuration than when using a preconfigured
>>>>>> package provided by a Linux or Unix distribution. See our
>>>>>> installation instructions on clamav.net for more information.
>>>>>> ClamAV 0.104.0 includes the following improvements and changes.
>>>>>>
>>>>>> New Requirements * As of ClamAV 0.104, CMake is required to build
>>>>>> ClamAV.We have added comprehensive build instructions for using
>>>>>> CMake to the new INSTALL.md file. The online documentation will
>>>>>> also be updated to include CMake build instructions.The Autotools
>>>>>> and the Visual Studio build systems have been removed.
>>>>>>
>>>>>> Major changes * The built-in LLVM for the bytecode runtime has
>>>>>> been removed.The bytecode interpreter is the default runtime for
>>>>>> bytecode signatures just as it was in ClamAV 0.103.We hoped to
>>>>>> add support for newer versions of LLVM, but ran out of time. If
>>>>>> you're building ClamAV from source and you wish to use LLVM
>>>>>> instead of the bytecode interpreter, you will need to supply the
>>>>>> development libraries for LLVM version 3.6.2. See the "bytecode
>>>>>> runtime" section in INSTALL.md to learn more.
>>>>>> * There are now official ClamAV images on Docker Hub.Docker Hub
>>>>>> ClamAV tags:clamav/clamav:<version>: A release preloaded with
>>>>>> signature databases.Using this container will save the ClamAV
>>>>>> project some bandwidth. Use this if you will keep the image
>>>>>> around so that you don't download the entire database set every
>>>>>> time you start a new container. Updating with FreshClam from the
>>>>>> existing databases set does not use much
>>>>>> data.clamav/clamav:<version>_base: A release with no signature
>>>>>> databases.Use this container only if you mount a volume in your
>>>>>> container under /var/lib/clamav to persist your signature
>>>>>> database databases. This method is the best option because it
>>>>>> will reduce data costs for ClamAV and for the Docker registry,
>>>>>> but it does require advanced familiarity with Linux and
>>>>>> Docker.Caution: Using this image without mounting an existing
>>>>>> database directory will cause FreshClam to download the entire
>>>>>> database set each time you start a new container.You can use
>>>>>> the unstable version
>>>>>> (i.e. clamav/clamav:unstable or clamav/clamav:unstable_base) to
>>>>>> try the latest from our development branch.Please, be kind when
>>>>>> using 'free' bandwidth, both for the virus databases but also the
>>>>>> Docker registry. Try not to download the entire database set or
>>>>>> the larger ClamAV database images on a regular basis.For more
>>>>>> details, see the ClamAV Docker documentation.Special thanks to
>>>>>> Olliver Schinagl for his excellent work creating ClamAV's new
>>>>>> Docker files, image database deployment tooling, and user
>>>>>> documentation.
>>>>>> * clamd and freshclam are now available as Windows services. To
>>>>>> install and run them, use the --install-service option and net
>>>>>> start [name] command.Special thanks to Gianluigi Tiesi for his
>>>>>> original work on this feature.
>>>>>>
>>>>>> Notable changesThe following was added in 0.103.1 and is repeated
>>>>>> here for awareness, as patch versions do not generally introduce
>>>>>> new options:
>>>>>> * Added a new scan option to alert on broken media (graphics)
>>>>>> file formats. This feature mitigates the risk of malformed media
>>>>>> files intended to exploit vulnerabilities in other software. At
>>>>>> present, media validation exists for JPEG, TIFF, PNG and GIF
>>>>>> files. To enable this feature, set AlertBrokenMedia yes in
>>>>>> clamd.conf, or use the --alert-broken-media option when
>>>>>> using clamscan. These options are disabled by default in this
>>>>>> patch release but may be enabled in a subsequent release.
>>>>>> Application developers may enable this scan option by
>>>>>> enabling CL_SCAN_HEURISTIC_BROKEN_MEDIA for the heuristic scan
>>>>>> option bit field.
>>>>>> * Added CL_TYPE_TIFF, CL_TYPE_JPEG types to match GIF, PNG
>>>>>> typing behavior. BMP and JPEG 2000 files will continue to detect
>>>>>> as CL_TYPE_GRAPHICS because ClamAV does not yet have BMP or JPEG
>>>>>> 2000 format checking capabilities.
>>>>>> * Added progress callbacks to libclamav for:database
>>>>>> load: cl_engine_set_clcb_sigload_progress()engine
>>>>>> compile: cl_engine_set_clcb_engine_compile_progress()engine
>>>>>> free: cl_engine_set_clcb_engine_free_progress()These new
>>>>>> callbacks enable an application to monitor and estimate load,
>>>>>> compile, and unload progress. See clamav.h for API details.
>>>>>> * Added progress bars to ClamScan for the signature load and
>>>>>> engine compile steps before a scan begins. The start-up progress
>>>>>> bars won't be enabled if ClamScan isn't running in a terminal
>>>>>> (i.e. stdout is not a TTY), or if any of these options are used:-
>>>>>> -debug--quiet--infected--no-summary
>>>>>> Other improvements * Added the %f format string option to the
>>>>>> ClamD VirusEvent feature to insert the file path of the scan
>>>>>> target when a virus-event occurs. This supplements the
>>>>>> VirusEvent %v option which prints the signature (virus) name. The
>>>>>> ClamD VirusEvent feature also provides two environment
>>>>>> variables, $CLAM_VIRUSEVENT_FILENAME and $CLAM_VIRUSEVENT_VIRUSNA
>>>>>> ME for a similar effect. Patch courtesy of Vasile Papp.
>>>>>> * Improvements to the AutoIt extraction module. Patch courtesy
>>>>>> of cw2k.
>>>>>> * Added support for extracting images from Excel *.xls (OLE2)
>>>>>> documents.
>>>>>> * Trusted SHA256-based Authenticode hashes can now be loaded in
>>>>>> from *.cat files. For more information, visit our Authenticode
>>>>>> documentation about using *.cat files with *.crb rules to trust
>>>>>> signed Windows executables.
>>>>>>
>>>>>> Bug fixes * Fixed a memory leak affecting logical signatures that
>>>>>> use the "byte compare" feature. Patch courtesy of Andrea De
>>>>>> Pasquale.
>>>>>> * Fixed bytecode match evaluation for PDF bytecode hooks in PDF
>>>>>> file scans.
>>>>>> * Other minor bug fixes.
>>>>>>
>>>>>> AcknowledgmentsThe ClamAV team thanks the following individuals
>>>>>> for their code submissions:
>>>>>> * Alexander Golovach
>>>>>> * Andrea De Pasquale
>>>>>> * Andrew Williams
>>>>>> * Arjen de Korte
>>>>>> * Armin Kuster
>>>>>> * Brian Bergstrand
>>>>>> * cw2k
>>>>>> * Duane Waddle
>>>>>> * Gianluigi Tiesi
>>>>>> * Jonas Zaddach
>>>>>> * Kenneth Hau
>>>>>> * Mark Fortescue
>>>>>> * Markus Strehle
>>>>>> * Olliver Schinagl
>>>>>> * Orion Poplawski
>>>>>> * Sergey Valentey
>>>>>> * Sven Rueß
>>>>>> * Tom Briden
>>>>>> * Tuomo Soini
>>>>>> * Vasile Papp
>>>>>> * Yasuhiro Kimura
>>>>> _______________________________________________
>>>>>
>>>>> clamav-announce mailing list
>>>>> clamav-announce(a)lists.clamav.net
>>>>> https://lists.clamav.net/mailman/listinfo/clamav-announce
>>>>>
>>>>> http://www.clamav.net/contact.html#ml
>>>>
>>>
>>>
>>
>> <llvm-12.0.1><lfs_clamav.txt>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Clamav-announce] ClamAV® blog: ClamAV 0.104.0 released
2021-09-04 16:47 ` Matthias Fischer
@ 2021-09-05 9:29 ` Matthias Fischer
2021-09-06 9:59 ` Michael Tremer
0 siblings, 1 reply; 9+ messages in thread
From: Matthias Fischer @ 2021-09-05 9:29 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 14853 bytes --]
Hi,
thinkin about it, consider sticking with 0.103.3 LTS(!):
=> https://docs.clamav.net/faq/faq-eol.html
"Expected end of life" will be September 2023, "DB downloads allowed
until" Sep 2023", "Patch versions continue until "Sep 2023".
Besides, '0.104.0' - built with "interpreter" - is running like
'0.103.3'. No seen differences in functionality and speed.
Changelog for 0.104.0:
=> https://blog.clamav.net/2021/09/clamav-01040-released.html#more
Jm2C
Best,
Matthias
On 04.09.2021 18:47, Matthias Fischer wrote:
> Hi,
>
> I finally got a "testversion" of 'clamav 0.104.0' up and running in
> productive environment (Core 159 / 64bit). Testing. Its filtering, no
> problems during startup.
>
> But: NO 'llvm' - I built this version with "-D
> BYTECODE_RUNTIME="interpreter" \".
>
> I did this because if I read the clamav blog right, it would make no
> (big) difference compared to 0.103.3:
>
> "The bytecode interpreter is the default runtime for bytecode signatures
> just as it was in ClamAV 0.103.
> We wished to add support for newer versions of LLVM, but ran out of
> time. If you're building ClamAV from source and you wish to use LLVM
> instead of the bytecode interpreter, you will need to supply the
> development libraries for LLVM version 3.6.2."
>
> The current 'llvm 12.0.1' isn't supported, 'llvm 3.6.2' kept crashing my
> build, so I thought: what the heck!?
>
> I'll test and report. If anyone wants to test this too, I'll send a patch.
>
> Best,
> Matthias
>
> On 04.09.2021 13:38, Michael Tremer wrote:
>> Hello,
>>
>>> On 4 Sep 2021, at 04:58, Matthias Fischer <matthias.fischer(a)ipfire.org> wrote:
>>>
>>> Hi all,
>>>
>>> On 03.09.2021 18:36, Stefan Schantl wrote:
>>>> Hello Michael, Hello Matthias, Hello list,
>>>>> Hello everyone,
>>>>>
>>>>> I just received this announcement that clamav 0.104.0 has been
>>>>> released.
>>>>>
>>>>> The interesting things for us are the changes in the build system:
>>>>>
>>>>> * It now requires cmake which isn’t a problem
>>>
>>> Yep. Done.
>>> I already did a few - early tests with 'clamav 0.104-rc. I'm still not
>>> 100% sure about the needed options, but it builds (see attached lfs-file).
>>>
>>>>> * It now requires LLVM which we don’t have
>>>>>
>>>>> LLVM is probably going to be large, but Stefan has already played
>>>>> around with it and we might be able to merge his patches. So, Stefan,
>>>>> could you please post them? I suppose Matthias is the de-facto
>>>>> maintainer of clamav. You will need to merge these patches locally to
>>>>> see if clamav is happy with what Stefan has built.
>>>>
>>>> I've created and pushed a new LLVM git branch in my personal git
>>>> repository, which builds the LLVM compiler suite.
>>>>
>>>> https://git.ipfire.org/?p=people/stevee/ipfire-2.x.git;a=shortlog;h=refs/heads/llvm
>>>>
>>>> I hope this will do the trick with the new clamav version.
>>>
>>> I'm not sure at this point.
>>>
>>> I think we need to add something like "-D BYTECODE_RUNTIME="llvm" \" for
>>> building 'clamav'.
>>>
>>> Stefan provided the current 'llvm 12.0.1'. Thanks again!
>>>
>>> But the clamav announcement - please read below - says:
>>> "We hoped to add support for newer versions of LLVM, but ran out of
>>> time. If you're building ClamAV from source and you wish to use LLVM
>>> instead of the bytecode interpreter, you will need to supply the
>>> development libraries for LLVM version 3.6.2."
>>
>> This is outrageous. ClamAV is owned by Cisco, a multi-billion dollar company that cannot afford to do things right. I hope they have a different strategy for their other products.
>>
>> LLVM 3.6.2 was released in 2015 (https://releases.llvm.org). This is a 6 year old release that is no longer maintained and I suppose many bugs and security issues have been fixed in the meantime.
>>
>>> First build - *without* BYTECODE_RUNTIME="llvm" - seems to build ok,
>>> next I'll test building *with* this option. I'm just a bit puzzled if I
>>> should use 12.0.1 or 3.6.2. The latter is a bit old(!?). Or do I miss
>>> something?
>>
>> If it won’t build with recent releases we are facing the question whether we want to ship old and outdated software that nobody cares for any more and disable the functionality altogether. What is better? Not scanning certain signatures, or exposing the firewall to being exploited through its virus scanner?
>>
>> I vote for disabling the bytecode runtime.
>>
>>> And since the 'llvm' rootfile is quite large: does anyone have an idea
>>> what llvm-parts (/usr/bin/...? /usr/lib/...?) are needed (see attachment).
>>
>> Probably some libraries which we could have seen by checking what clamav is linked against (with lld). But that is a kind of moot question now :)
>>
>> Thank you for investigating this.
>>
>> -Michael
>>
>>> Best,
>>> Matthias
>>>
>>>> Best regards,
>>>>
>>>> -Stefan
>>>>
>>>>>
>>>>> This will be an interesting project :)
>>>
>>> I think so... ;-)
>>>
>>>>> -Michael
>>>>>
>>>>>> Begin forwarded message:
>>>>>>
>>>>>> From: "Joel Esler (jesler)" <jesler(a)cisco.com>
>>>>>> Subject: [Clamav-announce] ClamAV® blog: ClamAV 0.104.0 released
>>>>>> Date: 3 September 2021 at 16:51:29 BST
>>>>>> To: "ClamAV-announce(a)lists.clamav.net" <
>>>>>> ClamAV-announce(a)lists.clamav.net>, "clamav-users(a)lists.clamav.net"
>>>>>> <clamav-users(a)lists.clamav.net>
>>>>>> Reply-To: noreply(a)clamav.net
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> https://blog.clamav.net/2021/09/clamav-01040-released.html
>>>>>>>
>>>>>>> ClamAV 0.104.0 releasedClamAV 0.104.0 is available as an official
>>>>>>> release as of today.
>>>>>>> We are also announcing a new Long Term Support (LTS) program
>>>>>>> today in an update to our End-of-Life (EOL) policy. The LTS will
>>>>>>> start retroactively with ClamAV 0.103, the previous feature
>>>>>>> release. This new LTS policy extends the life of 0.103 up through
>>>>>>> September 2023 and will facilitate the production of more
>>>>>>> frequent feature releases while enabling users to rely on a
>>>>>>> supported version for years to come if they cannot keep pace with
>>>>>>> the feature release cadence. For full details about the Long Term
>>>>>>> Support program, you can see the LTS announcement blog post and
>>>>>>> review the LTS policy in our online documentation.
>>>>>>> We're also introducing new install packages to make it easier for
>>>>>>> folks to upgrade without having to build ClamAV from source and
>>>>>>> without having to wait for a community volunteer to package the
>>>>>>> latest release. You can find the new install packages on the
>>>>>>> ClamAV.net Downloads Page.
>>>>>>> Today you can find:
>>>>>>> * x86_64 and i686 RPM packages compatible with RPM-based Linux
>>>>>>> distributions running glibc version 2.17 or newer.
>>>>>>> * x86_64 and i686 DEB packages compatible with Debian-based
>>>>>>> Linux distributions running glibc version 2.23 or newer.
>>>>>>> * An x86_64/ARM64 macOS installer package is compatible with
>>>>>>> Intel and Apple M1 systems.
>>>>>>> * x64 and win32 Windows packages are compatible with Windows 7
>>>>>>> and newer.
>>>>>>> In the future, we hope to supplement these with ARM64 Linux DEB
>>>>>>> and RPM packages and an x86_64 FreeBSD package.
>>>>>>> Please note that you may find installations in this release
>>>>>>> require more manual configuration than when using a preconfigured
>>>>>>> package provided by a Linux or Unix distribution. See our
>>>>>>> installation instructions on clamav.net for more information.
>>>>>>> ClamAV 0.104.0 includes the following improvements and changes.
>>>>>>>
>>>>>>> New Requirements * As of ClamAV 0.104, CMake is required to build
>>>>>>> ClamAV.We have added comprehensive build instructions for using
>>>>>>> CMake to the new INSTALL.md file. The online documentation will
>>>>>>> also be updated to include CMake build instructions.The Autotools
>>>>>>> and the Visual Studio build systems have been removed.
>>>>>>>
>>>>>>> Major changes * The built-in LLVM for the bytecode runtime has
>>>>>>> been removed.The bytecode interpreter is the default runtime for
>>>>>>> bytecode signatures just as it was in ClamAV 0.103.We hoped to
>>>>>>> add support for newer versions of LLVM, but ran out of time. If
>>>>>>> you're building ClamAV from source and you wish to use LLVM
>>>>>>> instead of the bytecode interpreter, you will need to supply the
>>>>>>> development libraries for LLVM version 3.6.2. See the "bytecode
>>>>>>> runtime" section in INSTALL.md to learn more.
>>>>>>> * There are now official ClamAV images on Docker Hub.Docker Hub
>>>>>>> ClamAV tags:clamav/clamav:<version>: A release preloaded with
>>>>>>> signature databases.Using this container will save the ClamAV
>>>>>>> project some bandwidth. Use this if you will keep the image
>>>>>>> around so that you don't download the entire database set every
>>>>>>> time you start a new container. Updating with FreshClam from the
>>>>>>> existing databases set does not use much
>>>>>>> data.clamav/clamav:<version>_base: A release with no signature
>>>>>>> databases.Use this container only if you mount a volume in your
>>>>>>> container under /var/lib/clamav to persist your signature
>>>>>>> database databases. This method is the best option because it
>>>>>>> will reduce data costs for ClamAV and for the Docker registry,
>>>>>>> but it does require advanced familiarity with Linux and
>>>>>>> Docker.Caution: Using this image without mounting an existing
>>>>>>> database directory will cause FreshClam to download the entire
>>>>>>> database set each time you start a new container.You can use
>>>>>>> the unstable version
>>>>>>> (i.e. clamav/clamav:unstable or clamav/clamav:unstable_base) to
>>>>>>> try the latest from our development branch.Please, be kind when
>>>>>>> using 'free' bandwidth, both for the virus databases but also the
>>>>>>> Docker registry. Try not to download the entire database set or
>>>>>>> the larger ClamAV database images on a regular basis.For more
>>>>>>> details, see the ClamAV Docker documentation.Special thanks to
>>>>>>> Olliver Schinagl for his excellent work creating ClamAV's new
>>>>>>> Docker files, image database deployment tooling, and user
>>>>>>> documentation.
>>>>>>> * clamd and freshclam are now available as Windows services. To
>>>>>>> install and run them, use the --install-service option and net
>>>>>>> start [name] command.Special thanks to Gianluigi Tiesi for his
>>>>>>> original work on this feature.
>>>>>>>
>>>>>>> Notable changesThe following was added in 0.103.1 and is repeated
>>>>>>> here for awareness, as patch versions do not generally introduce
>>>>>>> new options:
>>>>>>> * Added a new scan option to alert on broken media (graphics)
>>>>>>> file formats. This feature mitigates the risk of malformed media
>>>>>>> files intended to exploit vulnerabilities in other software. At
>>>>>>> present, media validation exists for JPEG, TIFF, PNG and GIF
>>>>>>> files. To enable this feature, set AlertBrokenMedia yes in
>>>>>>> clamd.conf, or use the --alert-broken-media option when
>>>>>>> using clamscan. These options are disabled by default in this
>>>>>>> patch release but may be enabled in a subsequent release.
>>>>>>> Application developers may enable this scan option by
>>>>>>> enabling CL_SCAN_HEURISTIC_BROKEN_MEDIA for the heuristic scan
>>>>>>> option bit field.
>>>>>>> * Added CL_TYPE_TIFF, CL_TYPE_JPEG types to match GIF, PNG
>>>>>>> typing behavior. BMP and JPEG 2000 files will continue to detect
>>>>>>> as CL_TYPE_GRAPHICS because ClamAV does not yet have BMP or JPEG
>>>>>>> 2000 format checking capabilities.
>>>>>>> * Added progress callbacks to libclamav for:database
>>>>>>> load: cl_engine_set_clcb_sigload_progress()engine
>>>>>>> compile: cl_engine_set_clcb_engine_compile_progress()engine
>>>>>>> free: cl_engine_set_clcb_engine_free_progress()These new
>>>>>>> callbacks enable an application to monitor and estimate load,
>>>>>>> compile, and unload progress. See clamav.h for API details.
>>>>>>> * Added progress bars to ClamScan for the signature load and
>>>>>>> engine compile steps before a scan begins. The start-up progress
>>>>>>> bars won't be enabled if ClamScan isn't running in a terminal
>>>>>>> (i.e. stdout is not a TTY), or if any of these options are used:-
>>>>>>> -debug--quiet--infected--no-summary
>>>>>>> Other improvements * Added the %f format string option to the
>>>>>>> ClamD VirusEvent feature to insert the file path of the scan
>>>>>>> target when a virus-event occurs. This supplements the
>>>>>>> VirusEvent %v option which prints the signature (virus) name. The
>>>>>>> ClamD VirusEvent feature also provides two environment
>>>>>>> variables, $CLAM_VIRUSEVENT_FILENAME and $CLAM_VIRUSEVENT_VIRUSNA
>>>>>>> ME for a similar effect. Patch courtesy of Vasile Papp.
>>>>>>> * Improvements to the AutoIt extraction module. Patch courtesy
>>>>>>> of cw2k.
>>>>>>> * Added support for extracting images from Excel *.xls (OLE2)
>>>>>>> documents.
>>>>>>> * Trusted SHA256-based Authenticode hashes can now be loaded in
>>>>>>> from *.cat files. For more information, visit our Authenticode
>>>>>>> documentation about using *.cat files with *.crb rules to trust
>>>>>>> signed Windows executables.
>>>>>>>
>>>>>>> Bug fixes * Fixed a memory leak affecting logical signatures that
>>>>>>> use the "byte compare" feature. Patch courtesy of Andrea De
>>>>>>> Pasquale.
>>>>>>> * Fixed bytecode match evaluation for PDF bytecode hooks in PDF
>>>>>>> file scans.
>>>>>>> * Other minor bug fixes.
>>>>>>>
>>>>>>> AcknowledgmentsThe ClamAV team thanks the following individuals
>>>>>>> for their code submissions:
>>>>>>> * Alexander Golovach
>>>>>>> * Andrea De Pasquale
>>>>>>> * Andrew Williams
>>>>>>> * Arjen de Korte
>>>>>>> * Armin Kuster
>>>>>>> * Brian Bergstrand
>>>>>>> * cw2k
>>>>>>> * Duane Waddle
>>>>>>> * Gianluigi Tiesi
>>>>>>> * Jonas Zaddach
>>>>>>> * Kenneth Hau
>>>>>>> * Mark Fortescue
>>>>>>> * Markus Strehle
>>>>>>> * Olliver Schinagl
>>>>>>> * Orion Poplawski
>>>>>>> * Sergey Valentey
>>>>>>> * Sven Rueß
>>>>>>> * Tom Briden
>>>>>>> * Tuomo Soini
>>>>>>> * Vasile Papp
>>>>>>> * Yasuhiro Kimura
>>>>>> _______________________________________________
>>>>>>
>>>>>> clamav-announce mailing list
>>>>>> clamav-announce(a)lists.clamav.net
>>>>>> https://lists.clamav.net/mailman/listinfo/clamav-announce
>>>>>>
>>>>>> http://www.clamav.net/contact.html#ml
>>>>>
>>>>
>>>>
>>>
>>> <llvm-12.0.1><lfs_clamav.txt>
>>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Clamav-announce] ClamAV® blog: ClamAV 0.104.0 released
2021-09-05 9:29 ` Matthias Fischer
@ 2021-09-06 9:59 ` Michael Tremer
0 siblings, 0 replies; 9+ messages in thread
From: Michael Tremer @ 2021-09-06 9:59 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 15994 bytes --]
Hello,
Yes, it is an LTS version, but where is the general benefit?
* The LLVM issue is the same (the old version is bundles with clamav 0.103.x if I recall correctly).
* We will miss out on new features.
* Updating clamav is generally not very painful (like the kernel is for example), so if we update to 0.104.n+1 or 0.103.n+1 is kind of the same.
I wasn’t aware that there is a different version of the bytecode engine that does not need LLVM. Since we do not care *that* much about performance in ClamAV, I think we should be fine with this. First of all I want to make sure that we are scanning for all the signatures.
If 0.104.0 is running fine in “interpreter” mode, I would suggest to submit a patch.
-Michael
> On 5 Sep 2021, at 10:29, Matthias Fischer <matthias.fischer(a)ipfire.org> wrote:
>
> Hi,
>
> thinkin about it, consider sticking with 0.103.3 LTS(!):
>
> => https://docs.clamav.net/faq/faq-eol.html
>
> "Expected end of life" will be September 2023, "DB downloads allowed
> until" Sep 2023", "Patch versions continue until "Sep 2023".
>
> Besides, '0.104.0' - built with "interpreter" - is running like
> '0.103.3'. No seen differences in functionality and speed.
>
> Changelog for 0.104.0:
> => https://blog.clamav.net/2021/09/clamav-01040-released.html#more
>
> Jm2C
>
> Best,
> Matthias
>
> On 04.09.2021 18:47, Matthias Fischer wrote:
>> Hi,
>>
>> I finally got a "testversion" of 'clamav 0.104.0' up and running in
>> productive environment (Core 159 / 64bit). Testing. Its filtering, no
>> problems during startup.
>>
>> But: NO 'llvm' - I built this version with "-D
>> BYTECODE_RUNTIME="interpreter" \".
>>
>> I did this because if I read the clamav blog right, it would make no
>> (big) difference compared to 0.103.3:
>>
>> "The bytecode interpreter is the default runtime for bytecode signatures
>> just as it was in ClamAV 0.103.
>> We wished to add support for newer versions of LLVM, but ran out of
>> time. If you're building ClamAV from source and you wish to use LLVM
>> instead of the bytecode interpreter, you will need to supply the
>> development libraries for LLVM version 3.6.2."
>>
>> The current 'llvm 12.0.1' isn't supported, 'llvm 3.6.2' kept crashing my
>> build, so I thought: what the heck!?
>>
>> I'll test and report. If anyone wants to test this too, I'll send a patch.
>>
>> Best,
>> Matthias
>>
>> On 04.09.2021 13:38, Michael Tremer wrote:
>>> Hello,
>>>
>>>> On 4 Sep 2021, at 04:58, Matthias Fischer <matthias.fischer(a)ipfire.org> wrote:
>>>>
>>>> Hi all,
>>>>
>>>> On 03.09.2021 18:36, Stefan Schantl wrote:
>>>>> Hello Michael, Hello Matthias, Hello list,
>>>>>> Hello everyone,
>>>>>>
>>>>>> I just received this announcement that clamav 0.104.0 has been
>>>>>> released.
>>>>>>
>>>>>> The interesting things for us are the changes in the build system:
>>>>>>
>>>>>> * It now requires cmake which isn’t a problem
>>>>
>>>> Yep. Done.
>>>> I already did a few - early tests with 'clamav 0.104-rc. I'm still not
>>>> 100% sure about the needed options, but it builds (see attached lfs-file).
>>>>
>>>>>> * It now requires LLVM which we don’t have
>>>>>>
>>>>>> LLVM is probably going to be large, but Stefan has already played
>>>>>> around with it and we might be able to merge his patches. So, Stefan,
>>>>>> could you please post them? I suppose Matthias is the de-facto
>>>>>> maintainer of clamav. You will need to merge these patches locally to
>>>>>> see if clamav is happy with what Stefan has built.
>>>>>
>>>>> I've created and pushed a new LLVM git branch in my personal git
>>>>> repository, which builds the LLVM compiler suite.
>>>>>
>>>>> https://git.ipfire.org/?p=people/stevee/ipfire-2.x.git;a=shortlog;h=refs/heads/llvm
>>>>>
>>>>> I hope this will do the trick with the new clamav version.
>>>>
>>>> I'm not sure at this point.
>>>>
>>>> I think we need to add something like "-D BYTECODE_RUNTIME="llvm" \" for
>>>> building 'clamav'.
>>>>
>>>> Stefan provided the current 'llvm 12.0.1'. Thanks again!
>>>>
>>>> But the clamav announcement - please read below - says:
>>>> "We hoped to add support for newer versions of LLVM, but ran out of
>>>> time. If you're building ClamAV from source and you wish to use LLVM
>>>> instead of the bytecode interpreter, you will need to supply the
>>>> development libraries for LLVM version 3.6.2."
>>>
>>> This is outrageous. ClamAV is owned by Cisco, a multi-billion dollar company that cannot afford to do things right. I hope they have a different strategy for their other products.
>>>
>>> LLVM 3.6.2 was released in 2015 (https://releases.llvm.org). This is a 6 year old release that is no longer maintained and I suppose many bugs and security issues have been fixed in the meantime.
>>>
>>>> First build - *without* BYTECODE_RUNTIME="llvm" - seems to build ok,
>>>> next I'll test building *with* this option. I'm just a bit puzzled if I
>>>> should use 12.0.1 or 3.6.2. The latter is a bit old(!?). Or do I miss
>>>> something?
>>>
>>> If it won’t build with recent releases we are facing the question whether we want to ship old and outdated software that nobody cares for any more and disable the functionality altogether. What is better? Not scanning certain signatures, or exposing the firewall to being exploited through its virus scanner?
>>>
>>> I vote for disabling the bytecode runtime.
>>>
>>>> And since the 'llvm' rootfile is quite large: does anyone have an idea
>>>> what llvm-parts (/usr/bin/...? /usr/lib/...?) are needed (see attachment).
>>>
>>> Probably some libraries which we could have seen by checking what clamav is linked against (with lld). But that is a kind of moot question now :)
>>>
>>> Thank you for investigating this.
>>>
>>> -Michael
>>>
>>>> Best,
>>>> Matthias
>>>>
>>>>> Best regards,
>>>>>
>>>>> -Stefan
>>>>>
>>>>>>
>>>>>> This will be an interesting project :)
>>>>
>>>> I think so... ;-)
>>>>
>>>>>> -Michael
>>>>>>
>>>>>>> Begin forwarded message:
>>>>>>>
>>>>>>> From: "Joel Esler (jesler)" <jesler(a)cisco.com>
>>>>>>> Subject: [Clamav-announce] ClamAV® blog: ClamAV 0.104.0 released
>>>>>>> Date: 3 September 2021 at 16:51:29 BST
>>>>>>> To: "ClamAV-announce(a)lists.clamav.net" <
>>>>>>> ClamAV-announce(a)lists.clamav.net>, "clamav-users(a)lists.clamav.net"
>>>>>>> <clamav-users(a)lists.clamav.net>
>>>>>>> Reply-To: noreply(a)clamav.net
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> https://blog.clamav.net/2021/09/clamav-01040-released.html
>>>>>>>>
>>>>>>>> ClamAV 0.104.0 releasedClamAV 0.104.0 is available as an official
>>>>>>>> release as of today.
>>>>>>>> We are also announcing a new Long Term Support (LTS) program
>>>>>>>> today in an update to our End-of-Life (EOL) policy. The LTS will
>>>>>>>> start retroactively with ClamAV 0.103, the previous feature
>>>>>>>> release. This new LTS policy extends the life of 0.103 up through
>>>>>>>> September 2023 and will facilitate the production of more
>>>>>>>> frequent feature releases while enabling users to rely on a
>>>>>>>> supported version for years to come if they cannot keep pace with
>>>>>>>> the feature release cadence. For full details about the Long Term
>>>>>>>> Support program, you can see the LTS announcement blog post and
>>>>>>>> review the LTS policy in our online documentation.
>>>>>>>> We're also introducing new install packages to make it easier for
>>>>>>>> folks to upgrade without having to build ClamAV from source and
>>>>>>>> without having to wait for a community volunteer to package the
>>>>>>>> latest release. You can find the new install packages on the
>>>>>>>> ClamAV.net Downloads Page.
>>>>>>>> Today you can find:
>>>>>>>> * x86_64 and i686 RPM packages compatible with RPM-based Linux
>>>>>>>> distributions running glibc version 2.17 or newer.
>>>>>>>> * x86_64 and i686 DEB packages compatible with Debian-based
>>>>>>>> Linux distributions running glibc version 2.23 or newer.
>>>>>>>> * An x86_64/ARM64 macOS installer package is compatible with
>>>>>>>> Intel and Apple M1 systems.
>>>>>>>> * x64 and win32 Windows packages are compatible with Windows 7
>>>>>>>> and newer.
>>>>>>>> In the future, we hope to supplement these with ARM64 Linux DEB
>>>>>>>> and RPM packages and an x86_64 FreeBSD package.
>>>>>>>> Please note that you may find installations in this release
>>>>>>>> require more manual configuration than when using a preconfigured
>>>>>>>> package provided by a Linux or Unix distribution. See our
>>>>>>>> installation instructions on clamav.net for more information.
>>>>>>>> ClamAV 0.104.0 includes the following improvements and changes.
>>>>>>>>
>>>>>>>> New Requirements * As of ClamAV 0.104, CMake is required to build
>>>>>>>> ClamAV.We have added comprehensive build instructions for using
>>>>>>>> CMake to the new INSTALL.md file. The online documentation will
>>>>>>>> also be updated to include CMake build instructions.The Autotools
>>>>>>>> and the Visual Studio build systems have been removed.
>>>>>>>>
>>>>>>>> Major changes * The built-in LLVM for the bytecode runtime has
>>>>>>>> been removed.The bytecode interpreter is the default runtime for
>>>>>>>> bytecode signatures just as it was in ClamAV 0.103.We hoped to
>>>>>>>> add support for newer versions of LLVM, but ran out of time. If
>>>>>>>> you're building ClamAV from source and you wish to use LLVM
>>>>>>>> instead of the bytecode interpreter, you will need to supply the
>>>>>>>> development libraries for LLVM version 3.6.2. See the "bytecode
>>>>>>>> runtime" section in INSTALL.md to learn more.
>>>>>>>> * There are now official ClamAV images on Docker Hub.Docker Hub
>>>>>>>> ClamAV tags:clamav/clamav:<version>: A release preloaded with
>>>>>>>> signature databases.Using this container will save the ClamAV
>>>>>>>> project some bandwidth. Use this if you will keep the image
>>>>>>>> around so that you don't download the entire database set every
>>>>>>>> time you start a new container. Updating with FreshClam from the
>>>>>>>> existing databases set does not use much
>>>>>>>> data.clamav/clamav:<version>_base: A release with no signature
>>>>>>>> databases.Use this container only if you mount a volume in your
>>>>>>>> container under /var/lib/clamav to persist your signature
>>>>>>>> database databases. This method is the best option because it
>>>>>>>> will reduce data costs for ClamAV and for the Docker registry,
>>>>>>>> but it does require advanced familiarity with Linux and
>>>>>>>> Docker.Caution: Using this image without mounting an existing
>>>>>>>> database directory will cause FreshClam to download the entire
>>>>>>>> database set each time you start a new container.You can use
>>>>>>>> the unstable version
>>>>>>>> (i.e. clamav/clamav:unstable or clamav/clamav:unstable_base) to
>>>>>>>> try the latest from our development branch.Please, be kind when
>>>>>>>> using 'free' bandwidth, both for the virus databases but also the
>>>>>>>> Docker registry. Try not to download the entire database set or
>>>>>>>> the larger ClamAV database images on a regular basis.For more
>>>>>>>> details, see the ClamAV Docker documentation.Special thanks to
>>>>>>>> Olliver Schinagl for his excellent work creating ClamAV's new
>>>>>>>> Docker files, image database deployment tooling, and user
>>>>>>>> documentation.
>>>>>>>> * clamd and freshclam are now available as Windows services. To
>>>>>>>> install and run them, use the --install-service option and net
>>>>>>>> start [name] command.Special thanks to Gianluigi Tiesi for his
>>>>>>>> original work on this feature.
>>>>>>>>
>>>>>>>> Notable changesThe following was added in 0.103.1 and is repeated
>>>>>>>> here for awareness, as patch versions do not generally introduce
>>>>>>>> new options:
>>>>>>>> * Added a new scan option to alert on broken media (graphics)
>>>>>>>> file formats. This feature mitigates the risk of malformed media
>>>>>>>> files intended to exploit vulnerabilities in other software. At
>>>>>>>> present, media validation exists for JPEG, TIFF, PNG and GIF
>>>>>>>> files. To enable this feature, set AlertBrokenMedia yes in
>>>>>>>> clamd.conf, or use the --alert-broken-media option when
>>>>>>>> using clamscan. These options are disabled by default in this
>>>>>>>> patch release but may be enabled in a subsequent release.
>>>>>>>> Application developers may enable this scan option by
>>>>>>>> enabling CL_SCAN_HEURISTIC_BROKEN_MEDIA for the heuristic scan
>>>>>>>> option bit field.
>>>>>>>> * Added CL_TYPE_TIFF, CL_TYPE_JPEG types to match GIF, PNG
>>>>>>>> typing behavior. BMP and JPEG 2000 files will continue to detect
>>>>>>>> as CL_TYPE_GRAPHICS because ClamAV does not yet have BMP or JPEG
>>>>>>>> 2000 format checking capabilities.
>>>>>>>> * Added progress callbacks to libclamav for:database
>>>>>>>> load: cl_engine_set_clcb_sigload_progress()engine
>>>>>>>> compile: cl_engine_set_clcb_engine_compile_progress()engine
>>>>>>>> free: cl_engine_set_clcb_engine_free_progress()These new
>>>>>>>> callbacks enable an application to monitor and estimate load,
>>>>>>>> compile, and unload progress. See clamav.h for API details.
>>>>>>>> * Added progress bars to ClamScan for the signature load and
>>>>>>>> engine compile steps before a scan begins. The start-up progress
>>>>>>>> bars won't be enabled if ClamScan isn't running in a terminal
>>>>>>>> (i.e. stdout is not a TTY), or if any of these options are used:-
>>>>>>>> -debug--quiet--infected--no-summary
>>>>>>>> Other improvements * Added the %f format string option to the
>>>>>>>> ClamD VirusEvent feature to insert the file path of the scan
>>>>>>>> target when a virus-event occurs. This supplements the
>>>>>>>> VirusEvent %v option which prints the signature (virus) name. The
>>>>>>>> ClamD VirusEvent feature also provides two environment
>>>>>>>> variables, $CLAM_VIRUSEVENT_FILENAME and $CLAM_VIRUSEVENT_VIRUSNA
>>>>>>>> ME for a similar effect. Patch courtesy of Vasile Papp.
>>>>>>>> * Improvements to the AutoIt extraction module. Patch courtesy
>>>>>>>> of cw2k.
>>>>>>>> * Added support for extracting images from Excel *.xls (OLE2)
>>>>>>>> documents.
>>>>>>>> * Trusted SHA256-based Authenticode hashes can now be loaded in
>>>>>>>> from *.cat files. For more information, visit our Authenticode
>>>>>>>> documentation about using *.cat files with *.crb rules to trust
>>>>>>>> signed Windows executables.
>>>>>>>>
>>>>>>>> Bug fixes * Fixed a memory leak affecting logical signatures that
>>>>>>>> use the "byte compare" feature. Patch courtesy of Andrea De
>>>>>>>> Pasquale.
>>>>>>>> * Fixed bytecode match evaluation for PDF bytecode hooks in PDF
>>>>>>>> file scans.
>>>>>>>> * Other minor bug fixes.
>>>>>>>>
>>>>>>>> AcknowledgmentsThe ClamAV team thanks the following individuals
>>>>>>>> for their code submissions:
>>>>>>>> * Alexander Golovach
>>>>>>>> * Andrea De Pasquale
>>>>>>>> * Andrew Williams
>>>>>>>> * Arjen de Korte
>>>>>>>> * Armin Kuster
>>>>>>>> * Brian Bergstrand
>>>>>>>> * cw2k
>>>>>>>> * Duane Waddle
>>>>>>>> * Gianluigi Tiesi
>>>>>>>> * Jonas Zaddach
>>>>>>>> * Kenneth Hau
>>>>>>>> * Mark Fortescue
>>>>>>>> * Markus Strehle
>>>>>>>> * Olliver Schinagl
>>>>>>>> * Orion Poplawski
>>>>>>>> * Sergey Valentey
>>>>>>>> * Sven Rueß
>>>>>>>> * Tom Briden
>>>>>>>> * Tuomo Soini
>>>>>>>> * Vasile Papp
>>>>>>>> * Yasuhiro Kimura
>>>>>>> _______________________________________________
>>>>>>>
>>>>>>> clamav-announce mailing list
>>>>>>> clamav-announce(a)lists.clamav.net
>>>>>>> https://lists.clamav.net/mailman/listinfo/clamav-announce
>>>>>>>
>>>>>>> http://www.clamav.net/contact.html#ml
>>>>>>
>>>>>
>>>>>
>>>>
>>>> <llvm-12.0.1><lfs_clamav.txt>
>>>
>>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2021-09-06 9:59 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <7F07C7BE-2F52-482B-9299-2F53C2505901@ipfire.org>
2021-09-03 16:36 ` Fwd: [Clamav-announce] ClamAV® blog: ClamAV 0.104.0 released Stefan Schantl
2021-09-03 16:38 ` Michael Tremer
2021-09-03 17:59 ` Fwd: " Matthias Fischer
2021-09-04 3:58 ` Matthias Fischer
2021-09-04 11:38 ` Michael Tremer
2021-09-04 13:07 ` Matthias Fischer
2021-09-04 16:47 ` Matthias Fischer
2021-09-05 9:29 ` Matthias Fischer
2021-09-06 9:59 ` Michael Tremer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox