Your IP : 18.188.188.152
�
�fc @ s� d Z d d l Z d d l Z d e j d d Z d e j d e j d d Z d
Z e d d � Z d � Z d Z d Z
e
d � Z d � Z e
d k r� e � n d S( sE nm2def.py
Helpers to extract symbols from Unix libs and auto-generate
Windows definition files from them. Depends on nm(1). Tested
on Linux and Solaris only (-p option to nm is for Solaris only).
By Marc-Andre Lemburg, Aug 1998.
Additional notes: the output of nm is supposed to look like this:
acceler.o:
000001fd T PyGrammar_AddAccelerators
U PyGrammar_FindDFA
00000237 T PyGrammar_RemoveAccelerators
U _IO_stderr_
U exit
U fprintf
U free
U malloc
U printf
grammar1.o:
00000000 T PyGrammar_FindDFA
00000034 T PyGrammar_LabelRepr
U _PyParser_TokenNames
U abort
U printf
U sprintf
...
Even if this isn't the default output of your nm, there is generally an
option to produce this format (since it is the original v7 Unix format).
i����Nt libpythoni s .at Pythoni i s .dlls nm -p -g %st Tt Ct Dc
C s� t j t | � j � } g | D] } | j � ^ q } i } x� | D] } t | � d k sE d | k ro qE n | j � } t | � d k r� qE n | \ } } } | | k r� qE n | | f | | <qE W| S( Ni t :i ( t ost popent NMt readlinest stript lent split(
t libt typest linest st symbolst linet itemst addresst typet name( ( s, /usr/lib64/python2.7/Tools/scripts/nm2def.pyR + s
c C s� g } g } xQ | j � D]C \ } \ } } | d k rK | j d | � q | j d | � q W| j � | j d � | j � d j | � d d j | � S( NR R s t s DATA
s
( R R ( R t appendt sortt join( R t datat codeR t addrR ( ( s, /usr/lib64/python2.7/Tools/scripts/nm2def.pyt export_list<