*asm:
%(asm_cpu) %{.s: %{mregnames} %{mno-regnames}} %{.S: %{mregnames} %{mno-regnames}} %{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*} %{mrelocatable} %{mrelocatable-lib} %{fpic:-K PIC} %{fPIC:-K PIC} %{memb} %{!memb: %{msdata: -memb} %{msdata=eabi: -memb}} %{mlittle} %{mlittle-endian} %{mbig} %{mbig-endian} %{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian:     %{mcall-solaris: -mlittle -msolaris}     %{mcall-linux: -mbig} }}}}

*asm_final:
%|

*asm_options:
%a %Y %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}

*cpp:
%{posix: -D_POSIX_SOURCE} %(cpp_sysv) %(cpp_endian) %(cpp_cpu) %{mads: %(cpp_os_ads) } %{myellowknife: %(cpp_os_yellowknife) } %{mmvme: %(cpp_os_mvme) } %{msim: %(cpp_os_sim) } %{mcall-linux: %(cpp_os_linux) } %{mcall-solaris: %(cpp_os_solaris) } %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %(cpp_os_default) }}}}}}

*cpp_options:
%{C:%{!E:%eGNU C does not support -C without using -E}} %{std*} %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I %{MD:-M -MF %W{!o: %b.d}%W{o*:%.d%*}} %{MMD:-MM -MF %W{!o: %b.d}%W{o*:%.d%*}} %{M} %{MM} %W{MF*} %{MG} %{MP} %{MQ*} %{MT*} %{M|MD|MM|MMD:%{o*:-MQ %*}} %{!no-gcc:-D__GNUC__=%v1 -D__GNUC_MINOR__=%v2 -D__GNUC_PATCHLEVEL__=%v3} %{!undef:%{!ansi:%{!std=*:%p}%{std=gnu*:%p}} %P} %{trigraphs} %c %{Os:-D__OPTIMIZE_SIZE__} %{O*:%{!O0:-D__OPTIMIZE__}} %{fno-inline|O0|!O*:-D__NO_INLINE__} %{ffast-math:-D__FAST_MATH__} %{fshort-wchar:-U__WCHAR_TYPE__ -D__WCHAR_TYPE__=short\ unsigned\ int} %{fshow-column} %{fno-show-column} %{fleading-underscore} %{fno-leading-underscore} %{foperator-names} %{fno-operator-names} %{ftabstop=*} %{remap} %{g3:-dD} %{W*} %{w} %{pedantic*} %{H} %{d*} %C %{D*} %{U*} %{i*} %Z %i %{E:%{!M*:%W{o*}}}

*trad_capable_cpp:
%{traditional|ftraditional|traditional-cpp:trad}cpp0

*cc1:
%{G*} %{mlittle: %(cc1_endian_little)} %{!mlittle: %{mlittle-endian: %(cc1_endian_little)}} %{mbig: %(cc1_endian_big)} %{!mbig: %{mbig-endian: %(cc1_endian_big)}} %{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian:     %{mcall-aixdesc: -mbig %(cc1_endian_big) }     %{mcall-solaris: -mlittle %(cc1_endian_little) }     %{mcall-linux: -mbig %(cc1_endian_big) }     %{!mcall-aixdesc: %{!mcall-solaris: %{!mcall-linux: 	    %(cc1_endian_default)     }}} }}}} %{mcall-solaris: -mregnames } %{mno-sdata: -msdata=none } %{meabi: %{!mcall-*: -mcall-sysv }} %{!meabi: %{!mno-eabi:     %{mrelocatable: -meabi }     %{mcall-solaris: -mno-eabi }     %{mcall-linux: -mno-eabi }}} %{msdata: -msdata=default} %{mno-sdata: -msdata=none} %{profile: -p}

*cc1_options:
%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}} %1 %{!Q:-quiet} -dumpbase %B %{d*} %{m*} %{a*} %{g*} %{O*} %{W*} %{w} %{pedantic*} %{std*} %{ansi} %{traditional} %{v:-version} %{pg:-p} %{p} %{f*} %{aux-info*} %{Qn:-fno-ident} %{--help:--help} %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}} %{fsyntax-only:-o %j}

*cc1plus:


*endfile:
%{mads: %(endfile_ads)} %{myellowknife: %(endfile_yellowknife)} %{mmvme: %(endfile_mvme)} %{msim: %(endfile_sim)} %{mcall-linux: %(endfile_linux) } %{mcall-solaris: %(endfile_solaris)} %{mvxworks: %(endfile_vxworks) } %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %{!mvxworks: %(endfile_default) }}}}}}}

