Your IP : 216.73.216.85


Current Path : /opt/alt/python37/lib64/python3.7/Tools/scripts/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib64/python3.7/Tools/scripts/__pycache__/objgraph.cpython-37.opt-1.pyc

B

� f)�@s�ddlZddlZddlZddlZdZdZdZe�d�Zdd�Z	dd	�Z
iZiZiZ
iZd
d�Zdd
�Zdd�Zdd�Zdd�Zdd�Zedkr�ye�e��Wnek
r�e�d�YnXdS)�NZ	TRGDSBAECZUVZNntrgdsbavucz(.*):	?........ (.) (.*)$cCs&||kr||�|�n
|g||<dS)N)�append)�dict�key�item�r�;/opt/alt/python37/lib64/python3.7/Tools/scripts/objgraph.py�store)srcCs*d}x|D]}|d|}q
W|dd�S)N�� �r)�list�srrrr�flat2s
rc
Cs�x�|��}|sPt�|�dkr$|qtjdd�\\}}\}}\}}\}}	|||�|||	�|||�}
}}|tkr�tt||
�tt|
|�q|tkr�tt	|
|�tt
||
�q|tkrt|
d|d|�qWdS)Nr��:z: unknown type )
�readline�matcher�search�regs�definitionsr�def2file�file2def�	externals�
file2undef�
undef2file�ignore�print)
�fpr
Zra�rbZr1aZr1bZr2aZr2bZr3aZr3b�fn�name�typerrr�	readinputBs"&(r"cCs�tt���}x�|D]~}t|d�t|}|��x\|D]T}t|�dkrNd}nd}|tkrptd||d�q8td||tt|��q8WqWdS)Nr��	z		z *undefined)�sortedr�keysr�sort�lenrr)�flist�filename�elist�extZtabsrrr�printcalleeXs

r-cCs�tt���}x�|D]~}g}x$t|D]}|tkr$|t|}q$W|r�|��t|d�d}x2|D]}||krztd|�|}qbWqt|d�qWdS)Nrr	r$z: unused)r%rr&rr'r)�filesr*ZcallersZlabelZlastfnrrrr�printcallerjs


r/cCs�i}x:tt���D]*}x$t|D]}|tkr t|||�q WqWt|���}x>|D]6}t|d�t||�}x|D]}td|�qtWqRWdS)Nrr$)rrr&rrr%r)Zundefsr*r,r+r)rrr�
printundef~s

r0cCsbtj}tjt_tt���}x<|D]4}tt|�dkr td|ddd�ttt|��q W|t_dS)Nrzwarning:zmultiply defined:r
)�end)	�sys�stdout�stderrr%rr&r(rr)Z
savestdout�namesr rrr�warndups�s
r6c		Cs�yt�tjdd�d�\}}Wnrtjk
r�tjt_tdtj�	tjd�dd�td�td�td	�td
�td�td�td
�dSXd}}}x8|D]0\}}|dkr�d}q�|dkr�d}q�|dkr�d}q�W||kr�|kr�dk�rnnd}}}|�sdg}x2|D]*}|dk�r4t
tj�nt
t|d���qWt
�|||dk}|�rx|�rrtd�t�|�r�|�r�td�t�|�r�|�r�td�t�dS)NrZcduzUsage:rr
)r1z[-cdu] [file] ...z -c: print callers per objectfilez -d: print callees per objectfilez$-u: print usage of undefined symbolsz.If none of -cdu is specified, all are assumed.z!Use "nm -o" to generate the inputz"e.g.: nm -o /lib/libc.a | objgraphz-uz-cz-d�-�rz,---------------All callees------------------z,---------------Undefined callees------------z,---------------All Callers------------------)�getoptr2�argv�errorr4r3r�os�path�basenamer"�stdin�openr6r-r0r/)	Zoptlist�argsZoptuZoptcZoptdZoptZvoidr*Zmorerrr�main�sX$

rB�__main__r)r2r<r9�rerrr�compilerrrrrrrr"r-r/r0r6rB�__name__�exit�KeyboardInterruptrrrr�<module>s0
	5