OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [newlib-1.18.0/] [libgloss/] [rx/] [gcrt0.S] - Rev 252

Go to most recent revision | Compare with Previous | Blame | View Log

#define PROFILE_SUPPORT 1

#include "crt0.S"

        .global __mcount                                                
__mcount:                                                               
        ;; When a function is compiled for profiling, gcc creates code  
        ;; like this at the start of each profiled function:            
        ;;                                                              
        ;;      .global <func_name>                                     
        ;; <func_name>:                                                 
        ;;      bsr __mcount                                            
        ;;      <...function's prologue...>                             
        ;;      <...function's body...>                                 
        ;;                                                              
        ;; We must save all of the argument registers, extract the      
        ;; address of <func_name>, call _mcount_internal to do the      
        ;; real work and then restore the argument registers before     
        ;; returning.                                                   
                                                                        
        pushm   r1-r4                                                   
        mov.l   16[r0], r1                                              
        bsr     __mcount_internal                                       
        rtsd    #16, r1-r4
        

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.