<?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 lldbplatformutil.py</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>82ba3f44 - Recommit &quot;[lldb/test] Don&apos;t use preexec_fn for launching inferiors&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py#82ba3f44</link>
        <description>Recommit &quot;[lldb/test] Don&apos;t use preexec_fn for launching inferiors&quot;This recommits b15b1421, which reverted in was reverted in f51c47d98 due tofailures on apple systems. The problem was that the patch introduced a racewhere the debug server could start the attach process before the first process(which isn&apos;t supposed to be attached to) was set up. This caused us to attachto the wrong process.The new version introduces additional synchronization to ensure that does nothappen.Original commit message was:As the documentation states, using this is not safe in multithreadedprograms, and I have traced it to a rare deadlock in some of the tests.The reason this was introduced was to be able to attach to a programfrom the very first instruction, where our usual mechanism ofsynchronization -- waiting for a file to appear -- does not work.However, this is only needed for a single test(TestGdbRemoteAttachWait) so instead of doing this everywhere, I createa bespoke solution for that single test. The solution basicallyconsists of outsourcing the preexec_fn code to a separate (andsingle-threaded) shim process, which enables attaching and then executesthe real program.This pattern could be generalized in case we needed to use it for othertests, but I suspect that we will not be having many tests like this.This effectively reverts commita997a1d7fbe229433fb458bb0035b32424ecf3bd.

            List of files:
            /llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py</description>
        <pubDate>Fri, 01 Jul 2022 12:32:50 +0000</pubDate>
        <dc:creator>Pavel Labath &lt;pavel@labath.sk&gt;</dc:creator>
    </item>
<item>
        <title>f51c47d9 - Revert &quot;[lldb/test] Don&apos;t use preexec_fn for launching inferiors&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py#f51c47d9</link>
        <description>Revert &quot;[lldb/test] Don&apos;t use preexec_fn for launching inferiors&quot;This reverts commit b15b1421bc9a11b318b65b489e5fd58dd917db1f because itbreaks GreenDragon [1]. The bot has been red for several days, soreverting to green while I take a look.[1] https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/45012/

            List of files:
            /llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py</description>
        <pubDate>Tue, 05 Jul 2022 17:12:57 +0000</pubDate>
        <dc:creator>Jonas Devlieghere &lt;jonas@devlieghere.com&gt;</dc:creator>
    </item>
<item>
        <title>b15b1421 - [lldb/test] Don&apos;t use preexec_fn for launching inferiors</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py#b15b1421</link>
        <description>[lldb/test] Don&apos;t use preexec_fn for launching inferiorsAs the documentation states, using this is not safe in multithreadedprograms, and I have traced it to a rare deadlock in some of the tests.The reason this was introduced was to be able to attach to a programfrom the very first instruction, where our usual mechanism ofsynchronization -- waiting for a file to appear -- does not work.However, this is only needed for a single test(TestGdbRemoteAttachWait) so instead of doing this everywhere, I createa bespoke solution for that single test. The solution basicallyconsists of outsourcing the preexec_fn code to a separate (andsingle-threaded) shim process, which enables attaching and then executesthe real program.This pattern could be generalized in case we needed to use it for othertests, but I suspect that we will not be having many tests like this.This effectively reverts commita997a1d7fbe229433fb458bb0035b32424ecf3bd.

            List of files:
            /llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py</description>
        <pubDate>Fri, 01 Jul 2022 12:32:50 +0000</pubDate>
        <dc:creator>Pavel Labath &lt;pavel@labath.sk&gt;</dc:creator>
    </item>
<item>
        <title>21c5bb0a - Recommit [lldb/test] Make category-skipping logic &quot;platform&quot;-independent</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py#21c5bb0a</link>
        <description>Recommit [lldb/test] Make category-skipping logic &quot;platform&quot;-independentThis recommits dddf4ce03, which was reverted because of a couple of testfailures on macos. The reason behind the failures was that the patchinadvertenly changed the value returned by the host platform from&quot;macosx&quot; to &quot;darwin&quot;. The new version fixes that.Original commit message was:The decision which categories are relevant for a particular test runhappen very early in the test setup process. They use the SBPlatformobject to determine which categories should be skipped. The platformobject created for this purpose transcends individual test runs.This setup is not compatible with the direction discussed in&lt;https://discourse.llvm.org/t/multiple-platforms-with-the-same-name/59594&gt;-- when platform objects are tied to a specific (SB)Debugger, they needto be created alongside it, which currently happens in the test setUpmethod.This patch is the first step in that direction -- it rewrites thecategory skipping logic to avoid depending on a global SBPlatformobject. Fortunately, the skipping logic is fairly simple (and I believeit outght to stay that way) and mainly consists of comparing theplatform name against some hardcoded lists. This patch bases thiscomparison on the platform name instead of the os part of the triple (asreported by the platform).Differential Revision: https://reviews.llvm.org/D121605

            List of files:
            /llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py</description>
        <pubDate>Mon, 14 Mar 2022 15:32:51 +0000</pubDate>
        <dc:creator>Pavel Labath &lt;pavel@labath.sk&gt;</dc:creator>
    </item>
