Advertisement
Guest User

Untitled

a guest
Nov 1st, 2020
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. *asm:    
  2.     %{m16|m32:--32}      
  3.     %{m16|m32|mx32:;:--64}      
  4.     %{mx32:--x32}      
  5.     %{msse2avx:
  6.         %{!mavx:-msse2avx}        
  7.     }
  8.    
  9.  
  10. *asm_debug:    
  11.     %{%:debug-level-gt(0):
  12.         %{gstabs*:--gstabs}        
  13.         %{!gstabs*:
  14.             %{g*:--gdwarf2}            
  15.         }
  16.        
  17.     }
  18.      
  19.     %{fdebug-prefix-map=*:--debug-prefix-map %*}    
  20.  
  21. *asm_final:    
  22.     %{gsplit-dwarf:   objcopy --extract-dwo      
  23.         %{c:
  24.             %{o*:%*}            
  25.             %{!o*:%b%O}            
  26.         }
  27.        
  28.         %{!c:%U%O}              
  29.         %{c:
  30.             %{o*:%:replace-extension(
  31.                 %{o*:%*}   .dwo)
  32.             }
  33.            
  34.             %{!o*:%b.dwo}            
  35.         }
  36.        
  37.         %{!c:%b.dwo}   objcopy --strip-dwo      
  38.         %{c:
  39.             %{o*:%*}            
  40.             %{!o*:%b%O}            
  41.         }
  42.        
  43.         %{!c:%U%O}            
  44.     }
  45.    
  46.  
  47. *asm_options:    
  48.     %{-target-help:%:print-asm-header()}    
  49.     %{v}    
  50.     %{w:-W}    
  51.     %{I*}      
  52.     %{gz|gz=zlib:--compress-debug-sections=zlib}    
  53.     %{gz=none:--compress-debug-sections=none}    
  54.     %{gz=zlib-gnu:--compress-debug-sections=zlib-gnu}   %a %Y
  55.     %{c:%W{o*}
  56.         %{!o*:-o %w%b%O}        
  57.     }
  58.    
  59.     %{!c:-o %d%w%u%O}    
  60.  
  61. *invoke_as:    
  62.     %{!fwpa*:  
  63.         %{fcompare-debug=*|fdump-final-insns=*:%:compare-debug-dump-opt()}          
  64.         %{!S:-o %|.s |   as %(asm_options) %m.s %A }          
  65.     }
  66.    
  67.  
  68. *cpp:    
  69.     %{posix:-D_POSIX_SOURCE}    
  70.     %{pthread:-D_REENTRANT}    
  71.  
  72. *cpp_options:   %(cpp_unique_options) %1
  73.     %{m*}    
  74.     %{std*&ansi&trigraphs}    
  75.     %{W*&pedantic*}    
  76.     %{w}    
  77.     %{f*}    
  78.     %{g*:
  79.         %{%:debug-level-gt(0):
  80.             %{g*}            
  81.             %{!fno-working-directory:-fworking-directory}            
  82.         }
  83.        
  84.     }
  85.      
  86.     %{O*}    
  87.     %{undef}    
  88.     %{save-temps*:-fpch-preprocess}   %(distro_defaults)
  89.  
  90. *cpp_debug_options:    
  91.     %{d*}    
  92.  
  93. *cpp_unique_options:    
  94.     %{!Q:-quiet}    
  95.     %{nostdinc*}    
  96.     %{C}    
  97.     %{CC}    
  98.     %{v}   %@{I*&F*}
  99.     %{P}   %I
  100.     %{MD:-MD
  101.         %{!o:%b.d}        
  102.         %{o*:%.d%*}        
  103.     }
  104.      
  105.     %{MMD:-MMD
  106.         %{!o:%b.d}        
  107.         %{o*:%.d%*}        
  108.     }
  109.      
  110.     %{M}    
  111.     %{MM}    
  112.     %{MF*}    
  113.     %{MG}    
  114.     %{MP}    
  115.     %{MQ*}    
  116.     %{MT*}    
  117.     %{!E:
  118.         %{!M:
  119.             %{!MM:
  120.                 %{!MT:
  121.                     %{!MQ:
  122.                         %{MD|MMD:
  123.                             %{o*:-MQ %*}                            
  124.                         }
  125.                        
  126.                     }
  127.                    
  128.                 }
  129.                
  130.             }
  131.            
  132.         }
  133.        
  134.     }
  135.      
  136.     %{remap}    
  137.     %{g3|ggdb3|gstabs3|gxcoff3|gvms3:-dD}    
  138.     %{!iplugindir*:
  139.         %{fplugin*:%:find-plugindir()}        
  140.     }
  141.      
  142.     %{H}   %C
  143.     %{D*&U*&A*}    
  144.     %{i*}   %Z %i
  145.     %{E|M|MM:%W{o*}
  146.     }
  147.    
  148.  
  149. *trad_capable_cpp:   cc1 -E
  150.     %{traditional|traditional-cpp:-traditional-cpp}    
  151.  
  152. *cc1:    
  153.     %{!mandroid|tno-android-cc:%(cc1_cpu)
  154.         %{profile:-p}   ;:%(cc1_cpu)
  155.         %{profile:-p}        
  156.         %{!mglibc:
  157.             %{!muclibc:
  158.                 %{!mbionic: -mbionic}                
  159.             }
  160.            
  161.         }
  162.          
  163.         %{!fno-pic:
  164.             %{!fno-PIC:
  165.                 %{!fpic:
  166.                     %{!fPIC: -fPIC}                    
  167.                 }
  168.                
  169.             }
  170.            
  171.         }
  172.        
  173.     }
  174.    
  175.  
  176. *cc1_options:    
  177.     %{pg:
  178.         %{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}        
  179.     }
  180.      
  181.     %{!iplugindir*:
  182.         %{fplugin*:%:find-plugindir()}        
  183.     }
  184.      %1
  185.     %{!Q:-quiet}    
  186.     %{!dumpbase:-dumpbase %B}    
  187.     %{d*}    
  188.     %{m*}    
  189.     %{aux-info*}    
  190.     %{fcompare-debug-second:%:compare-debug-auxbase-opt(%b)}      
  191.     %{!fcompare-debug-second:
  192.         %{c|S:
  193.             %{o*:-auxbase-strip %*}            
  194.             %{!o*:-auxbase %b}            
  195.         }
  196.        
  197.     }
  198.    
  199.     %{!c:
  200.         %{!S:-auxbase %b}        
  201.     }
  202.      
  203.     %{g*}    
  204.     %{O*}    
  205.     %{W*&pedantic*}    
  206.     %{w}    
  207.     %{std*&ansi&trigraphs}    
  208.     %{v:-version}    
  209.     %{pg:-p}    
  210.     %{p}    
  211.     %{f*}    
  212.     %{undef}    
  213.     %{Qn:-fno-ident}    
  214.     %{Qy:}    
  215.     %{-help:--help}    
  216.     %{-target-help:--target-help}    
  217.     %{-version:--version}    
  218.     %{-help=*:--help=%*}    
  219.     %{!fsyntax-only:
  220.         %{S:%W{o*}
  221.             %{!o*:-o %b.s}            
  222.         }
  223.        
  224.     }
  225.      
  226.     %{fsyntax-only:-o %j}    
  227.     %{-param*}    
  228.     %{coverage:-fprofile-arcs -ftest-coverage}    
  229.     %{fprofile-arcs|fprofile-generate*|coverage:  
  230.         %{!fprofile-update=single:    
  231.             %{pthread:-fprofile-update=prefer-atomic}            
  232.         }
  233.        
  234.     }
  235.    
  236.  
  237. *cc1plus:
  238.  
  239. *link_gcc_c_sequence:    
  240.     %{static|static-pie:--start-group}   %G
  241.     %{!nolibc:%L}        
  242.     %{static|static-pie:--end-group}    
  243.     %{!static:
  244.         %{!static-pie:%G}        
  245.     }
  246.    
  247.  
  248. *distro_defaults:    
  249.     %{!fno-asynchronous-unwind-tables:-fasynchronous-unwind-tables}    
  250.     %{!fno-stack-protector:
  251.         %{!fstack-protector-all:
  252.             %{!ffreestanding:
  253.                 %{!nostdlib:
  254.                     %{!fstack-protector:-fstack-protector-strong}                    
  255.                 }
  256.                
  257.             }
  258.            
  259.         }
  260.        
  261.     }
  262.      
  263.     %{!Wformat:
  264.         %{!Wformat=2:
  265.             %{!Wformat=0:
  266.                 %{!Wall:-Wformat}                
  267.                 %{!Wno-format-security:-Wformat-security}                
  268.             }
  269.            
  270.         }
  271.        
  272.     }
  273.      
  274.     %{!fno-stack-clash-protection:-fstack-clash-protection}    
  275.     %{!fcf-protection*:
  276.         %{!fno-cf-protection:-fcf-protection}        
  277.     }
  278.    
  279.  
  280. *link_ssp:    
  281.     %{fstack-protector|fstack-protector-all|fstack-protector-strong|fstack-protector-explicit:}    
  282.  
  283. *endfile:    
  284.     %{!mandroid|tno-android-ld:
  285.         %{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s}            
  286.         %{mpc32:crtprec32.o%s}            
  287.         %{mpc64:crtprec64.o%s}            
  288.         %{mpc80:crtprec80.o%s}        
  289.         %{fvtable-verify=none:%s;   fvtable-verify=preinit:vtv_end_preinit.o%s;   fvtable-verify=std:vtv_end.o%s}            
  290.         %{static:crtend.o%s;   shared|static-pie|!no-pie:crtendS.o%s;   :crtend.o%s}   crtn.o%s
  291.         %{fopenacc|fopenmp:crtoffloadend%O%s}   ;:
  292.         %{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s}            
  293.         %{mpc32:crtprec32.o%s}            
  294.         %{mpc64:crtprec64.o%s}            
  295.         %{mpc80:crtprec80.o%s}        
  296.         %{shared: crtend_so%O%s;: crtend_android%O%s}        
  297.     }
  298.    
  299.  
  300. *link:    
  301.     %{!r:--build-id}    
  302.     %{!static|static-pie:--eh-frame-hdr}    
  303.     %{!mandroid|tno-android-ld:
  304.         %{m16|m32|mx32:;:-m elf_x86_64}                            
  305.         %{m16|m32:-m elf_i386}                            
  306.         %{mx32:-m elf32_x86_64}   --hash-style=gnu   --as-needed  
  307.         %{shared:-shared}          
  308.         %{!shared:    
  309.             %{!static:      
  310.                 %{!static-pie:    
  311.                     %{rdynamic:-export-dynamic}                        
  312.                     %{m16|m32:-dynamic-linker
  313.                         %{muclibc:/lib/ld-uClibc.so.0;:
  314.                             %{mbionic:/system/bin/linker;:
  315.                                 %{mmusl:/lib/ld-musl-i386.so.1;:/lib/ld-linux.so.2}                                
  316.                             }
  317.                            
  318.                         }
  319.                        
  320.                     }
  321.                          
  322.                     %{m16|m32|mx32:;:-dynamic-linker
  323.                         %{muclibc:/lib/ld64-uClibc.so.0;:
  324.                             %{mbionic:/system/bin/linker64;:
  325.                                 %{mmusl:/lib/ld-musl-x86_64.so.1;:/lib64/ld-linux-x86-64.so.2}                                
  326.                             }
  327.                            
  328.                         }
  329.                        
  330.                     }
  331.                          
  332.                     %{mx32:-dynamic-linker
  333.                         %{muclibc:/lib/ldx32-uClibc.so.0;:
  334.                             %{mbionic:/system/bin/linkerx32;:
  335.                                 %{mmusl:/lib/ld-musl-x32.so.1;:/libx32/ld-linux-x32.so.2}                                
  336.                             }
  337.                            
  338.                         }
  339.                        
  340.                     }
  341.                    
  342.                 }
  343.                
  344.             }
  345.                  
  346.             %{static:-static}            
  347.             %{static-pie:-static -pie --no-dynamic-linker -z text}            
  348.         }
  349.         ;:
  350.         %{m16|m32|mx32:;:-m elf_x86_64}                            
  351.         %{m16|m32:-m elf_i386}                            
  352.         %{mx32:-m elf32_x86_64}   --hash-style=gnu   --as-needed  
  353.         %{shared:-shared}          
  354.         %{!shared:    
  355.             %{!static:      
  356.                 %{!static-pie:    
  357.                     %{rdynamic:-export-dynamic}                        
  358.                     %{m16|m32:-dynamic-linker
  359.                         %{muclibc:/lib/ld-uClibc.so.0;:
  360.                             %{mbionic:/system/bin/linker;:
  361.                                 %{mmusl:/lib/ld-musl-i386.so.1;:/lib/ld-linux.so.2}                                
  362.                             }
  363.                            
  364.                         }
  365.                        
  366.                     }
  367.                          
  368.                     %{m16|m32|mx32:;:-dynamic-linker
  369.                         %{muclibc:/lib/ld64-uClibc.so.0;:
  370.                             %{mbionic:/system/bin/linker64;:
  371.                                 %{mmusl:/lib/ld-musl-x86_64.so.1;:/lib64/ld-linux-x86-64.so.2}                                
  372.                             }
  373.                            
  374.                         }
  375.                        
  376.                     }
  377.                          
  378.                     %{mx32:-dynamic-linker
  379.                         %{muclibc:/lib/ldx32-uClibc.so.0;:
  380.                             %{mbionic:/system/bin/linkerx32;:
  381.                                 %{mmusl:/lib/ld-musl-x32.so.1;:/libx32/ld-linux-x32.so.2}                                
  382.                             }
  383.                            
  384.                         }
  385.                        
  386.                     }
  387.                    
  388.                 }
  389.                
  390.             }
  391.                  
  392.             %{static:-static}            
  393.             %{static-pie:-static -pie --no-dynamic-linker -z text}            
  394.         }
  395.          
  396.         %{shared: -Bsymbolic}        
  397.     }
  398.    
  399.  
  400. *lib:    
  401.     %{!mandroid|tno-android-ld:
  402.         %{pthread:-lpthread}        
  403.         %{shared:-lc}            
  404.         %{!shared:
  405.             %{profile:-lc_p}            
  406.             %{!profile:-lc}            
  407.         }
  408.         ;:
  409.         %{shared:-lc}            
  410.         %{!shared:
  411.             %{profile:-lc_p}            
  412.             %{!profile:-lc}            
  413.         }
  414.          
  415.         %{!static: -ldl}        
  416.     }
  417.    
  418.  
  419. *link_gomp:
  420.  
  421. *libgcc:    
  422.     %{static|static-libgcc|static-pie:-lgcc -lgcc_eh}    
  423.     %{!static:
  424.         %{!static-libgcc:
  425.             %{!static-pie:
  426.                 %{!shared-libgcc:-lgcc --push-state --as-needed -lgcc_s --pop-state}                
  427.                 %{shared-libgcc:-lgcc_s
  428.                     %{!shared: -lgcc}                    
  429.                 }
  430.                
  431.             }
  432.            
  433.         }
  434.        
  435.     }
  436.    
  437.  
  438. *startfile:    
  439.     %{!mandroid|tno-android-ld:
  440.         %{shared:;   pg|p|profile:
  441.             %{static-pie:grcrt1.o%s;:gcrt1.o%s}   ;      static:crt1.o%s;   static-pie:rcrt1.o%s;   !no-pie:Scrt1.o%s;   :crt1.o%s
  442.         }
  443.          crti.o%s    
  444.         %{static:crtbeginT.o%s;   shared|static-pie|!no-pie:crtbeginS.o%s;   :crtbegin.o%s}            
  445.         %{fvtable-verify=none:%s;   fvtable-verify=preinit:vtv_start_preinit.o%s;   fvtable-verify=std:vtv_start.o%s}        
  446.         %{fopenacc|fopenmp:crtoffloadbegin%O%s}   ;:
  447.         %{shared: crtbegin_so%O%s;:  
  448.             %{static: crtbegin_static%O%s;: crtbegin_dynamic%O%s}            
  449.         }
  450.        
  451.     }
  452.    
  453.  
  454. *cross_compile:   0
  455.  
  456. *version:   9.3.0
  457.  
  458. *multilib:   . !m32 !m64 !mx32;32:../lib32:i386-linux-gnu m32 !m64 !mx32;64:../lib:x86_64-linux-gnu !m32 m64 !mx32;x32:../libx32:x86_64-linux-gnux32 !m32 !m64 mx32;
  459.  
  460. *multilib_defaults:   m64
  461.  
  462. *multilib_extra:
  463.  
  464. *multilib_matches:   m32 m32;m64 m64;mx32 mx32;
  465.  
  466. *multilib_exclusions:
  467.  
  468. *multilib_options:   m32/m64/mx32
  469.  
  470. *multilib_reuse:
  471.  
  472. *linker:   collect2
  473.  
  474. *linker_plugin_file:
  475.  
  476. *lto_wrapper:
  477.  
  478. *lto_gcc:
  479.  
  480. *post_link:
  481.  
  482. *link_libgcc:   %D
  483.  
  484. *md_exec_prefix:
  485.  
  486. *md_startfile_prefix:
  487.  
  488. *md_startfile_prefix_1:
  489.  
  490. *startfile_prefix_spec:
  491.  
  492. *sysroot_spec:   --sysroot=%R
  493.  
  494. *sysroot_suffix_spec:
  495.  
  496. *sysroot_hdrs_suffix_spec:
  497.  
  498. *self_spec:
  499.  
  500. *cc1_cpu:    
  501.     %{march=native:%>march=native %:local_cpu_detect(arch)  
  502.         %{!mtune=*:%>mtune=native %:local_cpu_detect(tune)}        
  503.     }
  504.      
  505.     %{mtune=native:%>mtune=native %:local_cpu_detect(tune)}    
  506.  
  507. *link_command:    
  508.     %{!fsyntax-only:
  509.         %{!c:
  510.             %{!M:
  511.                 %{!MM:
  512.                     %{!E:
  513.                         %{!S:   %(linker)
  514.                             %{!fno-use-linker-plugin:
  515.                                 %{!fno-lto:   -plugin %(linker_plugin_file)   -plugin-opt=%(lto_wrapper)   -plugin-opt=-fresolution=%u.res    
  516.                                     %{flinker-output=*:-plugin-opt=-linker-output-known}                                        
  517.                                     %{!nostdlib:
  518.                                         %{!nodefaultlibs:%:pass-through-libs(%(link_gcc_c_sequence))}                                        
  519.                                     }
  520.                                          
  521.                                 }
  522.                                
  523.                             }
  524.                            
  525.                             %{flto|flto=*:%<fcompare-debug*}                                
  526.                             %{flto}                            
  527.                             %{fno-lto}                            
  528.                             %{flto=*}   %l
  529.                             %{static|shared|r:;!no-pie:-pie -z now}                            
  530.                             %{fuse-ld=*:-fuse-ld=%*}                              
  531.                             %{gz|gz=zlib:--compress-debug-sections=zlib}                            
  532.                             %{gz=none:--compress-debug-sections=none}                            
  533.                             %{gz=zlib-gnu:--compress-debug-sections=zlib-gnu}   -z relro %X
  534.                             %{o*}                            
  535.                             %{e*}                            
  536.                             %{N}                            
  537.                             %{n}                            
  538.                             %{r}                                
  539.                             %{s}                            
  540.                             %{t}                            
  541.                             %{u*}                            
  542.                             %{z}                            
  543.                             %{Z}                            
  544.                             %{!nostdlib:
  545.                                 %{!r:
  546.                                     %{!nostartfiles:%S}                                    
  547.                                 }
  548.                                
  549.                             }
  550.                                  
  551.                             %{static|no-pie|static-pie:}   %@{L*} %(mfwrap) %(link_libgcc)
  552.                             %{fvtable-verify=none:}                            
  553.                             %{fvtable-verify=std:   %e-fvtable-verify=std is not supported in this configuration}                            
  554.                             %{fvtable-verify=preinit:   %e-fvtable-verify=preinit is not supported in this configuration}                            
  555.                             %{!nostdlib:
  556.                                 %{!r:
  557.                                     %{!nodefaultlibs:
  558.                                         %{%:sanitize(address):
  559.                                             %{!shared:libasan_preinit%O%s}                                            
  560.                                             %{static-libasan:
  561.                                                 %{!shared:-Bstatic --whole-archive -lasan --no-whole-archive -Bdynamic}                                                
  562.                                             }
  563.                                            
  564.                                             %{!static-libasan:
  565.                                                 %{!fuse-ld=gold:--push-state}   --no-as-needed -lasan
  566.                                                 %{fuse-ld=gold:--as-needed;:--pop-state}                                                
  567.                                             }
  568.                                            
  569.                                         }
  570.                                              
  571.                                         %{%:sanitize(thread):
  572.                                             %{!shared:libtsan_preinit%O%s}                                            
  573.                                             %{static-libtsan:
  574.                                                 %{!shared:-Bstatic --whole-archive -ltsan --no-whole-archive -Bdynamic}                                                
  575.                                             }
  576.                                            
  577.                                             %{!static-libtsan:
  578.                                                 %{!fuse-ld=gold:--push-state}   --no-as-needed -ltsan
  579.                                                 %{fuse-ld=gold:--as-needed;:--pop-state}                                                
  580.                                             }
  581.                                            
  582.                                         }
  583.                                              
  584.                                         %{%:sanitize(leak):
  585.                                             %{!shared:liblsan_preinit%O%s}                                            
  586.                                             %{static-liblsan:
  587.                                                 %{!shared:-Bstatic --whole-archive -llsan --no-whole-archive -Bdynamic}                                                
  588.                                             }
  589.                                            
  590.                                             %{!static-liblsan:
  591.                                                 %{!fuse-ld=gold:--push-state}   --no-as-needed -llsan
  592.                                                 %{fuse-ld=gold:--as-needed;:--pop-state}                                                
  593.                                             }
  594.                                            
  595.                                         }
  596.                                        
  597.                                     }
  598.                                    
  599.                                 }
  600.                                
  601.                             }
  602.                              %o      
  603.                             %{fopenacc|fopenmp|%:gt(
  604.                                 %{ftree-parallelize-loops=*:%*}   1):   %:include(libgomp.spec)%(link_gomp)
  605.                             }
  606.                                
  607.                             %{fgnu-tm:%:include(libitm.spec)%(link_itm)}   %(mflib)  
  608.                             %{fsplit-stack: --wrap=pthread_create}                                
  609.                             %{fprofile-arcs|fprofile-generate*|coverage:-lgcov}                            
  610.                             %{!nostdlib:
  611.                                 %{!r:
  612.                                     %{!nodefaultlibs:
  613.                                         %{%:sanitize(address):
  614.                                             %{static-libasan|static:%:include(libsanitizer.spec)%(link_libasan)}                                                
  615.                                             %{static:%ecannot specify -static with -fsanitize=address}                                            
  616.                                         }
  617.                                            
  618.                                         %{%:sanitize(thread):
  619.                                             %{static-libtsan|static:%:include(libsanitizer.spec)%(link_libtsan)}                                                
  620.                                             %{static:%ecannot specify -static with -fsanitize=thread}                                            
  621.                                         }
  622.                                            
  623.                                         %{%:sanitize(undefined):
  624.                                             %{static-libubsan:-Bstatic}                                            
  625.                                             %{!static-libubsan:--push-state --no-as-needed}   -lubsan  
  626.                                             %{static-libubsan:-Bdynamic}                                            
  627.                                             %{!static-libubsan:--pop-state}                                            
  628.                                             %{static-libubsan|static:%:include(libsanitizer.spec)%(link_libubsan)}                                            
  629.                                         }
  630.                                            
  631.                                         %{%:sanitize(leak):
  632.                                             %{static-liblsan|static:%:include(libsanitizer.spec)%(link_liblsan)}                                            
  633.                                         }
  634.                                        
  635.                                     }
  636.                                    
  637.                                 }
  638.                                
  639.                             }
  640.                                  
  641.                             %{!nostdlib:
  642.                                 %{!r:
  643.                                     %{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}                                    
  644.                                 }
  645.                                
  646.                             }
  647.                                
  648.                             %{!nostdlib:
  649.                                 %{!r:
  650.                                     %{!nostartfiles:%E}                                    
  651.                                 }
  652.                                
  653.                             }
  654.                              
  655.                             %{T*}   %(post_link)
  656.                         }
  657.                        
  658.                     }
  659.                    
  660.                 }
  661.                
  662.             }
  663.            
  664.         }
  665.        
  666.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement