| 
                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
           | 
      
      
        
  | Line |   | 
|---|
| 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.