๐Ÿ”— ์‹ฌ๋ณผ ํ•ด์„๊ณผ ๋ฆด๋กœ์ผ€์ด์…˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜ (Symbols & Relocation)

Step 1
๋ฏธํ•ด๊ฒฐ ์‹ฌ๋ณผ ์ˆ˜์ง‘
Step 2
Strong vs Weak ํ•ด์„
Step 3
์„น์…˜ ๋ณ‘ํ•ฉ (Section Merge)
Step 4
๋ฆด๋กœ์ผ€์ด์…˜ ํŒจ์น˜ (Rela)
๐Ÿ“‹ ์˜ค๋ธŒ์ ํŠธ ์‹ฌ๋ณผ ํ…Œ์ด๋ธ” (.symtab)
Symbol Name Type / Bind Defined In Status
๐Ÿ“ ๋ฆด๋กœ์ผ€์ด์…˜ ์—ฐ์‚ฐ๊ณผ ๋ฐ”์ดํŠธ ํŒจ์น˜ (Relocation Math)
๐Ÿ’ก ๋ฆด๋กœ์ผ€์ด์…˜ ํƒ€์ž… ํ•ต์‹ฌ:
โ€ข R_X86_64_PC32: ํ˜„์žฌ ๋ช…๋ น์–ด(RIP) ๊ธฐ์ค€ 32๋น„ํŠธ ์ƒ๋Œ€ ์˜คํ”„์…‹ ๊ณ„์‚ฐ: S + A - P
โ€ข R_X86_64_64: 64๋น„ํŠธ ์ ˆ๋Œ€ ๊ฐ€์ƒ ์ฃผ์†Œ ์ง์ ‘ ํŒจ์น˜: S + A
โ€ข R_X86_64_PLT32: PLT ์Šคํ…์œผ๋กœ ๋ถ„๊ธฐํ•˜๋Š” ์ƒ๋Œ€ ์˜คํ”„์…‹ ๊ณ„์‚ฐ: L + A - P