* Re: libabigail tool - Android vs. Sourceware
[not found] <MN2PR12MB3278E817196A3A94EE0A982EBB969@MN2PR12MB3278.namprd12.prod.outlook.com>
@ 2021-03-05 15:39 ` Matthias Maennich
2021-03-09 13:26 ` Sachin Nikam
0 siblings, 1 reply; 4+ messages in thread
From: Matthias Maennich @ 2021-03-05 15:39 UTC (permalink / raw)
To: Sachin Nikam
Cc: Android Kernel Team, Ketan Patil, Nicolin Chen, Bharat Nihalani,
Bryan Huntsman, libabigail, dodji
Hi,
Cc: libabigail@sourceware.org, since you asked there first.
On Fri, Mar 05, 2021 at 02:57:49PM +0000, Sachin Nikam wrote:
>Hi,
>
>I want to know how much android libabigail<https://android.googlesource.com/kernel/build/+/refs/heads/master/abi/README.md> tool is diverged from https://www.sourceware.org/libabigail/wiki
>
>What are the enhancements or bug fixes done in android libabigail<https://android.googlesource.com/kernel/build/+/refs/heads/master/abi/README.md> tool from sourceware tool?
It is not too much different actually. The biggest chunk is the replaced
symtab reader implementation. For the clang-built Android kernels with
LTO/CFI and some more interesting features, we needed to rework the
(k)symtab reader. The patch series has been posted and is currently up for
review, see https://sourceware.org/pipermail/libabigail/2021q1/003089.html.
Those are alone 20 patches.
Here is roughly what we have on top in
https://android.googlesource.com/platform/external/libabigail/:
Android specific patches for integration, compliance, build:
3e7ace7f4dce Initial empty repository # empty
7d03a8db4b76 Add metadata files
c4c81432a780 Add support for external_updater automatic updates
a1a321d23b91 Add soong build description for building abidiff and abidw
03dcda4bebc0 fix build for abidw
a28258465e4c Limit to 64-bit binaries.
4d5ac23a458d Disable libabigail for darwin.
16afa280a204 Drop unnecessary upstream files that impose RESTRICTED licensing
6b3d6ad6fa31 Add LOCAL_LICENSE_KINDS to external/libabigail
Alternative Symtab reader:
5f49f81f2850 abg-cxx-compat: add simplified version of std::optional
204eaf651a17 abg-ir: elf_symbol: add is_in_ksymtab field
bda7f9443f09 abg-ir: elf_symbol: add is_suppressed field
8adb9b8ee052 dwarf-reader split: create abg-symtab-reader.{h,cc} and test case
66d2bede37c6 Refactor ELF symbol table reading by adding a new symtab reader
5a745592194d Integrate new symtab reader into corpus and read_context
97308e77a945 corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab
cb24effa3948 corpus: make get_unreferenced_(function|variable)_symbols use the new symtab
4b5a95c4a5f3 abg-reader: avoid using the (var|function)_symbol_map
ab9401599724 dwarf-reader: read_context: use new symtab in *_symbols_is_exported
4d7075fd0b22 Switch kernel stuff over to new symtab and drop unused code
76e19dbc66c8 abg-elf-helpers: migrate ppc64 specific helpers
96872a3abb46 symtab_reader: add support for ppc64 ELFv1 binaries
ede9a107a71f abg-corpus: remove symbol maps and their setters
4dcbf6520983 dwarf reader: drop (now) unused code related symbol table reading
a4015cf2f9ef test-symtab: add tests for whitelisted functions
a82212c4152f symtab/dwarf-reader: allow hinting of main symbols for aliases
51bac872c0bb dwarf-reader/writer: consider aliases when dealing with suppressions
7ac9bb8f1181 symtab: Add support for MODVERSIONS (CRC checksums)
1b4e95ec43c2 abg-writer.cc: fix write_elf_symbol_reference loop
c1db8a7be692 abidiff: better whitespace in symbol diff report
Misc additions and fixes:
7e7a9979bc8a KMI Whitelists: allow alternative section suffix 'symbol_list'
3b707b3e8e13 abidiff: Flag indirect struct/union changes.
Cheers,
Matthias
>
>Best Regards,
>Sachin Nikam.
>
>--
>To unsubscribe from this group and stop receiving emails from it, send an email to kernel-team+unsubscribe@android.com.
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: libabigail tool - Android vs. Sourceware
2021-03-05 15:39 ` libabigail tool - Android vs. Sourceware Matthias Maennich
@ 2021-03-09 13:26 ` Sachin Nikam
2021-03-09 15:42 ` Matthias Maennich
0 siblings, 1 reply; 4+ messages in thread
From: Sachin Nikam @ 2021-03-09 13:26 UTC (permalink / raw)
To: Matthias Maennich
Cc: Android Kernel Team, Ketan Patil, Nicolin Chen, Bharat Nihalani,
Bryan Huntsman, libabigail, dodji
Which libabigail tool do you recommend us to use to monitor and enforce ABI:
from https://android.googlesource.com/ or https://www.sourceware.org/libabigail/ ?
-----Original Message-----
From: Matthias Maennich <maennich@google.com>
Sent: Friday, March 5, 2021 9:10 PM
To: Sachin Nikam <Snikam@nvidia.com>
Cc: Android Kernel Team <kernel-team@android.com>; Ketan Patil <ketanp@nvidia.com>; Nicolin Chen <nicolinc@nvidia.com>; Bharat Nihalani <bnihalani@nvidia.com>; Bryan Huntsman <bhuntsman@nvidia.com>; libabigail@sourceware.org; dodji@redhat.com
Subject: Re: libabigail tool - Android vs. Sourceware
External email: Use caution opening links or attachments
Hi,
Cc: libabigail@sourceware.org, since you asked there first.
On Fri, Mar 05, 2021 at 02:57:49PM +0000, Sachin Nikam wrote:
>Hi,
>
>I want to know how much android
>libabigail<https://android.googlesource.com/kernel/build/+/refs/heads/m
>aster/abi/README.md> tool is diverged from
>https://www.sourceware.org/libabigail/wiki
>
>What are the enhancements or bug fixes done in android libabigail<https://android.googlesource.com/kernel/build/+/refs/heads/master/abi/README.md> tool from sourceware tool?
It is not too much different actually. The biggest chunk is the replaced symtab reader implementation. For the clang-built Android kernels with LTO/CFI and some more interesting features, we needed to rework the (k)symtab reader. The patch series has been posted and is currently up for review, see https://sourceware.org/pipermail/libabigail/2021q1/003089.html.
Those are alone 20 patches.
Here is roughly what we have on top in
https://android.googlesource.com/platform/external/libabigail/:
Android specific patches for integration, compliance, build:
3e7ace7f4dce Initial empty repository # empty
7d03a8db4b76 Add metadata files
c4c81432a780 Add support for external_updater automatic updates
a1a321d23b91 Add soong build description for building abidiff and abidw
03dcda4bebc0 fix build for abidw
a28258465e4c Limit to 64-bit binaries.
4d5ac23a458d Disable libabigail for darwin.
16afa280a204 Drop unnecessary upstream files that impose RESTRICTED licensing
6b3d6ad6fa31 Add LOCAL_LICENSE_KINDS to external/libabigail
Alternative Symtab reader:
5f49f81f2850 abg-cxx-compat: add simplified version of std::optional
204eaf651a17 abg-ir: elf_symbol: add is_in_ksymtab field
bda7f9443f09 abg-ir: elf_symbol: add is_suppressed field
8adb9b8ee052 dwarf-reader split: create abg-symtab-reader.{h,cc} and test case
66d2bede37c6 Refactor ELF symbol table reading by adding a new symtab reader
5a745592194d Integrate new symtab reader into corpus and read_context
97308e77a945 corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab
cb24effa3948 corpus: make get_unreferenced_(function|variable)_symbols use the new symtab
4b5a95c4a5f3 abg-reader: avoid using the (var|function)_symbol_map
ab9401599724 dwarf-reader: read_context: use new symtab in *_symbols_is_exported
4d7075fd0b22 Switch kernel stuff over to new symtab and drop unused code
76e19dbc66c8 abg-elf-helpers: migrate ppc64 specific helpers
96872a3abb46 symtab_reader: add support for ppc64 ELFv1 binaries
ede9a107a71f abg-corpus: remove symbol maps and their setters
4dcbf6520983 dwarf reader: drop (now) unused code related symbol table reading
a4015cf2f9ef test-symtab: add tests for whitelisted functions
a82212c4152f symtab/dwarf-reader: allow hinting of main symbols for aliases
51bac872c0bb dwarf-reader/writer: consider aliases when dealing with suppressions
7ac9bb8f1181 symtab: Add support for MODVERSIONS (CRC checksums)
1b4e95ec43c2 abg-writer.cc: fix write_elf_symbol_reference loop
c1db8a7be692 abidiff: better whitespace in symbol diff report
Misc additions and fixes:
7e7a9979bc8a KMI Whitelists: allow alternative section suffix 'symbol_list'
3b707b3e8e13 abidiff: Flag indirect struct/union changes.
Cheers,
Matthias
>
>Best Regards,
>Sachin Nikam.
>
>--
>To unsubscribe from this group and stop receiving emails from it, send an email to kernel-team+unsubscribe@android.com.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: libabigail tool - Android vs. Sourceware
2021-03-09 13:26 ` Sachin Nikam
@ 2021-03-09 15:42 ` Matthias Maennich
2021-03-09 16:16 ` Sachin Nikam
0 siblings, 1 reply; 4+ messages in thread
From: Matthias Maennich @ 2021-03-09 15:42 UTC (permalink / raw)
To: Sachin Nikam
Cc: Android Kernel Team, Ketan Patil, Nicolin Chen, Bharat Nihalani,
Bryan Huntsman, libabigail, dodji
On Tue, Mar 09, 2021 at 01:26:28PM +0000, Sachin Nikam wrote:
>Which libabigail tool do you recommend us to use to monitor and enforce ABI:
>from https://android.googlesource.com/ or https://www.sourceware.org/libabigail/ ?
It very much depends on what you want to do. :-)
The Android version of libabigail is downstream of sourceware and
receives regular merges. At the same time, our patches are posted to the
list and get integrated over time. At the time of writing this, the
first two patches of the "Symtab reader" series have been merged
upstream.
If you are working on Android Kernels, the Android version of libabigail
might be required. Similarly, if you are making use of Clang compilers
to build your kernels.
If you do not care about the above, you might be just fine with the
latest (released) version of upstream libabigail.
Cheers,
Matthias
>
>
>-----Original Message-----
>From: Matthias Maennich <maennich@google.com>
>Sent: Friday, March 5, 2021 9:10 PM
>To: Sachin Nikam <Snikam@nvidia.com>
>Cc: Android Kernel Team <kernel-team@android.com>; Ketan Patil <ketanp@nvidia.com>; Nicolin Chen <nicolinc@nvidia.com>; Bharat Nihalani <bnihalani@nvidia.com>; Bryan Huntsman <bhuntsman@nvidia.com>; libabigail@sourceware.org; dodji@redhat.com
>Subject: Re: libabigail tool - Android vs. Sourceware
>
>External email: Use caution opening links or attachments
>
>
>Hi,
>
>Cc: libabigail@sourceware.org, since you asked there first.
>
>On Fri, Mar 05, 2021 at 02:57:49PM +0000, Sachin Nikam wrote:
>>Hi,
>>
>>I want to know how much android
>>libabigail<https://android.googlesource.com/kernel/build/+/refs/heads/m
>>aster/abi/README.md> tool is diverged from
>>https://www.sourceware.org/libabigail/wiki
>>
>>What are the enhancements or bug fixes done in android libabigail<https://android.googlesource.com/kernel/build/+/refs/heads/master/abi/README.md> tool from sourceware tool?
>
>It is not too much different actually. The biggest chunk is the replaced symtab reader implementation. For the clang-built Android kernels with LTO/CFI and some more interesting features, we needed to rework the (k)symtab reader. The patch series has been posted and is currently up for review, see https://sourceware.org/pipermail/libabigail/2021q1/003089.html.
>Those are alone 20 patches.
>
>Here is roughly what we have on top in
>https://android.googlesource.com/platform/external/libabigail/:
>
>Android specific patches for integration, compliance, build:
> 3e7ace7f4dce Initial empty repository # empty
> 7d03a8db4b76 Add metadata files
> c4c81432a780 Add support for external_updater automatic updates
> a1a321d23b91 Add soong build description for building abidiff and abidw
> 03dcda4bebc0 fix build for abidw
> a28258465e4c Limit to 64-bit binaries.
> 4d5ac23a458d Disable libabigail for darwin.
> 16afa280a204 Drop unnecessary upstream files that impose RESTRICTED licensing
> 6b3d6ad6fa31 Add LOCAL_LICENSE_KINDS to external/libabigail
>
>Alternative Symtab reader:
> 5f49f81f2850 abg-cxx-compat: add simplified version of std::optional
> 204eaf651a17 abg-ir: elf_symbol: add is_in_ksymtab field
> bda7f9443f09 abg-ir: elf_symbol: add is_suppressed field
> 8adb9b8ee052 dwarf-reader split: create abg-symtab-reader.{h,cc} and test case
> 66d2bede37c6 Refactor ELF symbol table reading by adding a new symtab reader
> 5a745592194d Integrate new symtab reader into corpus and read_context
> 97308e77a945 corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab
> cb24effa3948 corpus: make get_unreferenced_(function|variable)_symbols use the new symtab
> 4b5a95c4a5f3 abg-reader: avoid using the (var|function)_symbol_map
> ab9401599724 dwarf-reader: read_context: use new symtab in *_symbols_is_exported
> 4d7075fd0b22 Switch kernel stuff over to new symtab and drop unused code
> 76e19dbc66c8 abg-elf-helpers: migrate ppc64 specific helpers
> 96872a3abb46 symtab_reader: add support for ppc64 ELFv1 binaries
> ede9a107a71f abg-corpus: remove symbol maps and their setters
> 4dcbf6520983 dwarf reader: drop (now) unused code related symbol table reading
> a4015cf2f9ef test-symtab: add tests for whitelisted functions
> a82212c4152f symtab/dwarf-reader: allow hinting of main symbols for aliases
> 51bac872c0bb dwarf-reader/writer: consider aliases when dealing with suppressions
> 7ac9bb8f1181 symtab: Add support for MODVERSIONS (CRC checksums)
> 1b4e95ec43c2 abg-writer.cc: fix write_elf_symbol_reference loop
> c1db8a7be692 abidiff: better whitespace in symbol diff report
>
>Misc additions and fixes:
> 7e7a9979bc8a KMI Whitelists: allow alternative section suffix 'symbol_list'
> 3b707b3e8e13 abidiff: Flag indirect struct/union changes.
>
>Cheers,
>Matthias
>
>>
>>Best Regards,
>>Sachin Nikam.
>>
>>--
>>To unsubscribe from this group and stop receiving emails from it, send an email to kernel-team+unsubscribe@android.com.
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: libabigail tool - Android vs. Sourceware
2021-03-09 15:42 ` Matthias Maennich
@ 2021-03-09 16:16 ` Sachin Nikam
0 siblings, 0 replies; 4+ messages in thread
From: Sachin Nikam @ 2021-03-09 16:16 UTC (permalink / raw)
To: Matthias Maennich
Cc: Android Kernel Team, Ketan Patil, Nicolin Chen, Bharat Nihalani,
Bryan Huntsman, libabigail, dodji
Thanks for the info Matthias!
-----Original Message-----
From: Matthias Maennich <maennich@google.com>
Sent: Tuesday, March 9, 2021 9:13 PM
To: Sachin Nikam <Snikam@nvidia.com>
Cc: Android Kernel Team <kernel-team@android.com>; Ketan Patil <ketanp@nvidia.com>; Nicolin Chen <nicolinc@nvidia.com>; Bharat Nihalani <bnihalani@nvidia.com>; Bryan Huntsman <bhuntsman@nvidia.com>; libabigail@sourceware.org; dodji@redhat.com
Subject: Re: libabigail tool - Android vs. Sourceware
External email: Use caution opening links or attachments
On Tue, Mar 09, 2021 at 01:26:28PM +0000, Sachin Nikam wrote:
>Which libabigail tool do you recommend us to use to monitor and enforce ABI:
>from https://android.googlesource.com/ or https://www.sourceware.org/libabigail/ ?
It very much depends on what you want to do. :-)
The Android version of libabigail is downstream of sourceware and receives regular merges. At the same time, our patches are posted to the list and get integrated over time. At the time of writing this, the first two patches of the "Symtab reader" series have been merged upstream.
If you are working on Android Kernels, the Android version of libabigail might be required. Similarly, if you are making use of Clang compilers to build your kernels.
If you do not care about the above, you might be just fine with the latest (released) version of upstream libabigail.
Cheers,
Matthias
>
>
>-----Original Message-----
>From: Matthias Maennich <maennich@google.com>
>Sent: Friday, March 5, 2021 9:10 PM
>To: Sachin Nikam <Snikam@nvidia.com>
>Cc: Android Kernel Team <kernel-team@android.com>; Ketan Patil
><ketanp@nvidia.com>; Nicolin Chen <nicolinc@nvidia.com>; Bharat
>Nihalani <bnihalani@nvidia.com>; Bryan Huntsman <bhuntsman@nvidia.com>;
>libabigail@sourceware.org; dodji@redhat.com
>Subject: Re: libabigail tool - Android vs. Sourceware
>
>External email: Use caution opening links or attachments
>
>
>Hi,
>
>Cc: libabigail@sourceware.org, since you asked there first.
>
>On Fri, Mar 05, 2021 at 02:57:49PM +0000, Sachin Nikam wrote:
>>Hi,
>>
>>I want to know how much android
>>libabigail<https://android.googlesource.com/kernel/build/+/refs/heads/
>>m aster/abi/README.md> tool is diverged from
>>https://www.sourceware.org/libabigail/wiki
>>
>>What are the enhancements or bug fixes done in android libabigail<https://android.googlesource.com/kernel/build/+/refs/heads/master/abi/README.md> tool from sourceware tool?
>
>It is not too much different actually. The biggest chunk is the replaced symtab reader implementation. For the clang-built Android kernels with LTO/CFI and some more interesting features, we needed to rework the (k)symtab reader. The patch series has been posted and is currently up for review, see https://sourceware.org/pipermail/libabigail/2021q1/003089.html.
>Those are alone 20 patches.
>
>Here is roughly what we have on top in
>https://android.googlesource.com/platform/external/libabigail/:
>
>Android specific patches for integration, compliance, build:
> 3e7ace7f4dce Initial empty repository # empty
> 7d03a8db4b76 Add metadata files
> c4c81432a780 Add support for external_updater automatic updates
> a1a321d23b91 Add soong build description for building abidiff and abidw
> 03dcda4bebc0 fix build for abidw
> a28258465e4c Limit to 64-bit binaries.
> 4d5ac23a458d Disable libabigail for darwin.
> 16afa280a204 Drop unnecessary upstream files that impose RESTRICTED licensing
> 6b3d6ad6fa31 Add LOCAL_LICENSE_KINDS to external/libabigail
>
>Alternative Symtab reader:
> 5f49f81f2850 abg-cxx-compat: add simplified version of std::optional
> 204eaf651a17 abg-ir: elf_symbol: add is_in_ksymtab field
> bda7f9443f09 abg-ir: elf_symbol: add is_suppressed field
> 8adb9b8ee052 dwarf-reader split: create abg-symtab-reader.{h,cc} and test case
> 66d2bede37c6 Refactor ELF symbol table reading by adding a new symtab reader
> 5a745592194d Integrate new symtab reader into corpus and read_context
> 97308e77a945 corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab
> cb24effa3948 corpus: make get_unreferenced_(function|variable)_symbols use the new symtab
> 4b5a95c4a5f3 abg-reader: avoid using the (var|function)_symbol_map
> ab9401599724 dwarf-reader: read_context: use new symtab in *_symbols_is_exported
> 4d7075fd0b22 Switch kernel stuff over to new symtab and drop unused code
> 76e19dbc66c8 abg-elf-helpers: migrate ppc64 specific helpers
> 96872a3abb46 symtab_reader: add support for ppc64 ELFv1 binaries
> ede9a107a71f abg-corpus: remove symbol maps and their setters
> 4dcbf6520983 dwarf reader: drop (now) unused code related symbol table reading
> a4015cf2f9ef test-symtab: add tests for whitelisted functions
> a82212c4152f symtab/dwarf-reader: allow hinting of main symbols for aliases
> 51bac872c0bb dwarf-reader/writer: consider aliases when dealing with suppressions
> 7ac9bb8f1181 symtab: Add support for MODVERSIONS (CRC checksums)
> 1b4e95ec43c2 abg-writer.cc: fix write_elf_symbol_reference loop
> c1db8a7be692 abidiff: better whitespace in symbol diff report
>
>Misc additions and fixes:
> 7e7a9979bc8a KMI Whitelists: allow alternative section suffix 'symbol_list'
> 3b707b3e8e13 abidiff: Flag indirect struct/union changes.
>
>Cheers,
>Matthias
>
>>
>>Best Regards,
>>Sachin Nikam.
>>
>>--
>>To unsubscribe from this group and stop receiving emails from it, send an email to kernel-team+unsubscribe@android.com.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-03-09 16:17 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <MN2PR12MB3278E817196A3A94EE0A982EBB969@MN2PR12MB3278.namprd12.prod.outlook.com>
2021-03-05 15:39 ` libabigail tool - Android vs. Sourceware Matthias Maennich
2021-03-09 13:26 ` Sachin Nikam
2021-03-09 15:42 ` Matthias Maennich
2021-03-09 16:16 ` Sachin Nikam
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).