o
    ͦi                     @   s.   d dl Z d dlZ	d	dededdfddZdS )
    Ncmake/prioritized_text.txtcmake/linker_script.ldfileinfoutreturnc                 C   sJ  t | }| }dd |D }W d    n1 sw   Y  tjdd}tj|dgddd}d	d t|D }||d
 d |d  }dd t|D }t	|dksZJ d|d
 }t |d8}t|D ]*\}}	||d kr|
d |D ]}
|
d|
 d qy|
d |
|	 d qhW d    d S 1 sw   Y  d S )Nc                 S   s    g | ]}|d kr| d dqS )
 )replace).0line r   L/home/app/PyTorch/test/pytorch/tools/setup_helpers/generate_linker_script.py
<listcomp>
   s    z%gen_linker_script.<locals>.<listcomp>ZLDldz-verboseT)textr   c                 S   s   g | ]
\}}|d kr|qS )z2==================================================r   )r
   ixr   r   r   r      s
    r      c                 S   s   g | ]
\}}d |v r|qS )z.text           :r   )r
   r   r   r   r   r   r      s    z-The linker script has multiple text sections!w   z    *(
z      .text.z    )
)open	readlinesosenvironget
subprocesscheck_outputsplit	enumeratelenwrite)r   r   fZprioritized_textr   Zlinker_script_linesindicesZtext_line_startZlineidr   Zplinesr   r   r   gen_linker_script   s:   


"r#   )r   r   )r   r   strr#   r   r   r   r   <module>   s    