<item>
        <title>be09f837 - Revert &quot;[lldb/test] Make category-skipping logic &quot;platform&quot;-independent&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py#be09f837</link>
        <description>Revert &quot;[lldb/test] Make category-skipping logic &quot;platform&quot;-independent&quot;This reverts commit dddf4ce034a8e06cc1351492dceece3fa2344c14. It breaksa couple of tests on macos.

            List of files:
            /llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py</description>
        <pubDate>Tue, 15 Mar 2022 15:23:43 +0000</pubDate>
        <dc:creator>Pavel Labath &lt;pavel@labath.sk&gt;</dc:creator>
    </item>
<item>
        <title>dddf4ce0 - [lldb/test] Make category-skipping logic &quot;platform&quot;-independent</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py#dddf4ce0</link>
        <description>[lldb/test] Make category-skipping logic &quot;platform&quot;-independentThe decision which categories are relevant for a particular test runhappen very early in the test setup process. They use the SBPlatformobject to determine which categories should be skipped. The platformobject created for this purpose transcends individual test runs.This setup is not compatible with the direction discussed in&lt;https://discourse.llvm.org/t/multiple-platforms-with-the-same-name/59594&gt;-- when platform objects are tied to a specific (SB)Debugger, they needto be created alongside it, which currently happens in the test setUpmethod.This patch is the first step in that direction -- it rewrites thecategory skipping logic to avoid depending on a global SBPlatformobject. Fortunately, the skipping logic is fairly simple (and I believeit outght to stay that way) and mainly consists of comparing theplatform name against some hardcoded lists. This patch bases thiscomparison on the platform name instead of the os part of the triple (asreported by the platform).Differential Revision: https://reviews.llvm.org/D121605

            List of files:
            /llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py</description>
        <pubDate>Mon, 14 Mar 2022 15:32:51 +0000</pubDate>
        <dc:creator>Pavel Labath &lt;pavel@labath.sk&gt;</dc:creator>
    </item>
<item>
        <title>a997a1d7 - [lldb/test] Ensure launched processes are ready to be attached</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py#a997a1d7</link>
        <description>[lldb/test] Ensure launched processes are ready to be attachedLinux systems can be configured (and most of them are configured thatway) to disable attaching to unrelated processes, /unless/ thoseprocesses explicitly allow that.Our test inferiors do that by explicitly calling prctl(PR_SET_PTRACER,PR_SET_PTRACER_ANY) (a.k.a., lldb_enable_attach). This requiresadditional synchronization to ensure that the test does not attemptattach before that statement is executed.This is working fine (albeit cumbersome) for most tests butTestGdbRemoteAttachWait is special in that it wants to start theinferior _after_ issuing the attach request. This means that the usualsynchronization method does not work.This patch introduces a different solution -- enable attaching in thetest harness, before the process is launched. Besides fixing thisproblem, this is also better because it avoids the need to add specialcode to each attach test (which is a common error).One gotcha here is that it won&apos;t work for remote test suites, as wedon&apos;t control launching there. However, we could add a similar option tolldb-platform, or require that lldb-platform itself is started withattaching enabled. At that point we could delete all lldb_enable_attachlogic.

            List of files:
            /llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py</description>
        <pubDate>Thu, 14 Jan 2021 10:53:53 +0000</pubDate>
        <dc:creator>Pavel Labath &lt;pavel@labath.sk&gt;</dc:creator>
    </item>
<item>
        <title>26a8e850 - [lldb] Add Apple simulator platforms to lldbplatform.py</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py#26a8e850</link>
        <description>[lldb] Add Apple simulator platforms to lldbplatform.pyThis just adds the simulator platforms to the lldbplatform enumerationsand the respective test decorator.The platform names for the simulator are just the SDK names since D85537, sothat&apos;s why we are not using LLDB&apos;s usual platform names here (e.g., SDK =&quot;iphonesimulator&quot; vs LLDB platform =&quot;ios-simulator&quot;).Also removes the duplicate platform enumaration in lldbplatformutil.py.Reviewed By: JDevlieghereDifferential Revision: https://reviews.llvm.org/D89694

            List of files:
            /llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py</description>
        <pubDate>Thu, 05 Nov 2020 14:32:03 +0000</pubDate>
        <dc:creator>Raphael Isemann &lt;teemperor@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>f1d52573 - [lldb] Store the Apple SDK in dotest&apos;s configuration.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py#f1d52573</link>
        <description>[lldb] Store the Apple SDK in dotest&apos;s configuration.This patch stores the --apple-sdk argument in the dotest configuration.When it&apos;s set, use it instead of the triple to determine the currentplatform.Differential revision: https://reviews.llvm.org/D85537

            List of files:
            /llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py</description>
        <pubDate>Fri, 07 Aug 2020 17:06:38 +0000</pubDate>
        <dc:creator>Jonas Devlieghere &lt;jonas@devlieghere.com&gt;</dc:creator>
    </item>
<item>
        <title>e0dbd025 - [lldb/test] Make TestLoadUnload compatible with windows</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py#e0dbd025</link>
        <description>[lldb/test] Make TestLoadUnload compatible with windowsSummary:This patch introduces a header &quot;dylib.h&quot; which can be used in tests tohandle shared libraries semi-portably. The shared library APIs onwindows and posix systems look very different, but their underlyingfunctionality is relatively similar, so the mapping is not difficult.It also introduces two new macros to wrap the functinality necessary toexport/import function across the dll boundary on windows. Previously wehad the LLDB_TEST_API macro for this purpose, which automagicallychanged meaning depending on whether we were building the shared libraryor the executable. While convenient for simple cases, this approach wasnot sufficient for the more complicated setups where one deals withmultiple shared libraries.Lastly it rewrites TestLoadUnload, to make use of the new APIs. Thetrickiest aspect there is the handling of DYLD_LIBRARY_PATH on macos --previously setting this variable was not needed as the test used@executable_path-relative dlopens, but the new generic api does notsupport that. Other systems do not support such dlopens either so thetest already contained support for setting the appropriate pathvariable, and this patch just makes that logic more generic. In doesn&apos;tseem that the purpose of this test was to exercise @executable_pathimports, so this should not be a problem.These changes are sufficient to make some of the TestLoadUnload testspass on windows. Two other tests will start to pass once D77287 lands.Reviewers: amccarth, jingham, JDevlieghere, compnerdSubscribers: lldb-commitsTags: #lldbDifferential Revision: https://reviews.llvm.org/D77662

            List of files:
            /llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py</description>
        <pubDate>Mon, 06 Apr 2020 20:24:51 +0000</pubDate>
        <dc:creator>Pavel Labath &lt;pavel@labath.sk&gt;</dc:creator>
    </item>
<item>
        <title>a31130f6 - [lldb][testsuite] Create a SBDebugger instance for each test</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py#a31130f6</link>
        <description>[lldb][testsuite] Create a SBDebugger instance for each testSome tests set settings and don&apos;t clean them up, this leads to side effects in other tests.The patch removes a global debugger instance with a per-test debugger to avoid such effects.From what I see, lldb.DBG was needed to determine the platform before a test is run,lldb.selected_platform is used for this purpose now. Though, this required adding a new functionto the SBPlatform interface.Differential Revision: https://reviews.llvm.org/D74903

            List of files:
            /llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py</description>
        <pubDate>Thu, 05 Mar 2020 07:12:54 +0000</pubDate>
        <dc:creator>Tatyana Krasnukha &lt;tatyana@synopsys.com&gt;</dc:creator>
    </item>
<item>
        <title>a58bd0e4 - [lldb][tests] Platform triple can be None</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py#a58bd0e4</link>
        <description>[lldb][tests] Platform triple can be NoneIf a remote target is not connected, SBPlatform&apos;s GetTriple function returns None.

            List of files:
            /llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py</description>
        <pubDate>Tue, 10 Dec 2019 15:00:50 +0000</pubDate>
        <dc:creator>Tatyana Krasnukha &lt;tatyana@synopsys.com&gt;</dc:creator>
    </item>