*link:
%{h*} %{v:-V} %{G*} %{Wl,*:%*} %{YP,*} %{R*} %{Qy:} %{!Qn:-Qy} %(link_shlib) %{!Wl,-T*: %{!T*: %(link_start) }} %(link_target) %(link_os)

*lib:
%{mads: %(lib_ads) } %{myellowknife: %(lib_yellowknife) } %{mmvme: %(lib_mvme) } %{msim: %(lib_sim) } %{mcall-linux: %(lib_linux) } %{mcall-solaris: %(lib_solaris) } %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %(lib_default) }}}}}}

*libgcc:
libgcc.a%s

*startfile:
%{mads: %(startfile_ads) } %{myellowknife: %(startfile_yellowknife) } %{mmvme: %(startfile_mvme) } %{msim: %(startfile_sim) } %{mcall-linux: %(startfile_linux) } %{mcall-solaris: %(startfile_solaris) } %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %(startfile_default) }}}}}}

*switches_need_spaces:


*signed_char:
%{!fsigned-char:-D__CHAR_UNSIGNED__}

*predefines:
-DPPC -D__ELF__ -Dpowerpc -Acpu(powerpc) -Amachine(powerpc)

*cross_compile:
1

*version:
2.96

*multilib:
. !msoft-float;nof msoft-float;

*multilib_defaults:
mbig mcall-sysv

*multilib_extra:
fPIC mstrict-align

*multilib_matches:
mcpu=401 msoft-float;mcpu=403 msoft-float;mcpu=ec603e msoft-float;mcpu=801 msoft-float;mcpu=821 msoft-float;mcpu=823 msoft-float;mcpu=860 msoft-float;msoft-float msoft-float;

*multilib_exclusions:


*linker:
collect2

*link_libgcc:
%D

*cpp_cpu:
%{!mcpu*:   %{mpower: %{!mpower2: -D_ARCH_PWR}}   %{mpower2: -D_ARCH_PWR2}   %{mpowerpc*: -D_ARCH_PPC}   %{mno-power: %{!mpowerpc*: -D_ARCH_COM}}   %{!mno-power: %{!mpower2: %(cpp_default)}}} %{mcpu=common: -D_ARCH_COM} %{mcpu=power: -D_ARCH_PWR} %{mcpu=power2: -D_ARCH_PWR2} %{mcpu=powerpc: -D_ARCH_PPC} %{mcpu=rios: -D_ARCH_PWR} %{mcpu=rios1: -D_ARCH_PWR} %{mcpu=rios2: -D_ARCH_PWR2} %{mcpu=rsc: -D_ARCH_PWR} %{mcpu=rsc1: -D_ARCH_PWR} %{mcpu=401: -D_ARCH_PPC} %{mcpu=403: -D_ARCH_PPC} %{mcpu=505: -D_ARCH_PPC} %{mcpu=601: -D_ARCH_PPC -D_ARCH_PWR} %{mcpu=602: -D_ARCH_PPC} %{mcpu=603: -D_ARCH_PPC} %{mcpu=603e: -D_ARCH_PPC} %{mcpu=ec603e: -D_ARCH_PPC} %{mcpu=604: -D_ARCH_PPC} %{mcpu=604e: -D_ARCH_PPC} %{mcpu=620: -D_ARCH_PPC} %{mcpu=740: -D_ARCH_PPC} %{mcpu=750: -D_ARCH_PPC} %{mcpu=801: -D_ARCH_PPC} %{mcpu=821: -D_ARCH_PPC} %{mcpu=823: -D_ARCH_PPC} %{mcpu=860: -D_ARCH_PPC}

*cpp_default:
-D_ARCH_PPC

*asm_cpu:
%{!mcpu*:   %{mpower: %{!mpower2: -mpwr}}   %{mpower2: -mpwrx}   %{mpowerpc*: -mppc}   %{mno-power: %{!mpowerpc*: -mcom}}   %{!mno-power: %{!mpower2: %(asm_default)}}} %{mcpu=common: -mcom} %{mcpu=power: -mpwr} %{mcpu=power2: -mpwrx} %{mcpu=powerpc: -mppc} %{mcpu=rios: -mpwr} %{mcpu=rios1: -mpwr} %{mcpu=rios2: -mpwrx} %{mcpu=rsc: -mpwr} %{mcpu=rsc1: -mpwr} %{mcpu=401: -mppc} %{mcpu=403: -mppc} %{mcpu=505: -mppc} %{mcpu=601: -m601} %{mcpu=602: -mppc} %{mcpu=603: -mppc} %{mcpu=603e: -mppc} %{mcpu=ec603e: -mppc} %{mcpu=604: -mppc} %{mcpu=604e: -mppc} %{mcpu=620: -mppc} %{mcpu=740: -mppc} %{mcpu=750: -mppc} %{mcpu=801: -mppc} %{mcpu=821: -mppc} %{mcpu=823: -mppc} %{mcpu=860: -mppc}

*asm_default:
-mppc

*cpp_sysv:
%{mrelocatable*: -D_RELOCATABLE} %{fpic: -D__PIC__=1 -D__pic__=1} %{!fpic: %{fPIC: -D__PIC__=2 -D__pic__=2}} %{mcall-sysv: -D_CALL_SYSV} %{mcall-aix: -D_CALL_AIX} %{mcall-aixdesc: -D_CALL_AIX -D_CALL_AIXDESC} %{!mcall-sysv: %{!mcall-aix: %{!mcall-aixdesc: %(cpp_sysv_default) }}} %{msoft-float: -D_SOFT_FLOAT} %{!msoft-float: %{!mhard-float:     %{mcpu=401: -D_SOFT_FLOAT}     %{mcpu=403: -D_SOFT_FLOAT}     %{mcpu=ec603e: -D_SOFT_FLOAT}     %{mcpu=801: -D_SOFT_FLOAT}     %{mcpu=821: -D_SOFT_FLOAT}     %{mcpu=823: -D_SOFT_FLOAT}     %{mcpu=860: -D_SOFT_FLOAT}     %{!mcpu*: %(cpp_float_default) }}}

*cpp_sysv_default:
-D_CALL_SYSV

*cpp_endian_default:
%(cpp_endian_big)

*cpp_endian:
%{mlittle: %(cpp_endian_little) } %{mlittle-endian: %(cpp_endian_little) } %{mbig: %(cpp_endian_big) } %{mbig-endian: %(cpp_endian_big) } %{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian:     %{mcall-solaris: %(cpp_endian_solaris) }     %{mcall-linux: %(cpp_endian_big) }     %{mcall-aixdesc:  %(cpp_endian_big) }     %{!mcall-solaris: %{!mcall-linux: %{!mcall-aixdesc: %(cpp_endian_default) }}}}}}}

*lib_ads:
--start-group -lads -lc --end-group

*lib_yellowknife:
--start-group -lyk -lc --end-group

*lib_mvme:
--start-group -lmvme -lc --end-group

*lib_sim:
--start-group -lsim -lc --end-group

*lib_linux:
%{mnewlib: --start-group -llinux -lc --end-group } %{!mnewlib: %{shared:-lc} %{!shared: %{pthread:-lpthread } %{profile:-lc_p} %{!profile:-lc}}}

*lib_solaris:
%{mnewlib: --start-group -lsolaris -lc --end-group } %{!mnewlib:     %{ansi:values-Xc.o%s}     %{!ansi: 	%{traditional:values-Xt.o%s} 	%{!traditional:values-Xa.o%s}} 	%{compat-bsd:-lucb -lsocket -lnsl -lelf -laio}     %{solaris-cclib: /opt/SUNWspro/SC4.0/lib/libabi.a}     %{!shared: %{!symbolic: -lc }}}

*lib_vxworks:


*lib_default:
%(lib_linux)

*startfile_ads:
ecrti.o%s crt0.o%s crtbegin.o%s

*startfile_yellowknife:
ecrti.o%s crt0.o%s crtbegin.o%s

*startfile_mvme:
ecrti.o%s crt0.o%s crtbegin.o%s

*startfile_sim:
ecrti.o%s sim-crt0.o%s crtbegin.o%s

*startfile_linux:
%{!shared: %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:crt1.o%s}}} %{mnewlib: ecrti.o%s} %{!mnewlib: crti.o%s} %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}

*startfile_solaris:
%{!msolaris-cclib: scrti.o%s scrt0.o%s} %{msolaris-cclib: /opt/SUNWspro/SC4.0/lib/crti.o%s /opt/SUNWspro/SC4.0/lib/crt1.o%s} %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}

*startfile_vxworks:


*startfile_default:
%(startfile_linux)

*endfile_ads:
crtend.o%s ecrtn.o%s

*endfile_yellowknife:
crtend.o%s ecrtn.o%s

*endfile_mvme:
crtend.o%s ecrtn.o%s

*endfile_sim:
crtend.o%s ecrtn.o%s

*endfile_linux:
%{!shared:crtend.o%s} %{shared:crtendS.o%s} %{mnewlib: ecrtn.o%s} %{!mnewlib: crtn.o%s}

*endfile_solaris:
%{!shared:crtend.o%s} %{shared:crtendS.o%s} %{!msolaris-cclib: scrtn.o%s} %{msolaris-cclib: /opt/SUNWspro/SC4.0/lib/crtn.o%s}

*endfile_vxworks:


*endfile_default:
%(endfile_linux)

*link_path:


*link_shlib:
%{shared:-shared} %{!shared: %{static:-static}}

*link_target:
%{mlittle: -oformat elf32-powerpcle } %{mlittle-endian: -oformat elf32-powerpcle } %{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian:     %{mcall-solaris: -oformat elf32-powerpcle}   }}}}

*link_start:
%{mads: %(link_start_ads) } %{myellowknife: %(link_start_yellowknife) } %{mmvme: %(link_start_mvme) } %{msim: %(link_start_sim) } %{mcall-linux: %(link_start_linux) } %{mcall-solaris: %(link_start_solaris) } %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %(link_start_default) }}}}}}

*link_start_ads:
-T ads.ld%s

*link_start_yellowknife:
-T yellowknife.ld%s

*link_start_mvme:
-Ttext 0x40000

*link_start_sim:


*link_start_linux:


*link_start_solaris:


*link_start_vxworks:


*link_start_default:
%(link_start_linux)

*link_os:
%{mads: %(link_os_ads) } %{myellowknife: %(link_os_yellowknife) } %{mmvme: %(link_os_mvme) } %{msim: %(link_os_sim) } %{mcall-linux: %(link_os_linux) } %{mcall-solaris: %(link_os_solaris) } %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %(link_os_default) }}}}}}

*link_os_ads:


*link_os_yellowknife:


*link_os_mvme:


*link_os_sim:
-m elf32ppcsim

*link_os_linux:
-m elf32ppclinux %{!shared: %{!static:   %{rdynamic:-export-dynamic}   %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}

*link_os_solaris:


*link_os_vxworks:
-r

*link_os_default:
%(link_os_linux)

*cc1_endian_big:


*cc1_endian_little:
%{!mstrict-align: %{!mno-strict-align: 	-mstrict-align }}

*cc1_endian_default:
%(cc1_endian_big_spec)

*cpp_endian_big:
-D_BIG_ENDIAN -D__BIG_ENDIAN__ -Amachine(bigendian)

*cpp_endian_little:
-D_LITTLE_ENDIAN -D__LITTLE_ENDIAN__ -Amachine(littleendian)

*cpp_endian_solaris:
-D__LITTLE_ENDIAN__ -Amachine(littleendian)

*cpp_float_default:


*cpp_os_ads:


*cpp_os_yellowknife:


*cpp_os_mvme:


*cpp_os_sim:


*cpp_os_linux:
-D__unix__ -D__linux__		%{!undef:							  %{!ansi:							    %{!std=*:-Dunix -D__unix -Dlinux -D__linux}			    %{std=gnu*:-Dunix -D__unix -Dlinux -D__linux}}}		-Asystem(unix) -Asystem(posix) %{pthread:-D_REENTRANT}

*cpp_os_solaris:
-D__ppc -D__sun__=1 -D__unix__ -D__svr4__  -D__SVR4__ %{!undef:%{!ansi:%{!std=*:-Dsun=1 -Dunix -DSVR4 -D__EXTENSIONS__}                %{std=gnu*:-Dsun=1 -Dunix -DSVR4 -D__EXTENSIONS__}}} -Amachine(prep)

*cpp_os_vxworks:
-DCPU_FAMILY=PPC %{!mcpu*:   %{mpowerpc*: -DCPU=PPC603}   %{!mno-powerpc: -DCPU=PPC603}} %{mcpu=powerpc: -DCPU=PPC603} %{mcpu=401: -DCPU=PPC403} %{mcpu=403: -DCPU=PPC403} %{mcpu=601: -DCPU=PPC601} %{mcpu=602: -DCPU=PPC603} %{mcpu=603: -DCPU=PPC603} %{mcpu=603e: -DCPU=PPC603} %{mcpu=ec603e: -DCPU=PPC603} %{mcpu=604: -DCPU=PPC604} %{mcpu=604e: -DCPU=PPC604} %{mcpu=620: -DCPU=PPC604} %{mcpu=740: -DCPU=PPC603} %{mcpu=750: -DCPU=PPC603} %{mcpu=801: -DCPU=PPC603} %{mcpu=821: -DCPU=PPC603} %{mcpu=823: -DCPU=PPC603} %{mcpu=860: -DCPU=PPC603}

*cpp_os_default:
%(cpp_os_linux)

*link_command:
%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:    %(linker) %l %X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r} %{s} %{t}    %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}}    %{static:} %{L*} %(link_libgcc) %o %{!nostdlib:%{!nodefaultlibs:%G %L %G}}    %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} }}}}}}

