Platform independent dynamic linking
First Claim
1. A system for dynamically loading and linking a single binary object file across a plurality of software platforms and operating systems executing on a defined processor architecture without requiring recompiling or rebuilding of the binary object file comprising:
- a platform independent dynamic library (PIDL); and
a stub file, created as a source code, operable on the plurality of software platforms to allow a binary executable program executing on at least one of the plurality of software platforms and operating systems to have access to and co-operate with the PIDL.
7 Assignments
0 Petitions
Accused Products
Abstract
A platform independent binary object (PIBO) operable on disparate computing environments that have a selected hardware architecture without requiring rebuilding or reloading is provided. The PIBO can be parsed to generate source-code stub file. The PIBO can be loaded and linked with a cooperating computing application by an exemplary linker/loader employing the stub file. Also, the PIBO can be used in various contexts, including but not limited to, as a mechanism for dynamically linking shared objects on platforms that do not offer such native facility; in utilizing pre-written code components on platforms that otherwise would be incompatible due to a violation of platform constraints within particular code; as a mechanism for loading non object-oriented code that circumvents restrictions of multiple execution instances and repeat execution inherent in the code; and as mechanism that allows for the use of a binary object to add on functionality on a closed platform.
144 Citations
54 Claims
-
1. A system for dynamically loading and linking a single binary object file across a plurality of software platforms and operating systems executing on a defined processor architecture without requiring recompiling or rebuilding of the binary object file comprising:
-
a platform independent dynamic library (PIDL); and
a stub file, created as a source code, operable on the plurality of software platforms to allow a binary executable program executing on at least one of the plurality of software platforms and operating systems to have access to and co-operate with the PIDL. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A method to integrate a binary object across a plurality of software platforms and operating systems without requiring recompiling or rebuilding of the binary object comprising:
-
providing a platform independent library (PIL); and
providing a source-code stub file providing executable programs capable of running on the plurality of software platforms and operating systems access to cooperate with the platform independent library (PIL). - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A computer readable medium having computer readable instructions to instruct a computer to perform a method comprising:
-
providing a platform independent library (PIL); and
providing a source-code stub file providing executable programs running on the plurality of software platforms and operating systems access to and means of cooperation with the platform independent library (PIL).
-
-
38. A computer readable medium having computer readable instructions to instruct plurality of software platforms and operating systems to cooperate with a platform independent dynamic library (PIDL) comprising:
-
generating a PIDL having a object file comprising any of executable and linking format (ELF) and portable executable (PE) file structure;
parsing the PIDL to generate a stub file generated as source code; and
compiling the stub file with a cooperating computing application and linking the PIDL to the cooperating computing application by a dynamic loader/linker for execution. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46)
-
-
47. A method to process a binary object for use across a plurality of software platforms and operating systems without recompiling or rebuilding the binary object for each of the plurality of the software platforms and operating systems comprising:
-
providing a library source code;
compiling the library source code to generate a platform independent code library (PICL) comprising an object file having a selected format;
parsing the PICL to generate a source code based stub file that describes symbols present in the PICL;
compiling the stub file with a cooperating computing application for a selected one of the plurality of software platforms;
loading the PICL in memory of the selected one of the plurality of software platforms; and
linking the PICL to resolve and relocate PICL symbols for use by the cooperating computing application executable on the selected one of the plurality of software platforms. - View Dependent Claims (48, 49, 50)
-
-
51. A method to distribute a computing library update for use across disparate computing software environments operating on a defined processor architecture as a binary object that is not recompiled or rebuilt for each of the disparate computing software environments comprising:
-
creating a platform independent dynamic library (PIDL) operable with a source-code based stub file that is dynamically linked by a dynamic linker with a cooperating computing application prior to execution of a cooperating computing application operable on at least one of the computing environments; and
communicating the PIDL to the disparate computing environments over a communications network. - View Dependent Claims (52, 53, 54)
-
Specification