Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-12362

glibc: Improve compatibility of ELF constructor and destructor ordering

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Major Major
    • rhel-9.4
    • rhel-9.0.0, rhel-9.2.0, rhel-9.3.0, rhel-9.4
    • glibc
    • Major
    • Upstream
    • sst_pt_libraries
    • ssg_platform_tools
    • 13
    • 16
    • 3
    • False
    • Hide

      None

      Show
      None
    • Yes
    • Red Hat Enterprise Linux
    • None
    • None
    • None
    • Bug Fix
    • Hide
      .Improved `glibc` compatibility with applications using `dlclose` on shared objects involved in a dependency cycle

      Previously, when unloading a shared object in a dependency cycle using the `dlclose` function in `glibc`, that object's ELF destructor might not have been called before all other objects were unloaded. As a consequence of this late ELF destructor execution, applications experienced crashes and other errors due to the initial shared object's dependencies already being deinitialized.

      With this update, `glibc` has been fixed to first call the ELF destructor of the immediate object being unloaded before any other ELF destructors are executed. As a result, compatibility with applications using `dlclose` on shared objects involved in a dependency cycle is improved and crashes no longer occur.
      Show
      .Improved `glibc` compatibility with applications using `dlclose` on shared objects involved in a dependency cycle Previously, when unloading a shared object in a dependency cycle using the `dlclose` function in `glibc`, that object's ELF destructor might not have been called before all other objects were unloaded. As a consequence of this late ELF destructor execution, applications experienced crashes and other errors due to the initial shared object's dependencies already being deinitialized. With this update, `glibc` has been fixed to first call the ELF destructor of the immediate object being unloaded before any other ELF destructors are executed. As a result, compatibility with applications using `dlclose` on shared objects involved in a dependency cycle is improved and crashes no longer occur.
    • Done
    • All
    • None

      The ELF dependency sorter may be produce orderings in case of cycles that are incompatible with expectations of existing applications.

            fweimer@redhat.com Florian Weimer
            fweimer@redhat.com Florian Weimer
            Florian Weimer Florian Weimer
            Sergey Kolosov Sergey Kolosov
            Jacob Valdez Jacob Valdez
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: