Library ABI Transformation via Eye-Catcher Injection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Legacy systems like z/VM pose challenges in cross-platform software development due to incompatible application binary interfaces (ABIs) and lack of support for modern debugging tools, making it difficult to transform object files and debug executable code across different operating systems.
Innovation Solution
A computer-implemented method and system that transforms a library from a source operating system to a target operating system by creating a target memory image compliant with the target ABI, enriching it with fixed-length eye-catcher information derived from source symbol names, and writing it to a target object file, allowing for debugging and analysis in legacy systems using modern development environments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If object files are compiled on a modern Linux development system, then development productivity and tool compatibility are improved, but the object files become non-compliant with the legacy z/VM deployment ABI
Solution Approach 1:
The patent introduces an intermediary transformation process that converts object files from modern Linux ABI to legacy z/VM ABI. This intermediary system includes transformation tools that read modern object files, extract symbol information, and generate compatible target object files with proper z/VM formatting, relocation information, and symbol tables, thereby resolving the ABI incompatibility while preserving development efficiency.
2Adaptability or versatility
If the target z/VM system is updated to support modern compilers and tools, then tool compatibility is improved, but system stability and legacy reliability are compromised
Solution Approach 1:
Instead of modifying the legacy z/VM target system to support modern tools (which would compromise stability), the patent inverts the approach by bringing modern tooling to the source side and implementing a transformation process that adapts the output to legacy formats. This allows modern compilers and debuggers to work with source code while producing compatible object files for the unchanged, stable z/VM system.
3Ease of operation
If comprehensive symbol information is retained in transformed object files, then debugging capability is improved, but file size and processing overhead increase
Solution Approach 1:
The patent applies local quality by selectively retaining symbol information based on its debugging value. The transformation process identifies and preserves external symbols, function names, and relocation information that are essential for debugging, while optimizing the representation of internal symbols and removing redundant data. This selective approach maintains debugging capability while controlling file size growth.
Data Source
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 OS comprises a source ABI; the target OS comprises a target application ABI; the target ABI is different from the source application binary interface, wherein the library is implemented by a source object file; the source object file is compliant with the source application binary interface and comprising at least a source memory image, source symbol information, and source relocation information, where the source relocation information is free of relative relocation information. The method comprises also creating a target memory image compliant with the target application binary interface and derived from the source memory image, enriching the target memory image with a fixed-length eye-catcher information, and writing the target memory image to a target object file.


