<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in regex_startend.cpp</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>3b8b5d1f - [sanitizer_common][test] Handle missing REG_STARTEND in Posix/regex_startend.cpp</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/compiler-rt/test/sanitizer_common/TestCases/Posix/regex_startend.cpp#3b8b5d1f</link>
        <description>[sanitizer_common][test] Handle missing REG_STARTEND in Posix/regex_startend.cppAs reported in D96348 &lt;https://reviews.llvm.org/D96348&gt;, the`Posix/regex_startend.cpp` test `FAIL`s on Solaris because`REG_STARTEND` isn&apos;t defined.  It&apos;s a BSD extension not present everywhere.E.g. AIX doesn&apos;t have it, too.Fixed by wrapping the test in `#ifdef REG_STARTEND`.Tested on `amd64-pc-solaris2.11`, `sparcv9-sun-solaris2.11`, and`x86_64-pc-linux-gnu`.Differential Revision: https://reviews.llvm.org/D98425

            List of files:
            /llvm-project-15.0.7/compiler-rt/test/sanitizer_common/TestCases/Posix/regex_startend.cpp</description>
        <pubDate>Wed, 17 Mar 2021 08:56:19 +0000</pubDate>
        <dc:creator>Rainer Orth &lt;ro@gcc.gnu.org&gt;</dc:creator>
    </item>
<item>
        <title>ad294e57 - [sanitizers] Fix interception of GLibc regexec</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/compiler-rt/test/sanitizer_common/TestCases/Posix/regex_startend.cpp#ad294e57</link>
        <description>[sanitizers] Fix interception of GLibc regexecPreviously, on GLibc systems, the interceptor was calling __compat_regexec(regexec@GLIBC_2.2.5) insead of the newer __regexec (regexec@GLIBC_2.3.4).The __compat_regexec strips the REG_STARTEND flag but does not report anerror if other flags are present. This can result in infinite loops forprograms that use REG_STARTEND to find all matches inside a buffer (sinceignoring REG_STARTEND means that the search always starts from the firstcharacter).The underlying issue is that GLibc&apos;s dlsym(RTLD_NEXT, ...) appears toalways return the oldest versioned symbol instead of the default. Thismeans it does not match the behaviour of dlsym(RTLD_DEFAULT, ...) or thebehaviour documented in the manpage.It appears a similar issue was encountered with realpath and worked aroundin 77ef78a0a5dbaa364529bd05ed7a7bd9a71dd8d4.See also https://sourceware.org/bugzilla/show_bug.cgi?id=14932 andhttps://sourceware.org/bugzilla/show_bug.cgi?id=1319.Fixes https://github.com/google/sanitizers/issues/1371Reviewed By: #sanitizers, vitalybuka, marxinDifferential Revision: https://reviews.llvm.org/D96348

            List of files:
            /llvm-project-15.0.7/compiler-rt/test/sanitizer_common/TestCases/Posix/regex_startend.cpp</description>
        <pubDate>Mon, 08 Mar 2021 10:09:42 +0000</pubDate>
        <dc:creator>Alex Richardson &lt;Alexander.Richardson@cl.cam.ac.uk&gt;</dc:creator>
    </item>
</channel>
</rss>
