[v2,2/2] devtools: check Windows export files
Checks
Commit Message
Updating export files (supposed to disappear at some point, but still
there) might be missed when removing symbols in the API / map files.
Add a check for this case.
Signed-off-by: David Marchand <david.marchand@redhat.com>
---
Changelog since v1:
- invert logic, as .def files are the exception,
- reuse orphan denomination,
---
devtools/check-symbol-maps.sh | 23 ++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
Comments
16/10/2020 12:27, David Marchand:
> Updating export files (supposed to disappear at some point, but still
> there) might be missed when removing symbols in the API / map files.
> Add a check for this case.
>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
> Changelog since v1:
> - invert logic, as .def files are the exception,
> - reuse orphan denomination,
Acked-by: Thomas Monjalon <thomas@monjalon.net>
On Fri, Oct 16, 2020 at 1:56 PM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> 16/10/2020 12:27, David Marchand:
> > Updating export files (supposed to disappear at some point, but still
> > there) might be missed when removing symbols in the API / map files.
> > Add a check for this case.
> >
> > Signed-off-by: David Marchand <david.marchand@redhat.com>
> Acked-by: Thomas Monjalon <thomas@monjalon.net>
Series applied.
@@ -7,6 +7,8 @@ cd $(dirname $0)/..
# speed up by ignoring Unicode details
export LC_ALL=C
+ret=0
+
find_orphan_symbols ()
{
for map in $(find lib drivers -name '*.map') ; do
@@ -30,5 +32,24 @@ orphan_symbols=$(find_orphan_symbols)
if [ -n "$orphan_symbols" ] ; then
echo "Found only in symbol map file:"
echo "$orphan_symbols" | sed 's,^,\t,'
- exit 1
+ ret=1
fi
+
+find_orphan_windows_symbols ()
+{
+ for def in $(find lib drivers -name '*_exports.def') ; do
+ map=${def/_exports.def}_version.map
+ for sym in $(grep -v ^EXPORTS $def); do
+ grep -q $sym $map || echo $sym
+ done
+ done
+}
+
+orphan_windows_symbols=$(find_orphan_windows_symbols)
+if [ -n "$orphan_windows_symbols" ] ; then
+ echo "Found only in Windows export file:"
+ echo "$orphan_windows_symbols" | sed 's,^,\t,'
+ ret=1
+fi
+
+exit $ret