์ด๊ฒ์ Ubuntu Online, Fedora Online, Windows ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ ๋๋ MAC OS ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ์ ๊ฐ์ ์ฌ๋ฌ ๋ฌด๋ฃ ์จ๋ผ์ธ ์ํฌ์คํ ์ด์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ OnWorks ๋ฌด๋ฃ ํธ์คํ ์ ๊ณต์ ์ฒด์์ ์คํํ ์ ์๋ i686-linux-gnu-as ๋ช ๋ น์ ๋๋ค.
ํ๋ก๊ทธ๋จ:
์ด๋ฆ
AS - ํด๋์ฉ GNU ์ด์ ๋ธ๋ฌ.
๊ฐ์
๊ฐ์ด [-a[cdghln][=ํ์ผ]] [--๋ฒ๊ฐ์ ํ๋] [-D]
[--์์ถ-๋๋ฒ๊ทธ-์น์ ] [--nocompress-๋๋ฒ๊ทธ-์น์ ]
[--debug-์ ๋์ฌ-๋งต ๋ก์= ]
[--defsym SYM=ํ] [-f] [-g] [--gstabs]
[--gstabs+] [--gdwarf-2] [--gdwarf-์น์ ]
[--๋์] [-I DIR] [-J]
[-K] [-L] [--๋ชฉ๋ก-lhs-ํญ=NUM]
[--๋ชฉ๋ก-lhs-๋๋น2=NUM] [--๋ชฉ๋ก-rhs-ํญ=NUM]
[--๋ชฉ๋ก-๊ณ์-๋ผ์ธ=NUM] [--ํ์ง์ธ ์ ์ง]
[-o ๊ฐ์ฒด ํ์ผ] [-R]
[--ํด์ ํฌ๊ธฐ=NUM] [--๋ฉ๋ชจ๋ฆฌ ์ค๋ฒํค๋ ๊ฐ์]
[--ํต๊ณ]
[-v] [-๋ฒ์ญ] [--๋ฒ์ญ]
[-W] [--๊ฒฝ๊ณ ํ๋ค] [--์น๋ช ์ ์ธ ๊ฒฝ๊ณ ] [-w] [-x]
[-Z] [@FILE]
[--์นํธ์ด๋ฆ-์๋ธ์คํธ] [--size-check=[์ค๋ฅ|๊ฒฝ๊ณ ]]
[-ํ๊ฒ ํํ] [๋์ ์ต์ ]
[--|ํ์ผ ...]
๋ชฉํ AAArch64 ์ต์ :
[-EB|-์์]
[-๋ง๋น=ABI]
๋ชฉํ ์ํ ์ต์ :
[-mCPU]
[-m๋๋ฒ๊ทธ | -mdebug ์์]
[-๋ฐ๊พธ๋ค | - ๋์ฒดํ ๊ณณ์ด ์๋ค]
[-ํธํ๊ฒ ํ๋ค] [-g] [-Gํฌ๊ธฐ]
[-F] [-32์ฃผ์]
๋ชฉํ ARC ์ต์ :
[-mcpu =CPU]
[-mA6|-mARC600|-mARC601|-mA7|-mARC700|-mEM|-mHS]
[-mcode ๋ฐ๋]
[-EB|-์์]
๋ชฉํ ARM ์ต์ :
[-mcpu=ํ๋ก์ธ์[+ํ์ฅ์...]]
[-XNUMX ์=์ํคํ ์ฒ[+ํ์ฅ์...]]
[-mfpu=๋ถ๋ ์์์ ํ์]
[-mfloat-abi=ABI]
[-๋ฉ์ด๋น=๋ฒ์ ]
[-์์ง์๊ฐ๋ฝ]
[-EB|-์์]
[-mapcs-32|-mapcs-26|-mapcs-ํ๋กํธ|
-mapcs-์ฌ์ง์ ]
[-mthumb-์ฐ๋] [-k]
๋ชฉํ ๋ธ๋ ํ ์ต์ :
[-mcpu=ํ๋ก์ธ์[-ํ๊ฒฌ]]
[-mfdpic]
[-mno-fdpic]
[-mnopic]
๋ชฉํ CRIS ์ต์ :
[--๋ฐ์ค | --๋ฐ์ค ์์]
[--๊ทธ๋ฆผ] [-N]
[--์๋ฎฌ๋ ์ด์ =๋ฒ์ฃ | --์๋ฎฌ๋ ์ด์ =์๊ธฐ]
[--ํ์ง=v0_v10 | --10์=vXNUMX | --32์=vXNUMX |
---carch = common_v10_v32]
๋ชฉํ D10V ์ต์ :
[-O]
๋ชฉํ D30V ์ต์ :
[-O|-n|-N]
๋ชฉํ ์ถํ ์ต์ :
[-๋ฉํผํ๋|-๋ฉํผํ๋16]
๋ชฉํ H8 / 300 ์ต์ :
[-h-ํฑ-ํฅ์ค]
๋ชฉํ i386 ์ต์ :
[- 32|--x32|- 64] [-n]
[-XNUMX ์=CPU[+์ ์ฅ...]] [-mtune=CPU]
๋ชฉํ i960 ์ต์ :
[-ACA|-ACA_A|-ACB|-ACC|-์ผ๋ช |-AKB|
-AKC|-AMC]
[-b] [- ์ฌ์ง ์๊ณ ]
๋ชฉํ IA-64 ์ต์ :
[-m์์-gp|-์๋ ์ฌ์ง]
[-milp32.|-milp64.|-mlp64|- mp64]
[- ๋ฏ๋ |mbe]
[-mtune=์ดํ๋1|-mtune=์ดํ๋2]
[-munwind-check=๊ฒฝ๊ณ |-munwind-check=์ค๋ฅ]
[-mhint.b=ํ์ธ|-mhint.b=๊ฒฝ๊ณ |-mhint.b=์ค๋ฅ]
[-x|-x๋ช ์์ ] [-xauto] [-x๋๋ฒ๊ทธ]
๋ชฉํ IP2K ์ต์ :
[-mip2022|-mip2022ext]
๋ชฉํ M32C ์ต์ :
[-m32c|-m16c] [-relax] [-h-ํฑ-ํฅ์ค]
๋ชฉํ M32R ์ต์ :
[--m32rx|--[no-]๊ฒฝ๊ณ -๋ช ์์ -๋ณ๋ ฌ-์ถฉ๋|
--W[n]p]
๋ชฉํ M680X0 ์ต์ :
[-l] [-m68000|-m68010|-m68020|...]
๋ชฉํ M68HC11 ์ต์ :
[-m68hc11|-m68hc12|-m68hcs12|-mm9s12x|-mm9s12xg]
[-m์งง์|-mlong]
[-mshort-double|-mlong-๋๋ธ]
[--force-long-branches] [--์งง์ ๊ฐ์ง]
[--์๊ฒฉํ ์ง์ ๋ชจ๋] [--print-insn-๊ตฌ๋ฌธ]
[-Print-opcodes] [--์์ ์์ฑ]
๋ชฉํ ์ ์ฝ์ด ์ต์ :
[-jsri2bsr] [-์ํํฐ] [-ํธํ๊ฒ ํ๋ค]
[-mcpu=[210|340]]
๋ชฉํ ๋ฉํ ์ต์ :
[-mcpu =CPU] [-mfpu=CPU] [-mdsp=CPU] ๋ชฉํ ๋ง์ดํฌ๋ก๋ธ๋ ์ด์ฆ ์ต์ :
๋ชฉํ MIPS ์ต์ :
[-nocpp] [-์์] [-EB] [-O[์ต์ ํ ์ํ]]
[-g[๋๋ฒ๊ทธ ์ํ]] [-G NUM] [- ๋ํ์ ํ] [-ํตํ_๊ณต์ ]
[-๋น๊ณต์ ] [-xgot [-mvxworks-pic]
[-๋ง๋น=ABI] [-32] [-n32] [-64] [-mfp32] [-mgp32]
[-mfp64] [-mgp64] [-mfpxx]
[-modd-spreg] [-mno-ํ์-spreg]
[-XNUMX ์=CPU] [-mtune=CPU] [-๋ฐ์ค1] [-๋ฐ์ค2]
[-๋ฐ์ค3] [-๋ฐ์ค4] [-๋ฐ์ค5] [-๋ฐ์ค32] [-mips32r2]
[-mips32r3] [-mips32r5] [-mips32r6] [-๋ฐ์ค64] [-mips64r2]
[-mips64r3] [-mips64r5] [-mips64r6]
[-construct-float] [-no-construct-float]
[-๋ฏ๋=๋ถํธํ]
[-๋ซ] [-ํด์ ์์] [-๋จ์ ] [- ๋ ธ ํธ๋ฉ]
[-๋ฐ์ค16] [-no-mips16]
[-mmmicromips] [-mno-micromip]
[-msmartmips] [-mno-smartmips]
[-mips3d] [-no-mips3d]
[-mdmx] [-no-mdmx]
[-mdsp] [-mno-dsp]
[-MDSPR2] [-mno-dspr2]
[-mmsa] [-MNO-MSA]
[-mxpa] [-mno-xpa]
[-mmt] [-mno-mt]
[-mmcu] [-mno-mcu]
[-minsn32] [-mno-insn32]
[-mfix7000] [-mno-fix7000]
[-mfix-rm7000] [-mno-fix-rm7000]
[-mfix-vr4120] [-mno-fix-vr4120]
[-mfix-vr4130] [-mno-fix-vr4130]
[-m๋๋ฒ๊ทธ] [-mdebug ์์]
[-mpdr] [-mno-pdr]
๋ชฉํ ์ ๋ฏน์ค ์ต์ :
[--๊ณ ์ ํน์ ๋ ์ง์คํฐ ์ด๋ฆ] [--๊ธ๋ก๋ฒํ-๊ธฐํธ]
[--gnu-๊ตฌ๋ฌธ] [--์์ฌํ๋ค] [--๋ฏธ๋ฆฌ ์ ์๋ ๊ธฐํธ ์์]
[--ํ์ฅํ์ง ์์] [--no-merge-gregs] [-x]
[--๋ง์ปค-ํ ๋น-gregs]
๋ชฉํ ๋์ค์ค II ์ต์ :
[-์์ ํ ์ฌ๋ค] [-ํด์ ์น์ ] [- ์ฌ์ง ์๊ณ ]
[-EB] [-์์]
๋ชฉํ NDS32 ์ต์ :
[-์์] [-EB] [-O] [- ์ค์ค] [-mcpu =CPU]
[-๋ฏธ์ฌ=ISA] [-๋ง๋น=ABI] [- ์ผํ๋ชฐ ๋ด์ ]
[-m[no-]16๋นํธ] [-m[no-]perf-ext] [-m[no-]perf2-ext]
[-m[no-]๋ฌธ์์ด ํ์ฅ] [-m[no-]dsp-ext] [-m[no-]๋งฅ] [-m[no-]div]
[-m[no-]audio-isa-ext] [-m[no-]fpu-sp-ext] [-m[no-]fpu-dp-ext]
[-m[no-]fpu-fma] [-mfpu-freg=ํ๋ ๊ทธ] [-mreduced-regs]
[-mfull-regs] [-m[no-]dx-regs] [-mpic] [-mno-ํด์]
[-mb2bb]
๋ชฉํ PDP11 ์ต์ :
[-mpic|-mno-๊ทธ๋ฆผ] [-์ผํ ์ผํฐ] [-mno ํ์ฅ]
[-mํ์ฅ์|-์๋จ-ํ์ฅ์]
[-mCPU] [-m๊ธฐ๊ณ]
๋ชฉํ ํผ์ฝ์๋ฐ ์ต์ :
[-mb|-๋๋ฅผ]
๋ชฉํ PowerPC ์ต์ :
[.A32|.A64]
[-mpwrx|-mpwr2|-mpwr|-m601|-mppc|-mppc32|-m603|-m604|-m403|-m405|
-m440|-m464|-m476|-m7400|-m7410|-m7450|-m7455|-m750cl|-mppc64|
-m620|-me500|-e500x2|-me500mc|-me500mc64|-me5500|-me6500|-mppc64๋ธ๋ฆฌ์ง|
-์ ๋ถ|-mpower4|-mpwr4|-mpower5|-mpwr5|-mpwr5x|-mpower6|-mpwr6|
-mpower7|-mpwr7|-mpower8|-mpwr8|-mpower9|-mpwr9-ma2|
-mcell|-mspe|-์ ํฐํ|-me300|-์ ์ปด]
[-๋ง์] [-๋งํฐ๋ฒก|-mvsx|-mhtm|-mvle]
[-mregnames|-mno-regnames]
[-m ์ฌ๋ฐฐ์น ๊ฐ๋ฅ|-mrelocateable-lib|-K PIC] [-๋ฉค๋ฒ]
[-์กฐ๊ธ|-๋ฏธ๋ฆฌํ ์๋์|๊ทธ๋ค|-mbig|-mbig-์๋์|-์๋ค]
[-msolaris|-mno-solaris]
[-๋=๊ณ์ฐ]
๋ชฉํ RL78 ์ต์ :
[-mg10]
[-m32bit-๋๋ธ|-m64bit-๋๋ธ]
๋ชฉํ RX ์ต์ :
[-๋ฏธ๋ฆฌํ ์๋์|-mbig-์๋์]
[-m32bit-๋๋ธ|-m64bit-๋๋ธ]
[-muse-๊ธฐ์กด-์น์ -์ด๋ฆ]
[-m์์ ๋ฐ์ดํฐ ์ ํ]
[-mpid]
[-mrelax]
[-๋ฏผํธ ๋ ์ง์คํฐ=๋ฒํธ]
[-mgcc-์๋น|-mrx-์๋น]
๋ชฉํ s390 ์ต์ :
[-m31|-m64] [-๋ฉ์ฌ|-mzarch] [-XNUMX ์=CPU]
[-mregnames|-mno-regnames]
[-mwarn-areg-Zero]
๋ชฉํ SCORE ์ต์ :
[-EB][-์์][-์์ ][-N๊ฒฝ๊ณ ]
[-์ค์ฝ์ด5][-์ค์ฝ์ด5U][-์ค์ฝ์ด7][-์ค์ฝ์ด3]
[-7์=์ ์ XNUMX][-3์=์ ์ XNUMX]
[-USE_R1][- ๋ํ์ ํ][-O0][-G NUM][-V]
๋ชฉํ SPARC ์ต์ :
[- ํ๊ท 6|- ํ๊ท 7|- ํ๊ท 8|-์์คํํด๋ |-์์คํํด๋ผ์ดํธ
-Av8plus|-Av8plusa|- ํ๊ท 9|-Av9a]
[-xarch=v8plus|-xarch=v8plusa] [-์ถฉ๋]
[-32|-64]
๋ชฉํ TIC54X ์ต์ :
[-mcpu=54[123589]|-mcpu=54[56]lp] [-mfar ๋ชจ๋|-mf]
[-ํ์ผ์ ๋ํ ์ค๋ฅ |-๋๋ฅผ ]
๋ชฉํ TIC6X ์ต์ :
[-ํ์ง=์์น] [-mbig-์๋์|-๋ฏธ๋ฆฌํ ์๋์]
[-mdsbt|-mno-dsbt] [-mpid=์๋์|-mpid=๊ทผ์ฒ|-mpid=๋ฉ๋ฆฌ]
[-mpic|-mno-๊ทธ๋ฆผ]
๋ชฉํ ํ์ผ-Gx ์ต์ :
[-m32|-m64][-EB][-์์]
๋ชฉํ ๋น์ ์ต์ :
[-mtune=์์น]
๋ชฉํ ์์คํ ์ฌ ์ต์ :
[--[no-]ํ ์คํธ ์น์ ๋ฆฌํฐ๋ด] [--[no-]์๋ ๋ฆฌํธํ]
[--[no-]์ ๋ ๋ฆฌํฐ๋ด]
[--[no-]ํ๊ฒ ์ ๋ ฌ] [--[no-]๋กฑ์ฝ]
[--[no-]๋ณํ]
[--์ด๋ฆ ๋ฐ๊พธ๊ธฐ-์น์ ์ ์ด๋ฆ=์ ์ด๋ฆ]
[--[no-] ํธ๋จํด๋ฆฐ]
๋ชฉํ Z80 ์ต์ :
[-z80] [-r800]
[ -๋ฌธ์ํ๋์ง ์์ ์ง์ ๋ฌด์] [-๋๋]
[ -๋ฌด์ํ ์ ์๋ ์ง์] [-Wnup]
[ -๊ฒฝ๊ณ - ๋ฌธ์ํ๋์ง ์์ ์ง์นจ] [- ์ฐ๋]
[ -warn-portable-instructions] [- ์]
[ -๋ฌธ์ํ๋์ง ์์ ์ง์นจ ๊ธ์ง] [-ํ๋]
[ -๊ธ์ง - ํด๋ ํ ์์๋ ์ง์นจ] [-ํ]
๊ธฐ์
GNU as ์ ๋ง ์กฐ๋ฆฝ๊ฐ ๊ฐ์กฑ์ด๊ตฐ์. ๊ทํ๊ฐ ๋ค์์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ(๋๋ ์ฌ์ฉํ ์ ์ด ์๋ ๊ฒฝ์ฐ)
ํ๋์ ์ํคํ ์ฒ์์ GNU ์ด์ ๋ธ๋ฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์๋นํ ์ ์ฌํ ๊ฒ์ ์ฐพ์ ์ ์์ต๋๋ค.
๋ค๋ฅธ ์ํคํ ์ฒ์์ ์ฌ์ฉํ ๋ ํ๊ฒฝ. ๊ฐ ๋ฒ์ ์๋
๊ฐ์ฒด ํ์ผ ํ์์ ํฌํจํ์ฌ ๋ค๋ฅธ ํ์๊ณผ ๊ณตํต์ ์ด ๋ง์ต๋๋ค.
์ด์ ๋ธ๋ฌ ์ง์๋ฌธ(์ข ์ข ํธ์ถ๋จ) ์ ์ฌ ์์ ) ๋ฐ ์ด์ ๋ธ๋ฌ ๊ตฌ๋ฌธ.
as ์ฃผ๋ก GNU C ์ปดํ์ผ๋ฌ์ ์ถ๋ ฅ์ ์กฐํฉํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค.
๋ง์ปค "ld"๊ฐ ์ฌ์ฉํ๋ "gcc"์ ๋๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์ฐ๋ฆฌ๋ ๋ง๋ค๋ ค๊ณ ๋ ธ๋ ฅํ์ต๋๋ค. as
๋ค๋ฅธ ์ด์ ๋ธ๋ฌ๊ฐ ๋์ผํ๊ฒ ์ํํ๋ ๋ชจ๋ ๊ฒ์ ์ฌ๋ฐ๋ฅด๊ฒ ์กฐ๋ฆฝํ์ญ์์ค.
๊ธฐ๊ณ๊ฐ ์กฐ๋ฆฝ๋ ๊ฒ์ ๋๋ค. ๋ชจ๋ ์์ธ๋ ๋ช ์์ ์ผ๋ก ๋ฌธ์ํ๋ฉ๋๋ค.
์ด๊ฒ์ ์๋ฏธํ์ง ์์ต๋๋ค as ํญ์ ๋ค๋ฅธ ์ด์ ๋ธ๋ฌ์ ๋์ผํ ๊ตฌ๋ฌธ์ ์ฌ์ฉํฉ๋๋ค.
๋์ผํ ์ํคํ ์ฒ์ ๊ฒฝ์ฐ; ์๋ฅผ ๋ค์ด, ์ฐ๋ฆฌ๋ ๋ช ๊ฐ์ง ํธํ๋์ง ์๋
680x0 ์ด์ ๋ธ๋ฆฌ ์ธ์ด ๊ตฌ๋ฌธ ๋ฒ์ .
์คํํ ๋๋ง๋ค as ์ ํํ ํ๋์ ์์ค ํ๋ก๊ทธ๋จ์ ์ด์ ๋ธํฉ๋๋ค. ๊ทธ๋งํผ
์์ค ํ๋ก๊ทธ๋จ์ ํ๋ ์ด์์ ํ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. (ํ์ค ์ ๋ ฅ์
ํ์ผ๋ ๋ฉ๋๋ค.)
๋น์ ์ ์ค as XNUMX๊ฐ ์ด์์ ์ ๋ ฅ ํ์ผ ์ด๋ฆ์ด ์๋ ๋ช ๋ น์ค. ๊ทธ๋งํผ
์ ๋ ฅ ํ์ผ์ ์ฝ์ต๋๋ค(์ผ์ชฝ ํ์ผ ์ด๋ฆ์์ ์ค๋ฅธ์ชฝ์ผ๋ก). ๋ช ๋ น์ค
ํน๋ณํ ์๋ฏธ๊ฐ ์๋ ์ฃผ์ฅ(์ด๋ค ์์น์์๋ )์ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ์ฃผ๋ฉ๋๋ค.
์ ๋ ฅ ํ์ผ ์ด๋ฆ.
๋น์ ์ด์ฃผ๋ ๊ฒฝ์ฐ as ํ์ผ ์ด๋ฆ์ด ์์ต๋๋ค. ํ๋์ ์ ๋ ฅ ํ์ผ์ ์ฝ์ผ๋ ค๊ณ ์๋ํฉ๋๋ค.
์ ์, as ํ์ค ์ ๋ ฅ์ ์ผ๋ฐ์ ์ผ๋ก ํฐ๋ฏธ๋์ ๋๋ค. ๋น์ ์ ํ ์ ์์ต๋๋ค
์ ๋ ฅํ๋ ค๋ฉด Ctrl-D ๋งํ๋ค as ๋ ์ด์ ์กฐ๋ฆฝํ ํ๋ก๊ทธ๋จ์ด ์์ต๋๋ค.
-- ํ์ค ์ ๋ ฅ ํ์ผ์ ์ด๋ฆ์ ๋ช ์์ ์ผ๋ก ์ง์ ํด์ผ ํ๋ ๊ฒฝ์ฐ
๋ช ๋ น ํ.
์์ค๊ฐ ๋น์ด ์์ผ๋ฉด as ์๊ณ ๋น ๊ฐ์ฒด ํ์ผ์ ์์ฑํฉ๋๋ค.
as ํ์ค ์ค๋ฅ ํ์ผ์ ๊ฒฝ๊ณ ๋ฐ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ์ธ ์ ์์ต๋๋ค.
(๋ณดํต ํฐ๋ฏธ๋). ์ปดํ์ผ๋ฌ๊ฐ ์คํ๋ ๋ ์ด๋ฐ ์ผ์ด ๋ฐ์ํด์๋ ์ ๋ฉ๋๋ค.
as ์๋์ผ๋ก. ๊ฒฝ๊ณ ๋ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ ์ ๋ณด๊ณ ํฉ๋๋ค. as ์
๊ฒฐํจ์ด ์๋ ํ๋ก๊ทธ๋จ์ ๊ณ์ ์กฐ๋ฆฝํฉ๋๋ค. ์ค๋ฅ๋ ์ฌ๊ฐํ ๋ฌธ์ ๋ฅผ ๋ณด๊ณ ํฉ๋๋ค.
์กฐ๋ฆฝ์ ์ค์งํฉ๋๋ค.
๋น์ ์ด ํธ์ถํ๋ ๊ฒฝ์ฐ as GNU C ์ปดํ์ผ๋ฌ๋ฅผ ํตํด ๋ค์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. -์
์ธ์๋ฅผ ์ด์ ๋ธ๋ฌ์ ์ ๋ฌํ๋ ์ต์ ์ ๋๋ค. ์ด์ ๋ธ๋ฌ
์ธ์๋ ์๋ก ๋ถ๋ฆฌ๋์ด์ผ ํฉ๋๋ค(๊ทธ๋ฆฌ๊ณ -์) ์ผํ๋ก.
์ :
gcc -c -g -O -Wa,-alh,-L ํ์ผ.c
์ด๊ฒ์ ๋ ๊ฐ์ง ์ต์ ์ ์ด์ ๋ธ๋ฌ์ ์ ๋ฌํฉ๋๋ค. -์ (๋ชฉ๋ก์ ๋ค์์ผ๋ก ๋ด๋ณด๋
์์ ์์ค ๋ฐ ์ด์ ๋ธ๋ฆฌ ์์ค์ ํ์ค ์ถ๋ ฅ) ๋ฐ -L (์ ์งํ๋ค
๊ธฐํธ ํ ์ด๋ธ์ ์ง์ญ ๊ธฐํธ).
์ผ๋ฐ์ ์ผ๋ก ์ด๊ฒ์ ์ฌ์ฉํ ํ์๊ฐ ์์ต๋๋ค -์ ๋ฉ์ปค๋์ฆ, ๋ง์ ์ปดํ์ผ๋ฌ ์ดํ
๋ช ๋ น์ค ์ต์ ์ ๋ค์ ๋ช ๋ น์ ์ํด ์๋์ผ๋ก ์ด์ ๋ธ๋ฌ์ ์ ๋ฌ๋ฉ๋๋ค.
์ปดํ์ผ๋ฌ. (๋ค์์ ์ฌ์ฉํ์ฌ GNU ์ปดํ์ผ๋ฌ ๋๋ผ์ด๋ฒ๋ฅผ ํธ์ถํ ์ ์์ต๋๋ค. -v ~์ ๋ํ ์ต์
๊ฐ ์ปดํ์ผ ํจ์ค์ ์ด๋ค ์ต์ ์ด ์ ๋ฌ๋๋์ง ์ ํํ๊ฒ ํ์ธํ์ธ์.
์ด์ ๋ธ๋ฌ๋ ํฌํจ)
์ต์
@ํ์ผ
๋ค์์์ ๋ช ๋ น์ค ์ต์ ์ฝ๊ธฐ ํ์ผ. ์ฝ์ ์ต์ ์ด ์ฝ์ ๋ฉ๋๋ค.
์๋ @ ๋์ ํ์ผ ์ต์ . ๋ง์ฝ์ ํ์ผ ์กด์ฌํ์ง ์๊ฑฐ๋
์ฝ์ ์ ์๋ ๊ฒฝ์ฐ ์ต์ ์ ๋ฌธ์ ๊ทธ๋๋ก ์ฒ๋ฆฌ๋๋ฉฐ
์ ๊ฑฐ๋์์ต๋๋ค.
์ต์ ํ์ผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ฉ๋๋ค. ๊ณต๋ฐฑ
๋ฌธ์๋ ์ ์ฒด๋ฅผ ๋๋ฌ์ธ์ ์ต์ ์ ํฌํจ๋ ์ ์์ต๋๋ค.
์์๋ฐ์ดํ๋ ํฐ๋ฐ์ดํ๋ก ๋ฌถ์ธ ์ต์ ์ ๋๋ค. ๋ชจ๋ ๋ฌธ์(ํฌํจ
๋ฐฑ์ฌ๋์)๋ ๋ฌธ์๋ฅผ ์ ๋์ฌ๋ก ์ถ๊ฐํ์ฌ ํฌํจํ ์ ์์ต๋๋ค.
๋ฐฑ์ฌ๋์์ ํจ๊ป ํฌํจ๋ฉ๋๋ค. NS ํ์ผ ์์ฒด์ ์ผ๋ก ์ถ๊ฐ ํฌํจํ ์ ์์ต๋๋ค
@ํ์ผ ์ต์ ; ์ด๋ฌํ ์ต์ ์ ์ฌ๊ท์ ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.
-a[cdghlmns]
๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ๋ชฉ๋ก์ ์ผญ๋๋ค.
๋งฅ ๊ฑฐ์ง ์กฐ๊ฑด๋ฌธ ์๋ต
-๊ธฐ์ ํ ๋๋ฒ๊น ์ง์๋ฌธ ์๋ต
-ag ์ ๋ฌ๋ ๋ฒ์ ๋ฐ ์ต์ ๊ณผ ๊ฐ์ ์ผ๋ฐ ์ ๋ณด ํฌํจ
-์ ์์ ์์ค ์์ค ํฌํจ
-์ ์ด์ ๋ธ๋ฆฌ๋ฅผ ํฌํจ
-์ค์ ๋งคํฌ๋ก ํ์ฅ ํฌํจ
-์ ์์ ์ฒ๋ฆฌ ์๋ต
-๊ฐ์ด ๊ธฐํธ ํฌํจ
=ํ์ผ
๋ชฉ๋ก ํ์ผ์ ์ด๋ฆ ์ค์
์ด๋ฌํ ์ต์ ์ ๊ฒฐํฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ฌ์ฉ -์๋ฅธ ์กฐ๋ฆฝ์ฉ
์์ ์ฒ๋ฆฌ ์์ด ๋ชฉ๋ก์ ์์ฑํฉ๋๋ค. ๊ทธ๋งํผ =ํ์ผ ์ต์ ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ฐ๋์
๋ง์ง๋ง์ด ๋์ญ์์ค. ๊ทธ ์์ฒด๋ก, -a ๊ธฐ๋ณธ๊ฐ์ -์.
--๋ฒ๊ฐ์ ํ๋
๋์ฒด ๋งคํฌ๋ก ๋ชจ๋์์ ์์ํฉ๋๋ค.
--์์ถ-๋๋ฒ๊ทธ-์น์
SHF_COMPRESSED์ ํจ๊ป zlib๋ฅผ ์ฌ์ฉํ์ฌ DWARF ๋๋ฒ๊ทธ ์น์ ์ ์์ถํฉ๋๋ค.
ELF ABI. ๊ฒฐ๊ณผ ๊ฐ์ฒด ํ์ผ์ ๋ค์๊ณผ ํธํ๋์ง ์์ ์ ์์ต๋๋ค.
์ด์ ๋ง์ปค ๋ฐ ๊ฐ์ฒด ํ์ผ ์ ํธ๋ฆฌํฐ. ์์ถ์ด
ํน์ ๋ถ๋ถ์ ๋ง๋ค์ด๋ผ ํฐ ๊ทธ๋ฌ๋ฉด ์์ถ๋์ง ์์ต๋๋ค.
--compress-debug-sections=์์
--์์ถ-๋๋ฒ๊ทธ-์น์ =zlib
--์์ถ-๋๋ฒ๊ทธ-์น์ =zlib-gnu
--์์ถ-๋๋ฒ๊ทธ-์น์ =zlib-gabi
์ด ์ต์ ์ DWARF ๋๋ฒ๊ทธ ์น์ ์ด ์์ถ๋๋ ๋ฐฉ์์ ์ ์ดํฉ๋๋ค.
--compress-debug-sections=์์ ์ ํด๋นํ๋
--nocompress-๋๋ฒ๊ทธ-์น์ . --์์ถ-๋๋ฒ๊ทธ-์น์ =zlib ๊ณผ
--์์ถ-๋๋ฒ๊ทธ-์น์ =zlib-gabi ๋๋ฑํ
--์์ถ-๋๋ฒ๊ทธ-์น์ . --์์ถ-๋๋ฒ๊ทธ-์น์ =zlib-gnu
zlib๋ฅผ ์ฌ์ฉํ์ฌ DWARF ๋๋ฒ๊ทธ ์น์ ์ ์์ถํฉ๋๋ค. ๋๋ฒ๊ทธ ์น์ ์
๋ก ์์ํ์ฌ ์ด๋ฆ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค. .z๋๋ฒ๊ทธ. ์์ถ์ผ๋ก ์ธํด
์ฃผ์ด์ง ์น์ ํฐ ๊ทธ๋ฐ ๋ค์ ์์ถ๋๊ฑฐ๋ ์ด๋ฆ์ด ๋ฐ๋์ง ์์ต๋๋ค.
--nocompress-๋๋ฒ๊ทธ-์น์
DWARF ๋๋ฒ๊ทธ ์น์ ์ ์์ถํ์ง ๋ง์ธ์. ์ด๋ ์ผ๋ฐ์ ์ผ๋ก ๊ธฐ๋ณธ๊ฐ์ ๋๋ค.
x86/x86_64๋ฅผ ์ ์ธํ ๋ชจ๋ ๋์์ ๋ํด ๊ตฌ์ฑ ์๊ฐ ์ต์
์ด๋ฅผ ์ฌ์ ์ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
-D ๋ฌด์๋์์ต๋๋ค. ์ด ์ต์ ์ ๋ค์๊ณผ์ ์คํฌ๋ฆฝํธ ํธํ์ฑ์ ์ํด ํ์ฉ๋ฉ๋๋ค.
๋ค๋ฅธ ์ด์ ๋ธ๋ฌ๋ฅผ ํธ์ถํฉ๋๋ค.
--debug-์ ๋์ฌ-๋งต ๋ก์=
๋๋ ํ ๋ฆฌ์ ํ์ผ์ ์ด์ ๋ธํ ๋ ๋ก์, ๋ ์ฝ๋ ๋๋ฒ๊น
๋ค์๊ณผ ๊ฐ์ด ์ค๋ช ํ๋ ์ ๋ณด ๋์ .
--defsym SYM=๊ฐ์น
๊ธฐํธ ์ ์ SYM ๋ ๊ฐ์น ์ ๋ ฅ ํ์ผ์ ์กฐ๋ฆฝํ๊ธฐ ์ ์.
๊ฐ์น ์ ์ ์์์ฌ์ผ ํฉ๋๋ค. C์์์ ๊ฐ์ด ์ ๋์ ์ธ 0x ํ์
XNUMX์ง์ ๊ฐ ๋ฐ ์ ํ 0 XNUMX์ง์ ๊ฐ์ ๋ํ๋ ๋๋ค. ๊ทธ๋งํผ
๊ธฐํธ์ ๊ฐ์ ๋ค์์ ํตํด ์์ค ํ์ผ ๋ด์์ ์ฌ์ ์๋ ์ ์์ต๋๋ค.
".set" ์์ฌ ์ฐ์ฐ์ ์ฌ์ฉํฉ๋๋ค.
-f "๋น ๋ฅธ"---๊ณต๋ฐฑ ๋ฐ ์ฃผ์ ์ ์ฒ๋ฆฌ ๊ฑด๋๋ฐ๊ธฐ(์์ค ๊ฐ์
์ปดํ์ผ๋ฌ ์ถ๋ ฅ์ ๋๋ค).
-g
--gen-๋๋ฒ๊ทธ
๋ค์์ ์ฌ์ฉํ์ฌ ๊ฐ ์ด์ ๋ธ๋ฌ ์์ค ๋ผ์ธ์ ๋ํ ๋๋ฒ๊น ์ ๋ณด๋ฅผ ์์ฑํฉ๋๋ค.
๋์์ด ์ ํธํ๋ ๋๋ฒ๊ทธ ํ์์ ๋๋ค. ํ์ฌ ์ด
STABS, ECOFF ๋๋ DWARF2๋ฅผ ์๋ฏธํฉ๋๋ค.
--gstabs
๊ฐ ์ด์ ๋ธ๋ฌ ๋ผ์ธ์ ๋ํ ๋๋ฒ๊น ์ ๋ณด๋ฅผ ์์ฑํฉ๋๋ค. ์ด๊ฒ
๋๋ฒ๊ฑฐ๊ฐ ์ฒ๋ฆฌํ ์ ์๋ ๊ฒฝ์ฐ ์ด์ ๋ธ๋ฌ ์ฝ๋ ๋๋ฒ๊น ์ ๋์์ด ๋ ์ ์์ต๋๋ค.
--gstabs+
๊ฐ ์ด์ ๋ธ๋ฌ ๋ผ์ธ์ ๋ํ ๋๋ฒ๊น ์ ๋ณด๋ฅผ ์์ฑํฉ๋๋ค.
์๋ง๋ gdb๋ง์ด ์ฒ๋ฆฌํ ์ ์๋ GNU ํ์ฅ์ ๋๋ค.
๋ค๋ฅธ ๋๋ฒ๊ฑฐ๊ฐ ์ถฉ๋ํ๊ฑฐ๋ ํ๋ก๊ทธ๋จ ์ฝ๊ธฐ๋ฅผ ๊ฑฐ๋ถํ๊ฒ ๋ง๋ญ๋๋ค. ์ด๊ฒ
์ด์ ๋ธ๋ฌ ์ฝ๋ ๋๋ฒ๊น ์ ๋์์ด ๋ ์ ์์ต๋๋ค. ํ์ฌ ์ ์ผํ GNU
ํ์ฅ์๋ ํ์ฌ ์์ ๋๋ ํ ๋ฆฌ์ ์์น์ ๋๋ค.
์กฐ๋ฆฝ ์๊ฐ.
--gdwarf-2
๊ฐ ์ด์ ๋ธ๋ฌ ๋ผ์ธ์ ๋ํ DWARF2 ๋๋ฒ๊น ์ ๋ณด๋ฅผ ์์ฑํฉ๋๋ค.
๋๋ฒ๊ฑฐ๊ฐ ์ฒ๋ฆฌํ ์ ์๋ ๊ฒฝ์ฐ ์ด๋ ์ด์ ๋ธ๋ฌ ์ฝ๋ ๋๋ฒ๊น ์ ๋์์ด ๋ ์ ์์ต๋๋ค.
๊ทธ๊ฒ. ์ฐธ๊ณ ---์ด ์ต์ ์ ์ผ๋ถ ๋์์์๋ง ์ง์๋๋ฉฐ ์ ์ฒด ๋์์์๋ ์ง์๋์ง ์์ต๋๋ค.
๊ทธ๋ค์.
--gdwarf-์น์
.debug_line ์น์ ์ ์์ฑํ๋ ๋์ ์ผ๋ จ์
.debug_line.ํธ ์น์ ํธ ํด๋น ์ด๋ฆ์
์ฝ๋ ์น์ . ์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ ์ฝ๋ ์น์ ์ด ์์ต๋๋ค. .text.func ์์ง
๋์ํ ์ค ๋ฒํธ ์ ๋ณด๋ฅผ ์น์ ์ ๋ฐฐ์นํฉ๋๋ค.
.debug_line.text.func. ์ฝ๋ ์น์ ์ด ๋ฐฉ๊ธ ํธ์ถ๋๋ ๊ฒฝ์ฐ ํ ์คํธ
๊ทธ๋ฌ๋ฉด ๋๋ฒ๊ทธ ๋ผ์ธ ์น์ ์ ๊ณ์ ํธ์ถ๋ฉ๋๋ค. .debug_line
์ด๋ค ์ ๋ฏธ์ฌ๋ ์์ด.
--ํฌ๊ธฐ ๊ฒ์ฌ=์ค๋ฅ
--size-check=๊ฒฝ๊ณ
์ ํจํ์ง ์์ ELF .size ์ง์๋ฌธ์ ๋ํด ์ค๋ฅ ๋๋ ๊ฒฝ๊ณ ๋ฅผ ๋ฐํํ์ญ์์ค.
--๋์
๋ช ๋ น์ค ์ต์ ์ ์์ฝ์ ์ธ์ํ๊ณ ์ข ๋ฃํฉ๋๋ค.
-ํ๊ฒ ํํ
๋ชจ๋ ๋์ ํน์ ์ต์ ์ ์์ฝ์ ์ธ์ํ๊ณ ์ข ๋ฃํฉ๋๋ค.
-I DIR
๋๋ ํ ๋ฆฌ ์ถ๊ฐ DIR ".include" ์ง์๋ฌธ์ ๋ํ ๊ฒ์ ๋ชฉ๋ก์ผ๋ก ์ด๋ํฉ๋๋ค.
-J ์๋ช ๋ ์ค๋ฒํ๋ก์ ๋ํด ๊ฒฝ๊ณ ํ์ง ๋ง์ญ์์ค.
-K ์ค๋ซ๋์ ์ฐจ์ด ํ ์ด๋ธ์ด ๋ณ๊ฒฝ๋๋ฉด ๊ฒฝ๊ณ ๋ฐํ
๋ณ์.
-L
--ํ์ง์ธ ์ ์ง
(๊ธฐํธ ํ ์ด๋ธ์) ์ง์ญ ๊ธฐํธ๋ฅผ ์ ์งํฉ๋๋ค. ์ด ๊ธฐํธ๋ ๋ค์์ผ๋ก ์์ํฉ๋๋ค.
์์คํ ๋ณ ๋ก์ปฌ ๋ ์ด๋ธ ์ ๋์ฌ, ์ผ๋ฐ์ ์ผ๋ก .L ELF ์์คํ ์ฉ
or L ์ ํต์ ์ธ.out ์์คํ ์ ๊ฒฝ์ฐ.
--๋ชฉ๋ก-lhs-ํญ=๋ฒํธ
์ถ๋ ฅ ๋ฐ์ดํฐ ์ด์ ์ต๋ ๋๋น๋ฅผ ๋จ์ด ๋จ์๋ก ์ค์ ํฉ๋๋ค.
์ด์ ๋ธ๋ฌ ๋ชฉ๋ก ๋ฒํธ.
--๋ชฉ๋ก-lhs-width2=๋ฒํธ
์ถ๋ ฅ ๋ฐ์ดํฐ ์ด์ ์ต๋ ๋๋น๋ฅผ ๋จ์ด ๋จ์๋ก ์ค์ ํฉ๋๋ค.
์ด์ ๋ธ๋ฌ ๋ชฉ๋ก์ ์ฐ์ ๋ผ์ธ ๋ฒํธ.
--๋ชฉ๋ก-rhs-ํญ=๋ฒํธ
๋ค์๊ณผ ๊ฐ์ด ์ ๋ ฅ ์์ค ๋ผ์ธ์ ์ต๋ ๋๋น๋ฅผ ์ค์ ํฉ๋๋ค.
๋ชฉ๋ก, ์ ๋ฒํธ ๋ฐ์ดํธ.
--๋ชฉ๋ก-๊ณ์-๋ผ์ธ=๋ฒํธ
๋จ์ผ ๋ชฉ๋ก์ ์ธ์๋๋ ์ต๋ ์ค ์๋ฅผ ์ค์ ํฉ๋๋ค.
์ ๋ ฅ ๋ผ์ธ ๋ฒํธ + 1.
-o ๊ฐ์ฒด ํ์ผ
๊ฐ์ฒด ํ์ผ ์ถ๋ ฅ์ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค. as ๊ฐ์ฒด ํ์ผ.
-R ๋ฐ์ดํฐ ์น์ ์ ํ ์คํธ ์น์ ์ผ๋ก ์ ์ต๋๋ค.
--ํด์ ํฌ๊ธฐ=๋ฒํธ
GAS ํด์ ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํฌ๊ธฐ๋ฅผ ์์๋ก ์ค์ ํฉ๋๋ค.
์ ๋ฒํธ. ์ด ๊ฐ์ ๋๋ฆฌ๋ฉด ์๊ฐ์ด ๋จ์ถ๋ ์ ์์ต๋๋ค.
์ด์ ๋ธ๋ฌ๊ฐ ์์ ์ ์ํํ๋๋ก ํ๋ ๋ฐ ํ์ํ ๋น์ฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ด์ ๋ธ๋ฌ์ ๋ฉ๋ชจ๋ฆฌ ์๊ตฌ ์ฌํญ์ด ์ฆ๊ฐํฉ๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ๊ฐ์
์ด ๊ฐ์ ์ฌ์ฉํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ์๊ตฌ ์ฌํญ์ ์ค์ผ ์ ์์ต๋๋ค.
์๋.
--๋ฉ๋ชจ๋ฆฌ ์ค๋ฒํค๋ ๊ฐ์
์ด ์ต์ ์ GAS์ ๋ฉ๋ชจ๋ฆฌ ์๊ตฌ ์ฌํญ์ ์ค์ ๋๋ค.
์กฐ๋ฆฝ ๊ณต์ ์ ๋๋ฆฌ๊ฒ ๋ง๋ญ๋๋ค. ํ์ฌ ์ด ์ค์์น๋
๋์์ด --ํด์ ํฌ๊ธฐ=4051ํ์ง๋ง ์์ผ๋ก๋ ๋ค๋ฅธ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋ ์๋ ์์ต๋๋ค.
ํจ๊ณผ๋.
--์นํธ์ด๋ฆ-์๋ธ์คํธ
์น์ ์ด๋ฆ์ ๋์ฒด ์ํ์ค๋ฅผ ์กด์คํฉ๋๋ค.
--ํต๊ณ
์ฌ์ฉ๋ ์ต๋ ๊ณต๊ฐ(๋ฐ์ดํธ)๊ณผ ์ด ์๊ฐ(์ด)์ ์ธ์ํฉ๋๋ค.
์กฐ๋ฆฝ์ผ๋ก.
--์คํธ๋ฆฝ-๋ก์ปฌ-์ ๋
๋๊ฐ๋ ๊ธฐํธ ํ ์ด๋ธ์์ ๋ก์ปฌ ์ ๋ ๊ธฐํธ๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
-v
-๋ฒ์ญ
์ธ์ as ๋ฒ์ญ.
--๋ฒ์ญ
์ธ์ as ๋ฒ์ ๋ฐ ์ข ๋ฃ.
-W
--๊ฒฝ๊ณ ์์
๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ์ต์ ํฉ๋๋ค.
--์น๋ช ์ ์ธ ๊ฒฝ๊ณ
๊ฒฝ๊ณ ๋ฅผ ์ค๋ฅ๋ก ์ฒ๋ฆฌํ์ญ์์ค.
--๊ฒฝ๊ณ ํ๋ค
๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ํ์ํ์ง ์๊ฑฐ๋ ์ค๋ฅ๋ก ์ฒ๋ฆฌํ์ง ๋ง์ญ์์ค.
-w ๋ฌด์๋จ.
-x ๋ฌด์๋จ.
-Z ์ค๋ฅ๊ฐ ๋ฐ์ํ ํ์๋ ๊ฐ์ฒด ํ์ผ์ ์์ฑํฉ๋๋ค.
-- | ํ์ผ ...
ํ์ค ์ ๋ ฅ ๋๋ ์ด์ ๋ธํ ์์ค ํ์ผ.
๋ค์ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ARM ์ํคํ ์ฒ(AArch64)์ 64๋นํธ ๋ชจ๋์ ๋๋ค.
-EB ์ด ์ต์ ์ ์ด์ ๋ธ๋ฌ๊ฐ ์์ฑํ ์ถ๋ ฅ์ ์ง์ ํฉ๋๋ค.
๋น ์๋์ ํ๋ก์ธ์์ฉ์ผ๋ก ์ธ์ฝ๋ฉ๋ ๊ฒ์ผ๋ก ํ์๋์ด์ผ ํฉ๋๋ค.
-์์ ์ด ์ต์ ์ ์ด์ ๋ธ๋ฌ๊ฐ ์์ฑํ ์ถ๋ ฅ์ ์ง์ ํฉ๋๋ค.
๋ฆฌํ ์๋์ ํ๋ก์ธ์์ฉ์ผ๋ก ์ธ์ฝ๋ฉ๋ ๊ฒ์ผ๋ก ํ์๋์ด์ผ ํฉ๋๋ค.
-๋ง๋น=ABI
์์ค ์ฝ๋๊ฐ ์ฌ์ฉํ๋ ABI๋ฅผ ์ง์ ํฉ๋๋ค. ์ธ์ ๋ ์ฃผ์ฅ
"ilp32" ๋ฐ "lp64"๋ ์์ฑ๋ ๊ฐ์ฒด ํ์ผ์ ๊ฒฐ์ ํฉ๋๋ค.
๊ฐ๊ฐ ELF32 ๋ฐ ELF64 ํ์์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ "lp64"์ ๋๋ค.
-mcpu =ํ๋ก์ธ์[+ํ์ฅ์...]
์ด ์ต์ ์ ๋์ ํ๋ก์ธ์๋ฅผ ์ง์ ํฉ๋๋ค. ์ด์ ๋ธ๋ฌ๋
์กฐ๋ฆฝ์ ์๋ํ๋ฉด ์ค๋ฅ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
๋์ ํ๋ก์ธ์์์ ์คํ๋์ง ์๋ ๋ช ๋ น์ด์ ๋๋ค. ๊ทธ๋งํผ
๋ค์ ํ๋ก์ธ์ ์ด๋ฆ์ด ์ธ์๋ฉ๋๋ค: "cortex-a35",
"cortex-a53", "cortex-a57", "cortex-a72", "exynos-m1", "qdf24xx",
"thunderx", "xgene1" ๋ฐ "xgene2". ํน์ ์ด๋ฆ "all"์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ด์ ๋ธ๋ฌ๊ฐ ๋ชจ๋ ํญ๋ชฉ์ ์ ํจํ ๋ช ๋ น์ด๋ฅผ ์๋ฝํ ์ ์๋๋ก ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๋ชจ๋ ์ ํ์ ํ์ฅ์ ํฌํจํ์ฌ ์ง์๋๋ ํ๋ก์ธ์.
๊ธฐ๋ณธ ๋ช ๋ น์ด ์ธํธ ์ธ์๋ ์ด์ ๋ธ๋ฌ์๊ฒ ์ง์ํ ์ ์์ต๋๋ค.
ํ์ฅํ๋ ๋ค์ํ ํ์ฅ ๋๋ชจ๋์ ํ์ฉํ๊ฑฐ๋ ์ ํํ๋ ค๋ฉด
ํ๋ก์ธ์.
ํน์ ํ๋ก์ธ์์ ์ผ๋ถ ๊ตฌํ์ด
ํ์ฅ์ ์ ํํ๋ฉด ํด๋น ํ์ฅ์ด ์๋์ผ๋ก ํ์ฑํ๋ฉ๋๋ค.
๋ฐ๋ผ์ ์ผ๋ฐ์ ์ผ๋ก ์ถ๊ฐ๋ก ์ง์ ํ ํ์๊ฐ ์์ต๋๋ค.
ํ์ฅ.
-ํ์ง=์ํคํ ์ฒ[+ํ์ฅ์...]
์ด ์ต์ ์ ๋์ ์ํคํ ์ฒ๋ฅผ ์ง์ ํฉ๋๋ค. ์ด์ ๋ธ๋ฌ๋
์กฐ๋ฆฝ์ ์๋ํ๋ฉด ์ค๋ฅ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
ํ๊ฒ ์ํคํ ์ฒ์์ ์คํ๋์ง ์๋ ๋ช ๋ น์ด์ ๋๋ค. ๊ทธ๋งํผ
๋ค์ ์ํคํ ์ฒ ์ด๋ฆ์ด ์ธ์๋ฉ๋๋ค: "armv8-a", "armv8.1-a"
๊ทธ๋ฆฌ๊ณ "armv8.2-a".
๋ ๋ค -mcpu ๊ณผ -XNUMX ์ ์ง์ ๋๋ฉด ์ด์ ๋ธ๋ฌ๋
์ ๋ํ ์ค์ -mcpu. ๋ ๋ค ์ง์ ๋์ง ์์ผ๋ฉด ์ด์ ๋ธ๋ฌ๋
๊ธฐ๋ณธ๊ฐ์ -mcpu=๋ชจ๋.
๋์ผํ ๋ช ๋ น์ด๋ก ์ํคํ ์ฒ ์ต์ ์ ํ์ฅํ ์ ์์ต๋๋ค.
ํ์ฅ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ด ์ค์ ํฉ๋๋ค. -mcpu ์ต์ . ๊ฐ์ง ์์ -mcpu,
ํ์ฅ ๊ธฐ๋ฅ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํญ์ ํ์ฑํ๋์ด ์์ง๋ ์์ต๋๋ค.
-mverbose-์ค๋ฅ
์ด ์ต์ ์ AArch64 ๊ฐ์ค์ ๋ํ ์์ธํ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ํ์ฑํํฉ๋๋ค. ์ด๊ฒ
์ต์ ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ด ์์ต๋๋ค.
-mno-verbose-์ค๋ฅ
์ด ์ต์ ์ AArch64 ๊ฐ์ค์์ ์์ธํ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ๋นํ์ฑํํฉ๋๋ค.
Alpha์ ๋ํด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ๋ค์ ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ๋ก์ธ์.
-mCPU
์ด ์ต์ ์ ๋์ ํ๋ก์ธ์๋ฅผ ์ง์ ํฉ๋๋ค. ์๋๊ฐ ์ด๋ฃจ์ด์ง๋ฉด
ํ๊ฒ์์ ์คํ๋์ง ์๋ ๋ช ๋ น์ด๋ฅผ ์กฐํฉํ๋ ๊ฒ
ํ๋ก์ธ์์์ ์ด์ ๋ธ๋ฌ๋ ๋ช ๋ น์ด๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ํ์ฅํ ์ ์์ต๋๋ค.
๋งคํฌ๋ก๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ๋ฐํํฉ๋๋ค. ์ด ์ต์ ์
".arch" ์ง์์ด.
๋ค์ ํ๋ก์ธ์ ์ด๋ฆ์ด ์ธ์๋ฉ๋๋ค: 21064, "21064a",
21066, 21068, 21164, "21164a", "21164pc", 21264, "21264a",
"21264b", "ev4", "ev5", "lca45", "ev5", "ev56", "pca56", "ev6",
"ev67", "ev68". ํน์ ์ด๋ฆ "all"์ ์ฌ์ฉํ์ฌ ๋ค์์ ํ์ฉํ ์ ์์ต๋๋ค.
๋ชจ๋ Alpha ํ๋ก์ธ์์ ์ ํจํ ๋ช ๋ น์ ์๋ฝํ๋ ์ด์ ๋ธ๋ฌ.
OSF/1์ ๊ธฐ์กด ๊ดํ์ ์ง์ํ๊ธฐ ์ํด
".arch" ๋ฐ ๊ธฐ์กด ๊ดํ ๋ฐ๋ก (๋ฆฌ๋ ์ค ARC
๋ถํธ๋ก๋) ๋ฒํธ๊ฐ ๋งค๊ฒจ์ง ํ๋ก์ธ์ ์ด๋ฆ(์: 21064)์ ์ฌ์ฉํ๋ฉด
ํ๋ก์ธ์๋ณ PALcode ๋ช ๋ น์ด, "electro-vlasic"
์ด๋ฆ(์: "ev4")์ ๊ทธ๋ ์ง ์์ต๋๋ค.
-m๋๋ฒ๊ทธ
-mdebug ์์
".mdebug" ์บก์ํ ์์ฑ์ ํ์ฑํํ๊ฑฐ๋ ๋นํ์ฑํํฉ๋๋ค.
Stabs ์ง์์ด์ ํ๋ก์์ ์ค๋ช ์. ๊ธฐ๋ณธ๊ฐ์
์ฒซ ๋ฒ์งธ Stabs ์ง์๋ฌธ์ด ๋ค์๊ณผ ๊ฐ์ ๋ ์๋์ผ๋ก ".mdebug"๋ฅผ ํ์ฑํํฉ๋๋ค.
๋ณธ.
-ํธํ๊ฒ ํ๋ค
์ด ์ต์ ์ ๋ชจ๋ ์ฌ๋ฐฐ์น๋ฅผ ๊ฐ์ ๋ก ๊ฐ์ฒด ํ์ผ์ ์ ์ฅํฉ๋๋ค.
๊ณต๊ฐ์ ์ ์ฝํ๊ณ ์กฐ๋ฆฝ ์ ์ผ๋ถ ์ฌ๋ฐฐ์น๋ฅผ ํด๊ฒฐํ๋ ๋์
์๊ฐ. ์ด ์ต์ ์ ๋ชจ๋ ๊ธฐํธ๋ฅผ ์ ํํ์ง ์๋๋ค๋ ์ ์ ์ ์ํ์ญ์์ค.
๋ชจ๋ ๊ธฐํธ ์ฐ์ฐ์ด ์๋๊ธฐ ๋๋ฌธ์ ์ฐ์ฐ์ ๊ฐ์ฒด ํ์ผ์ ์ถ๊ฐํฉ๋๋ค.
ํํ๋ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ ์ฌ์ ํ ์ ์ฉํ ์ ์์ต๋๋ค.
ํน์ ์์ฉ ํ๋ก๊ทธ๋จ.
-๋ฐ๊พธ๋ค
- ๋์ฒดํ ๊ณณ์ด ์๋ค
ํ๋ก์์ ํธ์ถ์ ์ต์ ํ๋ฅผ ํ์ฑํํ๊ฑฐ๋ ๋นํ์ฑํํฉ๋๋ค.
์กฐ๋ฆฝ ๋ฐ ๋งํฌ ํ์์. ์ด ์ต์ ์ ๋ค์ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
VMS ๋์์ด๋ฉฐ "-replace"๊ฐ ๊ธฐ๋ณธ๊ฐ์ ๋๋ค. ์น์ 1.4.1์ ์ฐธ์กฐํ์ธ์.
OpenVMS ๋ง์ปค ์ ํธ๋ฆฌํฐ ์ค๋ช ์.
-g ์ด ์ต์ ์ ์ปดํ์ผ๋ฌ๊ฐ ๋๋ฒ๊ทธ ์ ๋ณด๋ฅผ ์์ฑํ ๋ ์ฌ์ฉ๋ฉ๋๋ค.
์ธ์ ๋ค ๊ณต์ ํ๋งค์ ์ธ GCC ์ฌ์ฉ ์ค mips-tfile ๋๋ฒ๊ทธ ์ ๋ณด๋ฅผ ์์ฑํ๋ ค๋ฉด
ECOFF, ๋ก์ปฌ ๋ ์ด๋ธ์ ๊ฐ์ฒด ํ์ผ์ ํตํด ์ ๋ฌ๋์ด์ผ ํฉ๋๋ค.
๊ทธ๋ ์ง ์์ผ๋ฉด ์ด ์ต์ ์ ํจ๊ณผ๊ฐ ์์ต๋๋ค.
-Gํฌ๊ธฐ
๋ณด๋ค ํฐ ์ง์ญ ๊ณตํต ๊ธฐํธ ํฌ๊ธฐ ".bss"์ ์์นํ์ง๋ง
๋ ์์ ๊ธฐํธ๋ ".sbss"์ ๋ฐฐ์น๋ฉ๋๋ค.
-F
-32์ฃผ์
์ด๋ฌํ ์ต์ ์ ์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ์ํด ๋ฌด์๋ฉ๋๋ค.
ARC์ ๋ํด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ๋ค์ ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ๋ก์ธ์.
-mcpu =CPU
์ด ์ต์ ์ ์ฝ์ด ํ๋ก์ธ์ ๋ณํ์ ์ ํํฉ๋๋ค.
-EB | -์์
๋น ์๋์(-EB) ๋๋ ๋ฆฌํ ์๋์(-EL) ์ถ๋ ฅ์ ์ ํํฉ๋๋ค.
-mcode ๋ฐ๋
์ฝ๋ ๋ฐ๋ ํ์ฅ ์ง์นจ์ ํ์ฑํํฉ๋๋ค.
ARM์ ๋ํด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ๋ค์ ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ๋ก์ธ์ ์ ํ๊ตฐ.
-mcpu =ํ๋ก์ธ์[+ํ์ฅ์...]
ํ๊ฒ์ด ๋๋ ARM ํ๋ก์ธ์ ๋ณํ์ ์ง์ ํฉ๋๋ค.
-ํ์ง=์ํคํ ์ฒ[+ํ์ฅ์...]
๋์์์ ์ฌ์ฉํ๋ ARM ์ํคํ ์ฒ ๋ณํ์ ์ง์ ํฉ๋๋ค.
-mfpu=๋ถ๋ ์์์ ํ์
๋์์ด ๋ ๋ถ๋ ์์์ ์ํคํ ์ฒ๋ฅผ ์ ํํ์ญ์์ค.
-mfloat-abi=ABI
์ฌ์ฉ ์ค์ธ ๋ถ๋ ์์์ ABI๋ฅผ ์ ํํ์ญ์์ค.
-์์ง์๊ฐ๋ฝ
Thumb ์ ์ฉ ๋ช ๋ น์ด ๋์ฝ๋ฉ์ ํ์ฑํํฉ๋๋ค.
-mapcs-32 | -mapcs-26 | -mapcs-ํ๋กํธ | -mapcs-์ฌ์ง์
์ฌ์ฉ ์ค์ธ ํ๋ก์์ ํธ์ถ ๊ท์น์ ์ ํํ์ญ์์ค.
-EB | -์์
๋น ์๋์(-EB) ๋๋ ๋ฆฌํ ์๋์(-EL) ์ถ๋ ฅ์ ์ ํํฉ๋๋ค.
-mthumb-์ฐ๋
์ํธ ์ฐ๋ํ์ฌ ์ฝ๋๊ฐ ์์ฑ๋์์์ ์ง์ ํฉ๋๋ค.
Thumb ๋ฐ ARM ์ฝ๋๋ฅผ ์ผ๋์ ๋์ธ์.
-mccs
CodeComposer Studio ์ด์ ๋ธ๋ฆฌ ๊ตฌ๋ฌธ ํธํ์ฑ ๋ชจ๋๋ฅผ ์ผญ๋๋ค.
-k PIC ์ฝ๋๊ฐ ์์ฑ๋์์์ ์ง์ ํฉ๋๋ค.
๋ค์ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Blackfin ํ๋ก์ธ์ ์ ํ๊ตฐ.
-mcpu =ํ๋ก์ธ์[-ํ๊ฒฌ]
์ด ์ต์ ์ ๋์ ํ๋ก์ธ์๋ฅผ ์ง์ ํฉ๋๋ค. ์ ํ ์ฌํญ
ํ๊ฒฌ ์ด์ ๋ธ๋ฌ์์๋ ์ฌ์ฉ๋์ง ์์ต๋๋ค. GCC๊ฐ ํ ์ ์๋ ๊ฒ์ด ์ฌ๊ธฐ์ ์์ต๋๋ค.
"-mcpu=" ์ต์ ์ ์ฝ๊ฒ ์ ๋ฌํ ์ ์์ต๋๋ค. ์ด์ ๋ธ๋ฌ๋
๋ช ๋ น์ด๋ฅผ ์กฐํฉํ๋ ค๊ณ ํ๋ฉด ์ค๋ฅ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
์ด๋ ๋์ ํ๋ก์ธ์์์ ์คํ๋์ง ์์ต๋๋ค. ๋ค์๊ณผ ๊ฐ์
ํ๋ก์ธ์ ์ด๋ฆ์ "bf504", "bf506", "bf512", "bf514"๋ก ์ธ์๋ฉ๋๋ค.
"bf516", "bf518", "bf522", "bf523", "bf524", "bf525", "bf526",
"bf527", "bf531", "bf532", "bf533", "bf534", "bf535"(์๋จ)
์์ง ๊ตฌํ๋์ง ์์), "bf536", "bf537", "bf538", "bf539", "bf542",
"bf542m", "bf544", "bf544m", "bf547", "bf547m", "bf548", "bf548m",
"bf549", "bf549m", "bf561", "bf592".
-mfdpic
FDPIC ABI๋ฅผ ์ํด ์กฐ๋ฆฝํฉ๋๋ค.
-mno-fdpic
-mnopic
-mfdpic์ ๋นํ์ฑํํฉ๋๋ค.
CRIS ๊ด๋ จ ์ต์ ์ ๋ํ ๋ฌธ์๋ ์ ๋ณด ํ์ด์ง๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
D10V์ ๋ํด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ๋ค์ ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ๋ก์ธ์.
-O ๋ช ๋ น์ ๋ณ๋ ฌํํ์ฌ ์ถ๋ ฅ์ ์ต์ ํํฉ๋๋ค.
D30V์ ๋ํด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ๋ค์ ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ๋ก์ธ์.
-O ๋ช ๋ น์ ๋ณ๋ ฌํํ์ฌ ์ถ๋ ฅ์ ์ต์ ํํฉ๋๋ค.
-n nop๊ฐ ์์ฑ๋ ๋ ๊ฒฝ๊ณ ํฉ๋๋ค.
-N 32๋นํธ ๊ณฑํ๊ธฐ ๋ช ๋ น์ด ์ดํ์ nop๊ฐ ์์ฑ๋๋ฉด ๊ฒฝ๊ณ ํฉ๋๋ค.
๋ค์ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฃผํ์ ํ๋ก์ธ์.
-๋ฉํผํ๋
32๋นํธ ๋ฐ 16๋นํธ ๋ช ๋ น์ด๊ฐ ๋ชจ๋ ํ์ฉ๋๋๋ก ์ง์ ํฉ๋๋ค.
์ด๊ฒ์ด ๊ธฐ๋ณธ ๋์์ ๋๋ค.
-๋ฉํผํ๋16
ํ์ฉ๋ ๋ช ๋ น์ด๋ฅผ 16๋นํธ ์ธํธ๋ก๋ง ์ ํํฉ๋๋ค.
H8/300์ ๋ํด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ๋ค์ ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ๋ก์ธ์. @chapter H8/300 ์ข ์ ๊ธฐ๋ฅ
์ต์
"as"์ Renesas H8/300 ๋ฒ์ ์๋ ํ๋์ ์์คํ ์ข ์ ์ต์ ์ด ์์ต๋๋ค.
-h-ํฑ-ํฅ์ค
00x0 ์คํ์ผ ์ธ์๋ H'00 ์คํ์ผ์ XNUMX์ง์ ์์๋ฅผ ์ง์ํฉ๋๋ค.
-๋งํ=name
H8300 ๊ธฐ๊ณ ๋ณํ์ ์ค์ ํฉ๋๋ค. ๋ค์ ๊ธฐ๊ณ ์ด๋ฆ์
์ธ์๋จ: "h8300h", "h8300hn", "h8300s", "h8300sn", "h8300sx" ๋ฐ
"h8300sxn".
i386์ ๋ํด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ๋ค์ ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ๋ก์ธ์.
- 32 | --x32 | - 64
32๋นํธ ๋๋ 64๋นํธ ์ค์์ ์๋ ํฌ๊ธฐ๋ฅผ ์ ํํฉ๋๋ค. - 32 ์๋ฏธํ๋ค
Intel i386 ์ํคํ ์ฒ, --x32 ๊ณผ - 64 AMD x86-64 ์์
๊ฐ๊ฐ 32๋นํธ ๋๋ 64๋นํธ ์๋ ํฌ๊ธฐ์ ์ํคํ ์ฒ์ ๋๋ค.
์ด๋ฌํ ์ต์ ์ ELF ๊ฐ์ฒด ํ์ผ ํ์์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ์ํ BFD ์ง์์ด ํฌํจ๋๋๋ก ์๊ตฌํฉ๋๋ค(
32๋นํธ ํ๋ซํผ์์๋ --enable-64-bit-bfd๋ฅผ ์ถ๊ฐํ์ฌ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค.
64๋นํธ ์ฌ์ฉ์ ํ์ฑํํ๊ณ x86-64๋ฅผ ๋์ ํ๋ซํผ์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
-n ๊ธฐ๋ณธ์ ์ผ๋ก x86 GAS๋ ๋ค์ ์์ ์ ์ฌ์ฉ๋๋ ์ฌ๋ฌ nop ๋ช ๋ น์ด๋ฅผ ๋์ฒดํฉ๋๋ค.
๋ฉํฐ๋ฐ์ดํธ nop ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋ ์น์ ๋ด ์ ๋ ฌ
์๋ฅผ ๋ค์ด leal 0(%esi,1),%esi. ์ด ์ค์์น๋
์ต์ ํ.
--๋๋๊ธฐ
SVR4 ํ์ ํ๋ซํผ์์ ์บ๋ฆญํฐ๋ / ๋๊ธ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค
๋ฌธ์๋ ํํ์์ ์ฌ์ฉํ ์ ์์์ ์๋ฏธํฉ๋๋ค. ๊ทธ๋งํผ
--๋๋๊ธฐ ์ต์ ํ์ / ์ผ๋ฐ ์บ๋ฆญํฐ๋ก. ์ด๊ฒ์ ๊ทธ๋ ์ง ์์ต๋๋ค
๋นํ์ฑํ / ์ฃผ์์ ์์ํ๋ ์ค์ ์์ ๋ถ๋ถ์, ๋๋ ์ํฅ์ ๋ฏธ์น๊ธฐ ์ํด
์ฌ์ฉ # ๋๊ธ์ ์์ํฉ๋๋ค.
-ํ์ง=CPU[+์ ์ฅ...]
์ด ์ต์ ์ ๋์ ํ๋ก์ธ์๋ฅผ ์ง์ ํฉ๋๋ค. ์ด์ ๋ธ๋ฌ๋
์กฐ๋ฆฝ์ ์๋ํ๋ฉด ์ค๋ฅ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
๋์ ํ๋ก์ธ์์์ ์คํ๋์ง ์๋ ๋ช ๋ น์ด์ ๋๋ค. ๊ทธ๋งํผ
๋ค์ ํ๋ก์ธ์ ์ด๋ฆ์ด ์ธ์๋ฉ๋๋ค: "i8086", "i186", "i286",
"i386", "i486", "i586", "i686", "ํํฐ์", "ํํฐ์ํ๋ก",
"ํํฐ์ii", "ํํฐ์iii", "ํํฐ์4", "ํ๋ ์ค์ฝํธ", "๋ ธ์ฝ๋",
"์ฝ์ด", "core2", "corei7", "l1om", "k1om", "iamcu", "k6", "k6_2",
"athlon", "opteron", "k8", "amdfam10", "bdver1", "bdver2",
"bdver3", "bdver4", "znver1", "btver1", "btver2", "generic32" ๋ฐ
"generic64".
๊ธฐ๋ณธ ๋ช ๋ น์ด ์ธํธ ์ธ์๋ ์ด์ ๋ธ๋ฌ์๊ฒ ์ง์ํ ์ ์์ต๋๋ค.
๋ค์ํ ํ์ฅ ๋๋ชจ๋์ ํ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด,
"-march=i686+sse4+vmx" ํ์ฅ i686 ๊ณผ ์ธ4 ๊ณผ VMX. ๊ทธ๋งํผ
ํ์ฌ ์ง์๋๋ ํ์ฅ์๋ 8087, 287, 387์ ๋๋ค.
"no87", "mmx", "nommx", "sse", "sse2", "sse3", "ssse3", "sse4.1",
"sse4.2", "sse4", "nosse", "avx", "avx2", "adx", "rdseed",
"prfchw", "smap", "mpx", "sha", "prefetchwt1", "clflushopt", "se1",
"clwb", "pcommit", "avx512f", "avx512cd", "avx512er", "avx512pf",
"avx512vl", "avx512bw", "avx512dq", "avx512ifma", "avx512vbmi",
"noavx", "vmx", "vmfunc", "smx", "xsave", "xsaveopt", "xsavec",
"xsaves", "aes", "pclmul", "fsgsbase", "rdrnd", "f16c", "bmi2",
"fma", "movbe", "ept", "lzcnt", "hle", "rtm", "invpcid", "clflush",
"mwaitx", "clzero", "lwp", "fma4", "xop", "cx16", "syscall",
"rdtscp", "3dnow", "3dnowa", "sse4a", "sse5", "svme", "abm" ๋ฐ
"๋งน๊ฝ์ด ์๋ฌผ์ ". ๊ธฐ๋ณธ ์ง์นจ์ ํ์ฅํ๋ ๋์
์ค์ ํ๋ฉด "no"๋ก ์์ํ๋ ํ์ฅ ๋๋ชจ๋์ด ์ทจ์๋ฉ๋๋ค.
ํด๋น ๊ธฐ๋ฅ.
".arch" ์ง์๋ฌธ์ด ๋ค์๊ณผ ํจ๊ป ์ฌ์ฉ๋ ๋ -XNUMX ์, ".arch"
์ง์๊ฐ ์ฐ์ ์ ์ฉ๋ฉ๋๋ค.
-mtune=CPU
์ด ์ต์ ์ ์ต์ ํํ ํ๋ก์ธ์๋ฅผ ์ง์ ํฉ๋๋ค. ์์ ์ฌ์ฉ๋ ๋
์ ํจ๊ป -XNUMX ์ ์ต์ , ์ง์นจ๋ง
์ ์ํด ์ง์ ๋ ํ๋ก์ธ์ -XNUMX ์ ์ต์ ์ด ์์ฑ๋ฉ๋๋ค.
์ ํจํ CPU ๊ฐ์ ์ ํ๋ก์ธ์ ๋ชฉ๋ก๊ณผ ๋์ผํฉ๋๋ค. -ํ์ง=CPU.
-msse2avx
์ด ์ต์ ์ ์ด์ ๋ธ๋ฌ๊ฐ SSE๋ฅผ ์ธ์ฝ๋ฉํด์ผ ํจ์ ์ง์ ํฉ๋๋ค.
VEX ์ ๋์ฌ๊ฐ ์๋ ์ง์นจ.
-msse-์ฒดํฌ=์์
-msse-์ฒดํฌ=๊ฒฝ๊ณ
-msse-์ฒดํฌ=์ค๋ฅ
์ด๋ฌํ ์ต์ ์ ์ด์ ๋ธ๋ฌ๊ฐ SSE๋ฅผ ํ์ธํด์ผ ํ๋์ง ์ฌ๋ถ๋ฅผ ์ ์ดํฉ๋๋ค.
๋์๋ง์ ์ฐธ์กฐํ์ญ์์ค. -msse-์ฒดํฌ=์์ ์ด์ ๋ธ๋ฌ๊ฐํ์ง ์๋๋ก ๋ง๋ค ๊ฒ์ ๋๋ค
๊ธฐ๋ณธ๊ฐ์ธ SSE ์ง์นจ์ ํ์ธํ์ธ์. -msse-์ฒดํฌ=๊ฒฝ๊ณ
์ด์ ๋ธ๋ฌ๊ฐ SSE ๋ช ๋ น์ด์ ๋ํด ๊ฒฝ๊ณ ๋ฅผ ๋ฐํํ๋๋ก ํฉ๋๋ค.
-msse-์ฒดํฌ=์ค๋ฅ ์ด์ ๋ธ๋ฌ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋๋ก ๋ง๋ญ๋๋ค.
SSE ์ง์.
-mavxscalar =128
-mavxscalar =256
์ด๋ฌํ ์ต์ ์ ์ด์ ๋ธ๋ฌ๊ฐ ์ค์นผ๋ผ AVX๋ฅผ ์ธ์ฝ๋ฉํ๋ ๋ฐฉ๋ฒ์ ์ ์ดํฉ๋๋ค.
๋์๋ง์ ์ฐธ์กฐํ์ญ์์ค. -mavxscalar =128 ์ค์นผ๋ผ AVX ๋ช ๋ น์ด๋ฅผ ์ธ์ฝ๋ฉํฉ๋๋ค.
๊ธฐ๋ณธ๊ฐ์ 128๋นํธ ๋ฒกํฐ ๊ธธ์ด์ ๋๋ค. -mavxscalar =256
256๋นํธ ๋ฒกํฐ ๊ธธ์ด์ ์ค์นผ๋ผ AVX ๋ช ๋ น์ด๋ฅผ ์ธ์ฝ๋ฉํฉ๋๋ค.
-๋ฉ๋ฒก์ค๋ฆฌ๊ทธ=128
-๋ฉ๋ฒก์ค๋ฆฌ๊ทธ=256
-๋ฉ๋ฒก์ค๋ฆฌ๊ทธ=512
์ด๋ฌํ ์ต์ ์ ์ด์ ๋ธ๋ฌ๊ฐ ๊ธธ์ด๋ฅผ ์ธ์ฝ๋ฉํ๋ ๋ฐฉ๋ฒ์ ์ ์ดํฉ๋๋ค.
(LIG) EVEX ๋ช ๋ น์ ๋ฌด์ํ์ต๋๋ค. -๋ฉ๋ฒก์ค๋ฆฌ๊ทธ=128 LIG๋ฅผ ์ธ์ฝ๋ฉํฉ๋๋ค
๊ธฐ๋ณธ๊ฐ์ธ 128๋นํธ ๋ฒกํฐ ๊ธธ์ด์ EVEX ๋ช ๋ น์ด์ ๋๋ค.
-๋ฉ๋ฒก์ค๋ฆฌ๊ทธ=256 ๊ณผ -๋ฉ๋ฒก์ค๋ฆฌ๊ทธ=512 LIG EVEX ๋ช ๋ น์ด๋ฅผ ์ธ์ฝ๋ฉํฉ๋๋ค.
๋ฒกํฐ ๊ธธ์ด๋ ๊ฐ๊ฐ 256๋นํธ์ 512๋นํธ์ ๋๋ค.
-๋ฉ๋ฒก์ค์๊ทธ=0
-๋ฉ๋ฒก์ค์๊ทธ=1
์ด๋ฌํ ์ต์ ์ ์ด์ ๋ธ๋ฌ๊ฐ w-ignored๋ฅผ ์ธ์ฝ๋ฉํ๋ ๋ฐฉ๋ฒ์ ์ ์ดํฉ๋๋ค.
(WIG) EVEX ์ง์นจ. -๋ฉ๋ฒก์ค์๊ทธ=0 WIG EVEX๋ฅผ ์ธ์ฝ๋ฉํฉ๋๋ค.
evex.w = 0(๊ธฐ๋ณธ๊ฐ)์ ์ฌ์ฉํ๋ ๋ช ๋ น์ด์ ๋๋ค. -๋ฉ๋ฒก์ค์๊ทธ=1
evex.w = 1๋ก WIG EVEX ๋ช ๋ น์ด๋ฅผ ์ธ์ฝ๋ฉํฉ๋๋ค.
-mmnemonic=์
-mmnemonic=์ ๋ณด
์ด ์ต์ ์ ์ผ์น๋ฅผ ์ํ ๋ช ๋ น์ด ๋๋ชจ๋์ ์ง์ ํฉ๋๋ค.
์ง์นจ. ".att_mnemonic" ๋ฐ ".intel_mnemonic" ์ง์๋ฌธ
์ฐ์ ์ ์ผ๋ก ์ ์ฉ๋ฉ๋๋ค.
-ms๊ตฌ๋ฌธ=์
-ms๊ตฌ๋ฌธ=์ ๋ณด
์ด ์ต์ ์ ์ฒ๋ฆฌ ์ ๋ช ๋ น์ด ๊ตฌ๋ฌธ์ ์ง์ ํฉ๋๋ค.
์ง์นจ. ".att_syntax" ๋ฐ ".intel_syntax" ์ง์๋ฌธ
์ฐ์ ์ ์ผ๋ก ์ ์ฉ๋ฉ๋๋ค.
-mnaked-reg
์ด ์ต์ ์ ๋ ์ง์คํฐ๊ฐ % ์ ๋์ฌ.
".att_syntax" ๋ฐ ".intel_syntax" ์ง์๋ฌธ์ ๋ค์์ ์ํํฉ๋๋ค.
์ ๋ก.
-madd-bnd-์ ๋์ฌ
์ด ์ต์ ์ ์ด์ ๋ธ๋ฌ๊ฐ ๋ชจ๋ ๋ถ๊ธฐ์ BND ์ ๋์ฌ๋ฅผ ์ถ๊ฐํ๋๋ก ๊ฐ์ ํฉ๋๋ค.
ํด๋น ์ ๋์ฌ๊ฐ ์์ค์ ๋ช ์์ ์ผ๋ก ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ์๋
์ํธ.
-mno ๊ณต์
ELF ๋์์์ ์ด์ ๋ธ๋ฌ๋ ์ผ๋ฐ์ ์ผ๋ก ๋น PLT๋ฅผ ์ต์ ํํฉ๋๋ค.
์ ์๋ ์ฝํ์ง ์์ ์ ์ญ ๋ถ๊ธฐ ๋์์ ๋ํ ์ฌ๋ฐฐ์น
๊ธฐ๋ณธ ๊ฐ์์ฑ. ๊ทธ๋งํผ -m๊ณต์ ์ต์ ์ ์ด์ ๋ธ๋ฌ์๊ฒ ๋ค์์ ์ง์ํฉ๋๋ค.
Weak๊ฐ ์๋ ๋ชจ๋ ๊ฒ์ด ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ค์ด๊ฐ ์ ์๋ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
๊ธฐ๋ณธ ๊ฐ์์ฑ์ด ์๋ ์ ์ญ ๋ถ๊ธฐ ๋์์ ์ ์ ๋ ์ ์์ต๋๋ค.
๊ฒฐ๊ณผ ์ฝ๋๋ ์ฝ๊ฐ ๋ ์ปค์ง๋๋ค. ์ด ์ต์ ์ ๋ค์์๋ง ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
๋ถ๊ธฐ ๋ช ๋ น ์ฒ๋ฆฌ.
-mbig-obj
x86-64 PE/COFF ๋์์์ ์ด ์ต์ ์ ํฐ ๊ฐ์ฒด๋ฅผ ๊ฐ์ ๋ก ์ฌ์ฉํฉ๋๋ค.
32768๊ฐ ์ด์์ ์น์ ์ ํ์ฉํ๋ ํ์ผ ํ์์ ๋๋ค.
-momit-lock-์ ๋์ฌ=์๋
-momit-lock-์ ๋์ฌ=์
์ด๋ฌํ ์ต์ ์ ์ด์ ๋ธ๋ฌ๊ฐ ์ ๊ธ ์ ๋์ด๋ฅผ ์ธ์ฝ๋ฉํ๋ ๋ฐฉ๋ฒ์ ์ ์ดํฉ๋๋ค.
์ด ์ต์ ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ํ๋ก์ธ์์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก ๊ณ ์๋์์ต๋๋ค.
์ ๊ธ ์ ๋์ฌ์. ์ด ์ต์ ์ ๋จ์ผ ์ต์ ์์๋ง ์์ ํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฝ์ด, ๋จ์ผ ์ค๋ ๋ ์ปดํจํฐ -momit-lock-์ ๋์ฌ=์ ๋ชจ๋ ์๋ตํ๊ฒ ์ต๋๋ค
์ ๋์ฌ๋ฅผ ์ ๊ธ๋๋ค. -momit-lock-์ ๋์ฌ=์๋ ์ ๊ธ ์ ๋์ด๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ธ์ฝ๋ฉํฉ๋๋ค.
๋ณดํต, ์ด๊ฒ์ด ๊ธฐ๋ณธ๊ฐ์ ๋๋ค.
-mrelax-์ฌ๋ฐฐ์น=์๋
-mrelax-์ฌ๋ฐฐ์น=์
์ด๋ฌํ ์ต์ ์ ์ด์ ๋ธ๋ฌ๊ฐ Relax๋ฅผ ์์ฑํด์ผ ํ๋์ง ์ฌ๋ถ๋ฅผ ์ ์ดํฉ๋๋ค.
์ฌ๋ฐฐ์น, R_386_GOT32X(32๋นํธ ๋ชจ๋) ๋๋ R_X86_64_GOTPCRELX
๋ฐ R_X86_64_REX_GOTPCRELX(64๋นํธ ๋ชจ๋).
-mrelax-์ฌ๋ฐฐ์น=์ ํด์ ์ฌ๋ฐฐ์น๋ฅผ ์์ฑํฉ๋๋ค.
-mrelax-์ฌ๋ฐฐ์น=์๋ ํด์ ์ฌ๋ฐฐ์น๋ฅผ ์์ฑํ์ง ์์ต๋๋ค. ๊ทธ๋งํผ
๊ธฐ๋ณธ๊ฐ์ ๊ตฌ์ฑ ์ต์ ์ผ๋ก ์ ์ดํ ์ ์์ต๋๋ค.
--enable-x86-relax-์ฌ๋ฐฐ์น.
- mevexrcig =๋ฅด๋ค
- mevexrcig =rd
- mevexrcig =ru
- mevexrcig =rz
์ด๋ฌํ ์ต์ ์ ์ด์ ๋ธ๋ฌ๊ฐ SAE ์ ์ฉ EVEX๋ฅผ ์ธ์ฝ๋ฉํ๋ ๋ฐฉ๋ฒ์ ์ ์ดํฉ๋๋ค.
๋์๋ง์ ์ฐธ์กฐํ์ญ์์ค. - mevexrcig =๋ฅด๋ค EVEX์ RC ๋นํธ๋ฅผ ์ธ์ฝ๋ฉํฉ๋๋ค.
๊ธฐ๋ณธ๊ฐ์ 00์ธ ๋ช ๋ น์ด์ ๋๋ค. - mevexrcig =rd,
- mevexrcig =ru ๊ณผ - mevexrcig =rz SAE ์ ์ฉ EVEX๋ฅผ ์ธ์ฝ๋ฉํฉ๋๋ค.
๊ฐ๊ฐ 01, 10, 11 RC ๋นํธ๋ฅผ ๊ฐ๋ ๋ช ๋ น์ด.
-mamd64
-๋ฏผํ 64
์ด ์ต์ ์ ์ด์ ๋ธ๋ฌ๊ฐ AMD64๋ง ํ์ฉํ๋๋ก ์ง์ ํฉ๋๋ค.
๋๋ 64๋นํธ ๋ชจ๋์ Intel64 ISA. ๊ธฐ๋ณธ๊ฐ์ ๋ ๋ค ํ์ฉํ๋ ๊ฒ์ ๋๋ค.
Intel์ ๋ํด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ๋ค์ ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
80960 ํ๋ก์ธ์.
-ACA | -ACA_A | -ACB | -ACC | -์ผ๋ช | -AKB | -AKC | -AMC
๋์์ด ๋๋ 960 ์ํคํ ์ฒ์ ๋ณํ์ ์ง์ ํฉ๋๋ค.
-b ์ทจํ ๋ถ๊ธฐ์ ๋ํ ํต๊ณ๋ฅผ ์์งํ๋ ์ฝ๋๋ฅผ ์ถ๊ฐํฉ๋๋ค.
- ์ฌ์ง ์๊ณ
์ค๋ซ๋์ ๋น๊ต ๋ฐ โโ๋ถ๊ธฐ ๋ช ๋ น์ด๋ฅผ ๋ณ๊ฒฝํ์ง ๋ง์ธ์.
๋ณ์; ํ์ํ ๊ฒฝ์ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋ค์ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ ๋น์ฝค IP2K ์๋ฆฌ์ฆ.
-mip2022ext
ํ์ฅ๋ IP2022 ๋ช ๋ น์ด ํ์ฉ๋๋๋ก ์ง์ ํฉ๋๋ค.
-mip2022
ํ์ฉ๋๋ ๋์์ ์ ํํ๋ ๊ธฐ๋ณธ ๋์์ ๋ณต์ํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ธ IP2022 ์ง์นจ๋ง ์ค๋ช ํฉ๋๋ค.
๋ค์ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Renesas M32C ๋ฐ M16C ํ๋ก์ธ์.
-m32c
M32C ๋ช ๋ น์ด๋ฅผ ์กฐ๋ฆฝํฉ๋๋ค.
-m16c
M16C ๋ช ๋ น์ด๋ฅผ ์กฐ๋ฆฝํฉ๋๋ค(๊ธฐ๋ณธ๊ฐ).
-ํธํ๊ฒ ํ๋ค
์ฐ๊ฒฐ ์๊ฐ ์ํ์ ๋ํ ์ง์์ ํ์ฑํํฉ๋๋ค.
-h-ํฑ-ํฅ์ค
00x0 ์คํ์ผ ์ธ์๋ H'00 ์คํ์ผ์ XNUMX์ง์ ์์๋ฅผ ์ง์ํฉ๋๋ค.
๋ค์ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Renesas M32R(์ด์ ์ Mitsubishi M32R) ์๋ฆฌ์ฆ.
--m32rx
M32R ์ ํ๊ตฐ์ ์ด๋ค ํ๋ก์ธ์๊ฐ ๋์์ธ์ง ์ง์ ํฉ๋๋ค. ๊ทธ๋งํผ
๊ธฐ๋ณธ๊ฐ์ ์ผ๋ฐ์ ์ผ๋ก M32R์ด์ง๋ง ์ด ์ต์ ์ ์ฌ์ฉํ๋ฉด MXNUMXR๋ก ๋ณ๊ฒฝ๋ฉ๋๋ค.
M32RX.
--warn-explicit-๋ณ๋ ฌ ์ถฉ๋ or -wp
์์ฌ์ค๋ฌ์ด ๋ณ๋ ฌ ๊ตฌ์ฑ์ด ์์ ๋ ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ์์ฑํฉ๋๋ค.
๋ง๋ฌ๋ค.
--no-warn-explicit-๋ณ๋ ฌ ์ถฉ๋ or --Wnp
๋ณ๋ ฌ์ด ์์ฌ์ค๋ฌ์ธ ๋ ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ์์ฑํ์ง ๋ง์ญ์์ค.
๊ตฌ์กฐ๋ฌผ์ด ๋ฐ๊ฒฌ๋ฉ๋๋ค.
๋ค์ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ชจํ ๋ก๋ผ 68000 ์๋ฆฌ์ฆ.
-l ์ ์๋์ง ์์ ๊ธฐํธ์ ๋ํ ์ฐธ์กฐ๋ฅผ ๋์ ํ ๋จ์ด๋ก ์ค์ ๋๋ค.
๋.
-m68000 | -m68008 | -m68010 | -m68020 | -m68030
| -m68040 | -m68060 | -m68302 | -m68331 | -m68332
| -m68333 | -m68340 | -mcpu32 | -m5200
68000 ์ ํ๊ตฐ์ ์ด๋ค ํ๋ก์ธ์๊ฐ ๋์์ธ์ง ์ง์ ํฉ๋๋ค. ๊ทธ๋งํผ
๊ธฐ๋ณธ๊ฐ์ ์ผ๋ฐ์ ์ผ๋ก 68020์ด์ง๋ง ๋ค์์์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
๊ตฌ์ฑ ์๊ฐ.
-m68881 | -m68882 | -MNO-68881 | -MNO-68882
๋์ ๋จธ์ ์ ๋ถ๋ ์์์ ์ด ์๊ฑฐ๋ ์์ต๋๋ค.
๋ณด์กฐ ํ๋ก์ธ์. ๊ธฐ๋ณธ๊ฐ์ 68020์ ๋ํ ๋ณด์กฐ ํ๋ก์ธ์๋ฅผ ๊ฐ์ ํ๋ ๊ฒ์ ๋๋ค.
68030 ๋ฐ CPU32. ๊ธฐ๋ณธ 68000์ ํธํ๋์ง ์์ง๋ง
68881์ ๋ ๊ฐ์ง์ ์กฐํฉ์ ์ง์ ํ ์ ์์ต๋๋ค.
๋ณด์กฐ ํ๋ก์ธ์ ๋ช ๋ น์ด๋ฅผ ์๋ฎฌ๋ ์ด์ ํ๋ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค.
๋ฉ์ธ ํ๋ก์ธ์.
-m68851 | -MNO-68851
๋์ ๋จธ์ ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ฅ์น๊ฐ ์๊ฑฐ๋ ์์ต๋๋ค.
๋ณด์กฐ ํ๋ก์ธ์. ๊ธฐ๋ณธ๊ฐ์ 68020 ์ด์์ ๋ํด MMU๋ฅผ ๊ฐ์ ํ๋ ๊ฒ์ ๋๋ค.
Altera์ ๋ํด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ๋ค์ ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Nios II ํ๋ก์ธ์.
-ํด์ ์น์
์๋ณ๋ ๋ฒ์๋ฅผ ๋ฒ์ด๋ ๋ถ๊ธฐ๋ฅผ PC ๊ด๋ จ "jmp"๋ก ๊ต์ฒด
๊ฐ๋ฅํ๋ฉด ์ํ์ค. ์์ฑ๋ ์ฝ๋ ์ํ์ค๊ฐ โโ์ ํฉํฉ๋๋ค.
์์น ๋ ๋ฆฝ์ ์ฝ๋์ ์ฌ์ฉํ๊ธฐ ์ํ ๊ฒ์ด์ง๋ง ์ค์ฉ์ ์ธ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
๊ธธ์ด ๋๋ฌธ์ ํ์ฅ๋ ๋ถ๊ธฐ ๋ฒ์์ ๋ํ ์ ํ์ด ์์ต๋๋ค.
์ํ์ค. ์ด ์ต์ ์ด ๊ธฐ๋ณธ๊ฐ์ ๋๋ค.
-์์ ํ ์ฌ๋ค
๋ฒ์ ๋ด์ ์๋์ง ํ์ธํ ์ ์๋ ๋ถ๊ธฐ ๋ช ๋ น์ด๋ฅผ ๊ต์ฒดํ๊ณ ๋ชจ๋ ๋ช ๋ น์ด๋ฅผ
๊ฐ๊ฐ "jmp" ๋ฐ "callr" ์ํ์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ช ๋ น์ ํธ์ถํฉ๋๋ค.
์ด ์ต์ ์ ๋์์ ๋ํ ์ ๋ ์ฌ๋ฐฐ์น๋ฅผ ์์ฑํฉ๋๋ค.
๊ธฐํธ์ด๋ฉฐ ์์น ๋ ๋ฆฝ์ ์ฝ๋์๋ ์ ํฉํ์ง ์์ต๋๋ค.
- ์ฌ์ง ์๊ณ
์ง์ ์ด๋ ํธ์ถ์ ๊ต์ฒดํ์ง ๋ง์ญ์์ค.
-EB ๋น ์๋์ ์ถ๋ ฅ์ ์์ฑํฉ๋๋ค.
-์์ ๋ฆฌํ ์๋์ ์ถ๋ ฅ์ ์์ฑํฉ๋๋ค. ์ด๊ฒ์ด ๊ธฐ๋ณธ๊ฐ์ ๋๋ค.
-ํ์ง=์ํคํ ์ฒ
์ด ์ต์ ์ ๋์ ์ํคํ ์ฒ๋ฅผ ์ง์ ํฉ๋๋ค. ์ด์ ๋ธ๋ฌ
์ด์ ๋ธ์ ์๋ํ๋ฉด ์ค๋ฅ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
ํ๊ฒ ์ํคํ ์ฒ์์ ์คํ๋์ง ์๋ ๋ช ๋ น์ด์ ๋๋ค. ๊ทธ๋งํผ
๋ค์ ์ํคํ ์ฒ ์ด๋ฆ์ด ์ธ์๋ฉ๋๋ค: "r1", "r2". ๊ทธ๋งํผ
๊ธฐ๋ณธ๊ฐ์ "r1"์ ๋๋ค.
๋ฉํ์ ๋ํด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ๋ค์ ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ๋ก์ธ์.
"-mcpu=metac11"
๋ฉํ 1.1์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
"-mcpu=metac12"
๋ฉํ 1.2์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
"-mcpu=metac21"
๋ฉํ 2.1์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
"-mfpu=metac21"
์ฝ๋๊ฐ Meta 2.1์ FPU ํ๋์จ์ด๋ฅผ ์ฌ์ฉํ๋๋ก ํ์ฉํฉ๋๋ค.
MMIX ๊ด๋ จ ์ต์ ์ ๋ํ ๋ฌธ์๋ ์ ๋ณด ํ์ด์ง๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
NDS32์ ๋ํด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ๋ค์ ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ๋ก์ธ์.
"-O1"
์ฑ๋ฅ ์ต์ ํ
"-์ค์ฆ"
๊ณต๊ฐ์ ์ต์ ํํ์ญ์์ค.
"-์์"
๋ฆฌํ ์๋์ ๋ฐ์ดํฐ ์ถ๋ ฅ์ ์์ฑํฉ๋๋ค.
"-EB"
๋ฆฌํ ์๋์ ๋ฐ์ดํฐ ์ถ๋ ฅ์ ์์ฑํฉ๋๋ค.
"-mpic"
PIC๋ฅผ ์์ฑํฉ๋๋ค.
"-mno-fp-as-gp-relax"
์ด ํ์ผ์ ๋ํด fp-as-gp ์ด์์ ์ต์ ํฉ๋๋ค.
"-mb2bb-ํด์"
์ฐ์ ๋ถ๊ธฐ ์ต์ ํ.
"-mno-all-relax"
์ด ํ์ผ์ ๋ํ ๋ชจ๋ ์ด์์ ์ต์ ํฉ๋๋ค.
"-ํ์ง = "
๊ฑด์ถ์ ์ํด ์กฐ๋ฆฝํ๋ค v3, v3j, v3m์ผ ์ ์์ต๋๋ค.
v3f, v3s, v2, v2j, v2f, v2s.
"-mbaseline= "
๊ธฐ์ค์ ์ ์ํด ์กฐ๋ฆฝ v2, v3, v3m์ด ๋ ์ ์์ต๋๋ค.
"-mfpu-freg=ํ๋ ๊ทธ"
FPU ๊ตฌ์ฑ์ ์ง์ ํฉ๋๋ค.
"0 8 SP / 4 DP ๋ ์ง์คํฐ"
"1 16 SP / 8 DP ๋ ์ง์คํฐ"
"2 32 SP / 16 DP ๋ ์ง์คํฐ"
"3 32 SP / 32 DP ๋ ์ง์คํฐ"
"-๋ง๋น=์๋น"
abi ๋ฒ์ ์ง์ v1, v2, v2fp, v2fpp์ผ ์ ์์ต๋๋ค.
"-m[no-]mac"
๊ณฑํ๊ธฐ ๋ช ๋ น์ด ์ง์์ ํ์ฑํ/๋นํ์ฑํํฉ๋๋ค.
"-m[no-]div"
๋๋๊ธฐ ๋ช ๋ น ์ง์์ ํ์ฑํ/๋นํ์ฑํํฉ๋๋ค.
"-m[no-]16๋นํธ ํ์ฅ"
16๋นํธ ํ์ฅ ํ์ฑํ/๋นํ์ฑํ
"-m[no-]dx-regs"
d0/d1 ๋ ์ง์คํฐ ํ์ฑํ/๋นํ์ฑํ
"-m[no-]perf-ext"
์ฑ๋ฅ ํ์ฅ ํ์ฑํ/๋นํ์ฑํ
"-m[no-]perf2-ext"
์ฑ๋ฅ ํ์ฅ 2 ํ์ฑํ/๋นํ์ฑํ
"-m[no-]๋ฌธ์์ด ํ์ฅ"
๋ฌธ์์ด ํ์ฅ ํ์ฑํ/๋นํ์ฑํ
"-m[no-]reduced-regs"
์ถ์ ๋ ์ง์คํฐ ๊ตฌ์ฑ(GPR16) ์ต์ ํ์ฑํ/๋นํ์ฑํ
"-m[no-]audio-isa-ext"
AUDIO ISA ํ์ฅ ํ์ฑํ/๋นํ์ฑํ
"-m[no-]fpu-sp-ext"
FPU SP ํ์ฅ ํ์ฑํ/๋นํ์ฑํ
"-m[no-]fpu-dp-ext"
FPU DP ํ์ฅ ํ์ฑํ/๋นํ์ฑํ
"-m[no-]fpu-fma"
FPU fused-multiply-add ๋ช ๋ น์ด ํ์ฑํ/๋นํ์ฑํ
"-๋ชฐ-๋ด์ "
๋ชจ๋ ํ์ฅ ๋ฐ ์ง์นจ ์ง์ ์ผ๊ธฐ
PowerPC์ ๋ํด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ๋ค์ ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ๋ก์ธ์.
.A32
ELF32 ๋๋ XCOFF32๋ฅผ ์์ฑํฉ๋๋ค.
.A64
ELF64 ๋๋ XCOFF64๋ฅผ ์์ฑํฉ๋๋ค.
-K PIC
ELF ํ๋๊ทธ์์ EF_PPC_RELOCATABLE_LIB๋ฅผ ์ค์ ํฉ๋๋ค.
-mpwrx | -mpwr2
POWER/2(RIOS2)์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-mpwr
POWER(RIOS1)์ฉ ์ฝ๋ ์์ฑ
-m601
PowerPC 601์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-mppc, -mppc32, -m603, -m604
PowerPC 603/604์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-m403, -m405
PowerPC 403/405์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-m440
PowerPC 440์ฉ ์ฝ๋ ์์ฑ. BookE ๋ฐ ์ผ๋ถ 405 ์ง์นจ.
-m464
PowerPC 464์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-m476
PowerPC 476์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-m7400, -m7410, -m7450, -m7455
PowerPC 7400/7410/7450/7455์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-m750cl
PowerPC 750CL์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-m821, -m850, -m860
PowerPC 821/850/860์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-mppc64, -m620
PowerPC 620/625/630์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-me500, -me500x2
Motorola e500 ์ฝ์ด ์ปดํ๋ ์ค์ ๋ํ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-me500mc
Freescale e500mc ์ฝ์ด ์ฝคํ๋ ์ค์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-me500mc64
Freescale e500mc64 ์ฝ์ด ์ปดํ๋ ์ค์ ๋ํ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-me5500
Freescale e5500 ์ฝ์ด ์ปดํ๋ ์ค์ ๋ํ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-me6500
Freescale e6500 ์ฝ์ด ์ปดํ๋ ์ค์ ๋ํ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-mspe
Motorola SPE ์ง์นจ์ ๋ํ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-์ ํฐํ
AppliedMicro Titan ์ฝ์ด ์ปดํ๋ ์ค์ ๋ํ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-mppc64๋ธ๋ฆฌ์ง
Bridge insns๋ฅผ ํฌํจํ์ฌ PowerPC 64์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-์ ๋ถ
32๋นํธ BookE์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-ma2
A2 ์ํคํ ์ฒ์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-me300
PowerPC e300 ์ ํ๊ตฐ์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-๋งํฐ๋ฒก
AltiVec ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก์ธ์์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-mvle
Freescale PowerPC VLE ๋ช ๋ น์ด์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-mvsx
๋ฒกํฐ ์ค์นผ๋ผ(VSX) ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก์ธ์์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-mhtm
ํ๋์จ์ด ํธ๋์ญ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์๋ ํ๋ก์ธ์์ฉ ์ฝ๋ ์์ฑ
๋์๋ง์ ์ฐธ์กฐํ์ญ์์ค.
-mpower4, -mpwr4
Power4 ์ํคํ ์ฒ์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-mpower5, -mpwr5, -mpwr5x
Power5 ์ํคํ ์ฒ์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-mpower6, -mpwr6
Power6 ์ํคํ ์ฒ์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-mpower7, -mpwr7
Power7 ์ํคํ ์ฒ์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-mpower8, -mpwr8
Power8 ์ํคํ ์ฒ์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-mpower9, -mpwr9
Power9 ์ํคํ ์ฒ์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-mcell
-mcell
Cell Broadband Engine ์ํคํ ์ฒ์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-์ ์ปด
์ฝ๋ Power/PowerPC ๊ณตํต ๋ช ๋ น์ด๋ฅผ ์์ฑํฉ๋๋ค.
-๋ง์
๋ชจ๋ ์ํคํ ์ฒ(PWR/PWRX/PPC)์ ๋ํ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-mregnames
๋ ์ง์คํฐ์ ๋ํ ๊ธฐํธ ์ด๋ฆ์ ํ์ฉํฉ๋๋ค.
-mno-regnames
๋ ์ง์คํฐ์ ๋ํ ๊ธฐํธ ์ด๋ฆ์ ํ์ฉํ์ง ๋ง์ญ์์ค.
-m ์ฌ๋ฐฐ์น ๊ฐ๋ฅ
GCC์ -mrelocateable ์ต์ ์ ์ง์ํฉ๋๋ค.
-mrelocateable-lib
GCC์ -mrelocateable-lib ์ต์ ์ ์ง์ํฉ๋๋ค.
-๋ฉค๋ฒ
ELF ํ๋๊ทธ์ PPC_EMB ๋นํธ๋ฅผ ์ค์ ํฉ๋๋ค.
- ์ฝ๊ฐ, -๋ฏธ๋ฆฌํ ์๋์, ๊ทธ๋ค
๋ฆฌํ ์๋์ ๋จธ์ ์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-mbig, -mbig-์๋์, -์๋ค
๋น ์๋์ ๋จธ์ ์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-msolaris
Solaris์ฉ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-mno-solaris
Solaris์ฉ ์ฝ๋๋ฅผ ์์ฑํ์ง ๋ง์ญ์์ค.
-๋=๊ณ์ฐ
์ ๋ ฌ ์ง์๋ฌธ์ด ๋ค์๋ณด๋ค ๋ง์ด ์ฝ์ ํ๋ ๊ฒฝ์ฐ ๊ณ์ฐ ์๋ผ, ํ๋ ๋ฃ์ด
nops ์คํ์ ๊ฑด๋๋ฐ๊ธฐ ์ํด ์ฒ์์ ๋ถ๊ธฐํฉ๋๋ค.
RX ํน์ ์ต์ ์ ๋ํ ๋ฌธ์๋ ์ ๋ณด ํ์ด์ง๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
s390์ ๋ํด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ๋ค์ ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ๋ก์ธ์ ์ ํ๊ตฐ.
-m31
-m64
31/32๋นํธ ๋๋ 64๋นํธ ์ค์์ ์๋ ํฌ๊ธฐ๋ฅผ ์ ํํฉ๋๋ค.
-๋ฉ์ฌ
-mzarch
์ํคํ ์ฒ ๋ชจ๋(์ํฐํ๋ผ์ด์ฆ ์์คํ )๋ฅผ ์ ํํฉ๋๋ค.
์ํคํ ์ฒ(esa) ๋๋ z/Architecture ๋ชจ๋(zarch).
-ํ์ง=ํ๋ก์ธ์
๋์์ด ๋๋ s390 ํ๋ก์ธ์ ๋ณํ์ ์ง์ ํฉ๋๋ค. g6, g6, z900,
z990, z9-109, Z9-EC, z10, z196, ZEC12๋ฐ z13.
-mregnames
-mno-regnames
๋ ์ง์คํฐ์ ๋ํ ๊ธฐํธ ์ด๋ฆ์ ํ์ฉํ๊ฑฐ๋ ํ์ฉํ์ง ์์ต๋๋ค.
-mwarn-areg-Zero
๊ธฐ๋ณธ ๋๋ ์ธ๋ฑ์ค ๋ ์ง์คํฐ์ ํผ์ฐ์ฐ์๊ฐ ์ ๋ ฅ๋ ๋๋ง๋ค ๊ฒฝ๊ณ ํฉ๋๋ค.
์ง์ ๋์์ง๋ง XNUMX์ผ๋ก ํ๊ฐ๋ฉ๋๋ค.
๋ค์ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
TMS320C6000 ํ๋ก์ธ์.
-ํ์ง=์์น
์ํคํ ์ฒ์ ๋ช ๋ น ํ์ฑํ(์ ์ฉ) ์์น. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋
์ง์๊ฐ ํ์ฉ๋ฉ๋๋ค.
๋ค์ ๊ฐ ์์น ํ์ฉ๋๋ ํญ๋ชฉ: "c62x", "c64x", "c64x+",
"c67x", "c67x+", "c674x".
-mdsbt
-mno-dsbt
XNUMXD๋ดํ์ -mdsbt ์ต์ ์ ์ฌ์ฉํ๋ฉด ์ด์ ๋ธ๋ฌ๊ฐ
"Tag_ABI_DSBT" ์์ฑ ๊ฐ์ด 1์ด๋ฉฐ ์ด๋
์ฝ๋๋ DSBT ์ฃผ์ ์ง์ ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ๊ทธ๋งํผ -mno-dsbt ์ต์ , ๊ธฐ๋ณธ๊ฐ,
ํ๊ทธ์ ๊ฐ์ด 0์ด ๋๋๋ก ํ์ฌ ์ฝ๋๊ฐ XNUMX์์ ๋ํ๋ ๋๋ค.
DSBT ์ฃผ์ ์ง์ ์ ์ฌ์ฉํ์ง ๋ง์ญ์์ค. ๋ง์ปค๋ ๊ฐ์ฒด๊ฐ ์๋ ๊ฒฝ์ฐ ๊ฒฝ๊ณ ๋ฅผ ๋ด๋ณด๋ ๋๋ค.
๋ค๋ฅธ ์ ํ(DSBT ๋ฐ ๋นDSBT)์ด ํจ๊ป ์ฐ๊ฒฐ๋ฉ๋๋ค.
-mpid=์๋์
-mpid=๊ทผ์ฒ
-mpid=๋ฉ๋ฆฌ
XNUMXD๋ดํ์ -mpid = ์ต์ ์ ์ฌ์ฉํ๋ฉด ์ด์ ๋ธ๋ฌ๊ฐ
๋ฐ์ดํฐ์ ํํ๋ฅผ ๋ํ๋ด๋ ๊ฐ์ ๊ฐ๋ "Tag_ABI_PID" ์์ฑ
์ฝ๋์์ ์ฌ์ฉ๋๋ ์ฃผ์ ์ง์ . -mpid=์๋์, ๊ธฐ๋ณธ๊ฐ์ ๋ค์์ ๋ํ๋ ๋๋ค.
์์น ์์กด์ ๋ฐ์ดํฐ ์ฃผ์ ์ง์ , -mpid=๊ทผ์ฒ ์์น๋ฅผ ๋ํ๋ ๋๋ค-
DP ์ฃผ์ ์ง์ ๊ทผ์ฒ๋ฅผ ์ฌ์ฉํ์ฌ GOT ์ก์ธ์ค๋ฅผ ํตํ ๋ ๋ฆฝ์ ์ธ ์ฃผ์ ์ง์ ,
๊ณผ -mpid=๋ฉ๋ฆฌ GOT๋ฅผ ์ฌ์ฉํ ์์น ๋ ๋ฆฝ์ ์ฃผ์ ์ง์ ์ ๋ํ๋ ๋๋ค.
์๊ฑฐ๋ฆฌ DP ์ฃผ์ ์ง์ ์ ์ฌ์ฉํ์ฌ ์ก์ธ์คํฉ๋๋ค. ๋ง์ปค๋ ๊ฒฝ๊ณ ๋ฅผ ๋ด๋ณด๋ ๋๋ค.
์ด ์ต์ ์ ๋ค๋ฅธ ์ค์ ์ผ๋ก ์์ฑ๋ ๊ฐ์ฒด๊ฐ ์ฐ๊ฒฐ๋ ๊ฒฝ์ฐ
ํจ๊ป.
-mpic
-mno-๊ทธ๋ฆผ
XNUMXD๋ดํ์ -mpic ์ต์ ์ ์ฌ์ฉํ๋ฉด ์ด์ ๋ธ๋ฌ๊ฐ "Tag_ABI_PIC"๋ฅผ ์์ฑํฉ๋๋ค.
๊ฐ์ด 1์ธ ์์ฑ์ ์ฝ๋๊ฐ ์ฌ์ฉ ์ค์์ ๋ํ๋ ๋๋ค.
์์น ๋ ๋ฆฝ์ ์ฝ๋ ์ฃผ์ ์ง์ , "-mno-pic" ์ต์ ,
๊ธฐ๋ณธ๊ฐ์ ํ๊ทธ์ ๊ฐ์ด 0์ด ๋์ด ์์น๋ฅผ ๋ํ๋ ๋๋ค.
์ข ์ ์ฝ๋ ์ฃผ์ ์ง์ . ๋ง์ปค๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ๊ฒฝ๊ณ ๋ฅผ ํ์ํฉ๋๋ค.
๋ค๋ฅธ ์ ํ์ ๊ฐ์ฒด(์์น ์์กด์ ๋ฐ ์์น ์์กด์ )
๋ ๋ฆฝ)์ ์๋ก ์ฐ๊ฒฐ๋์ด ์์ต๋๋ค.
-mbig-์๋์
-๋ฏธ๋ฆฌํ ์๋์
์ง์ ๋ ์๋์์ ๋ํ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ์กฐ๊ธ-
์๋์
TILE-Gx์ ๋ํด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ๋ค์ ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ๋ก์ธ์.
-m32 | -m64
32๋นํธ ๋๋ 64๋นํธ ์ค์์ ์๋ ํฌ๊ธฐ๋ฅผ ์ ํํฉ๋๋ค.
-EB | -์์
๋น ์๋์(-EB) ๋๋ ๋ฆฌํ์๋์ ์ค ์๋์์ ์ ํํฉ๋๋ค.
(-์์).
Visium์ ๋ํด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ๋ค์ ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ๋ก์ธ์.
-mtune=์์น
์ด ์ต์ ์ ๋์ ์ํคํ ์ฒ๋ฅผ ์ง์ ํฉ๋๋ค. ์๋๋ผ๋ฉด
ํ๊ฒ์์ ์คํ๋์ง ์๋ ๋ช ๋ น์ด๋ฅผ ์กฐํฉํ๊ธฐ ์ํด ๋ง๋ค์ด์ก์ต๋๋ค.
์ํคํ ์ฒ์์๋ ์ด์ ๋ธ๋ฌ๊ฐ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ๋ฐํํฉ๋๋ค.
๋ค์ ์ด๋ฆ์ด ์ธ์๋ฉ๋๋ค. "mcm24" "mcm" "gr5" "gr6"
Xtensa์ ๋ํด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ๋ค์ ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ๋ก์ธ์.
--ํ ์คํธ ์น์ ๋ฆฌํฐ๋ด | --no-text-section-literals
๋ฆฌํฐ๋ด ํ์ ์ฒ๋ฆฌ๋ฅผ ์ ์ดํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์
--no-text-section-literals, ๋ฆฌํฐ๋ด์ ๋ณ๋์ ์์น์ ๋ฐฐ์นํฉ๋๋ค.
์ถ๋ ฅ ํ์ผ์ ์น์ . ์ด๋ฅผ ํตํด ๋ฆฌํฐ๋ด ํ์ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ๋ฅํฉ๋๋ค.
๋ฐ์ดํฐ RAM/ROM์ ๋ฐฐ์น๋ฉ๋๋ค. ์ ํจ๊ป --ํ ์คํธ ์น์ ๋ฆฌํฐ๋ดWalk Through California ํ๋ก๊ทธ๋จ,
๋ฆฌํฐ๋ด์ ์ด๋ฅผ ์ ์งํ๊ธฐ ์ํด ํ ์คํธ ์น์ ์ ์ฝ์ ๋ฉ๋๋ค.
๊ฐ๋ฅํ ํ ์ฐธ์กฐ ์๋ฃ์ ๊ฐ๊น์ต๋๋ค. ์ด๋ ํ์ํ ์ ์์ต๋๋ค.
๊ทธ๋ ์ง ์์ผ๋ฉด ๋ฆฌํฐ๋ด์ด ์ญ์ ๋๋ ๋๊ท๋ชจ ์ด์ ๋ธ๋ฆฌ ํ์ผ์ ๊ฒฝ์ฐ
ํ ์คํธ ์น์ ์ "L32R" ๋ช ๋ น ๋ฒ์. ๋ฆฌํฐ๋ด
".literal_position" ์ง์์ด์ ๋ฐ๋ผ ํ๋ก ๊ทธ๋ฃนํ๋๊ฑฐ๋
"ENTRY" ์ง์นจ ์ด์ ์. ์ด ์ต์ ์ ๋ฆฌํฐ๋ด์๋ง ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
PC ๊ด๋ จ "L32R" ์ง์นจ์ ํตํด ์ฐธ์กฐ๋ฉ๋๋ค. ๋ฆฌํฐ๋ด
์ ๋ ๋ชจ๋ "L32R" ๋ช ๋ น์ด๋ ๋ณ๋๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.
--์๋ ๋ฆฌํธํ | --no-auto-litpools
๋ฆฌํฐ๋ด ํ์ ์ฒ๋ฆฌ๋ฅผ ์ ์ดํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์
--no-auto-litpools, ๋ถ์ฌ์ --ํ ์คํธ ์น์ ๋ฆฌํฐ๋ด
์ถ๋ ฅ ํ์ผ์ ๋ณ๋ ์น์ ์ ๋ฆฌํฐ๋ด์ ๋ฐฐ์นํฉ๋๋ค. ์ด๊ฒ
๋ฆฌํฐ๋ด ํ์ ๋ฐ์ดํฐ RAM/ROM์ ๋ฐฐ์นํ ์ ์์ต๋๋ค. ์ ํจ๊ป
--์๋ ๋ฆฌํธํ, ๋ฆฌํฐ๋ด์ ํ ์คํธ ์น์ ์ ์ฐ์ฌ๋์ด ์์ต๋๋ค.
์ฐธ์กฐ ๋ด์ฉ๊ณผ ์ต๋ํ ๊ฐ๊น๊ฒ ์ ์งํ๊ธฐ ์ํด,
๋ช ์์ ์ธ ".literal_position" ์ง์๋ฌธ์ ํ์ํ์ง ์์ต๋๋ค. ์ด๊ฑด ์๋ง
๋จ์ผ ๋ฆฌํฐ๋ด ํ์ด ์๋ ๋งค์ฐ ํฐ ๊ธฐ๋ฅ์ ํ์ํฉ๋๋ค.
ํจ์์ ์์ ๋ถ๋ถ์ "L32R"์ ์ํด ๋๋ฌ๋์ง ์์ ์ ์์ต๋๋ค
๋ง์ง๋ง์ ์ง์นจ. ์ด ์ต์ ์ ๋ฆฌํฐ๋ด์๋ง ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
PC ๊ด๋ จ "L32R" ์ง์นจ์ ํตํด ์ฐธ์กฐ๋ฉ๋๋ค. ๋ฆฌํฐ๋ด
์ ๋ ๋ชจ๋ "L32R" ๋ช ๋ น์ด๋ ๋ณ๋๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ์ธ์
์ ํจ๊ป ์ฌ์ฉ --ํ ์คํธ ์น์ ๋ฆฌํฐ๋ด, --์๋ ๋ฆฌํธํ ์์
์์.
--์ ๋ ๋ฆฌํฐ๋ด | --์ ๋ ๋ฆฌํฐ๋ด ์์
"L32R" ๋ช ๋ น์ด๊ฐ ์ ๋๊ฐ์ ์ฌ์ฉํ๋์ง ์ด์ ๋ธ๋ฌ์ ํ์ํฉ๋๋ค.
๋๋ PC ์๋ ์ฃผ์ ์ง์ . ํ๋ก์ธ์์ ์ ๋๊ฐ์ด ํฌํจ๋ ๊ฒฝ์ฐ
์ฃผ์ ์ง์ ์ต์ , ๊ธฐ๋ณธ๊ฐ์ ์ ๋ "L32R"์ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
์ฌ๋ฐฐ์น. ๊ทธ๋ ์ง ์์ผ๋ฉด PC ๊ธฐ์ค "L32R" ์ฌ๋ฐฐ์น๋ง ๊ฐ๋ฅํฉ๋๋ค.
์ฌ์ฉํ ์ ์์ต๋๋ค.
--ํ๊ฒ ์ ๋ ฌ | --๋์ ์์ ์ ๋ ฌ
์๋ ์ ๋ ฌ์ ํ์ฑํ ๋๋ ๋นํ์ฑํํ์ฌ ๋ถ๊ธฐ ํ๋ํฐ๋ฅผ ์ค์ ๋๋ค.
์ฝ๋ ํฌ๊ธฐ์ ์ฝ๊ฐ์ ๋น์ฉ์ด ๋ญ๋๋ค. ์ด ์ต์ ํ๋ ๋ค์์ ํตํด ํ์ฑํ๋ฉ๋๋ค.
๊ธฐ๋ณธ. ์ด์ ๋ธ๋ฌ๋ ํญ์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฌํฉ๋๋ค.
๊ณ ์ ๋ ์ ๋ ฌ ์๊ตฌ ์ฌํญ์ด ์๋ "LOOP"์ ๊ฐ์ต๋๋ค.
--๋กฑ์ฝ | --๋กฑ์ฝ ์์
ํตํ ์ง์นจ ๋ณํ์ ํ์ฑํ ๋๋ ๋นํ์ฑํํ์ฌ ํ์ฉ
๋ ๋์ ๋ฒ์์ ์ฃผ์๋ก ์ ํ๋ฅผ ๊ฑธ ์ ์์ต๋๋ค. ์ด ์ต์ ์
ํธ์ถ ๋์์ด ์ ์ฌ์ ์ผ๋ก ๋ฒ์๋ฅผ ๋ฒ์ด๋ ์ ์์ ๋ ์ฌ์ฉ๋ฉ๋๋ค. ๊ทธ๋ด ์๋ ์๋ค
์ฝ๋ ํฌ๊ธฐ์ ์ฑ๋ฅ์ด ๋ชจ๋ ์ ํ๋์ง๋ง ๋ง์ปค๋
์ผ๋ฐ์ ์ผ๋ก ํตํ๊ฐ ์ข ๋ฃ๋ ๋ ๋ถํ์ํ ์ค๋ฒํค๋๋ฅผ ์ต์ ํํฉ๋๋ค.
๋ฒ์ ๋ด์์. ๊ธฐ๋ณธ๊ฐ์ --๋กฑ์ฝ ์์.
--๋ณํ | --๋ณํ ์์
Xtensa์ ๋ชจ๋ ์ด์ ๋ธ๋ฌ ๋ณํ์ ํ์ฑํ ๋๋ ๋นํ์ฑํํฉ๋๋ค.
์ด์๊ณผ ์ต์ ํ๋ฅผ ๋ชจ๋ ํฌํจํ ์ง์นจ. ๊ทธ๋งํผ
๊ธฐ๋ณธ๊ฐ์ --๋ณํ; --๋ณํ ์์ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํด์ผ ํฉ๋๋ค.
์ง์นจ์ด ๋ค์์ ๋ช ์๋ ๊ฒ๊ณผ ์ ํํ ์ผ์นํด์ผ ํ๋ ๋๋ฌธ ๊ฒฝ์ฐ์ ๋๋ค.
์ด์ ๋ธ๋ฆฌ ์์ค. ์ฌ์ฉ --๋ณํ ์์ ๋ฒ์๋ฅผ ๋ฒ์ด๋ฌ์ต๋๋ค.
๋ช ๋ น์ด ํผ์ฐ์ฐ์๋ ์ค๋ฅ์ ๋๋ค.
--์ด๋ฆ ๋ฐ๊พธ๊ธฐ-์น์ ์ ์ด๋ฆ=์ ์ด๋ฆ
์ด๋ฆ ๋ฐ๊พธ๊ธฐ ์ ์ด๋ฆ ์น์ ์ ์ด๋ฆ. ์ด ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค
์ฌ๋ฌ ์น์ ์ ์ด๋ฆ์ ๋ฐ๊พธ๋ ค๋ฉด ์ฌ๋ฌ ๋ฒ ์ฌ์ฉํ์ธ์.
-- ํธ๋จํด๋ฆฐ | -- ํธ๋จํด๋ฆฐ ๊ธ์ง
๋ค์์ ํ์ฉํ๋๋ก ์ ํ ๋ช ๋ น์ด ๋ณํ์ ํ์ฑํ ๋๋ ๋นํ์ฑํํฉ๋๋ค.
๋ ๋์ ๋ฒ์์ ์ฃผ์๋ก ์ ํํฉ๋๋ค. ์ด ์ต์ ์
์ ํ ํ๊ฒ์ด ์ ์ฌ์ ์ผ๋ก ๋ฒ์๋ฅผ ๋ฒ์ด๋ ์ ์์ ๋ ์ฌ์ฉ๋ฉ๋๋ค. ์์
์ด๋ฌํ ์ ํ๊ฐ ์์ผ๋ฉด ์ด ์ต์ ์ ์ฝ๋ ํฌ๊ธฐ์ ์ํฅ์ ๋ฏธ์น์ง ์์ต๋๋ค.
์ฑ๋ฅ. ๊ธฐ๋ณธ๊ฐ์ -- ํธ๋จํด๋ฆฐ.
Z80์ ๋ํด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ๋ค์ ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ฐ์กฑ ํ๋ก์ธ์.
-z80
Z80 ํ๋ก์ธ์์ฉ์ผ๋ก ์กฐ๋ฆฝํฉ๋๋ค.
-r800
R800 ํ๋ก์ธ์์ฉ์ผ๋ก ์กฐ๋ฆฝํฉ๋๋ค.
-๋ฌธ์ํ๋์ง ์์ ์ง์ ๋ฌด์
-๋๋
R80์์๋ ์๋ํ๋ ๋ฌธ์ํ๋์ง ์์ Z800 ์ง์นจ์ ์ด์ ๋ธํฉ๋๋ค.
๊ฒฝ๊ณ ๋์์ด.
-๋ฌด์ํ ์ ์๋ ์ง์
-Wnup
๊ฒฝ๊ณ ์์ด ๋ฌธ์ํ๋์ง ์์ ๋ชจ๋ Z80 ์ง์นจ์ ์กฐ๋ฆฝํ์ญ์์ค.
-๊ฒฝ๊ณ - ๋ฌธ์ํ๋์ง ์์ ์ง์นจ
- ์ฐ๋
๋ค์์์๋ ์๋ํ๋ ๋ฌธ์ํ๋์ง ์์ Z80 ์ง์นจ์ ๋ํด ๊ฒฝ๊ณ ๋ฐํ
R800.
-warn-portable-instructions
- ์
์๋ํ์ง ์๋ ๋ฌธ์ํ๋์ง ์์ Z80 ์ง์นจ์ ๋ํด ๊ฒฝ๊ณ ๋ฐํ
R800์.
-๋ฌธ์ํ๋์ง ์์ ์ง์นจ ๊ธ์ง
-ํ๋
๋ฌธ์ํ๋์ง ์์ ๋ชจ๋ ์ง์นจ์ ์ค๋ฅ๋ก ์ทจ๊ธํ์ญ์์ค.
-๊ธ์ง - ํด๋ ํ ์์๋ ์ง์นจ
-ํ
R80์์ ์๋ํ์ง ์๋ ๋ฌธ์ํ๋์ง ์์ Z800 ๋ช ๋ น์ด๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ฒ๋ฆฌํ์ธ์.
์ค๋ฅ.
onworks.net ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ ์จ๋ผ์ธ์ผ๋ก i686-linux-gnu-as ์ฌ์ฉ