Skip to content
  • Brian Nguyen's avatar
    Define driver ABI for patching libglvnd entrypoints · fdf67a7d
    Brian Nguyen authored
    This defines several callbacks to be used by vendor libraries for
    rewriting top-level entrypoints defined in libglvnd:
    - initiatePatch(): libglvnd calls into this function at make current
      time to determine whether entrypoint patching is possible with the
      given stub type and code size.  The vendor library will notify
      libglvnd whether offsets are needed based on a generation number.
    - getOffsetHook(): libglvnd calls into the vendor library with this hook
      for each loaded interface library so the vendor can lookup the stub
      locations for rewriting.
    - finalizePatch(): libglvnd calls into this function after the vendor
      library has updated its stub locations to complete the patch.