Advertisement
wbooze

cross-compilation-snippet

Feb 12th, 2022
1,541
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 17.71 KB | None | 0 0
  1. #!/bin/bash
  2. source ~/.profile ;
  3. source unset;
  4. source unset-final;
  5. source export2 ;
  6. unset LDFLAGS ;
  7. unset LD_LIBRARY_PATH ;
  8. unset LD_RUNPATH ;
  9. unset LD_RUN_PATH ;
  10. unset LD_PRELOAD ;
  11.  
  12. unset PATH ;
  13. export PATH=${LJOS}/cross-tools/bin:${LJOS}/cross-tools/usr/bin:${LJOS}/bin:${LJOS}/usr/bin:/bin:/usr/bin ;
  14.  
  15. export LD_LIBRARY_PATH="${LJOS}/cross-tools/lib:${LJOS}/cross-tools/lib64:" ;
  16. export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${LJOS}/usr/lib64:${LJOS}/usr/lib:" ;
  17. export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${LJOS}/lib64:${LJOS}/lib:" ;
  18. export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/lib:/lib:/usr/lib64:/lib64" ;
  19.  
  20. unset ASAN_OPTIONS ;
  21. unset LSAN_OPTIONS ;
  22. unset UBSAN_OPTIONS ;
  23. unset CFLAGS ;
  24. unset CPPFLAGS ;
  25. unset CXXFLAGS ;
  26.  
  27. tar Jxvf linux-5.13.12.tar.xz ;
  28. mv -v linux-5.13.12 linux ;
  29. cd linux ;
  30. colormake mrproper -j1;
  31. CFLAGS="-ffreestanding -nostdlib" \
  32.     colormake ARCH=${LJOS_ARCH} headers_check -j1 && \
  33. CPPFLAGS=${CFLAGS} \
  34. CXXFLAGS=${CFLAGS} \
  35. colormake ARCH=${LJOS_ARCH} INSTALL_HDR_PATH=dest headers_install -j1 ;
  36. cp -rv dest/include/* ${LJOS}/usr/include ;
  37. cd .. ;
  38.  
  39. #export CFLAGS="-g -O0 -Wall -Wextra -Wpedantic -Wconversion -D_GLIBCXX_DEBUG" ;
  40. #export CPPFLAGS="-g -O0 -Wall -Wextra -Wpedantic -Wconversion -D_GLIBCXX_DEBUG" ;
  41. #export CXXFLAGS="-g -O0 -Wall -Wextra -Wpedantic -Wconversion -D_GLIBCXX_DEBUG";
  42.  
  43. #export ASAN_OPTIONS="halt_on_error=0:fast_unwind_on_malloc=0:detect_leaks=1 detect_invalid_pointer_pairs=2" ;
  44. #export LSAN_OPTIONS="halt_on_error=0:fast_unwind_on_malloc=0:detect_leaks=1" ;
  45. #export UBSAN_OPTIONS="halt_on_error=0:print_stacktrace=1" ;
  46.  
  47. export CFLAGS="-g -O0 -Wall -Wextra -Wpedantic -Wconversion -D_GLIBCXX_DEBUG \
  48.     -fno-PIE -no-pie -fPIC -fpic -fgnu89-inline \
  49.     -fno-lto -fno-use-linker-plugin -ffreestanding" ;
  50.  
  51. #export CFLAGS="-g -O0 -Wall -Wextra -Wpedantic -Wconversion -D_GLIBCXX_DEBUG \
  52. #   -fno-PIE -no-pie -fPIC -fgnu89-inline \
  53. #   -fsanitize=address,undefined,pointer-compare,pointer-subtract \
  54. #   -fno-sanitize-recover=all -fvtable-verify=none \
  55. #   -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow \
  56. #   -fsanitize=alignment \
  57. #   -I. -I../binutils-gdb/include -I../usr/include" ;
  58.  
  59. export CPPFLAGS="-g -da -dA -dP -pipe -O0 -Wall -Wextra -Wpedantic -Wconversion \
  60.     -D_GLIBCXX_DEBUG \
  61.     -fno-PIE -no-pie -fPIC -fpic -fno-plt \
  62.     -fno-lto -fno-use-linker-plugin -ffreestanding \
  63.     -fverbose-asm -Wa,-aghmls,-L -Wl,-X \
  64.     -I. -I../binutils-gdb/include -I../usr/include" ;
  65.  
  66. #export CPPFLAGS="-g -O0 -Wall -Wextra -Wpedantic -Wconversion -D_GLIBCXX_DEBUG \
  67. #   -fno-PIE -no-pie -fPIC -fgnu89-inline \
  68. #   -fsanitize=address,undefined,pointer-compare,pointer-subtract \
  69. #   -fno-sanitize-recover=all -fvtable-verify=none \
  70. #   -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow \
  71. #   -fsanitize=alignment \
  72. #   -I. -I../binutils-gdb/include -I../usr/include" ;
  73.  
  74. export CXXFLAGS="-g -O0 -Wall -Wextra -Wpedantic -Wconversion -D_GLIBCXX_DEBUG \
  75.     -fno-PIE -no-pie -fPIC -fpic -fno-lto -fno-use-linker-plugin \
  76.     -ffreestanding" ;
  77.  
  78. #export CXXFLAGS="-g -O0 -Wall -Wextra -Wpedantic -Wconversion -D_GLIBCXX_DEBUG \
  79. #   -fno-PIE -no-pie -fPIC -fgnu89-inline \
  80. #   -fsanitize=address,undefined,pointer-compare,pointer-subtract \
  81. #   -fno-sanitize-recover=all \
  82. #   -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow \
  83. #   -fsanitize=alignment \
  84. #   -I. -I../binutils-gdb/include -I../usr/include";
  85.  
  86. mkdir binutils-build ;
  87. cd binutils-build ;
  88.  
  89. ../binutils-gdb/configure --prefix=${LJOS}/cross-tools \
  90. --target=${LJOS_TARGET} --with-sysroot=${LJOS} \
  91. --enable-interwork \
  92. --disable-nls \
  93. --disable-multilib \
  94. --enable-shared \
  95. --disable-host-shared \
  96. --enable-ld=yes \
  97. --enable-gold=no \
  98. --disable-lto \
  99. --disable-pgo-build \
  100. --enable-stage1-languages=all \
  101. --enable-vtable-verify \
  102. --enable-serial-configure \
  103. --enable-stage1-checking=all \
  104. --disable-werror 2>&1 >> ../binutils.log ;
  105. colormake -d -j1 configure-host 2>&1 >> ../binutils.log && \
  106. colormake -d -j1 2>&1 >> ../binutils.log && \
  107.     ln -sv lib ${LJOS}/cross-tools/lib64 ;
  108. colormake install -j1;
  109.  
  110. cp -v ../binutils-gdb/include/libiberty.h ${LJOS}/usr/include ;
  111. cd .. ;
  112.  
  113. source export-final ;
  114.  
  115. unset LD_LIBRARY_PATH ;
  116. export LD_LIBRARY_PATH="${LJOS}/cross-tools/lib:${LJOS}/cross-tools/lib64:" ;
  117. export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:{LJOS}/usr/lib64:${LJOS}/usr/lib:" ;
  118. export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${LJOS}/lib64:${LJOS}/lib:" ;
  119.  
  120. export PATH="${LJOS}/cross-tools/bin:${LJOS}/cross-tools/usr/bin:${LJOS}/bin:" ;
  121. export PATH="${PATH}:${LJOS}/usr/bin:${LJOS}:/bin"  ;
  122.  
  123. rm -rf gcc/gmp ;
  124. cp -rf gmp-hg gcc/gmp ;
  125. rm -rf gcc/mpfr ;
  126. cp -rf mpfr-git gcc/mpfr ;
  127. rm -rf gcc/mpc ;
  128. cp -rf mpc-git gcc/mpc ;
  129.  
  130. mkdir gcc-static;
  131. cd gcc-static;
  132.  
  133. unset ASAN_OPTIONS ;
  134. unset LSAN_OPTIONS ;
  135. unset UBSAN_OPTIONS ;
  136. unset CFLAGS ;
  137. unset CPPFLAGS ;
  138. unset CXXFLAGS ;
  139.  
  140. #export ASAN_OPTIONS="halt_on_error=0:fast_unwind_on_malloc=0:detect_leaks=1 detect_invalid_pointer_pairs=2" ;
  141. #export LSAN_OPTIONS="halt_on_error=0:fast_unwind_on_malloc=0:detect_leaks=1" ;
  142. #export UBSAN_OPTIONS="halt_on_error=0:print_stacktrace=1";
  143.  
  144. export CFLAGS="-g -O0 -Wall -Wextra -Wpedantic -Wconversion -D_GLIBCXX_DEBUG \
  145.     -fno-PIE -no-pie -fPIC -fpic -fgnu89-inline \
  146.     -fno-lto -fno-use-linker-plugin -ffreestanding" ;
  147.  
  148. #export CFLAGS="-g -O0 -Wall -Wextra -Wpedantic -Wconversion -D_GLIBCXX_DEBUG \
  149. #   -fno-PIE -no-pie -fPIC -fgnu89-inline \
  150. #   -fsanitize=address,undefined,pointer-compare,pointer-subtract \
  151. #           -fno-sanitize-recover=all -fvtable-verify=none \
  152. #   -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow \
  153. #   -fsanitize=alignment \
  154. #   -I. -I../cross-tools/include -I../cross-tools/include/gdb -I../usr/include \
  155. #   -I../gcc/include -I../gcc/include/gdb -I../gcc/libcpp/include \
  156. #   -I../gcc/libstdc++-v3/include -I../gcc/libsanitizer/include \
  157. #   -I../gcc/libffi/include -I../gcc/liboffloadmic/runtime/orsl-lite/include \
  158. #   -I../gcc/liboffloadmic/include -I../gcc/gcc/testsuite/gcc.dg/pch/include \
  159. #   -I../gcc/gcc/testsuite/gcc.dg/cpp/usr/include -I../gcc/gcc/doc/include" ;
  160.  
  161. export CPPFLAGS="-g -E -daAbBcCdDeEfFgGhiIjklLmMnNopPrRsStuvwWxXyz -pipe -O0 -Wall -Wextra -Wpedantic -Wconversion \
  162.     -D_GLIBCXX_DEBUG \
  163.     -fno-PIE -no-pie -fPIC -fpic -fno-plt -fvisibility=hidden \
  164.     -fno-lto -fno-use-linker-plugin -ffreestanding \
  165.     -fverbose-asm -Wa,-aghmls,-L -Wl,-X \
  166.     -I. \
  167.     -I../cross-tools/include -I../cross-tools/include/gdb -I../usr/include \
  168.     -I../gcc/include -I../gcc/include/gdb -I../gcc/libcpp/include \
  169.     -I../gcc/libstdc++-v3/include -I../gcc/libsanitizer/include \
  170.     -I../gcc/libffi/include -I../gcc/liboffloadmic/runtime/orsl-lite/include \
  171.     -I../gcc/liboffloadmic/include -I../gcc/gcc/testsuite/gcc.dg/pch/include \
  172.     -I../gcc/gcc/testsuite/gcc.dg/cpp/usr/include -I../gcc/gcc/doc/include" ;
  173.  
  174. #export CPPFLAGS="-g -O0 -Wall -Wextra -Wpedantic -Wconversion -D_GLIBCXX_DEBUG \
  175. #   -fno-PIE -no-pie -fPIC -fgnu89-inline \
  176. #   -fsanitize=address,undefined,pointer-compare,pointer-subtract \
  177. #   -fno-sanitize-recover=all -fvtable-verify=none \
  178. #   -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow \
  179. #   -fsanitize=alignment \
  180. #   -I. -I../cross-tools/include -I../cross-tools/include/gdb -I../usr/include \
  181. #   -I../gcc/include -I../gcc/include/gdb -I../gcc/libcpp/include \
  182. #   -I../gcc/libstdc++-v3/include -I../gcc/libsanitizer/include \
  183. #   -I../gcc/libffi/include -I../gcc/liboffloadmic/runtime/orsl-lite/include \
  184. #   -I../gcc/liboffloadmic/include -I../gcc/gcc/testsuite/gcc.dg/pch/include \
  185. #   -I../gcc/gcc/testsuite/gcc.dg/cpp/usr/include -I../gcc/gcc/doc/include" ;
  186.  
  187. export CXXFLAGS="-g -O0 -Wall -Wextra -Wpedantic -Wconversion -D_GLIBCXX_DEBUG \
  188.     -fno-PIE -no-pie -fPIC -fpic -fvisibility-inlines-hidden \
  189.     -fno-lto -fno-use-linker-plugin -ffreestanding" ;
  190.  
  191. #export CXXFLAGS="-g -O0 -Wall -Wextra -Wpedantic -Wconversion -D_GLIBCXX_DEBUG \
  192. #   -fno-PIE -no-pie -fPIC -fgnu89-inline \
  193. #   -fsanitize=address,undefined,pointer-compare,pointer-subtract \
  194. #   -fno-sanitize-recover=all \
  195. #   -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow \
  196. #   -fsanitize=alignment \
  197. #   -I. -I../cross-tools/include -I../cross-tools/include/gdb -I../usr/include \
  198. #   -I../gcc/include -I../gcc/include/gdb -I../gcc/libcpp/include \
  199. #   -I../gcc/libstdc++-v3/include -I../gcc/libsanitizer/include \
  200. #   -I../gcc/libffi/include -I../gcc/liboffloadmic/runtime/orsl-lite/include \
  201. #   -I../gcc/liboffloadmic/include -I../gcc/gcc/testsuite/gcc.dg/pch/include \
  202. #   -I../gcc/gcc/testsuite/gcc.dg/cpp/usr/include -I../gcc/gcc/doc/include" ;
  203.  
  204. unset GCC
  205. unset CC
  206. unset CPP
  207. unset CXX
  208. BUILD_CC="gcc" \
  209. GCC="gcc" \
  210. CC="gcc" \
  211. CXX="g++" \
  212. GXX="g++" \
  213. CPP="gcc -E " \
  214. AR="${LJOS_TARGET}-ar" \
  215. LD="${LJOS_TARGET}-ld.bfd" \
  216. LDFLAGS="-Wl,--sysroot=${LJOS} \
  217. -Wl,--enable-new-dtags,-rpath,${LJOS}/cross-tools/lib \
  218. -Wl,--enable-new-dtags,-rpath,"\${ORIGIN}" \
  219. -Wl,--enable-new-dtags,-rpath-link,${LJOS}/cross-tools/lib \
  220. -Wl,--enable-new-dtags,-rpath-link,"\${ORIGIN}" " \
  221. ../gcc/configure --prefix=${LJOS}/cross-tools \
  222. --build=${LJOS_HOST} --host=${LJOS_HOST} \
  223. --target=${LJOS_TARGET} \
  224. --with-sysroot=${LJOS}/target \
  225. --with-mpfr-include=$(pwd)/../gcc/mpfr/src \
  226. --with-mpfr-lib=$(pwd)/mpfr/src/.libs \
  227. --enable-multilib \
  228. --disable-shared \
  229. --disable-lto \
  230. --disable-pgo-build \
  231. --disable-nls \
  232. --disable-libatomic \
  233. --disable-libquadmath \
  234. --disable-libvtv \
  235. --disable-libstdcxx \
  236. --disable-decimal-float \
  237. --disable-libgomp \
  238. --disable-libmudflap \
  239. --disable-libssp \
  240. --disable-threads \
  241. --enable-initfini-array \
  242. --without-headers \
  243. --with-newlib \
  244. --enable-serial-configure \
  245. --enable-languages=c,c++ \
  246. --enable-vtable-verify \
  247. --enable-stage1-checking=all \
  248. --disable-werror \
  249. --with-arch=${LJOS_CPU} 2>&1 >> ../gcc-static.log ;
  250. colormake -d all-gcc -j1 2>&1 >> ../gcc-static.log && \
  251. colormake -d all-target-libgcc -j1 2>&1 >> ../gcc-static.log && \
  252. colormake install-gcc install-target-libgcc -j1;
  253.  
  254. ln -vs libgcc.a `${LJOS_TARGET}-gcc \
  255.     -print-libgcc-file-name | sed 's/libgcc/&_eh/'` ;
  256.  
  257. cd .. ;
  258.  
  259. unset ASAN_OPTIONS ;
  260. unset LSAN_OPTIONS ;
  261. unset UBSAN_OPTIONS ;
  262. unset CFLAGS ;
  263. unset CPPFLAGS ;
  264. unset CXXFLAGS ;
  265.  
  266.  
  267.  
  268. mkdir glibc-build ;
  269. cd glibc-build ;
  270.  
  271. echo "libc_cv_forced_unwind=yes" > config.cache ;
  272. echo "libc_cv_c_cleanup=yes" >> config.cache ;
  273. echo "libc_cv_ssp=no" >> config.cache ;
  274. echo "libc_cv_ssp_strong=no" >> config.cache ;
  275.  
  276. #CFLAGS="-Wall -Wextra -Wconversion -Wpedantic -g -O2 -I. -I../glibc/include -I../glibc/sysdeps/htl/include -I../glibc/sysdeps/unix/sysv/linux/x86/include -I../glibc/sysdeps/unix/sysv/linux/include -I../glibc/sysdeps/mips/include -I../glibc/sysdeps/arm/include -I../glibc/sysdeps/x86/include -I../glibc/sysdeps/mach/include -I../glibc/sysdeps/ieee754/ldbl-96/include -I../glibc/sysdeps/ieee754/ldbl-128ibm/include -I../glibc/sysdeps/hurd/include -I../cross-tools/include -I../usr/include" \
  277. CPPFLAGS="-g -O0 -E -daAbBcCdDeEfFgGhiIjklLmMnNopPrRsStuvwWxXyz -fverbose-asm -Wa,-aghmls,-L -Wl,-X" \
  278. BUILD_CC="gcc" CC="${LJOS_TARGET}-gcc" \
  279. AR="${LJOS_TARGET}-ar" \
  280. LD="${LJOS_TARGET}-ld.bfd" \
  281. RANLIB="${LJOS_TARGET}-ranlib" \
  282. LDFLAGS="-Wl,--sysroot=${LJOS} \
  283. -Wl,--enable-new-dtags,-rpath,${LJOS}/cross-tools/lib \
  284. -Wl,--enable-new-dtags,-rpath,"\${ORIGIN}" \
  285. -Wl,--enable-new-dtags,-rpath-link,${LJOS}/cross-tools/lib \
  286. -Wl,--enable-new-dtags,-rpath-link,"\${ORIGIN}" " \
  287. CFLAGS="-g -fuse-ld=bfd -pipe -O2 -ffreestanding -nostdlib" \
  288. ../glibc/configure --prefix=/usr \
  289. --host=${LJOS_TARGET} \
  290. --build=${LJOS_HOST} \
  291. --disable-profile \
  292. --enable-add-ons \
  293. --with-tls \
  294. --enable-kernel=5.13.12 \
  295. --with-__thread \
  296. --with-binutils=${LJOS}/cross-tools/bin \
  297. --with-headers=${LJOS}/usr/include \
  298. --cache-file=config.cache \
  299. --disable-experimental-malloc \
  300. --enable-all-warnings \
  301. --enable-stack-protector=strong \
  302. --disable-werror 2>&1 >> ../glibc.log ;
  303. colormake -d -j1 2>&1 >> ../glibc.log && \
  304.     colormake install_root=${LJOS}/ install -j1 ;
  305.  
  306. cd .. ;
  307.  
  308. unset ASAN_OPTIONS ;
  309. unset LSAN_OPTIONS ;
  310. unset UBSAN_OPTIONS ;
  311. unset CFLAGS ;
  312. unset CPPFLAGS ;
  313. unset CXXFLAGS ;
  314.  
  315. #export ASAN_OPTIONS="halt_on_error=0:fast_unwind_on_malloc=0:detect_leaks=1 detect_invalid_pointer_pairs=2" ;
  316. #export LSAN_OPTIONS="halt_on_error=0:fast_unwind_on_malloc=0:detect_leaks=1" ;
  317. #export UBSAN_OPTIONS="halt_on_error=0:print_stacktrace=1";
  318.  
  319. export CFLAGS="-g -O0 -Wall -Wextra -Wpedantic -Wconversion -D_GLIBCXX_DEBUG \
  320.     -fno-PIE -no-pie -fPIC -fpic -fgnu89-inline \
  321.     -fno-lto -fno-use-linker-plugin -ffreestanding" ;
  322.  
  323. #export CFLAGS="-g -O0 -Wall -Wextra -Wpedantic -Wconversion -D_GLIBCXX_DEBUG \
  324. #   -fno-PIE -no-pie -fPIC -fgnu89-inline \
  325. #   -fsanitize=address,undefined,pointer-compare,pointer-subtract \
  326. #   -fno-sanitize-recover=all -fvtable-verify=none \
  327. #   -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow \
  328. #   -fsanitize=alignment \
  329. #   -I. \
  330. #   -I../glibc/include \
  331. #   -I../cross-tools/include -I../cross-tools/include/gdb -I../usr/include \
  332. #   -I../gcc/include -I../gcc/include/gdb -I../gcc/libcpp/include \
  333. #   -I../gcc/libstdc++-v3/include -I../gcc/libsanitizer/include \
  334. #   -I../gcc/libffi/include -I../gcc/liboffloadmic/runtime/orsl-lite/include \
  335. #   -I../gcc/liboffloadmic/include -I../gcc/gcc/testsuite/gcc.dg/pch/include \
  336. #   -I../gcc/gcc/testsuite/gcc.dg/cpp/usr/include -I../gcc/gcc/doc/include" ;
  337.  
  338. #export CPPFLAGS="-g -pipe -O0 -Wall -Wextra -Wpedantic -Wconversion \
  339. #   -D_GLIBCXX_DEBUG \
  340. #   -fno-PIE -no-pie -fPIC -fpic -fno-plt -fvisibility=hidden \
  341. #   -fno-lto -fno-use-linker-plugin -fuse-ld=bfd -Wl,-X \
  342. #   -I. \
  343. #   -I../gcc/include -I../gcc/include/gdb -I../gcc/libcpp/include \
  344. #   -I../gcc/libstdc++-v3/include -I../gcc/libsanitizer/include \
  345. #   -I../gcc/libffi/include -I../gcc/liboffloadmic/runtime/orsl-lite/include \
  346. #   -I../gcc/liboffloadmic/include -I../gcc/gcc/testsuite/gcc.dg/pch/include \
  347. #   -I../gcc/gcc/testsuite/gcc.dg/cpp/usr/include -I../gcc/gcc/doc/include \
  348. #   -I../cross-tools/include -I../cross-tools/include/gdb -I../usr/include" ;
  349.  
  350. export CPPFLAGS="-g -E -daAbBcCdDeEfFgGhiIjklLmMnNopPrRsStuvwWxXyz -pipe -O0 -Wall -Wextra -Wpedantic -Wconversion \
  351.     -D_GLIBCXX_DEBUG \
  352.     -fno-PIE -no-pie -fPIC -fpic -fno-plt -fvisibility=hidden \
  353.     -fno-lto -fno-use-linker-plugin -ffreestanding \
  354.     -fverbose-asm -Wa,-aghmls,-L -Wl,-X \
  355.     -I. -I../glibc -I../glibc/include \
  356.     -I../cross-tools/include -I../cross-tools/include/gdb -I../usr/include \
  357.     -I../gcc/include -I../gcc/include/gdb -I../gcc/libcpp/include \
  358.     -I../gcc/libstdc++-v3/include -I../gcc/libsanitizer/include \
  359.     -I../gcc/libffi/include -I../gcc/liboffloadmic/runtime/orsl-lite/include \
  360.     -I../gcc/liboffloadmic/include -I../gcc/gcc/testsuite/gcc.dg/pch/include \
  361.     -I../gcc/gcc/testsuite/gcc.dg/cpp/usr/include -I../gcc/gcc/doc/include" ;
  362.  
  363. #export CPPFLAGS="-g -O0 -Wall -Wextra -Wpedantic -Wconversion -D_GLIBCXX_DEBUG \
  364. #   -fno-PIE -no-pie -fPIC -fgnu89-inline \
  365. #   -fsanitize=address,undefined,pointer-compare,pointer-subtract \
  366. #   -fno-sanitize-recover=all -fvtable-verify=none \
  367. #   -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow \
  368. #   -fsanitize=alignment \
  369. #   -I. \
  370. #   -I../cross-tools/include -I../cross-tools/include/gdb -I../usr/include \
  371. #   -I../gcc/include -I../gcc/include/gdb -I../gcc/libcpp/include \
  372. #   -I../gcc/libstdc++-v3/include -I../gcc/libsanitizer/include \
  373. #   -I../gcc/libffi/include -I../gcc/liboffloadmic/runtime/orsl-lite/include \
  374. #   -I../gcc/liboffloadmic/include -I../gcc/gcc/testsuite/gcc.dg/pch/include \
  375. #   -I../gcc/gcc/testsuite/gcc.dg/cpp/usr/include -I../gcc/gcc/doc/include" ;
  376.  
  377. export CXXFLAGS="-g -O0 -Wall -Wextra -Wpedantic -Wconversion -D_GLIBCXX_DEBUG \
  378.     -fno-PIE -no-pie -fPIC -fpic -fvisibility-inlines-hidden \
  379.     -fno-lto -fno-use-linker-plugin -ffreestanding" ;
  380.  
  381. #export CXXFLAGS="-g -O0 -Wall -Wextra -Wpedantic -Wconversion -D_GLIBCXX_DEBUG \
  382. #   -fno-PIE -no-pie -fPIC -fgnu89-inline \
  383. #   -fsanitize=address,undefined,pointer-compare,pointer-subtract \
  384. #   -fno-sanitize-recover=all \
  385. #   -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow \
  386. #   -fsanitize=alignment \
  387. #   -I. \
  388. #   -I../cross-tools/include -I../cross-tools/include/gdb -I../usr/include \
  389. #   -I../gcc/include -I../gcc/include/gdb -I../gcc/libcpp/include \
  390. #   -I../gcc/libstdc++-v3/include -I../gcc/libsanitizer/include \
  391. #   -I../gcc/libffi/include -I../gcc/liboffloadmic/runtime/orsl-lite/include \
  392. #   -I../gcc/liboffloadmic/include -I../gcc/gcc/testsuite/gcc.dg/pch/include \
  393. #   -I../gcc/gcc/testsuite/gcc.dg/cpp/usr/include -I../gcc/gcc/doc/include" ;
  394.  
  395. mkdir gcc-build ;
  396. cd gcc-build ;
  397.  
  398. LDFLAGS="-Wl,--sysroot=${LJOS} \
  399. -Wl,--enable-new-dtags,-rpath,${LJOS}/cross-tools/lib \
  400. -Wl,--enable-new-dtags,-rpath,"\${ORIGIN}" \
  401. -Wl,--enable-new-dtags,-rpath-link,${LJOS}/cross-tools/lib \
  402. -Wl,--enable-new-dtags,-rpath-link,"\${ORIGIN}" \
  403. -Wl,--enable-new-dtags,-rpath,${LJOS}/usr/lib64 \
  404. -Wl,--enable-new-dtags,-rpath-link,${LJOS}/usr/lib64
  405. -Wl,--enable-new-dtags,-rpath,${LJOS}/gcc-static \
  406. -Wl,--enable-new-dtags,-rpath-link,${LJOS}/gcc-static" \
  407. ../gcc/configure --prefix=${LJOS}/cross-tools \
  408. --build=${LJOS_HOST} \
  409. --target=${LJOS_TARGET} \
  410. --host=${LJOS_HOST} \
  411. --with-sysroot=${LJOS} \
  412. --disable-lto \
  413. --disable-pgo-build \
  414. --disable-gold \
  415. --disable-nls \
  416. --enable-multilib \
  417. --enable-shared \
  418. --enable-host-shared \
  419. --enable-languages=c,c++ \
  420. --enable-c99 \
  421. --enable-long-long \
  422. --enable-initfini-array \
  423. --enable-serial-configure \
  424. --enable-languages=c,c++ \
  425. --enable-vtable-verify \
  426. --enable-stage1-language=all \
  427. --enable-stage1-checking=all \
  428. --disable-werror \
  429. --with-mpfr-include=$(pwd)/../gcc/mpfr/src \
  430. --with-mpfr-lib=$(pwd)/mpfr/src/.libs \
  431. --with-arch=${LJOS_CPU} 2>&1 >> ../gcc.log ;
  432. colormake -d -j1 2>&1 >> ../gcc.log && colormake install -j1;
  433. cp -v ${LJOS}/cross-tools/${LJOS_TARGET}/lib64/libgcc_s.so.1 ${LJOS}/lib64 ;
  434.  
  435. cd .. ;
  436.  
  437. unset ASAN_OPTIONS ;
  438. unset LSAN_OPTIONS ;
  439. unset UBSAN_OPTIONS ;
  440. unset CFLAGS ;
  441. unset CPPFLAGS ;
  442. unset CXXFLAGS ;
  443.  
  444. source unset ;
  445. source unset-final ;
  446.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement