This is an automated email from the ASF dual-hosted git repository.

zwoop pushed a commit to branch 9.2.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/9.2.x by this push:
     new 004b56391c tools/check-unused-dependencies:  make exceptions for tools 
under clang+asan (#10093)
004b56391c is described below

commit 004b56391ce0459b43ec3583162d16b01f6f896d
Author: Brian Olsen <brian_ols...@comcast.com>
AuthorDate: Wed Jul 26 09:01:30 2023 -0600

    tools/check-unused-dependencies:  make exceptions for tools under 
clang+asan (#10093)
    
    Co-authored-by: Brian Olsen <bolsen...@comcast.com>
    (cherry picked from commit b391b25a2c3cc32042529a391da2253c085d9fec)
---
 tools/check-unused-dependencies | 27 +++++++++++++++++++++++----
 1 file changed, 23 insertions(+), 4 deletions(-)

diff --git a/tools/check-unused-dependencies b/tools/check-unused-dependencies
index 93dfb2c4bd..1d4da79534 100755
--- a/tools/check-unused-dependencies
+++ b/tools/check-unused-dependencies
@@ -54,25 +54,44 @@ def get_dependencies(program):
                     'libgcc_s.so.',
                     'libm.so.',       # Why does Libtool call ld with -lm?
                     'libpthread.so.', # Because we add -lpthread to LIBS
-                    'librt.so.'       # clang + asan pulls this in
                 ])):
             continue
 
+        progbase = os.path.basename(program)
+
         # Why does Libtool call ld with -lcrypto -lresolv -lssl?
-        if os.path.basename(program) == 'traffic_manager':
+        if progbase == 'traffic_manager':
             if any(
                 map(
                     os.path.basename(dependency).startswith, [
                         'libcrypto.so.',
                         'libresolv.so.',
-                        'libssl.so.'
+                        'libssl.so.',
+                    ])):
+                continue
+
+        # clang+asan pulls in dependencies for these specific tools:
+        if any(
+            map(
+                progbase.__eq__,
+                [
+                    'jtest',
+                    'http_load',
+                    'escape_mapper',
+                ])):
+            if any(
+                map(
+                    os.path.basename(dependency).startswith,
+                    [
+                        'librt.so',
+                        'libresolv.so',
                     ])):
                 continue
 
+
         if re.sub(r'\s+', '', dependency):
             yield dependency
 
-
 success = True
 filename = 'config.status'
 contents = open(filename).read()

Reply via email to