운영체제 기본/Linux의 ELF 로딩/초기 스택과 사용자 모드 진입: 두 판 사이의 차이

Linux v6.12 ELF 실행 이미지와 사용자 진입 설명
 
초기 스택 그림의 고주소·저주소 순서와 열 정렬 교정
66번째 줄: 66번째 줄:
<pre>
<pre>
Higher addresses
Higher addresses
+--------------------------------+
+------------------------------------+
| Argument/environment strings   |
| Argument/environment strings       |
| Platform strings, random bytes |
| Platform strings, random bytes     |
| Alignment/padding as needed   |
| Alignment/padding as needed       |
+--------------------------------+
+------------------------------------+
| Auxiliary vector              |
| AT_NULL, 0                        |
|  (type, value) pairs          |
| ...                               |
|   ...                         |
| auxv[0].type, auxv[0].value        |
|   AT_NULL, 0                   |
+------------------------------------+
+--------------------------------+
| NULL                              |
| envp[0], envp[1], ...           |
| envp[envc-1]                       |
| NULL                          |
| ...                               |
+--------------------------------+
| envp[0]                            |
| argv[0], argv[1], ...           |
+------------------------------------+
| NULL                          |
| NULL                              |
+--------------------------------+
| argv[argc-1]                       |
| argc                           | <-- initial RSP
| ...                               |
+--------------------------------+
| argv[0]                            |
+------------------------------------+
| argc                               | <-- initial RSP
+------------------------------------+
Lower addresses
Lower addresses
</pre>
</pre>