System and method for a pseudo dynamic link library (DLL) linker for a monolithic image in a wireless device
First Claim
1. A method for providing a monolithic image for use in a wireless device, the method performed by an image creation system having a processor and a memory unit, the method comprising:
- identifying by the image creation system a plurality of components forming an image represented in machine code;
for each component of the plurality of components, building by the image creation system an export symbol list containing all symbols within the component that are accessible to other components and an import symbol list containing all symbols within other components that are needed by the component;
building by the image creation system a redirection mechanism containing an indirect reference to each symbol in each component'"'"'s export symbol list that is in the import symbol list of at least one other component;
for each component of the plurality of components, altering by the image creation system each direct reference to a symbol in another component to refer to the indirect reference associated with the symbol in the redirection mechanism, wherein references internal to a component are not altered; and
creating by the image creation system a final image containing the altered components and the redirection mechanism.
1 Assignment
0 Petitions
Accused Products
Abstract
The present disclosure relates generally to a system and method for a pseudo DLL linker. In one example, the method includes identifying a plurality of components forming an image and identifying all symbols exportable from each component and all symbols imported by each component from another component. A redirection mechanism is built containing an address of each symbol exported by a component that is imported by another component, and each component is modified to alter each direct reference to a symbol associated with another component to a reference to the redirection mechanism. A linker is called to link a final image based on the modified components.
-
Citations
22 Claims
-
1. A method for providing a monolithic image for use in a wireless device, the method performed by an image creation system having a processor and a memory unit, the method comprising:
-
identifying by the image creation system a plurality of components forming an image represented in machine code; for each component of the plurality of components, building by the image creation system an export symbol list containing all symbols within the component that are accessible to other components and an import symbol list containing all symbols within other components that are needed by the component; building by the image creation system a redirection mechanism containing an indirect reference to each symbol in each component'"'"'s export symbol list that is in the import symbol list of at least one other component; for each component of the plurality of components, altering by the image creation system each direct reference to a symbol in another component to refer to the indirect reference associated with the symbol in the redirection mechanism, wherein references internal to a component are not altered; and creating by the image creation system a final image containing the altered components and the redirection mechanism. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for providing an executable image for a mobile device, the method performed by an image creation system having a processor and a memory unit, the method comprising:
-
receiving by the image creation system an image from an assembler; identifying by the image creation system a plurality of components forming the image; identifying by the image creation system all symbols exportable from each component and all symbols imported by each component from another component; building by the image creation system a redirection mechanism containing an address of each symbol exported by a component that is imported by another component; modifying by the image creation system each component to alter each direct reference to a symbol associated with another component to a reference to the redirection mechanism; and calling by the image creation system a linker to link a final image based on the modified components. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method performed by an image creation system having a processor and a memory unit, the method comprising:
-
building by the image creation system at least first and second components from a plurality of modules forming an image received in machine language code; building by the image creation system an export symbol list and an import symbol list for each of the first and second components; comparing by the image creation system the first component'"'"'s export symbol list with the second component'"'"'s import symbol list and comparing the second component'"'"'s export symbol list with the first component'"'"'s import symbol list to identify any symbols that are on the export list of one of the first and second components and the import list of the other of the first and second components; building by the image creation system a redirection mechanism containing a location of each identified symbol; and modifying by the image creation system the first component to change each reference to an export symbol of the second component to a reference to the redirection mechanism and modifying the second component to change each reference to an export symbol of the first component to a reference to the redirection mechanism. - View Dependent Claims (15, 16)
-
-
17. A system memory storing a static monolithic image for a mobile device that is controlled by an operating system that does not support dynamic linking or dynamic sharing, the image comprising:
-
at least one redirection mechanism containing an address of each symbol within the image that is imported by any component forming the image from any other component forming the image; and a plurality of components, wherein each component has a direct reference to any symbol contained by the component itself, and has a reference to the redirection mechanism for any symbol imported from another component. - View Dependent Claims (18, 19, 20)
-
-
21. A system comprising:
-
a processor; a memory unit coupled to the processor; and a plurality of instructions stored on the memory unit for execution by the processor, the instructions including instructions for; converting a monolithic image for use with a wireless device from assembly code to machine code; building a plurality of components based on modules identified in the machine code; identifying each symbol exportable by each component and each symbol imported by each component; building a redirection mechanism containing every symbol that is exportable by one component and imported by another component; modifying each component to alter each reference to an export symbol associated with another component to a reference to the redirection mechanism; and linking the modified components and the redirection mechanism to create a final version of the monolithic image. - View Dependent Claims (22)
-
Specification