<item>
        <title>9b958356 - [LLDB] Add core definition for armv8l and armv7l</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py#9b958356</link>
        <description>[LLDB] Add core definition for armv8l and armv7lThis patch adds core definitions in lldb ArchSpecs for armv8l and armv7l cores.This was needed because on Linux running on 32-bit Arm v8 we are returnedarmv8l in case we are running 32-bit sysroot on 64bit kernel. In case of 32-bitkernel and 32-bit sysroot running on arm v8 hardware we are returned armv7l.This is quite common when we run 32 bit arm using docker container.Signed-off-by: Muhammad Omair Javaid &lt;omair.javaid@linaro.org&gt;Differential Revision: https://reviews.llvm.org/D69904

            List of files:
            /llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py</description>
        <pubDate>Wed, 13 Nov 2019 00:30:25 +0000</pubDate>
        <dc:creator>Muhammad Omair Javaid &lt;omair.javaid@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>7dd7a360 - Add arm64_32 support to lldb, an ILP32 codegen </title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py#7dd7a360</link>
        <description>Add arm64_32 support to lldb, an ILP32 codegen that runs on arm64 ISA targets, specifically Apple watches.Differential Revision: https://reviews.llvm.org/D68858llvm-svn: 375032

            List of files:
            /llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py</description>
        <pubDate>Wed, 16 Oct 2019 19:14:49 +0000</pubDate>
        <dc:creator>Jason Molenda &lt;jmolenda@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>80b08072 - TestMTCSimple.py: allow the test to run on Darwin embedded platforms</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py#80b08072</link>
        <description>TestMTCSimple.py: allow the test to run on Darwin embedded platformsThe test needed some updates to run using a different UI toolkitand with a different libMTC, but it should run fine on a device.llvm-svn: 374262

            List of files:
            /llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py</description>
        <pubDate>Wed, 09 Oct 2019 23:52:31 +0000</pubDate>
        <dc:creator>Frederic Riss &lt;friss@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>5620e753 - [dotest] Remove dead code</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py#5620e753</link>
        <description>[dotest] Remove dead codeRemove some dead code that I ran into when preparing D65311.llvm-svn: 367079

            List of files:
            /llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py</description>
        <pubDate>Fri, 26 Jul 2019 01:58:18 +0000</pubDate>
        <dc:creator>Jonas Devlieghere &lt;jonas@devlieghere.com&gt;</dc:creator>
    </item>
<item>
        <title>2b2d728c - Adapt some tests to work with PPC64le architecture</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py#2b2d728c</link>
        <description>Adapt some tests to work with PPC64le architectureSummary: Merge branch &apos;master&apos; into adaptPPC64testsReviewers: clayborg, alexandreyy, labathReviewed By: clayborg, alexandreyySubscribers: luporl, lbianc, alexandreyy, lldb-commitsDifferential Revision: https://reviews.llvm.org/D42917Patch by Ana Julia Caetano &lt;ana.caetano@eldorado.org.br&gt;.llvm-svn: 326369

            List of files:
            /llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py</description>
        <pubDate>Wed, 28 Feb 2018 20:57:26 +0000</pubDate>
        <dc:creator>Pavel Labath &lt;labath@google.com&gt;</dc:creator>
    </item>
<item>
        <title>4c17d95b - Deactivate TestTargetSymbolsBuildidCase if host is windows</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py#4c17d95b</link>
        <description>Deactivate TestTargetSymbolsBuildidCase if host is windowsMakefile has unix magic and thus not working on windows.llvm-svn: 324558

            List of files:
            /llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py</description>
        <pubDate>Thu, 08 Feb 2018 03:05:47 +0000</pubDate>
        <dc:creator>Eugene Zemtsov &lt;ezemtsov@google.com&gt;</dc:creator>
    </item>
<item>
        <title>daa3c97e - dotest: Mark more android targets as chatty</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py#daa3c97e</link>
        <description>dotest: Mark more android targets as chattyNew android ndk linker started adding more flags to the producedbinaries, which causes older dynamic linkers display warnings to stderrabout unsupported flags. This interferes with our stderr tests.Extend the hasChattyStderr function to catch these targets as well.llvm-svn: 319028

            List of files:
            /llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py</description>
        <pubDate>Mon, 27 Nov 2017 13:47:14 +0000</pubDate>
        <dc:creator>Pavel Labath &lt;labath@google.com&gt;</dc:creator>
    </item>
<item>
        <title>888cc5d5 - test: Clean up finalize_build_dictionary</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py#888cc5d5</link>
        <description>test: Clean up finalize_build_dictionaryWe only support API&gt;=16 now, so we don&apos;t need to check the API level ofthe android device.llvm-svn: 317562

            List of files:
            /llvm-project-15.0.7/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py</description>
        <pubDate>Tue, 07 Nov 2017 10:36:42 +0000</pubDate>
        <dc:creator>Pavel Labath &lt;labath@google.com&gt;</dc:creator>
    </item>
</channel>
</rss>
