--- ./mesonbuild/backend/ninjabackend.py_orig	2025-01-26 22:17:07.041275284 -0600
+++ ./mesonbuild/backend/ninjabackend.py	2025-01-26 22:17:30.129328030 -0600
@@ -3236,6 +3236,12 @@
         return os.path.join(targetdir, target.get_filename() + '.symbols')
 
     def generate_shsym(self, target) -> None:
+        if isinstance(target, build.SharedLibrary) and target.aix_so_archive:
+            if self.environment.machines[target.for_machine].is_aix():
+                linker, stdlib_args = target.get_clink_dynamic_linker_and_stdlibs()
+                target.get_outputs()[0] = linker.get_archive_name(target.get_outputs()[0])
+                target_file = target.get_outputs()[0]
+                target_file = os.path.join(self.get_target_dir(target), target_file)
         target_file = self.get_target_filename(target)
         symname = self.get_target_shsym_filename(target)
         elem = NinjaBuildElement(self.all_outputs, symname, 'SHSYM', target_file)
--- ./mesonbuild/backend/ninjabackend.py_orig	2025-01-26 23:26:16.761861569 -0600
+++ ./mesonbuild/backend/ninjabackend.py	2025-01-26 23:26:57.510864787 -0600
@@ -3242,7 +3242,8 @@
                 target.get_outputs()[0] = linker.get_archive_name(target.get_outputs()[0])
                 target_file = target.get_outputs()[0]
                 target_file = os.path.join(self.get_target_dir(target), target_file)
-        target_file = self.get_target_filename(target)
+        else:
+            target_file = self.get_target_filename(target)
         symname = self.get_target_shsym_filename(target)
         elem = NinjaBuildElement(self.all_outputs, symname, 'SHSYM', target_file)
         # The library we will actually link to, which is an import library on Windows (not the DLL)
