fur(1)
fur --
┤╪┐⌠ñ¬ñΦñ╙ѬÑ╓Ñ╕ѺѻÑ╚Ñ│í╝Ñ╔ñ╬ÑΩÑóÑ∞Ñ≤Ñ╕Ñπ
╖┴╝░
fur -o order-file|-l list-of-functions-file [-W]
[-O var1=val1 var2=val2 ...] [-k|-K keep-file]
relocatable-object
fur [-W] [-O var1=val1 var2=val2 ...] [-k|-K keep-file]
[-B block-insertion-code] [-b all|flow|listfile]
[-P prologue-insertion-code] [-p all|listfile]
[-E epilogue-insertion-code] [-e all|listfile]
[-c compile-command] relocatable-object
fur -r [-W ] [-O var1=val1 var2=val2 ...] [-k|-K keep-file]
[-m] [-v] -f block-log-file... [-o order-file]
[-l function-file] relocatable-object
mkblocklog [-p prefix] number-of-blocks name number-of-functions
mkproflog number-of-blocks name number-of-functions
╡í╟╜└Γ╠└
fur ñ╦ñ╧░╩▓╝ñ╬ 3 ñ─ñ╬┤╪╧ó╠▄┼¬ñ¼ñóñΩñ▐ñ╣íú
-
╗╪─Ω║╞╟█├╓▓─╟╜Ñ╒ÑíÑñÑδñ╬┤╪┐⌠ñ╚Ñ╓ÑφÑ├Ñ»ñ╬║╞╜τ╜°ñ┼ñ▒
-
╗╪─Ω║╞╟█├╓▓─╟╜Ñ╒ÑíÑñÑδñ╪ñ╬Ñ╫ÑφÑ╒ÑíÑñÑΩÑ≤Ñ░Ñ│í╝Ñ╔ñ╬┴▐╞■
-
╗╪─Ω║╞╟█├╓▓─╟╜Ñ╒ÑíÑñÑδñ╦┤╪╧óñ╣ñδ block Ñ╫ÑφÑ╒ÑíÑñÑδñ╬╩¼└╧
║╟╜Θñ╬╖┴╝░ñ╟ñ╧íófur ñ╧ 1 ñ▐ñ┐ñ╧ 2 ñ╬╗┼══íóñ╣ñ╩ñ∩ñ┴ order-file ñ▐ñ┐ñ╧ list-of-functions-file ñ╦┤≡ñ┼ñññ╞Ñ│í╝Ñ╔ñ≥║╞╟█╬≤ñ╖ñ▐ñ╣íúorder-file ñ╧ list-of-functions-file ñΦñΩ┤░┴┤ñ╦╛σ░╠ñ╦ñóñΩñ▐ñ╣ñ¼íó└╕└«╝Ω╜τñ╧╩ú╗¿ñ╟ñ╣íúlist-of-functions-file ñ╧┤╪┐⌠╠╛ñ╬╜τ╜°╔╒ñ▒ñΘñ∞ñ┐ÑΩÑ╣Ñ╚ñ╟ñ╣íúfur ñ╧▓─╟╜Ñ╒ÑíÑñÑδñ≥║╞╜τ╜°╔╒ñ▒ñ╖íóñ│ñ╬╜τ╜°ñ╦┼¼╣τñ╡ñ╗ñ▐ñ╣íúÑ╒ÑíÑñÑδñ╦ÑΩÑ╣Ñ╚ñ╡ñ∞ñ╞ñññ╩ññ┤╪┐⌠ñ╧(┴Ω┬╨┼¬ñ╦)╕╡ñ╬ñ╚ñ¬ñΩñ╬╜τ╜°ñ╟Ñ╒ÑíÑñÑδñ╦╟█├╓ñ╡ñ∞ñ▐ñ╣íúlist-of-functions ñ╧─╠╛∩Ñ╒Ñφí╝Ñ╫ÑφÑ╒ÑíÑñÑΩÑ≤Ñ░ñ¬ñΦñ╙ lrt_scan(1) Ñ─í╝Ñδñ╦ñΦñΩ║ε└«ñ╡ñ∞ñ▐ñ╣íú
order-file ñ╧ñΓñ├ñ╚╛▄║┘ñ╟ñ╣íú┤╪┐⌠ñ╚ñ╜ñ╬╜τ╜°ñ≥ÑΩÑ╣Ñ╚ñ╖ñ╞ñññ▐ñ╣ñ¼íó│╞Ñ╒ÑíÑ≤Ñ»Ñ╖ÑτÑ≤╞Γñ╬Ñ╓ÑφÑ├Ñ»ñ╬╜τ╜°ñΓ╝¿ñ╖ñ▐ñ╣(Ñ╓ÑφÑ├Ñ»ñ╚ñ╧í╓Ñ╣Ñ╚Ñ∞í╝Ñ╚ÑΘÑñÑ≤Ñ│í╝Ñ╔í╫ñ╬ 1 ñ─ñ╬ñ│ñ╚ñ╟ñ╣íúÑ╓ÑΘÑ≤Ñ┴ñ╩ñ╖)íúñ│ñ╬Ñ╒ÑíÑñÑδñ╧ fur ╝½┐╚ñ¼ block profiles (▓╝╡¡╗▓╛╚) ñ≥╩¼└╧ñ╖ñ╞║ε└«ñ╖ñ▐ñ╣íú
2 ╚╓╠▄ñ╬╖┴╝░ñ╟ñ╧íófur ñ╧│╞┤╪┐⌠ñ╬║╟╜Θñ╬Ñ╓ÑφÑ├Ñ»íó│╞┤╪┐⌠ñ╬ñ╣ñ┘ñ╞ñ╬Ñ╓ÑφÑ├Ñ»íóñ▐ñ┐ñ╧í╓ÑΩÑ┐í╝Ñ≤í╫╠┐╬ßñ≥╝┬╣╘ñ╣ñδ│╞Ñ╓ÑφÑ├Ñ»ñ╦Ñ│í╝Ñ╔ñ≥┴▐╞■ñ╖ñ▐ñ╣íúѬÑ╫Ñ╖ÑτÑ≤ñ╟ compile-command ñ≥╝┬╣╘ñ╣ñδñ│ñ╚ñΓñ╟ñ¡ñ▐ñ╣(┤╪╧óÑ│í╝Ñ╔ñ╬║ε└«ñ╬ñ┐ñßñ╦╗╚═╤)íúÑ╓ÑφÑ├Ñ»┐⌠ñ¬ñΦñ╙▓─╟╜ѬÑ╓Ñ╕ѺѻÑ╚ñ╬├╗╜╠╠╛ñ¼ compile-command ñ╦─╔▓├ñ╡ñ∞íóñ│ñ╬Ñ│Ñ▐Ñ≤Ñ╔ñ¼╝┬╣╘ñ╡ñ∞ñ▐ñ╣íúñ│ñ∞ñ╧▓─╟╜Ñ╒ÑíÑñÑδñ≥╝ΦñΩ╜╨ñ╖ñ╞íóÑ│í╝Ñ╔ñ≥║╞Ñ│Ñ≤Ñ╤ÑñÑδñ╣ñδñ│ñ╚ñ╩ñ»Ñ╫ÑφÑ╒ÑíÑñÑδñ╣ñδñ┐ñßñ╦╗╚═╤ñ╟ñ¡ñ▐ñ╣íúprof(1) Ñ╫ÑφÑ╒ÑíÑñÑδ▓─╟╜ѬÑ╓Ñ╕ѺѻÑ╚ñ≥║ε└«ñ╣ñδñ╦ñ╧íó╝íñ╬ñΦñªñ╦Ñ│Ñ▐Ñ≤Ñ╔╞■╬╧ñ╖ñ▐ñ╣íú
fur -P prof.o -c mkproflog -p all relocatable-object
fprof(1) Ñ╫ÑφÑ╒ÑíÑñÑδ▓─╟╜ѬÑ╓Ñ╕ѺѻÑ╚ñ≥║ε└«ñ╣ñδñ╦ñ╧íó╝íñ╬ñΦñªñ╦Ñ│Ñ▐Ñ≤Ñ╔╞■╬╧ñ╖ñ▐ñ╣íú
fur -p all -e all relocatable-object
╕╜║▀íólprof(1) ║╞╟█├╓▓─╟╜ѬÑ╓Ñ╕ѺѻÑ╚ñ╬║ε└«ñ╧Ñ╡Ñ▌í╝Ñ╚ñ╡ñ∞ñ╞ñññ▐ñ╗ñ≤íú
Ñ╓ÑφÑ├Ñ»Ñ╫ÑφÑ╒ÑíÑñÑΩÑ≤Ñ░ñ╬Ñ╫ÑφÑ╒ÑíÑñÑΩÑ≤Ñ░ñ╚ñññª 4 ╚╓╠▄ñ╬╖┴╝░ñ¼ñóñΩñ▐ñ╣íúñ│ñ╬╡í╟╜ñ╧ lprof(1) ñ╚╗≈ñ╞ñññ▐ñ╣ñ¼íóÑφí╝ѽÑΩÑ╞ÑúÑ┴Ñσí╝Ñ╦Ñ≤Ñ░ñ╦ñ╧ñΦñΩ┼¼ñ╖ñ╞ñññ▐ñ╣ñ¼íó┐═┤╓ñ╬▓─╞╔└¡ñ╚ñññª┼└ñ╟ñ╧╔╘┼¼┼÷ñ╟ñ╣íú
fur -b all -c mkblocklog relocatable-object
ñ╚ñññªñ│ñ╬Ñ│Ñ▐Ñ≤Ñ╔ñ╧│╞Ñ╓ÑφÑ├Ñ»ñ╦Ñ╓ÑφÑ├Ñ»Ñ╫ÑφÑ╒ÑíÑñÑΩÑ≤Ñ░Ñ│í╝Ñ╔ñ≥┴▐╞■ñ╖íórelocatable-object log.basename-of-relocatable-object.o ñ≥║╟╕σñ╬ѬÑ╓Ñ╕ѺѻÑ╚ñ╦ÑΩÑ≤Ñ»ñ╡ñ╗ñ▐ñ╣(í╓╗╚═╤╬πí╫╗▓╛╚)íúñ│ñ╬╖┴┬╓ñ╬ÑφÑ░║╬╝Φñ╧íóñ╜ñ╬╜╨╬╧Ñ╒ÑíÑñÑδñ╦┬╨ñ╖ñ╞╝┬╣╘ñ╡ñ∞ñδ(ñ╜ñ╖ñ╞ñ╜ñ∞ñ╛ñ∞ñ╬Ñ╫ÑφÑ╗Ñ╣ñ╟ÑΩÑ≤Ñ»ñ╡ñ∞ñδ)│╞║╞╟█├╓▓─╟╜Ñ╒ÑíÑñÑδñ╦┬╨ñ╖íóblock.basename-of-relocatable-object.num (ñ│ñ│ñ╟ num ñ╧íó░∞░╒╠╛ñ¼╕½ñ─ñ½ñδñ▐ñ╟┴²▓├ñ╡ñ∞ñ▐ñ╣) ñ╚ñññª╠╛┴░ñ╟íó╜╨╬╧Ñ╒ÑíÑñÑδñ≥║ε└«ñ╖ñ▐ñ╣íúñ│ñ∞ñ≥íófur ñ╟ñ╧íóblock-log-file ѬÑ╫Ñ╖ÑτÑ≤ñ╚ñ╖ñ╞╗╚ñªñ│ñ╚ñ¼ñ╟ñ¡ñ▐ñ╣(▓╝╡¡╗▓╛╚)íú-ball ñ╬┬σñ∩ñΩñ╦ -b flow ñ¼╗╚═╤ñ╡ñ∞ñ┐╛∞╣τíóÑ╫ÑφÑ░ÑΘÑαñ╬└⌐╕µÑ╒Ñφí╝ñ¼╟º╝▒ñ╡ñ∞ñδñ┐ñßñ╦╜╜╩¼ñ╩Ñ╓ÑφÑ├Ñ»ñ╦ñ╬ñ▀Ñ│í╝Ñ╔ñ¼┴▐╞■ñ╡ñ∞ñ▐ñ╣íúñ┐ñ╚ñ¿ñ╨íó╠╡╛≥╖∩Ñ╕ÑπÑ≤Ñ╫ñ╬═ú░∞ñ╬Ñ┐í╝Ñ▓Ñ├Ñ╚ñ╧íóÑ╜í╝Ñ╣ñ≥ñññ─╝┬╣╘ñ╖ñ╞ñΓÑ┐í╝Ñ▓Ñ├Ñ╚ñ¼╝┬╣╘ñ╡ñ∞ñδñ╬ñ╟íóÑ│í╝Ñ╔ñ╧┴▐╞■ñ╡ñ∞ñ▐ñ╗ñ≤íú
ѵí╝Ñ╢ñ¼╝½╩¼ñ╟Ñ│í╝Ñ╔ñ≥╜±ñññ╞║╞╟█├╓▓─╟╜Ñ╒ÑíÑñÑδñ╬╗╪─ΩÑ▌ÑñÑ≤Ñ╚ñ╦┴▐╞■ñ╟ñ¡ñδñ│ñ╚ñ╦├φ░╒ñ╖ñ╞ñ»ñ└ñ╡ññíú▓╝╡¡ñ╬└⌐╕┬ñ╦┼¼╣τñ╣ñδ║╞╟█├╓▓─╟╜Ñ╒ÑíÑñÑδñ≥ fur ñ╬ block-insertion-codeíóprologue-insertion-code ñ▐ñ┐ñ╧ epilogue-insertion-code Ñ╤ÑΘÑßí╝Ñ┐ñ╦ñΦñΩ║ε└«ñ╣ñδñ│ñ╚ñ¼ñ╟ñ¡ñ▐ñ╣íú
-
║╞╟█├╓▓─╟╜Ñ╒ÑíÑñÑδñ╧Ñ╖Ñ≤Ñ▄Ñδñ╚ñ╖ñ╞─Ω╡┴ñ╡ñ∞ñ╞ñ╧ñ╩ñΩñ▐ñ╗ñ≤íú
-
║╞╟█├╓▓─╟╜Ñ╒ÑíÑñÑδñ╦ñ╧Ñ╟í╝Ñ┐╔⌠ñ¼ñóñ├ñ╞ñ╧ñ╩ñΘñ║íóñ┐ñ└ñ╥ñ╚ñ─ñ└ñ▒ñ╬Ñ╞Ñ¡Ñ╣Ñ╚╔⌠ñ¼ñóñ├ñ╞ñ╧ñññ▒ñ▐ñ╗ñ≤íú
-
║╞╟█├╓▓─╟╜Ñ╒ÑíÑñÑδñ╬Ñ╖Ñ≤Ñ▄Ñδ block_number ñ╦╠ñ─Ω╡┴╗▓╛╚ñ¼ñóñδñ╚ñ¡ñ╧íóÑ╓ÑφÑ├Ñ»╚╓╣µñ╧Ñ╟í╝Ñ┐ÑóÑñÑ╞Ñαñ╟├╓ñ¡┤╣ñ¿ñΘñ∞ñ▐ñ╣íú╞▒══ñ╦íóÑ¿Ñ≤Ñ»Ñφí╝Ñ╕Ñ≤Ñ░┤╪┐⌠ñ╬╚╓╣µñ╧║╞╟█├╓▓─╟╜Ñ╒ÑíÑñÑδñ╬ function_number ñ╪ñ╬╗▓╛╚ñ╟├╓ñ¡┤╣ñ¿ñΘñ∞ñ▐ñ╣íúñ│ñ∞ñ╦ñΦñΩÑ│í╝Ñ╔ñ╬│╞Ñ│Ñ╘í╝ñ≥╢Φ╩╠ñ╣ñδñ│ñ╚ñ¼ñ╟ñ¡ñ▐ñ╣íú
-
__FILENAME__ ñ╟╗╧ñ▐ñδ╠ñ─Ω╡┴Ñ╖Ñ≤Ñ▄Ñδñ╧╠╛┴░ñ¼╩╤╣╣ñ╡ñ∞ñ▐ñ╣íúñ│ñ╬▓╝░╠╩╕╗·╬≤ñ╧╩╤┐⌠╠╛ñ╦┼¼ñ╖ñ┐ relocatable-object ñ╬├╗╜╠├╗╜╠Ñ╒ÑíÑñÑδ╠╛Ñ╨í╝Ñ╕ÑτÑ≤ñ╟├╓ñ¡┤╣ñ¿ñΘñ∞ñ▐ñ╣íúñ┐ñ╚ñ¿ñ╨íórelocatable-object ñ╬Ñ╒ÑíÑñÑδ╠╛ñ¼ /tmp/xxx/yyy.0 ñ╟ñóñ∞ñ╨íó``yyy''ñ╚ñññª╩╕╗·╬≤ñ╦├╓ñ¡┤╣ñ¿ñΘñ∞ñ▐ñ╣íú
ñ│ñ∞ñΘñ╬└⌐╕┬ñ╦┬╨▒■ñ╣ñδ║╟ñΓ┤╩├▒ñ╩╩²╦íñ╧ñ│ñ╬┴▐╞■Ñ│í╝Ñ╔ñ≥┤╪┐⌠╕╞ñ╙╜╨ñ╖ñ╚ñ╖íó┤╪┐⌠ñ≥╩╠ñ╦Ñ│Ñ≤Ñ╤ÑñÑδñ╣ñδñ│ñ╚ñ╟ñ╣íú
3 ╚╓╠▄ñ╬╖┴╝░ñ╟ñ╧íófur ñ╧Ñ╓ÑφÑ├Ñ»ÑφÑ░ñ≥╩¼└╧ñ╖ñ▐ñ╣íú-r (╞╔ñ▀╣■ñ▀└∞═╤) ѬÑ╫Ñ╖ÑτÑ≤ñ¼ñóñ∞ñ╨ fur ñ╧║╞╟█├╓▓─╟╜Ñ╒ÑíÑñÑδñ≥╩╤╣╣ñ╖ñ▐ñ╗ñ≤(-r ñ¼ñ╩ñññ╚íóÑ╒ÑíÑñÑδñ╧ block-log-file ñ╬╛≡╩≤ñ╦┤≡ñ┼ñññ╞─┤└░ñ╡ñ∞ñ▐ñ╣)íú-v ѬÑ╫Ñ╖ÑτÑ≤ñ¼ñóñδñ╚ fur ñ╧ÑφÑ░ñ╬í╓Ñ╙Ñσí╝í╫ñ≥╔╜╝¿ñ╖íóÑφÑ░ñ╬╛≡╩≤ñ≥╜╨╬╧ñ╖ñ▐ñ╣íú-m ѬÑ╫Ñ╖ÑτÑ≤ñ¼ñóñδñ╚ fur ñ╧íóÑφÑ░ñ╬╛≡╩≤ñ╦┤≡ñ┼ñññ╞Ñ│í╝Ñ╔ñ╚╩╤┤╣ñ╖ñ┐ñ│ñ╚ñ╦ñΦñΩÑ│í╝Ñ╔ñ¼ñ╔ñ∞ñ└ñ▒▓■┴▒ñ╡ñ∞ñ┐ñ½ñ╦ñ─ñññ╞ñ╬┬¼─Ω╖δ▓╠ñ≥╜╨╬╧ñ╖ñ▐ñ╣íú░╩▓╝ñ╬ 4 ╝∩╬αñ╬Ñ╟í╝Ñ┐ñ¼╝¿ñ╡ñ∞ñ▐ñ╣íú
- ║╟┬τ╝┬╣╘╡í╟╜
-
Ñ╟í╝Ñ┐ñ╬┐«═Ω└¡ñ≥╝¿ñ╖ñ▐ñ╣íúÑ│í╝Ñ╔ñ≥═¡▒╫ñ╚ñ╣ñδñ╦ñ╧╜╜╩¼ñ╦Ñ│í╝Ñ╔ñ≥│Φ═╤ñ╖ñ╩ñ▒ñ∞ñ╨ñ╩ñΩñ▐ñ╗ñ≤íú
- Ñ╕ÑπÑ≤Ñ╫╬¿
-
Ñ│í╝Ñ╔ñ╧Ñ╕ÑπÑ≤Ñ╫┐⌠ñ≥║∩╕║ñ╣ñδñΦñªñ╦╩╤╣╣ñ╣ñδñ│ñ╚ñ¼ñ╟ñ¡ñ▐ñ╣íúñ│ñ╬┐⌠╗·ñ╧╕╡ñ╬Ñ╕ÑπÑ≤Ñ╫ñ╬ñªñ┴┐╖ñ╖ññÑ╨í╝Ñ╕ÑτÑ≤ñ╬Ñ│í╝Ñ╔ñ╦╝ΦñΩ╞■ñ∞ñδñ│ñ╚ñ¼ñ╟ñ¡ñδñΓñ╬ñ╬Ñ╤í╝Ñ╗Ñ≤Ñ╞í╝Ñ╕ñ╟ñ╣íúñ│ñ╬┐⌠╗·ñ¼╛«ñ╡ñññ█ñ╔Ñ│í╝Ñ╔ñ╬─┤└░ñ╦ñΦñδ╕·▓╠ñ¼┬τñ¡ñ»ñ╩ñΩñ▐ñ╣íú
- ╣╘╗╚═╤╕·╬¿(─┤└░ñ╬┴░ñ¬ñΦñ╙╕σ)
-
─┤└░ñ╬┴░╕σñ╟ñ╬Ñ│í╝Ñ╔ñ╬ÑßÑΓÑΩñ╚Ñ¡ÑπÑ├Ñ╖Ñσñ╪ñ╬┼¼╣τ┼┘ñ≥╝¿ñ╖ñ▐ñ╣íú║╟┴▒ñ╬├═ñ╧ 100% ñ╟ñ╣íú
order-file ѬÑ╫Ñ╖ÑτÑ≤ñ¼ñóñδñ╚ñ¡ñ╦ñ╧íóÑφÑ░╞Γñ╬Ñ╟í╝Ñ┐ñ╦║╟ñΓ┼¼╣τñ╣ñδÑ╓ÑφÑ├Ñ»╜τ╜°ñ¼┼÷│║Ñ╒ÑíÑñÑδñ╦╜±ñ¡╣■ñ▐ñ∞ñ▐ñ╣(ñ│ñ╬Ñ╒ÑíÑñÑδñ╧╛σ╜╥ñ╬┬Φ░∞ñ╬╖┴╝░ñ╬ѬÑ╫Ñ╖ÑτÑ≤ñ╚ñ╖ñ╞ fur ñ╦─≤╢íñ╣ñδñ│ñ╚ñ¼ñ╟ñ¡ñ▐ñ╣)íúlist-of-function-file ѬÑ╫Ñ╖ÑτÑ≤ñ¼╔╒ñ▒ñΘñ∞ñ╞ñññδñ╚ñ¡ñ╦ñ╧íóorder-file ñ╦╜±ñ¡╣■ñ▐ñ∞ñδ┤╪┐⌠ñ╬╜τ╚╓ñ╧ñ│ñ╬Ñ╒ÑíÑñÑδ╞Γñ╦╝¿ñ╡ñ∞ñ┐╜τ╚╓ñ╚ñ╩ñΩíó░∞╩²│╞┤╪┐⌠╞Γñ╬Ñ╓ÑφÑ├Ñ»ñ╬╜τ╚╓ñ╧ block-log-file ñ╬╛≡╩≤ñ╦┤≡ñ┼ñññ┐╜τ╚╓ñ╚ñ╩ñΩñ▐ñ╣íú
keep-file ѬÑ╫Ñ╖ÑτÑ≤ñ╧íófur ñ╬░╩╕σñ╬╝┬╣╘ñ╬ñ┐ñßñ╦║╞╟█├╓▓─╟╜ѬÑ╓Ñ╕ѺѻÑ╚ñ╦┤╪ñ╣ñδ╛≡╩≤ñ≥╩▌┬╕ñ╣ñδñ┐ñßñ╦╗╚═╤ñ╡ñ∞ñ▐ñ╣íúkeep-file ñ¼┬╕║▀ñ╖ñ╩ñññ╚ñ¡ñ╧íó║╞╟█├╓▓─╟╜ѬÑ╓Ñ╕ѺѻÑ╚ñ╦┤╪ñ╣ñδ╛≡╩≤ñ╦ñΦñΩ║ε└«ñ╡ñ∞ñ▐ñ╣íúkeep-file ñ¼┬╕║▀ñ╣ñδñ╚ñ¡ñ╧íófur ñ¼║╞╟█├╓▓─╟╜Ñ╒ÑíÑñÑδñ≥╞╔ñ▀╣■ñα╗■┤╓ñ¼┬τ╔²ñ╦├╗╜╠ñ╡ñ∞ñ▐ñ╣íú-k ñ≥╗╪─Ωñ╖íókeep-file ñ¼║╞╟█├╓▓─╟╜Ñ╒ÑíÑñÑδñ╦░∞├╫ñ╖ñ╩ññ╛∞╣τíófur ñ╧░█╛∩╜¬╬╗ñ╖ñ▐ñ╣íú-K ñ≥╗╪─Ωñ╖íókeep-file ñ¼║╞╟█├╓▓─╟╜Ñ╒ÑíÑñÑδñ╦░∞├╫ñ╖ñ╩ññ╛∞╣τíóñ│ñ∞ñ╧ keep-file ñ¼┬╕║▀ñ╖ñ╩ññ╛∞╣τñ╚╞▒ñ╕ñΦñªñ╦╜Φ═²ñ╡ñ∞ñ▐ñ╣(ѬÑ╓Ñ╕ѺѻÑ╚ñ╬╞╔ñ▀╝ΦñΩñ¼╣╘ñ∩ñ∞íókeep-fileñ╦╛≡╩≤ñ¼│╩╟╝ñ╡ñ∞ñ┐╛∞╣τ)íú
Ñ│Ñ▐Ñ≤Ñ╔╣╘ñ╟ѬÑ╫Ñ╖ÑτÑ≤╩╤┐⌠ñ≥╗╪─Ωñ╣ñδñ│ñ╚ñ¼ñ╟ñ¡ñ▐ñ╣(order-file ñ¼║ε└«ñ╡ñ∞ñ╞ñññ∞ñ╨íóÑ╤ÑΘÑßí╝Ñ┐ñΓñ╜ñ│ñ╦│╩╟╝ñ╡ñ∞ñ╞ñññ▐ñ╣)íúѬÑ╫Ñ╖ÑτÑ≤╩╤┐⌠ñ╧┤─╢¡╩╤┐⌠ñ╟ñΓ└▀─Ωñ╣ñδñ│ñ╚ñ¼ñ╟ñ¡ñ▐ñ╣íúñ│ñ∞ñΘñ╬╩╤┐⌠ñ╧░╩▓╝ñ╬ñ╚ñ¬ñΩñ╟ñ╣íú
- NUMFUNCALIGN
-
║╞╜τ╜°╔╒ñ▒ñ╡ñ∞ñ┐Ñ│í╝Ñ╔ñ╬└Φ╞¼ñ½ñΘ┐⌠ñ¿ñ╞íóñññ»ñ─ñ╬┤╪┐⌠ñ╬╢¡│ª─┤└░ñ≥╣╘ñªñ½ñ≥╗╪─Ωñ╖ñ▐ñ╣íú╛╩╬¼╗■ñ╧ñ╣ñ┘ñ╞ñ╬┤╪┐⌠ñ≥╢¡│ª─┤└░ñ╖ñ▐ñ╣íú
- FUNCALIGN
-
┤╪┐⌠ñ╬└Φ╞¼ñ≥╢¡│ª─┤└░ñ╣ñδ├═ñ≥╗╪─Ωñ╖ñ▐ñ╣íú╛╩╬¼├═ñ╧ 16 ñ╟ñ╣íú
- LOOPRATIO
-
fur ñ¼Ñδí╝Ñ╫ñ╚▓≥╝ßñ╣ñδ╚┐╔ⁿ▓≤┐⌠ñ≥─Ω╡┴ñ╖ñ▐ñ╣íú╛╩╬¼╗■ñ╦ñ╧ fur ñ╧íóñóñδÑ╓ÑφÑ├Ñ»ñ¼ñ╜ñ╬┴░ñ╬Ñ╓ÑφÑ├Ñ»ñΦñΩ 50 ▓≤┬┐ñ»╝┬╣╘ñ╡ñ∞ñ┐╛∞╣τñ╦ñ╜ñ╬Ñ╓ÑφÑ├Ñ»ñ≥Ñδí╝Ñ╫ñ╬└Φ╞¼ñ╟ñóñδñ╚▓≥╝ßñ╖ñ▐ñ╣íú
- LOOPALIGN
-
Ñδí╝Ñ╫ñ╬└Φ╞¼ñ≥╢¡│ª─┤└░ñ╣ñδ├═ñ≥╗╪─Ωñ╖ñ▐ñ╣íú╛╩╬¼├═ñ╧ 16 ñ╟ñ╣íú
- FORCE_CONTIGUOUS
-
ñ│ñ╬Ñ╤ÑΘÑßí╝Ñ┐ñ¼ 0 ñ╟ñ╩ññ╛∞╣τíóÑ│í╝Ñ╔ñ¼║╞╟█╬≤ñ╡ñ∞ñ┐ñ╚ñ¡ñ╦┤╪┐⌠╞Γñ╬ñ╣ñ┘ñ╞ñ╬Ñ╓ÑφÑ├Ñ»ñ¼╩▌╗²ñ╡ñ∞ñ▐ñ╣íú┬┐ñ»ñ╬╛∞╣τíófur ñ╬Ñ│í╝Ñ╔╜Φ═²ñ¼├┘ñ»ñ╩ñΩñ▐ñ╣íú╛╩╬¼├═ñ╧ 0 ñ╟ñ╣íú
- EXIST_WARNINGS
-
ñ│ñ╬╩╤┐⌠ñ¼ 0 ñ╦└▀─Ωñ╡ñ∞ñ╞ñññ╩ññ╛∞╣τíóorder-file ñ¼║╞╟█├╓▓─╟╜Ñ╒ÑíÑñÑδñ╦┤▐ñ▐ñ∞ñ╞ñññ╩ññ┤╪┐⌠ñ≥╗▓╛╚ñ╖ñ╞ñññ∞ñ╨íófur ñ╧╖┘╣≡ñ≥╚»ñ╖ñ▐ñ╣íú╛╩╬¼├═ñ╧ 1 ñ╟ñ╣íú├▒░∞ñ╬ order-file ñ¼╩ú┐⌠ñ╬ѬÑ╓Ñ╕ѺѻÑ╚ñ╦┬╨ñ╖ñ╞╗╚═╤ñ╡ñ∞ñ╞ñññδ╛∞╣τíóorder-file ñ╦ñ╧│╞ѬÑ╓Ñ╕ѺѻÑ╚ñ╦┤╪╧óñ╖ñ╞ñññ╩ññ╛≡╩≤ñ≥┤▐ñ≤ñ╟ñññδñ╚╗╫ñ∩ñ∞ñ▐ñ╣íúñ│ñ╬╛∞╣τíó╖┘╣≡ñ≥ѬÑ╒ñ╦ñ╖ñ┐╩²ñ¼╬╔ñññ╟ñ╖ñτñªíú
2 ñ─ñ╬ѬÑ╫Ñ╖ÑτÑ≤╩╤┐⌠ñ¼íófur ñ¼╣╘ñªÑñÑ≤ÑΘÑñÑ≤ñ╬╬╠ñ≥Ñ│Ñ≤Ñ╚Ñφí╝Ñδñ╖ñ▐ñ╣íú░╩▓╝ñ╬ 2 ñ─ñ╬┤≡╜α╬╛╩²ñ╦│║┼÷ñ╖íóñ╜ñ∞░╩│░ñ╬╛∞╣τñ╧╝⌡┬·ñ╡ñ∞ñδ╕╞ñ╙╜╨ñ╖ñ╬ñ▀ñ¼ÑñÑ≤ÑΘÑñÑ≤╜Φ═²ñ╡ñ∞ñ▐ñ╣íú
- INLINE_CRITERIA
-
ñ│ñ╬╩╤┐⌠ñ╧íófur ñ¼╣╘ñªÑñÑ≤ÑΘÑñÑ≤ñ╬╬╠ñ≥Ñ│Ñ≤Ñ╚Ñφí╝Ñδñ╖ñ▐ñ╣íú├═ñ╧ 0 ñ½ñΘ 100 ñ▐ñ╟ñ╟ñ╣íú0 ñ╬╛∞╣τñ╧┤╪┐⌠ñ╧ñ▐ñ├ñ┐ñ»ÑñÑ≤ÑΘÑñÑ≤╜Φ═²ñ╡ñ∞ñ║íó100 ñ╬╛∞╣τ fur ñ╧▓─╟╜ñ╩┤╪┐⌠╕╞ñ╙╜╨ñ╖ñ≥ñ╣ñ┘ñ╞ÑñÑ≤ÑΘÑñÑ≤╜Φ═²ñ╖ñ▐ñ╣íú├═ñ≥ 10 ñ╦ñ╣ñδñ╚íófur ñ╧íó┤╪┐⌠╕╞ñ╙╜╨ñ╖ñ╬║╟╜Θñ╬ 10% ñ╬ñ▀ñ≥ÑñÑ≤ÑΘÑñÑ≤╜Φ═²ñ╖ñ▐ñ╣íú╛╩╬¼├═ñ╧ 80 ñ╟ñ╣(SCO UnixWare X.X Forum Beta ñ╬╛∞╣τíó╛╩╬¼├═ñ╧ 0 ñ╩ñ╬ñ╟├φ░╒ñ╖ñ╞ñ»ñ└ñ╡ññ)íú
- INLINE_CALL_RATIO
-
ñ│ñ╬╩╤┐⌠ñΓñ▐ñ┐íófur ñ¼╣╘ñªÑñÑ≤ÑΘÑñÑ≤ñ╬╬╠ñ≥Ñ│Ñ≤Ñ╚Ñφí╝Ñδñ╖ñ▐ñ╣íúñ│ñ╬╩╤┐⌠ñ╬│╡╟░ñ╧íó┤╪┐⌠ñ╬╞├─Ωñ╬╕╞ñ╙╜╨ñ╖ñ¼íó┬┐╬╠ñ╬┤╪┐⌠╕╞ñ╙╜╨ñ╖ñ╦ñ╩ñΘñ╩ñññ╩ñΘíó░∞╕─╜Ωñ╦┤╪┐⌠ñ≥ÑñÑ≤ÑΘÑñÑ≤ñ╣ñδñ╬ñ╧╠╡┬╠ñ└íóñ╚ñññªñ│ñ╚ñ╟ñ╣íú10 ñ╚ñññª├═ñ╧íó┤╪┐⌠╕╞ñ╙╜╨ñ╖ñ╬╛»ñ╩ñ»ñ╚ñΓ 10% ñ≥└Ωñßñδ┤╪┐⌠╕╞ñ╙╜╨ñ╖ñ¼ÑñÑ≤ÑΘÑñÑ≤ñ╡ñ∞ñΦñªñ╚ñ╖ñ╞ñññδñ│ñ╚ñ≥░╒╠úñ╖ñ▐ñ╣íú╛╩╬¼├═ñ╧ 50 ñ╟ñ╣(SCO UnixWare X.X Forum Beta ñ╬╛∞╣τíó╛╩╬¼├═ñ╧ 90 ñ╩ñ╬ñ╟├φ░╒ñ╖ñ╞ñ»ñ└ñ╡ññ)íú
-w ѬÑ╫Ñ╖ÑτÑ≤ñ╧ fur ñ½ñΘñ╬╖┘╣≡ÑßÑ├Ñ╗í╝Ñ╕ñ≥╔╜╝¿ñ╖ñ╩ñññΦñªñ╦ñ╖ñ▐ñ╣íú
mkblocklog ñ¬ñΦñ╙ mkproflog ñ╧ fur ñ¼╗╚═╤ñ╣ñδѵí╝Ñ╞ÑúÑΩÑ╞ÑúÑ╫ÑφÑ░ÑΘÑαñ╟ñ╣íúñ│ñ∞ñΘñ╧ -c ѬÑ╫Ñ╖ÑτÑ≤ñ≥╗╚═╤ñ╖ñ╞║ε└«ñ╡ñ∞ñ┐Ñ│Ñ▐Ñ≤Ñ╔╣╘ñ╬░∞╔⌠ñ╚ñ╖ñ╞ñ╬ñ▀╗╚═╤ñ╟ñ¡ñ▐ñ╣íúfur ñ╧╝½╞░┼¬ñ╦Ñ╓ÑφÑ├Ñ»┐⌠íó┤╪┐⌠╠╛ñ¬ñΦñ╙┐⌠ñ≥─╔▓├ñ╖ñ▐ñ╣ñ╬ñ╟íóѬÑ╫Ñ╖ÑτÑ≤ñ╧╔╘═╫ñ╟ñ╣íú-p ѬÑ╫Ñ╖ÑτÑ≤ñ╧ÑφÑ░Ñ╒ÑíÑñÑδñ≥╜±ñ¡╣■ñα╛∞╜Ωñ≥╗╪─Ωñ╖ñ▐ñ╣(┐⌠╗·ñ¼ prefix ñ╦─╔▓├ñ╡ñ∞ñ▐ñ╣)íú╛╩╬¼╗■ñ╧ block.name ñ¼Ñ╫Ñ∞Ñ╒ÑúÑ»Ñ╣ñ╟ñ╣íúmkblocklog ñ╧ log.name.o ñ≥║ε└«ñ╖ñ▐ñ╣ñ¼íóñ│ñ∞ñ≥╕╡ñ╬║╞╟█├╓▓─╟╜Ñ╒ÑíÑñÑδñ╚ÑΩÑ≤Ñ»ñ╖ñ╞ÑφÑ░║╬╝Φñ╣ñδ╔¼═╫ñ¼ñóñΩñ▐ñ╣íúmkproflog ñ╧ prof.name.o ñ≥║ε└«ñ╖ñ▐ñ╣íú
├φ░╒
keep-file ѬÑ╫Ñ╖ÑτÑ≤ñ╧═°╩╪ñ╬ñ┐ñßñ╦─≤╢íñ╡ñ∞ñ╞ñññδñΓñ╬ñ╟ñ╣íúÑ─í╝Ñδñ╬Ñ╨í╝Ñ╕ÑτÑ≤┤╓ñ╟Ñ╒ÑíÑñÑδ╖┴╝░ñ¼╩╤╣╣ñ╡ñ∞ñ╩ñññ╚ñññª╩▌╛┌ñ╧ñóñΩñ▐ñ╗ñ≤íúñ▐ñ┐ block-log-file ñ╬╖┴╝░ñ¼╩╤╣╣ñ╡ñ∞ñ╩ñññ╚ñññª╩▌╛┌ñΓñóñΩñ▐ñ╗ñ≤íú
╗╚═╤╬π
║╞Ñ│Ñ≤Ñ╤ÑñÑδñ╣ñδñ│ñ╚ñ╩ñ»Ñ│í╝Ñ╔ñ≥Ñ╫ÑφÑ╒ÑíÑñÑδñ╣ñδñ│ñ╚ñ¼ñ╟ñ¡ñ▐ñ╣íúÑ╫ÑφÑ╒ÑíÑñÑΩÑ≤Ñ░═╤ñ╬Ñ│Ñ≤Ñ╤ÑñÑδñ╦╗╚═╤ñ╣ñδñ╚ñ¡ñ╧░╩▓╝ñ╬ñΦñªñ╦ñ╩ñΩñ▐ñ╣íú
cc -p -c x.c
cc -p -c y.c
cc -p -o z x.o y.o
ñ│ñ│ñ╟íó░╩▓╝ñ╬ñΦñªñ╦ñ╖ñ▐ñ╣íú
cc -c x.c
cc -c y.c
fur -P prof.o -c mkproflog -p all x.o
fur -P prof.o -p all y.o
cc -p -o z x.o y.o prof.x.o prof.y.o
Ñ╓ÑφÑ├Ñ»ÑφÑ«Ñ≤Ñ░ñ╬Ñ╗Ñ├Ñ╖ÑτÑ≤╬πñ≥╝¿ñ╖ñ▐ñ╣íúÑ╫ÑφÑ░ÑΘÑαñ≥░╩▓╝ñ╬ñΦñªñ╦Ñ│Ñ≤Ñ╤ÑñÑδñ╖ñ▐ñ╣íú
-
cc -c prog1.c
-
cc -c prog2.c
-
cc -o prog prog1.o prog2.o
ñ│ñ∞ñ≥╝íñ╬ñΦñªñ╦╩╤╣╣ñ╖ñ▐ñ╣íú
-
cc -c prog1.c
-
cc -c prog2.c
-
cc -o prog prog.o
Ñ╣Ñ╞Ñ├Ñ╫ 3 ñ╚Ñ╣Ñ╞Ñ├Ñ╫ 4 ñ╬┤╓ñ╟íó╝½═│ñ╦─┤└░ñ╟ñ¡ñ▐ñ╣íúñ┐ñ╚ñ¿ñ╨╝íñ╬ñΦñªñ╟ñ╣íú
- 3.1
-
cp prog.o hold.o
- 3.2
-
fur -c mkblocklog -b all prog.o
- 3.3
-
cc -o prog prog.o log.prog.o
- 3.4
-
prog [options]
- 3.5
-
cp hold.o prog.o
- 3.6
-
fur -r -o prog.order -f block.prog.00 prog.o
- 3.7
-
fur -o prog.order prog.o
- 4.
-
cc -o prog prog.o
╖┘╣≡
fur ñ╧ UnixWare C Compilation System ñ≥╗╚═╤ñ╖ñ╞║╞╟█├╓▓─╟╜Ñ╒ÑíÑñÑδñ≥║ε└«ñ╖ñ┐ñ╚ñ¡ñ╦ñ╬ñ▀Ñ∩í╝Ñ¡Ñ≤Ñ░Ñ│í╝Ñ╔ñ╬║ε└«ñ≥╩▌╛┌ñ╖ñ▐ñ╣íúÑóÑ╗Ñ≤Ñ╓ÑΩÑ│í╝Ñ╔ñ▐ñ┐ñ╧┬╛ñ╬Ñ│Ñ≤Ñ╤ÑñÑΘñ╟║ε└«ñ╡ñ∞ñ┐Ñ│í╝Ñ╔ñ≥╗╚═╤ñ╣ñδñ╚íóѬÑ╓Ñ╕ѺѻÑ╚Ñ│í╝Ñ╔ñ¼└╡╛∩ñ╦╞░║εñ╖ñ╩ññ▓─╟╜└¡ñ¼ñ┤ñ»ñ∩ñ║ñ½ñóñΩñ▐ñ╣íúñ│ñ╬╗÷┬╓ñ¼└╕ñ╕ñδñ╬ñ╧░╩▓╝ñ╬ 2 ñ─ñ╬╛⌡╢╖ñ╬ñññ║ñ∞ñ½ñ╟ñ╬ñ▀ñ╟ñ╣íú
-
ѬÑ╓Ñ╕ѺѻÑ╚ñ╬ .text └ßñ╦└╡ñ╖ññ╗╪╝¿ñ╟ñ╩ññ╛≡╩≤ñ¼ñóñδñ╚ñ¡íúñ│ñ∞ñ╧ .text └ßñ╦Ñ╟í╝Ñ┐ñ≥╟█├╓ñ╖ñ┐ñ╚ñ¡ñ╦└╕ñ╕ñ▐ñ╣íú
-
Ñ╞Ñ¡Ñ╣Ñ╚ÑóÑ╔Ñ∞Ñ╣ñ╟╖╫╗╗ñ¼╝┬╣╘ñ╡ñ∞ñ┐ñ╚ñ¡íúfur ñ╧Ñ│í╝Ñ╔ñ≥╞░ñ½ñ╖ñ▐ñ╣ñ╬ñ╟íóÑóÑ╗Ñ≤Ñ╓ÑΩÑ│í╝Ñ╔ñ╬Ñ│í╝Ñ╔ñ╬┴Ω┬╨Ñ▌Ñ╕Ñ╖ÑτÑ╦Ñ≤Ñ░ñ╬Ñ╧í╝Ñ╔Ñ│í╝Ñ╟ÑúÑ≤Ñ░(C ñ╟ñ╧└╡ñ╖ñ»ñóñΩñ▐ñ╗ñ≤)ñ≥╣╘ñªñ╚╠Σ┬Ωñ¼└╕ñ╕ñ▐ñ╣íúñ┐ñ╚ñ¿ñ╨íóÑóÑ╗Ñ≤Ñ╓ÑΩÑ│í╝Ñ╔ñ╦ 2 ñ─ñ╬Ñ∞Ñ┘Ñδñ¼ñóñΩíóñ╜ñ╬ñªñ┴ñ╬░∞ñ─ñ½ñΘ┬╛ñ≥░·ñ¡╜╨ñ╣╛∞╣τñ╩ñ╔ñ╟ñ╣íúñ│ñ╬╛≡╩≤ñ¼ñóñ╚ñ╟Ñ╕ÑπÑ≤Ñ╫(ñ▐ñ┐ñ╧╕╞ñ╙╜╨ñ╖)ñ╬ñ┐ñßñ╦╗╚═╤ñ╡ñ∞ñ┐ñ╚ñ¡ñ╦ fur ñ╧╛⌡╢╖ñ≥╟º╝▒ñ╟ñ¡ñ║íóÑ│í╝Ñ╔ñ≥╚≤╕▀┤╣ñ╟╩╤╣╣ñ╣ñδñ│ñ╚ñ¼ñóñΩñ▐ñ╣íúñ│ñ∞ñ¼└╕ñ╕ñδñ│ñ╚ñ╧ñ┤ñ»ñ▐ñ∞ñ╟ñ╣ñ╬ñ╟(Ñ│Ñ≤Ñ╤ÑñÑΘñ¼Ñ▌Ñ╕Ñ╖ÑτÑ≤╞╚╬⌐Ñ│í╝Ñ╔ñ≥║ε└«ñ╣ñδñ╚ñ¡ñΦñ»╗╚═╤ñ╡ñ∞ñ▐ñ╣ñ¼íófur ñ╧ñ│ñ╬ñΦñªñ╩╛∞╣τñ╧╛⌡╢╖ñ≥╟º╝▒ñ╖ñ▐ñ╣)íóñ█ñ╚ñ≤ñ╔ñ╬ѵí╝Ñ╢ñ╧╡ññ╦ñ╣ñδ╔¼═╫ñ¼ñóñΩñ▐ñ╗ñ≤íú
┐╟├╟
fur ñ╧░╩▓╝ñ╬╛∞╣τñ╦░█╛∩╜¬╬╗ñ╖ñ▐ñ╣íú
-
relocatable-object ñ¼║╞╟█├╓▓─╟╜ ELF ѬÑ╓Ñ╕ѺѻÑ╚ñ╟ñ╧ñ╩ñññ╚ñ¡íú
-
block-insertion-codeíóprologue-insertion-codeíóñ▐ñ┐ñ╧ epilogue-insertion-code ñ¼║╞╟█├╓▓─╟╜ ELF ѬÑ╓Ñ╕ѺѻÑ╚ñ╟ñ╩ñññ½íóñóñδñññ╧╛σ╡¡╡¼┬ºñ╦░π╚┐ñ╖ñ╞ñññδñ╚ñ¡íú
-
keep-file ñ¼ relocatable-object ñ╦Ñ▐Ñ├Ñ┴ñ╖ñ╩ñññ╚ñ¡íú
-
block-log ñ¼ relocatable-object ñ╦Ñ▐Ñ├Ñ┴ñ╖ñ╩ñññ╚ñ¡íú
┤╪╧ó╣α╠▄
CC(1C++),
cc(1),
fprof(1),
lprof(1),
lrt_scan(1),
prof(1)
SCO UnixWare Forum Beta Release (BL12) -- September 1997
© 1997 The Santa Cruz Operation, Inc. All rights reserved.