<?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 Makefile</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>936cf61c - gendwarfksyms: Add support for kABI rules</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gendwarfksyms/Makefile#936cf61c</link>
        <description>gendwarfksyms: Add support for kABI rulesDistributions that want to maintain a stable kABI need the abilityto make ABI compatible changes to kernel without affecting symbolversions, either because of LTS updates or backports.With genksyms, developers would typically hide these changes fromversion calculation with #ifndef __GENKSYMS__, which would resultin the symbol version not changing even though the actual type haschanged.  When we process precompiled object files, this isn&apos;t anoption.To support this use case, add a --stable command line flag thatgates kABI stability features that are not needed in mainlinekernels, but can be useful for distributions, and add support forkABI rules, which can be used to restrict gendwarfksyms output.The rules are specified as a set of null-terminated strings storedin the .discard.gendwarfksyms.kabi_rules section. Each rule consistsof four strings as follows:  &quot;version\0type\0target\0value&quot;The version string ensures the structure can be changed in abackwards compatible way. The type string indicates the type of therule, and target and value strings contain rule-specific data.Initially support two simple rules:  1. Declaration-only types     A type declaration can change into a full definition when     additional includes are pulled in to the TU, which changes the     versions of any symbol that references the type. Add support     for defining declaration-only types whose definition is not     expanded during versioning.  2. Ignored enumerators     It&apos;s possible to add new enum fields without changing the ABI,     but as the fields are included in symbol versioning, this would     change the versions. Add support for ignoring specific fields.  3. Overridden enumerator values     Add support for overriding enumerator values when calculating     versions. This may be needed when the last field of the enum     is used as a sentinel and new fields must be added before it.Add examples for using the rules under the examples/ directory.Signed-off-by: Sami Tolvanen &lt;samitolvanen@google.com&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/gendwarfksyms/Makefile</description>
        <pubDate>Fri, 03 Jan 2025 20:45:35 +0000</pubDate>
        <dc:creator>Sami Tolvanen &lt;samitolvanen@google.com&gt;</dc:creator>
    </item>
<item>
        <title>71378888 - gendwarfksyms: Add symbol versioning</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gendwarfksyms/Makefile#71378888</link>
        <description>gendwarfksyms: Add symbol versioningCalculate symbol versions from the fully expanded type strings intype_map, and output the versions in a genksyms-compatible format.Signed-off-by: Sami Tolvanen &lt;samitolvanen@google.com&gt;Reviewed-by: Petr Pavlu &lt;petr.pavlu@suse.com&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/gendwarfksyms/Makefile</description>
        <pubDate>Fri, 03 Jan 2025 20:45:34 +0000</pubDate>
        <dc:creator>Sami Tolvanen &lt;samitolvanen@google.com&gt;</dc:creator>
    </item>
<item>
        <title>ab443998 - gendwarfksyms: Add symtypes output</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gendwarfksyms/Makefile#ab443998</link>
        <description>gendwarfksyms: Add symtypes outputAdd support for producing genksyms-style symtypes files. Processdie_map to find the longest expansions for each type, and use symtypesreferences in type definitions. The basic file format is similar togenksyms, with two notable exceptions:  1. Type names with spaces (common with Rust) in references are     wrapped in single quotes. E.g.:     s#&apos;core::result::Result&lt;u8, core::num::error::ParseIntError&gt;&apos;  2. The actual type definition is the simple parsed DWARF format we     output with --dump-dies, not the preprocessed C-style format     genksyms produces.Signed-off-by: Sami Tolvanen &lt;samitolvanen@google.com&gt;Reviewed-by: Petr Pavlu &lt;petr.pavlu@suse.com&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/gendwarfksyms/Makefile</description>
        <pubDate>Fri, 03 Jan 2025 20:45:33 +0000</pubDate>
        <dc:creator>Sami Tolvanen &lt;samitolvanen@google.com&gt;</dc:creator>
    </item>
<item>
        <title>f936c129 - gendwarfksyms: Limit structure expansion</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gendwarfksyms/Makefile#f936c129</link>
        <description>gendwarfksyms: Limit structure expansionExpand each structure type only once per exported symbol. Thisis necessary to support self-referential structures, which wouldotherwise result in infinite recursion, and it&apos;s sufficient forcatching ABI changes.Types defined in .c files are opaque to external users and thuscannot affect the ABI. Consider type definitions in .c files tobe declarations to prevent opaque types from changing symbolversions.Signed-off-by: Sami Tolvanen &lt;samitolvanen@google.com&gt;Reviewed-by: Petr Pavlu &lt;petr.pavlu@suse.com&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/gendwarfksyms/Makefile</description>
        <pubDate>Fri, 03 Jan 2025 20:45:31 +0000</pubDate>
        <dc:creator>Sami Tolvanen &lt;samitolvanen@google.com&gt;</dc:creator>
    </item>
<item>
        <title>0c1c7627 - gendwarfksyms: Add a cache for processed DIEs</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gendwarfksyms/Makefile#0c1c7627</link>
        <description>gendwarfksyms: Add a cache for processed DIEsBasic types in DWARF repeat frequently and traversing the DIEs usinglibdw is relatively slow. Add a simple hashtable based cache for theprocessed DIEs.Signed-off-by: Sami Tolvanen &lt;samitolvanen@google.com&gt;Reviewed-by: Petr Pavlu &lt;petr.pavlu@suse.com&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/gendwarfksyms/Makefile</description>
        <pubDate>Fri, 03 Jan 2025 20:45:26 +0000</pubDate>
        <dc:creator>Sami Tolvanen &lt;samitolvanen@google.com&gt;</dc:creator>
    </item>
<item>
        <title>f2856884 - tools: Add gendwarfksyms</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gendwarfksyms/Makefile#f2856884</link>
        <description>tools: Add gendwarfksymsAdd a basic DWARF parser, which uses libdw to traverse the debugginginformation in an object file and looks for functions and variables.In follow-up patches, this will be expanded to produce symbol versionsfor CONFIG_MODVERSIONS from DWARF.Signed-off-by: Sami Tolvanen &lt;samitolvanen@google.com&gt;Reviewed-by: Petr Pavlu &lt;petr.pavlu@suse.com&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/gendwarfksyms/Makefile</description>
        <pubDate>Fri, 03 Jan 2025 20:45:23 +0000</pubDate>
        <dc:creator>Sami Tolvanen &lt;samitolvanen@google.com&gt;</dc:creator>
    </item>
</channel>
</rss>
