| 
                Last change
                  on this file since 523 was
                  444,
                  checked in by satin@…, 7 years ago
           | 
        
        
          | 
               
add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc 
 
           | 
        
        | 
            File size:
            696 bytes
           | 
      
      
        
  | Rev | Line |   | 
|---|
| [444] | 1 | #define PROFILE_SUPPORT 1 | 
|---|
 | 2 |  | 
|---|
 | 3 | #include "crt0.S" | 
|---|
 | 4 |  | 
|---|
 | 5 |         .global __mcount                                                 | 
|---|
 | 6 | __mcount:                                                                | 
|---|
 | 7 |         ;; When a function is compiled for profiling, gcc creates code   | 
|---|
 | 8 |         ;; like this at the start of each profiled function:             | 
|---|
 | 9 |         ;;                                                               | 
|---|
 | 10 |         ;;      .global <func_name>                                      | 
|---|
 | 11 |         ;; <func_name>:                                                  | 
|---|
 | 12 |         ;;      bsr __mcount                                             | 
|---|
 | 13 |         ;;      <...function's prologue...>                              | 
|---|
 | 14 |         ;;      <...function's body...>                                  | 
|---|
 | 15 |         ;;                                                               | 
|---|
 | 16 |         ;; We must save all of the argument registers, extract the       | 
|---|
 | 17 |         ;; address of <func_name>, call _mcount_internal to do the       | 
|---|
 | 18 |         ;; real work and then restore the argument registers before      | 
|---|
 | 19 |         ;; returning.                                                    | 
|---|
 | 20 |                                                                          | 
|---|
 | 21 |         pushm   r1-r4                                                    | 
|---|
 | 22 |         mov.l   16[r0], r1                                               | 
|---|
 | 23 |         bsr     __mcount_internal                                        | 
|---|
 | 24 |         rtsd    #16, r1-r4 | 
|---|
 | 25 |          | 
|---|
       
      
      Note: See 
TracBrowser
        for help on using the repository browser.