IP Library Granted Patent US 7,409,677
Granted Patent B1
US 7,409,677 · App. 10/990,124 · Granted Aug 5, 2008

Method and system for creation and use of embedded trace description

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,409,677
App. No.
10/990,124
Granted
Aug 5, 2008
Kind
B1
Abstract

A method of generating an embedded file involving embedding a plurality of probe calls into source code to obtain embedded source code, compiling the embedded source code to generate object code including a probe relocation for each of the plurality of probe calls, post processing the object code to obtain a plurality of modified object code, wherein the plurality of modified object code includes object code containing a no-operation instruction in place of the probe relocation and object code containing probe encoding, and linking the plurality of modified object code to obtain an embedded file, wherein the embedded file includes probe encoding.

Claims (58)

1. A method of generating an embedded file comprising:

embedding a plurality of probe calls into source code to obtain embedded source code;

compiling the embedded source code to generate object code comprising a first probe relocation for each of the plurality of probe calls;

post processing the object code to obtain a plurality of modified object code, wherein the plurality of modified object code comprises object code comprising a no-operation instruction in place of the probe relocation and object code comprising a probe encoding, and wherein post processing the object code comprises:

identifying one of the plurality of probe calls associated with the probe relocation;

replacing the probe call with a no-operation instruction;

recording a location and name of the probe call into the probe encoding; and

invalidating the relocation; and

linking the plurality of modified object code to obtain the embedded file, wherein the embedded file comprises the probe encoding, and wherein the embedded file is an executable file.

2. The method of claim 1 , further comprising:

loading the embedded file into a process address space and inserting probe encoding into a tracing framework using an initialization routine of the embedded file.

3. The method of claim 2 , wherein the tracing framework is configured to:

enable at least one of the plurality of probe calls using the probe encoding; and

recording activity of the embedded file during execution.

4. The method of claim 1 , further comprising:

tracing the plurality of probe calls in the embedded file using the probe encoding.

5. The method of claim 1 , wherein post processing the object code further comprises accepting a probe definition file to supply probe call information.

6. The method of claim 1 , wherein the probe encoding is stored in a data structure and embedded into the embedded file.

7. The method of claim 1 , wherein the object code comprises probe definitions to supply probe call information.

8. The method of claim 1 , wherein probe encoding comprises one selected from the group consisting of probe call information and code to load the probe call information into the tracing framework.

9. A system for executing an embedded file comprising:

a processor executing:

a compiler configured to accept embedded source code and generate object code comprising:

a probe relocation for each of the plurality of probe calls;

a post-processor configured to obtain a plurality of modified object code, wherein the plurality of modified object code comprises object code containing no-operation instructions and object code containing probe encoding, wherein obtaining a plurality of modified object code comprises: identify one of the plurality of probe calls associated with the relocation; replace the probe call with a no-operation instruction; record a location and name of the probe call into a probe encoding; and invalidate the relocation;

a linker configured to link the plurality of modified object code to obtain an embedded file, wherein the embedded file comprises the probe encoding, and wherein the embedded file is an executable file;

and a tracing framework configured to accept probe encoding of the embedded file and trace the plurality of probe calls based on information in probe encoding.

10. The system of claim 9 , wherein the tracing framework is configured to:

enable at least one of the plurality of probe calls; and

record activity of the embedded file during execution.

11. The system of claim 9 , wherein the post processor is further configured to accept a probe definition file to supply probe call information.

12. The system of claim 9 , wherein the probe encoding is stored in a data structure and embedded into the embedded file.

13. The system of claim 9 , wherein the object code comprises probe definitions to supply probe call information.

14. The system of claim 9 , wherein probe encoding comprises one selected from the group consisting of probe call information and code to load the probe call information into the tracing framework.

15. A computer system for configuring a link aggregation module, comprising:

a processor;

a memory;

a storage device; and

software instructions stored in the memory for enabling the computer system under control of the processor to:

embed a plurality of probe calls into source code to obtain embedded source code;

compile the embedded source code to generate object code comprising a probe relocation for each of the plurality of probe calls;

post process the object code to obtain a plurality of modified object code, wherein the plurality of modified object code comprises object code containing no-operation instructions in place of the relocations and object code containing probe encoding, and wherein post processing the object code comprises:

identifying one of the plurality of probe calls associated with the probe relocation;

replacing the probe call with a no-operation instruction;

recording a location and name of the probe call into a probe encoding; and

invalidating the relocation; and

link the plurality of modified object code to obtain an embedded file, wherein the embedded file comprises the probe encoding, wherein the embedded file is an executable file, and

wherein the embedded file is loaded into a process address space and inserting the probe encoding into a tracing framework using an initialization routine of the embedded file.

16. A computer readable medium comprising software instructions, wherein the software instructions comprise functionality to:

embed a plurality of probe calls into source code to obtain embedded source code;

compile the embedded source code to generate object code comprising a probe relocation for each of the plurality of probe calls;

post process the object code to obtain a plurality of modified object code, wherein the plurality of modified object code comprises object code containing no-operation instructions in place of the relocations and object code containing probe encoding, and wherein post processing the object code comprises:

identifying one of the plurality of probe calls associated with the probe relocation;

replacing the probe call with a no-operation instruction;

recording a location and name of the probe call into a probe encoding; and

invalidating the relocation; and

link the plurality of modified object code to obtain an embedded file, wherein the embedded file comprises the probe encoding, wherein the embedded file comprises an executable file, and

wherein the embedded file is loaded into a process address space and inserting the probe encoding into a tracing framework using an initialization routine of the embedded file.

Assignments (3)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037303/0336 →
SECURITY INTEREST Recorded Aug 30, 2012
From: NEVERFALL GROUP LIMITED
To: CLYDESDALE BANK PLC
Reel/Frame 028864/0892 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2004
From: LEVENTHAL, ADAM H.; CANTRILL, BRYAN M.; SHAPIRO, MICHAEL W.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 016001/0991 →