Library ABI Transformation With Function Name Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods fail to provide a solution for transforming a library from a source operating system to a target operating system, particularly for legacy systems like z/VM, which lacks contemporary C compiler support and has variable function name lengths, making debugging and tracing difficult due to incompatible application binary interfaces.

Innovation Solution

A computer-implemented method and system that create a target memory image compliant with the target operating system's ABI by enriching it with address information pointing to variable length source symbol names, ensuring the transformed library is compatible and supports traditional debugging tools.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If software is developed on a modern operating system with contemporary compilers, then development productivity and tool support are improved, but the resulting object files are incompatible with legacy operating systems due to different ABIs

Engineering Contradiction:
Improvedevelopment productivityVSAvoidABI compatibility
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces an intermediary transformation system that converts object files from a source ABI to a target ABI. This mediator processes the compiled object code, translating symbols, adjusting relocation information, and adapting the binary format to be compatible with legacy operating systems like z/OS, thereby resolving the incompatibility between modern development tools and legacy deployment environments.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The transformation system changes critical parameters of the object file including ABI version, symbol naming conventions, relocation encoding formats, and memory layout parameters. By modifying these parameters to match the target legacy ABI specifications, the patent enables compatibility between modern compiled code and legacy operating systems without requiring source code changes.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If the target legacy operating system is updated to support modern compilers and debugging tools, then tool compatibility is improved, but the established infrastructure and system stability are compromised

Engineering Contradiction:
Improvetool compatibilityVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The patent segments the compatibility solution into two independent parts: the legacy operating system remains unchanged and stable, while a separate transformation layer handles all modernization requirements. This segmentation allows the legacy core to maintain its proven stability while the transformation system provides adaptability to modern tools and compilers.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If variable length function names are used in the target object file for debugging purposes, then debugging capability is improved, but the object file size and processing complexity increase

Engineering Contradiction:
Improvedebugging capabilityVSAvoidobject file complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent resolves the conflict between variable-length debugging symbols and fixed-format legacy constraints by adding another dimension: a separate symbol table or annotation layer that stores full-function names without affecting the core fixed-format object structure. This allows debugging tools to access variable-length names while the legacy system processes only the fixed-format essential data.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS12613695B2Function name resolution in library transformation on same architecture
Publication Date: 2026.04.28 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12613695B2 patent drawing
  • US12613695B2 patent drawing
  • US12613695B2 patent drawing

AI summary

A computer-implemented method for transforming a library from a source operating system to a target operating system is disclosed. Thereby, the source operating system comprises an ABI, the target operating system comprising a target ABI, the target ABI being different from the source ABI, the library being implemented by a source object file that is compliant with the source application binary interface and comprising a source memory image, source symbol and source relocation information. The method comprises also creating a target memory image, that is compliant with the target application binary interface, wherein the target memory is derived from the source memory image, enriching the target memory image with an address information pointing to a variable length information, and writing the target memory image to the target object file to implement the transformed library by the target object file.