<?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 libc++abi.tbd</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>a5645513 - [lld/mac] Implement -dead_strip</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lld/test/MachO/Inputs/MacOSX.sdk/usr/lib/libc++abi.tbd#a5645513</link>
        <description>[lld/mac] Implement -dead_stripAlso adds support for live_support sections, no_dead_strip sections,.no_dead_strip symbols.Chromium Framework 345MB unstripped -&gt; 250MB stripped(vs 290MB unstripped -&gt; 236M stripped with ld64).Doing dead stripping is a bit faster than not, because so much lessdata needs to be processed:    % ministat lld_*    x lld_nostrip.txt    + lld_strip.txt        N           Min           Max        Median           Avg        Stddev    x  10      3.929414       4.07692     4.0269079     4.0089678   0.044214794    +  10     3.8129408     3.9025559     3.8670411     3.8642573   0.024779651    Difference at 95.0% confidence            -0.144711 +/- 0.0336749            -3.60967% +/- 0.839989%            (Student&apos;s t, pooled s = 0.0358398)This interacts with many parts of the linker. I tried to add test coveragefor all added `isLive()` checks, so that some test will fail if any of themis removed. I checked that the test expectations for the most part matchld64&apos;s behavior (except for live-support-iterations.s, see the commentin the test). Interacts with:- debug info- export tries- import opcodes- flags like -exported_symbol(s_list)- -U / dynamic_lookup- mod_init_funcs, mod_term_funcs- weak symbol handling- unwind info- stubs- map files- -sectcreate- undefined, dylib, common, defined (both absolute and normal) symbolsIt&apos;s possible it interacts with more features I didn&apos;t think of,of course.I also did some manual testing:- check-llvm check-clang check-lld work with lld with this patch  as host linker and -dead_strip enabled- Chromium still starts- Chromium&apos;s base_unittests still pass, including unwind testsImplemenation-wise, this is InputSection-based, so it&apos;ll work forobject files with .subsections_via_symbols (which includes allobject files generated by clang). I first based this on the COFFimplementation, but later realized that things are more similar to ELF.I think it&apos;d be good to refactor MarkLive.cpp to look more like the ELFpart at some point, but I&apos;d like to get a working state checked in first.Mechanical parts:- Rename canOmitFromOutput to wasCoalesced (no behavior change)  since it really is for weak coalesced symbols- Add noDeadStrip to Defined, corresponding to N_NO_DEAD_STRIP  (`.no_dead_strip` in asm)Fixes PR49276.Differential Revision: https://reviews.llvm.org/D103324

            List of files:
            /llvm-project-15.0.7/lld/test/MachO/Inputs/MacOSX.sdk/usr/lib/libc++abi.tbd</description>
        <pubDate>Fri, 07 May 2021 21:10:05 +0000</pubDate>
        <dc:creator>Nico Weber &lt;thakis@chromium.org&gt;</dc:creator>
    </item>
<item>
        <title>87104faa - [lld-macho] Add ARM64 target arch</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lld/test/MachO/Inputs/MacOSX.sdk/usr/lib/libc++abi.tbd#87104faa</link>
        <description>[lld-macho] Add ARM64 target archThis is an initial base commit for ARM64 target arch support. I don&apos;t represent that it complete or bug-free, but wish to put it out for review now that some basic things like branch target &amp; load/store address relocs are working.I can add more tests to this base commit, or add them in follow-up commits.It is not entirely clear whether I use the &quot;ARM64&quot; (Apple) or &quot;AArch64&quot; (non-Apple) naming convention. Guidance is appreciated.Differential Revision: https://reviews.llvm.org/D88629

            List of files:
            /llvm-project-15.0.7/lld/test/MachO/Inputs/MacOSX.sdk/usr/lib/libc++abi.tbd</description>
        <pubDate>Sat, 26 Sep 2020 20:00:22 +0000</pubDate>
        <dc:creator>Greg McGary &lt;gkm@fb.com&gt;</dc:creator>
    </item>
<item>
        <title>7394460d - [lld-macho] Handle TAPI and regular re-exports uniformly</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lld/test/MachO/Inputs/MacOSX.sdk/usr/lib/libc++abi.tbd#7394460d</link>
        <description>[lld-macho] Handle TAPI and regular re-exports uniformlyThe re-exports list in a TAPI document can either refer to other inlinedTAPI documents, or to on-disk files (which may themselves be TBD orregular files.) Similarly, the re-exports of a regular dylib can referto a TBD file.Differential Revision: https://reviews.llvm.org/D85404

            List of files:
            /llvm-project-15.0.7/lld/test/MachO/Inputs/MacOSX.sdk/usr/lib/libc++abi.tbd</description>
        <pubDate>Thu, 13 Aug 2020 20:48:47 +0000</pubDate>
        <dc:creator>Jez Ng &lt;jezng@fb.com&gt;</dc:creator>
    </item>
</channel>
</rss>
