git: ab36487a79cd - stable/14 - contrib/bc: MFC upgrade from version 7.02 to 7.1.0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 09 Oct 2025 10:57:13 UTC
The branch stable/14 has been updated by se: URL: https://cgit.FreeBSD.org/src/commit/?id=ab36487a79cd0093d76ec3cdc8eb8c0e114835db commit ab36487a79cd0093d76ec3cdc8eb8c0e114835db Author: Stefan Eßer <se@FreeBSD.org> AuthorDate: 2025-09-11 14:16:39 +0000 Commit: Stefan Eßer <se@FreeBSD.org> CommitDate: 2025-10-09 10:56:44 +0000 contrib/bc: MFC upgrade from version 7.02 to 7.1.0 This update fixes a few bugs: - Improper response to double SIGINT with editline. - Not letting libedit handle terminal size changes. - A dc crash from improperly handling an error. - A duplicate check for reference arrays. - Build failures with GCC 15. Add extra defines required for bc-7.1.0 to the Makefiles. The “all.sh” script in version 7.1.0 accepts one less parameter for selecting the tests to be run. (cherry picked from commit 4c178fe36e01f84f3c65f6953cbe8dbe5b3fc908) --- contrib/bc/LICENSE.md | 4 +- contrib/bc/MAINTENANCE-TERMS.md | 80 + contrib/bc/Makefile.in | 285 +- contrib/bc/NEWS.md | 23 + contrib/bc/NOTICE.md | 2 +- contrib/bc/README.md | 21 +- contrib/bc/VERSION.txt | 1 + contrib/bc/build.gaml | 402 + contrib/bc/build.pkg.rig | 2345 ++++++ contrib/bc/build.rig | 575 ++ contrib/bc/compile_flags.txt | 3 + contrib/bc/configure.sh | 477 +- contrib/bc/gen/bc_help.txt | 4 +- contrib/bc/gen/dc_help.txt | 4 +- contrib/bc/gen/lib.bc | 2 +- contrib/bc/gen/lib2.bc | 115 +- contrib/bc/gen/strgen.c | 4 +- contrib/bc/gen/strgen.sh | 4 +- contrib/bc/include/args.h | 2 +- contrib/bc/include/bc.h | 8 +- contrib/bc/include/bcl.h | 2 +- contrib/bc/include/dc.h | 2 +- contrib/bc/include/file.h | 2 +- contrib/bc/include/history.h | 26 +- contrib/bc/include/lang.h | 6 +- contrib/bc/include/lex.h | 2 +- contrib/bc/include/library.h | 2 +- contrib/bc/include/num.h | 2 +- contrib/bc/include/opt.h | 2 +- contrib/bc/include/ossfuzz.h | 2 +- contrib/bc/include/parse.h | 2 +- contrib/bc/include/program.h | 16 +- contrib/bc/include/rand.h | 2 +- contrib/bc/include/read.h | 2 +- contrib/bc/include/status.h | 7 +- contrib/bc/include/vector.h | 2 +- contrib/bc/include/version.h | 42 - contrib/bc/include/vm.h | 3 +- contrib/bc/locales/de_DE.ISO8859-1.msg | 2 +- contrib/bc/locales/de_DE.UTF-8.msg | 2 +- contrib/bc/locales/en_US.msg | 2 +- contrib/bc/locales/es_ES.ISO8859-1.msg | 2 +- contrib/bc/locales/es_ES.UTF-8.msg | 2 +- contrib/bc/locales/fr_FR.ISO8859-1.msg | 2 +- contrib/bc/locales/fr_FR.UTF-8.msg | 2 +- contrib/bc/locales/ja_JP.UTF-8.msg | 2 +- contrib/bc/locales/ja_JP.eucJP.msg | 2 +- contrib/bc/locales/nl_NL.ISO8859-1.msg | 2 +- contrib/bc/locales/nl_NL.UTF-8.msg | 2 +- contrib/bc/locales/pl_PL.ISO8859-2.msg | 2 +- contrib/bc/locales/pl_PL.UTF-8.msg | 2 +- contrib/bc/locales/pt_PT.ISO8859-1.msg | 2 +- contrib/bc/locales/pt_PT.UTF-8.msg | 2 +- contrib/bc/locales/ru_RU.CP1251.msg | 2 +- contrib/bc/locales/ru_RU.CP866.msg | 2 +- contrib/bc/locales/ru_RU.ISO8859-5.msg | 2 +- contrib/bc/locales/ru_RU.KOI8-R.msg | 2 +- contrib/bc/locales/ru_RU.UTF-8.msg | 2 +- contrib/bc/locales/zh_CN.GB18030.msg | 2 +- contrib/bc/locales/zh_CN.GB2312.msg | 2 +- contrib/bc/locales/zh_CN.GBK.msg | 2 +- contrib/bc/locales/zh_CN.UTF-8.msg | 2 +- contrib/bc/locales/zh_CN.eucCN.msg | 2 +- contrib/bc/manuals/bc/A.1 | 15 +- contrib/bc/manuals/bc/A.1.md | 14 +- contrib/bc/manuals/bc/E.1 | 4 +- contrib/bc/manuals/bc/E.1.md | 4 +- contrib/bc/manuals/bc/EH.1 | 4 +- contrib/bc/manuals/bc/EH.1.md | 4 +- contrib/bc/manuals/bc/EHN.1 | 4 +- contrib/bc/manuals/bc/EHN.1.md | 4 +- contrib/bc/manuals/bc/EN.1 | 4 +- contrib/bc/manuals/bc/EN.1.md | 4 +- contrib/bc/manuals/bc/H.1 | 15 +- contrib/bc/manuals/bc/H.1.md | 14 +- contrib/bc/manuals/bc/HN.1 | 15 +- contrib/bc/manuals/bc/HN.1.md | 14 +- contrib/bc/manuals/bc/N.1 | 15 +- contrib/bc/manuals/bc/N.1.md | 14 +- contrib/bc/manuals/bcl.3 | 4 +- contrib/bc/manuals/bcl.3.md | 4 +- contrib/bc/manuals/build.md | 6 +- contrib/bc/manuals/dc/A.1 | 4 +- contrib/bc/manuals/dc/A.1.md | 4 +- contrib/bc/manuals/dc/E.1 | 4 +- contrib/bc/manuals/dc/E.1.md | 4 +- contrib/bc/manuals/dc/EH.1 | 4 +- contrib/bc/manuals/dc/EH.1.md | 4 +- contrib/bc/manuals/dc/EHN.1 | 4 +- contrib/bc/manuals/dc/EHN.1.md | 4 +- contrib/bc/manuals/dc/EN.1 | 4 +- contrib/bc/manuals/dc/EN.1.md | 4 +- contrib/bc/manuals/dc/H.1 | 4 +- contrib/bc/manuals/dc/H.1.md | 4 +- contrib/bc/manuals/dc/HN.1 | 4 +- contrib/bc/manuals/dc/HN.1.md | 4 +- contrib/bc/manuals/dc/N.1 | 4 +- contrib/bc/manuals/dc/N.1.md | 4 +- contrib/bc/project/README.md | 32 + contrib/bc/project/gitea.db | Bin 0 -> 86016 bytes contrib/bc/project/github_issues.json | 3667 ++++++++++ contrib/bc/project/github_prs.json | 7729 ++++++++++++++++++++ contrib/bc/project/issue10.md | 104 + contrib/bc/scripts/exec-install.sh | 2 +- contrib/bc/scripts/format.sh | 2 +- contrib/bc/scripts/functions.sh | 2 +- contrib/bc/scripts/karatsuba.py | 2 +- contrib/bc/scripts/link.sh | 2 +- contrib/bc/scripts/lint.sh | 2 +- contrib/bc/scripts/locale_install.sh | 2 +- contrib/bc/scripts/locale_uninstall.sh | 2 +- contrib/bc/scripts/os.c | 2 +- contrib/bc/scripts/release.pkg.yao | 1410 ++++ contrib/bc/scripts/sqrt_frac_guess.bc | 2 +- contrib/bc/scripts/sqrt_int_guess.bc | 2 +- contrib/bc/scripts/sqrt_random.bc | 2 +- contrib/bc/scripts/sqrt_random.sh | 2 +- contrib/bc/src/args.c | 2 +- contrib/bc/src/bc.c | 2 +- contrib/bc/src/bc_fuzzer.c | 3 +- contrib/bc/src/bc_lex.c | 2 +- contrib/bc/src/bc_parse.c | 2 +- contrib/bc/src/data.c | 142 +- contrib/bc/src/dc.c | 2 +- contrib/bc/src/dc_fuzzer.c | 3 +- contrib/bc/src/dc_lex.c | 2 +- contrib/bc/src/dc_parse.c | 2 +- contrib/bc/src/file.c | 5 +- contrib/bc/src/history.c | 16 +- contrib/bc/src/lang.c | 7 +- contrib/bc/src/lex.c | 2 +- contrib/bc/src/library.c | 2 +- contrib/bc/src/main.c | 3 +- contrib/bc/src/num.c | 3 +- contrib/bc/src/opt.c | 2 +- contrib/bc/src/parse.c | 2 +- contrib/bc/src/program.c | 67 +- contrib/bc/src/rand.c | 2 +- contrib/bc/src/read.c | 23 +- contrib/bc/src/vector.c | 2 +- contrib/bc/src/vm.c | 35 +- contrib/bc/tests/all.sh | 42 +- contrib/bc/tests/bc/all.txt | 131 +- contrib/bc/tests/bc/errors/39.txt | 1 + contrib/bc/tests/bc/lib2.txt | 477 -- contrib/bc/tests/bc/lib2_a2.txt | 18 + contrib/bc/tests/bc/lib2_a2_results.txt | 18 + contrib/bc/tests/bc/lib2_bytes.txt | 46 + contrib/bc/tests/bc/lib2_bytes_results.txt | 46 + contrib/bc/tests/bc/lib2_ceil.txt | 24 + contrib/bc/tests/bc/lib2_ceil_results.txt | 24 + contrib/bc/tests/bc/lib2_d2r.txt | 16 + contrib/bc/tests/bc/lib2_d2r_results.txt | 16 + contrib/bc/tests/bc/lib2_fac.txt | 6 + contrib/bc/tests/bc/lib2_fac_results.txt | 6 + contrib/bc/tests/bc/lib2_gcd.txt | 7 + contrib/bc/tests/bc/lib2_gcd_results.txt | 7 + contrib/bc/tests/bc/lib2_log.txt | 32 + contrib/bc/tests/bc/lib2_log_results.txt | 32 + contrib/bc/tests/bc/lib2_p.txt | 4 + contrib/bc/tests/bc/lib2_p_results.txt | 5 + contrib/bc/tests/bc/lib2_perm.txt | 9 + contrib/bc/tests/bc/lib2_perm_results.txt | 8 + contrib/bc/tests/bc/lib2_pi.txt | 5 + contrib/bc/tests/bc/lib2_pi_results.txt | 6 + contrib/bc/tests/bc/lib2_r.txt | 23 + contrib/bc/tests/bc/lib2_r2d.txt | 17 + contrib/bc/tests/bc/lib2_r2d_results.txt | 16 + contrib/bc/tests/bc/lib2_r_results.txt | 23 + contrib/bc/tests/bc/lib2_rand.txt | 11 + contrib/bc/tests/bc/lib2_rand_results.txt | 7 + contrib/bc/tests/bc/lib2_root.txt | 13 + contrib/bc/tests/bc/lib2_root_results.txt | 13 + contrib/bc/tests/bc/lib2_tan.txt | 30 + contrib/bc/tests/bc/lib2_tan_results.txt | 29 + contrib/bc/tests/bc/lib2_uint.txt | 218 + .../bc/{lib2_results.txt => lib2_uint_results.txt} | 256 - .../bc/tests/bc/scripts/{add.bc => add_00100.bc} | 2 +- contrib/bc/tests/bc/scripts/add_00200.bc | 17 + contrib/bc/tests/bc/scripts/add_00300.bc | 17 + contrib/bc/tests/bc/scripts/add_00400.bc | 17 + contrib/bc/tests/bc/scripts/add_00500.bc | 17 + contrib/bc/tests/bc/scripts/add_00600.bc | 17 + contrib/bc/tests/bc/scripts/add_00700.bc | 17 + contrib/bc/tests/bc/scripts/add_00800.bc | 17 + contrib/bc/tests/bc/scripts/add_00900.bc | 17 + contrib/bc/tests/bc/scripts/add_01000.bc | 17 + contrib/bc/tests/bc/scripts/add_01100.bc | 17 + contrib/bc/tests/bc/scripts/add_01200.bc | 17 + contrib/bc/tests/bc/scripts/add_01300.bc | 17 + contrib/bc/tests/bc/scripts/add_01400.bc | 17 + contrib/bc/tests/bc/scripts/add_01500.bc | 17 + contrib/bc/tests/bc/scripts/add_01600.bc | 17 + contrib/bc/tests/bc/scripts/add_01700.bc | 17 + contrib/bc/tests/bc/scripts/add_01800.bc | 17 + contrib/bc/tests/bc/scripts/add_01900.bc | 17 + contrib/bc/tests/bc/scripts/add_02000.bc | 17 + contrib/bc/tests/bc/scripts/add_02100.bc | 17 + contrib/bc/tests/bc/scripts/add_02200.bc | 17 + contrib/bc/tests/bc/scripts/add_02300.bc | 17 + contrib/bc/tests/bc/scripts/add_02400.bc | 17 + contrib/bc/tests/bc/scripts/add_02500.bc | 17 + contrib/bc/tests/bc/scripts/add_02600.bc | 17 + contrib/bc/tests/bc/scripts/add_02700.bc | 17 + contrib/bc/tests/bc/scripts/add_02800.bc | 17 + contrib/bc/tests/bc/scripts/add_02900.bc | 17 + contrib/bc/tests/bc/scripts/add_03000.bc | 17 + contrib/bc/tests/bc/scripts/add_03100.bc | 17 + contrib/bc/tests/bc/scripts/add_03200.bc | 17 + contrib/bc/tests/bc/scripts/add_03300.bc | 17 + contrib/bc/tests/bc/scripts/add_03400.bc | 17 + contrib/bc/tests/bc/scripts/add_03500.bc | 17 + contrib/bc/tests/bc/scripts/add_03600.bc | 17 + contrib/bc/tests/bc/scripts/add_03700.bc | 17 + contrib/bc/tests/bc/scripts/add_03800.bc | 17 + contrib/bc/tests/bc/scripts/add_03900.bc | 17 + contrib/bc/tests/bc/scripts/add_04000.bc | 17 + contrib/bc/tests/bc/scripts/add_04100.bc | 17 + contrib/bc/tests/bc/scripts/add_04200.bc | 17 + contrib/bc/tests/bc/scripts/add_04300.bc | 17 + contrib/bc/tests/bc/scripts/add_04400.bc | 17 + contrib/bc/tests/bc/scripts/add_04500.bc | 17 + contrib/bc/tests/bc/scripts/add_04600.bc | 17 + contrib/bc/tests/bc/scripts/add_04700.bc | 17 + contrib/bc/tests/bc/scripts/add_04800.bc | 17 + contrib/bc/tests/bc/scripts/add_04900.bc | 17 + contrib/bc/tests/bc/scripts/add_05000.bc | 17 + contrib/bc/tests/bc/scripts/add_05100.bc | 17 + contrib/bc/tests/bc/scripts/add_05200.bc | 17 + contrib/bc/tests/bc/scripts/add_05300.bc | 17 + contrib/bc/tests/bc/scripts/add_05400.bc | 17 + contrib/bc/tests/bc/scripts/add_05500.bc | 17 + contrib/bc/tests/bc/scripts/add_05600.bc | 17 + contrib/bc/tests/bc/scripts/add_05700.bc | 17 + contrib/bc/tests/bc/scripts/add_05800.bc | 17 + contrib/bc/tests/bc/scripts/add_05900.bc | 17 + contrib/bc/tests/bc/scripts/add_06000.bc | 17 + contrib/bc/tests/bc/scripts/add_06100.bc | 17 + contrib/bc/tests/bc/scripts/add_06200.bc | 17 + contrib/bc/tests/bc/scripts/add_06300.bc | 17 + contrib/bc/tests/bc/scripts/add_06400.bc | 17 + contrib/bc/tests/bc/scripts/add_06500.bc | 17 + contrib/bc/tests/bc/scripts/add_06600.bc | 17 + contrib/bc/tests/bc/scripts/add_06700.bc | 17 + contrib/bc/tests/bc/scripts/add_06800.bc | 17 + contrib/bc/tests/bc/scripts/add_06900.bc | 17 + contrib/bc/tests/bc/scripts/add_07000.bc | 17 + contrib/bc/tests/bc/scripts/add_07100.bc | 17 + contrib/bc/tests/bc/scripts/add_07200.bc | 17 + contrib/bc/tests/bc/scripts/add_07300.bc | 17 + contrib/bc/tests/bc/scripts/add_07400.bc | 17 + contrib/bc/tests/bc/scripts/add_07500.bc | 17 + contrib/bc/tests/bc/scripts/add_07600.bc | 17 + contrib/bc/tests/bc/scripts/add_07700.bc | 17 + contrib/bc/tests/bc/scripts/add_07800.bc | 17 + contrib/bc/tests/bc/scripts/add_07900.bc | 17 + contrib/bc/tests/bc/scripts/add_08000.bc | 17 + contrib/bc/tests/bc/scripts/add_08100.bc | 17 + contrib/bc/tests/bc/scripts/add_08200.bc | 17 + contrib/bc/tests/bc/scripts/add_08300.bc | 17 + contrib/bc/tests/bc/scripts/add_08400.bc | 17 + contrib/bc/tests/bc/scripts/add_08500.bc | 17 + contrib/bc/tests/bc/scripts/add_08600.bc | 17 + contrib/bc/tests/bc/scripts/add_08700.bc | 17 + contrib/bc/tests/bc/scripts/add_08800.bc | 17 + contrib/bc/tests/bc/scripts/add_08900.bc | 17 + contrib/bc/tests/bc/scripts/add_09000.bc | 17 + contrib/bc/tests/bc/scripts/add_09100.bc | 17 + contrib/bc/tests/bc/scripts/add_09200.bc | 17 + contrib/bc/tests/bc/scripts/add_09300.bc | 17 + contrib/bc/tests/bc/scripts/add_09400.bc | 17 + contrib/bc/tests/bc/scripts/add_09500.bc | 17 + contrib/bc/tests/bc/scripts/add_09600.bc | 17 + contrib/bc/tests/bc/scripts/add_09700.bc | 17 + contrib/bc/tests/bc/scripts/add_09800.bc | 17 + contrib/bc/tests/bc/scripts/add_09900.bc | 17 + contrib/bc/tests/bc/scripts/add_10000.bc | 17 + contrib/bc/tests/bc/scripts/all.txt | 406 +- .../bc/scripts/{divide.bc => divide_00100.bc} | 2 +- contrib/bc/tests/bc/scripts/divide_00200.bc | 23 + contrib/bc/tests/bc/scripts/divide_00300.bc | 23 + contrib/bc/tests/bc/scripts/divide_00400.bc | 23 + contrib/bc/tests/bc/scripts/divide_00500.bc | 23 + contrib/bc/tests/bc/scripts/divide_00600.bc | 23 + contrib/bc/tests/bc/scripts/divide_00700.bc | 23 + contrib/bc/tests/bc/scripts/divide_00800.bc | 23 + contrib/bc/tests/bc/scripts/divide_00900.bc | 23 + contrib/bc/tests/bc/scripts/divide_01000.bc | 23 + contrib/bc/tests/bc/scripts/divide_01100.bc | 23 + contrib/bc/tests/bc/scripts/divide_01200.bc | 23 + contrib/bc/tests/bc/scripts/divide_01300.bc | 23 + contrib/bc/tests/bc/scripts/divide_01400.bc | 23 + contrib/bc/tests/bc/scripts/divide_01500.bc | 23 + contrib/bc/tests/bc/scripts/divide_01600.bc | 23 + contrib/bc/tests/bc/scripts/divide_01700.bc | 23 + contrib/bc/tests/bc/scripts/divide_01800.bc | 23 + contrib/bc/tests/bc/scripts/divide_01900.bc | 23 + contrib/bc/tests/bc/scripts/divide_02000.bc | 23 + contrib/bc/tests/bc/scripts/divide_02100.bc | 23 + contrib/bc/tests/bc/scripts/divide_02200.bc | 23 + contrib/bc/tests/bc/scripts/divide_02300.bc | 23 + contrib/bc/tests/bc/scripts/divide_02400.bc | 23 + contrib/bc/tests/bc/scripts/divide_02500.bc | 23 + contrib/bc/tests/bc/scripts/divide_02600.bc | 23 + contrib/bc/tests/bc/scripts/divide_02700.bc | 23 + contrib/bc/tests/bc/scripts/divide_02800.bc | 23 + contrib/bc/tests/bc/scripts/divide_02900.bc | 23 + contrib/bc/tests/bc/scripts/divide_03000.bc | 23 + contrib/bc/tests/bc/scripts/divide_03100.bc | 23 + contrib/bc/tests/bc/scripts/divide_03200.bc | 23 + contrib/bc/tests/bc/scripts/divide_03300.bc | 23 + contrib/bc/tests/bc/scripts/divide_03400.bc | 23 + contrib/bc/tests/bc/scripts/divide_03500.bc | 23 + contrib/bc/tests/bc/scripts/divide_03600.bc | 23 + contrib/bc/tests/bc/scripts/divide_03700.bc | 23 + contrib/bc/tests/bc/scripts/divide_03800.bc | 23 + contrib/bc/tests/bc/scripts/divide_03900.bc | 23 + contrib/bc/tests/bc/scripts/divide_04000.bc | 23 + contrib/bc/tests/bc/scripts/divide_04100.bc | 23 + contrib/bc/tests/bc/scripts/divide_04200.bc | 23 + contrib/bc/tests/bc/scripts/divide_04300.bc | 23 + contrib/bc/tests/bc/scripts/divide_04400.bc | 23 + contrib/bc/tests/bc/scripts/divide_04500.bc | 23 + contrib/bc/tests/bc/scripts/divide_04600.bc | 23 + contrib/bc/tests/bc/scripts/divide_04700.bc | 23 + contrib/bc/tests/bc/scripts/divide_04800.bc | 23 + contrib/bc/tests/bc/scripts/divide_04900.bc | 23 + contrib/bc/tests/bc/scripts/divide_05000.bc | 23 + contrib/bc/tests/bc/scripts/divide_05100.bc | 23 + contrib/bc/tests/bc/scripts/divide_05200.bc | 23 + contrib/bc/tests/bc/scripts/divide_05300.bc | 23 + contrib/bc/tests/bc/scripts/divide_05400.bc | 23 + contrib/bc/tests/bc/scripts/divide_05500.bc | 23 + contrib/bc/tests/bc/scripts/divide_05600.bc | 23 + contrib/bc/tests/bc/scripts/divide_05700.bc | 23 + contrib/bc/tests/bc/scripts/divide_05800.bc | 23 + contrib/bc/tests/bc/scripts/divide_05900.bc | 23 + contrib/bc/tests/bc/scripts/divide_06000.bc | 23 + contrib/bc/tests/bc/scripts/divide_06100.bc | 23 + contrib/bc/tests/bc/scripts/divide_06200.bc | 23 + contrib/bc/tests/bc/scripts/divide_06300.bc | 23 + contrib/bc/tests/bc/scripts/divide_06400.bc | 23 + contrib/bc/tests/bc/scripts/divide_06500.bc | 23 + contrib/bc/tests/bc/scripts/divide_06600.bc | 23 + contrib/bc/tests/bc/scripts/divide_06700.bc | 23 + contrib/bc/tests/bc/scripts/divide_06800.bc | 23 + contrib/bc/tests/bc/scripts/divide_06900.bc | 23 + contrib/bc/tests/bc/scripts/divide_07000.bc | 23 + contrib/bc/tests/bc/scripts/divide_07100.bc | 23 + contrib/bc/tests/bc/scripts/divide_07200.bc | 23 + contrib/bc/tests/bc/scripts/divide_07300.bc | 23 + contrib/bc/tests/bc/scripts/divide_07400.bc | 23 + contrib/bc/tests/bc/scripts/divide_07500.bc | 23 + contrib/bc/tests/bc/scripts/divide_07600.bc | 23 + contrib/bc/tests/bc/scripts/divide_07700.bc | 23 + contrib/bc/tests/bc/scripts/divide_07800.bc | 23 + contrib/bc/tests/bc/scripts/divide_07900.bc | 23 + contrib/bc/tests/bc/scripts/divide_08000.bc | 23 + contrib/bc/tests/bc/scripts/divide_08100.bc | 23 + contrib/bc/tests/bc/scripts/divide_08200.bc | 23 + contrib/bc/tests/bc/scripts/divide_08300.bc | 23 + contrib/bc/tests/bc/scripts/divide_08400.bc | 23 + contrib/bc/tests/bc/scripts/divide_08500.bc | 23 + contrib/bc/tests/bc/scripts/divide_08600.bc | 23 + contrib/bc/tests/bc/scripts/divide_08700.bc | 23 + contrib/bc/tests/bc/scripts/divide_08800.bc | 23 + contrib/bc/tests/bc/scripts/divide_08900.bc | 23 + contrib/bc/tests/bc/scripts/divide_09000.bc | 23 + contrib/bc/tests/bc/scripts/divide_09100.bc | 23 + contrib/bc/tests/bc/scripts/divide_09200.bc | 23 + contrib/bc/tests/bc/scripts/divide_09300.bc | 23 + contrib/bc/tests/bc/scripts/divide_09400.bc | 23 + contrib/bc/tests/bc/scripts/divide_09500.bc | 23 + contrib/bc/tests/bc/scripts/divide_09600.bc | 23 + contrib/bc/tests/bc/scripts/divide_09700.bc | 23 + contrib/bc/tests/bc/scripts/divide_09800.bc | 23 + contrib/bc/tests/bc/scripts/divide_09900.bc | 23 + contrib/bc/tests/bc/scripts/divide_10000.bc | 23 + .../bc/scripts/{multiply.bc => multiply_00100.bc} | 2 +- contrib/bc/tests/bc/scripts/multiply_00200.bc | 20 + contrib/bc/tests/bc/scripts/multiply_00300.bc | 20 + contrib/bc/tests/bc/scripts/multiply_00400.bc | 20 + contrib/bc/tests/bc/scripts/multiply_00500.bc | 20 + contrib/bc/tests/bc/scripts/multiply_00600.bc | 20 + contrib/bc/tests/bc/scripts/multiply_00700.bc | 20 + contrib/bc/tests/bc/scripts/multiply_00800.bc | 20 + contrib/bc/tests/bc/scripts/multiply_00900.bc | 20 + contrib/bc/tests/bc/scripts/multiply_01000.bc | 20 + contrib/bc/tests/bc/scripts/multiply_01100.bc | 20 + contrib/bc/tests/bc/scripts/multiply_01200.bc | 20 + contrib/bc/tests/bc/scripts/multiply_01300.bc | 20 + contrib/bc/tests/bc/scripts/multiply_01400.bc | 20 + contrib/bc/tests/bc/scripts/multiply_01500.bc | 20 + contrib/bc/tests/bc/scripts/multiply_01600.bc | 20 + contrib/bc/tests/bc/scripts/multiply_01700.bc | 20 + contrib/bc/tests/bc/scripts/multiply_01800.bc | 20 + contrib/bc/tests/bc/scripts/multiply_01900.bc | 20 + contrib/bc/tests/bc/scripts/multiply_02000.bc | 20 + contrib/bc/tests/bc/scripts/multiply_02100.bc | 20 + contrib/bc/tests/bc/scripts/multiply_02200.bc | 20 + contrib/bc/tests/bc/scripts/multiply_02300.bc | 20 + contrib/bc/tests/bc/scripts/multiply_02400.bc | 20 + contrib/bc/tests/bc/scripts/multiply_02500.bc | 20 + contrib/bc/tests/bc/scripts/multiply_02600.bc | 20 + contrib/bc/tests/bc/scripts/multiply_02700.bc | 20 + contrib/bc/tests/bc/scripts/multiply_02800.bc | 20 + contrib/bc/tests/bc/scripts/multiply_02900.bc | 20 + contrib/bc/tests/bc/scripts/multiply_03000.bc | 20 + contrib/bc/tests/bc/scripts/multiply_03100.bc | 20 + contrib/bc/tests/bc/scripts/multiply_03200.bc | 20 + contrib/bc/tests/bc/scripts/multiply_03300.bc | 20 + contrib/bc/tests/bc/scripts/multiply_03400.bc | 20 + contrib/bc/tests/bc/scripts/multiply_03500.bc | 20 + contrib/bc/tests/bc/scripts/multiply_03600.bc | 20 + contrib/bc/tests/bc/scripts/multiply_03700.bc | 20 + contrib/bc/tests/bc/scripts/multiply_03800.bc | 20 + contrib/bc/tests/bc/scripts/multiply_03900.bc | 20 + contrib/bc/tests/bc/scripts/multiply_04000.bc | 20 + contrib/bc/tests/bc/scripts/multiply_04100.bc | 20 + contrib/bc/tests/bc/scripts/multiply_04200.bc | 20 + contrib/bc/tests/bc/scripts/multiply_04300.bc | 20 + contrib/bc/tests/bc/scripts/multiply_04400.bc | 20 + contrib/bc/tests/bc/scripts/multiply_04500.bc | 20 + contrib/bc/tests/bc/scripts/multiply_04600.bc | 20 + contrib/bc/tests/bc/scripts/multiply_04700.bc | 20 + contrib/bc/tests/bc/scripts/multiply_04800.bc | 20 + contrib/bc/tests/bc/scripts/multiply_04900.bc | 20 + contrib/bc/tests/bc/scripts/multiply_05000.bc | 20 + contrib/bc/tests/bc/scripts/multiply_05100.bc | 20 + contrib/bc/tests/bc/scripts/multiply_05200.bc | 20 + contrib/bc/tests/bc/scripts/multiply_05300.bc | 20 + contrib/bc/tests/bc/scripts/multiply_05400.bc | 20 + contrib/bc/tests/bc/scripts/multiply_05500.bc | 20 + contrib/bc/tests/bc/scripts/multiply_05600.bc | 20 + contrib/bc/tests/bc/scripts/multiply_05700.bc | 20 + contrib/bc/tests/bc/scripts/multiply_05800.bc | 20 + contrib/bc/tests/bc/scripts/multiply_05900.bc | 20 + contrib/bc/tests/bc/scripts/multiply_06000.bc | 20 + contrib/bc/tests/bc/scripts/multiply_06100.bc | 20 + contrib/bc/tests/bc/scripts/multiply_06200.bc | 20 + contrib/bc/tests/bc/scripts/multiply_06300.bc | 20 + contrib/bc/tests/bc/scripts/multiply_06400.bc | 20 + contrib/bc/tests/bc/scripts/multiply_06500.bc | 20 + contrib/bc/tests/bc/scripts/multiply_06600.bc | 20 + contrib/bc/tests/bc/scripts/multiply_06700.bc | 20 + contrib/bc/tests/bc/scripts/multiply_06800.bc | 20 + contrib/bc/tests/bc/scripts/multiply_06900.bc | 20 + contrib/bc/tests/bc/scripts/multiply_07000.bc | 20 + contrib/bc/tests/bc/scripts/multiply_07100.bc | 20 + contrib/bc/tests/bc/scripts/multiply_07200.bc | 20 + contrib/bc/tests/bc/scripts/multiply_07300.bc | 20 + contrib/bc/tests/bc/scripts/multiply_07400.bc | 20 + contrib/bc/tests/bc/scripts/multiply_07500.bc | 20 + contrib/bc/tests/bc/scripts/multiply_07600.bc | 20 + contrib/bc/tests/bc/scripts/multiply_07700.bc | 20 + contrib/bc/tests/bc/scripts/multiply_07800.bc | 20 + contrib/bc/tests/bc/scripts/multiply_07900.bc | 20 + contrib/bc/tests/bc/scripts/multiply_08000.bc | 20 + contrib/bc/tests/bc/scripts/multiply_08100.bc | 20 + contrib/bc/tests/bc/scripts/multiply_08200.bc | 20 + contrib/bc/tests/bc/scripts/multiply_08300.bc | 20 + contrib/bc/tests/bc/scripts/multiply_08400.bc | 20 + contrib/bc/tests/bc/scripts/multiply_08500.bc | 20 + contrib/bc/tests/bc/scripts/multiply_08600.bc | 20 + contrib/bc/tests/bc/scripts/multiply_08700.bc | 20 + contrib/bc/tests/bc/scripts/multiply_08800.bc | 20 + contrib/bc/tests/bc/scripts/multiply_08900.bc | 20 + contrib/bc/tests/bc/scripts/multiply_09000.bc | 20 + contrib/bc/tests/bc/scripts/multiply_09100.bc | 20 + contrib/bc/tests/bc/scripts/multiply_09200.bc | 20 + contrib/bc/tests/bc/scripts/multiply_09300.bc | 20 + contrib/bc/tests/bc/scripts/multiply_09400.bc | 20 + contrib/bc/tests/bc/scripts/multiply_09500.bc | 20 + contrib/bc/tests/bc/scripts/multiply_09600.bc | 20 + contrib/bc/tests/bc/scripts/multiply_09700.bc | 20 + contrib/bc/tests/bc/scripts/multiply_09800.bc | 20 + contrib/bc/tests/bc/scripts/multiply_09900.bc | 20 + contrib/bc/tests/bc/scripts/multiply_10000.bc | 20 + contrib/bc/tests/bc/scripts/parse.bc | 20 - contrib/bc/tests/bc/scripts/parse_02.bc | 19 + contrib/bc/tests/bc/scripts/parse_03.bc | 19 + contrib/bc/tests/bc/scripts/parse_04.bc | 19 + contrib/bc/tests/bc/scripts/parse_05.bc | 19 + contrib/bc/tests/bc/scripts/parse_06.bc | 19 + contrib/bc/tests/bc/scripts/parse_07.bc | 19 + contrib/bc/tests/bc/scripts/parse_08.bc | 19 + contrib/bc/tests/bc/scripts/parse_09.bc | 19 + contrib/bc/tests/bc/scripts/parse_11.bc | 19 + contrib/bc/tests/bc/scripts/parse_12.bc | 19 + contrib/bc/tests/bc/scripts/parse_13.bc | 19 + contrib/bc/tests/bc/scripts/parse_14.bc | 19 + contrib/bc/tests/bc/scripts/parse_15.bc | 19 + contrib/bc/tests/bc/scripts/parse_16.bc | 19 + contrib/bc/tests/bc/scripts/print.bc | 25 - contrib/bc/tests/bc/scripts/print_002.bc | 22 + contrib/bc/tests/bc/scripts/print_003.bc | 22 + contrib/bc/tests/bc/scripts/print_004.bc | 22 + contrib/bc/tests/bc/scripts/print_005.bc | 22 + contrib/bc/tests/bc/scripts/print_006.bc | 22 + contrib/bc/tests/bc/scripts/print_007.bc | 22 + contrib/bc/tests/bc/scripts/print_008.bc | 22 + contrib/bc/tests/bc/scripts/print_009.bc | 22 + contrib/bc/tests/bc/scripts/print_011.bc | 22 + contrib/bc/tests/bc/scripts/print_012.bc | 22 + contrib/bc/tests/bc/scripts/print_013.bc | 22 + contrib/bc/tests/bc/scripts/print_014.bc | 22 + contrib/bc/tests/bc/scripts/print_015.bc | 22 + contrib/bc/tests/bc/scripts/print_016.bc | 22 + contrib/bc/tests/bc/scripts/print_017.bc | 22 + contrib/bc/tests/bc/scripts/print_018.bc | 22 + contrib/bc/tests/bc/scripts/print_019.bc | 22 + contrib/bc/tests/bc/scripts/print_020.bc | 22 + contrib/bc/tests/bc/scripts/print_021.bc | 22 + contrib/bc/tests/bc/scripts/print_022.bc | 22 + contrib/bc/tests/bc/scripts/print_023.bc | 22 + contrib/bc/tests/bc/scripts/print_024.bc | 22 + contrib/bc/tests/bc/scripts/print_025.bc | 22 + contrib/bc/tests/bc/scripts/print_026.bc | 22 + contrib/bc/tests/bc/scripts/print_027.bc | 22 + contrib/bc/tests/bc/scripts/print_028.bc | 22 + contrib/bc/tests/bc/scripts/print_029.bc | 22 + contrib/bc/tests/bc/scripts/print_030.bc | 22 + contrib/bc/tests/bc/scripts/print_031.bc | 22 + contrib/bc/tests/bc/scripts/print_032.bc | 22 + contrib/bc/tests/bc/scripts/print_033.bc | 22 + contrib/bc/tests/bc/scripts/print_034.bc | 22 + contrib/bc/tests/bc/scripts/print_035.bc | 22 + contrib/bc/tests/bc/scripts/print_036.bc | 22 + contrib/bc/tests/bc/scripts/print_037.bc | 22 + contrib/bc/tests/bc/scripts/print_038.bc | 22 + contrib/bc/tests/bc/scripts/print_039.bc | 22 + contrib/bc/tests/bc/scripts/print_040.bc | 22 + contrib/bc/tests/bc/scripts/print_041.bc | 22 + contrib/bc/tests/bc/scripts/print_042.bc | 22 + contrib/bc/tests/bc/scripts/print_043.bc | 22 + contrib/bc/tests/bc/scripts/print_044.bc | 22 + contrib/bc/tests/bc/scripts/print_045.bc | 22 + contrib/bc/tests/bc/scripts/print_046.bc | 22 + contrib/bc/tests/bc/scripts/print_047.bc | 22 + contrib/bc/tests/bc/scripts/print_048.bc | 22 + contrib/bc/tests/bc/scripts/print_049.bc | 22 + contrib/bc/tests/bc/scripts/print_050.bc | 22 + contrib/bc/tests/bc/scripts/print_051.bc | 22 + contrib/bc/tests/bc/scripts/print_052.bc | 22 + contrib/bc/tests/bc/scripts/print_053.bc | 22 + contrib/bc/tests/bc/scripts/print_054.bc | 22 + contrib/bc/tests/bc/scripts/print_055.bc | 22 + contrib/bc/tests/bc/scripts/print_056.bc | 22 + contrib/bc/tests/bc/scripts/print_057.bc | 22 + contrib/bc/tests/bc/scripts/print_058.bc | 22 + contrib/bc/tests/bc/scripts/print_059.bc | 22 + contrib/bc/tests/bc/scripts/print_060.bc | 22 + contrib/bc/tests/bc/scripts/print_061.bc | 22 + contrib/bc/tests/bc/scripts/print_062.bc | 22 + contrib/bc/tests/bc/scripts/print_063.bc | 22 + contrib/bc/tests/bc/scripts/print_064.bc | 22 + contrib/bc/tests/bc/scripts/print_065.bc | 22 + contrib/bc/tests/bc/scripts/print_066.bc | 22 + contrib/bc/tests/bc/scripts/print_067.bc | 22 + contrib/bc/tests/bc/scripts/print_068.bc | 22 + contrib/bc/tests/bc/scripts/print_069.bc | 22 + contrib/bc/tests/bc/scripts/print_070.bc | 22 + contrib/bc/tests/bc/scripts/print_071.bc | 22 + contrib/bc/tests/bc/scripts/print_072.bc | 22 + contrib/bc/tests/bc/scripts/print_073.bc | 22 + contrib/bc/tests/bc/scripts/print_074.bc | 22 + contrib/bc/tests/bc/scripts/print_075.bc | 22 + contrib/bc/tests/bc/scripts/print_076.bc | 22 + contrib/bc/tests/bc/scripts/print_077.bc | 22 + contrib/bc/tests/bc/scripts/print_078.bc | 22 + contrib/bc/tests/bc/scripts/print_079.bc | 22 + contrib/bc/tests/bc/scripts/print_080.bc | 22 + contrib/bc/tests/bc/scripts/print_081.bc | 22 + contrib/bc/tests/bc/scripts/print_082.bc | 22 + contrib/bc/tests/bc/scripts/print_083.bc | 22 + contrib/bc/tests/bc/scripts/print_084.bc | 22 + contrib/bc/tests/bc/scripts/print_085.bc | 22 + contrib/bc/tests/bc/scripts/print_086.bc | 22 + contrib/bc/tests/bc/scripts/print_087.bc | 22 + contrib/bc/tests/bc/scripts/print_088.bc | 22 + contrib/bc/tests/bc/scripts/print_089.bc | 22 + contrib/bc/tests/bc/scripts/print_090.bc | 22 + contrib/bc/tests/bc/scripts/print_091.bc | 22 + contrib/bc/tests/bc/scripts/print_092.bc | 22 + contrib/bc/tests/bc/scripts/print_093.bc | 22 + contrib/bc/tests/bc/scripts/print_094.bc | 22 + contrib/bc/tests/bc/scripts/print_095.bc | 22 + contrib/bc/tests/bc/scripts/print_096.bc | 22 + contrib/bc/tests/bc/scripts/print_097.bc | 22 + contrib/bc/tests/bc/scripts/print_098.bc | 22 + contrib/bc/tests/bc/scripts/print_099.bc | 22 + contrib/bc/tests/bc/scripts/print_100.bc | 22 + .../bc/scripts/{subtract.bc => subtract_00100.bc} | 2 +- contrib/bc/tests/bc/scripts/subtract_00200.bc | 17 + contrib/bc/tests/bc/scripts/subtract_00300.bc | 17 + contrib/bc/tests/bc/scripts/subtract_00400.bc | 17 + contrib/bc/tests/bc/scripts/subtract_00500.bc | 17 + contrib/bc/tests/bc/scripts/subtract_00600.bc | 17 + contrib/bc/tests/bc/scripts/subtract_00700.bc | 17 + contrib/bc/tests/bc/scripts/subtract_00800.bc | 17 + contrib/bc/tests/bc/scripts/subtract_00900.bc | 17 + contrib/bc/tests/bc/scripts/subtract_01000.bc | 17 + contrib/bc/tests/bc/scripts/subtract_01100.bc | 17 + contrib/bc/tests/bc/scripts/subtract_01200.bc | 17 + contrib/bc/tests/bc/scripts/subtract_01300.bc | 17 + contrib/bc/tests/bc/scripts/subtract_01400.bc | 17 + contrib/bc/tests/bc/scripts/subtract_01500.bc | 17 + contrib/bc/tests/bc/scripts/subtract_01600.bc | 17 + contrib/bc/tests/bc/scripts/subtract_01700.bc | 17 + contrib/bc/tests/bc/scripts/subtract_01800.bc | 17 + contrib/bc/tests/bc/scripts/subtract_01900.bc | 17 + contrib/bc/tests/bc/scripts/subtract_02000.bc | 17 + contrib/bc/tests/bc/scripts/subtract_02100.bc | 17 + contrib/bc/tests/bc/scripts/subtract_02200.bc | 17 + contrib/bc/tests/bc/scripts/subtract_02300.bc | 17 + contrib/bc/tests/bc/scripts/subtract_02400.bc | 17 + contrib/bc/tests/bc/scripts/subtract_02500.bc | 17 + contrib/bc/tests/bc/scripts/subtract_02600.bc | 17 + contrib/bc/tests/bc/scripts/subtract_02700.bc | 17 + contrib/bc/tests/bc/scripts/subtract_02800.bc | 17 + contrib/bc/tests/bc/scripts/subtract_02900.bc | 17 + contrib/bc/tests/bc/scripts/subtract_03000.bc | 17 + contrib/bc/tests/bc/scripts/subtract_03100.bc | 17 + contrib/bc/tests/bc/scripts/subtract_03200.bc | 17 + contrib/bc/tests/bc/scripts/subtract_03300.bc | 17 + contrib/bc/tests/bc/scripts/subtract_03400.bc | 17 + contrib/bc/tests/bc/scripts/subtract_03500.bc | 17 + contrib/bc/tests/bc/scripts/subtract_03600.bc | 17 + contrib/bc/tests/bc/scripts/subtract_03700.bc | 17 + contrib/bc/tests/bc/scripts/subtract_03800.bc | 17 + contrib/bc/tests/bc/scripts/subtract_03900.bc | 17 + contrib/bc/tests/bc/scripts/subtract_04000.bc | 17 + contrib/bc/tests/bc/scripts/subtract_04100.bc | 17 + contrib/bc/tests/bc/scripts/subtract_04200.bc | 17 + contrib/bc/tests/bc/scripts/subtract_04300.bc | 17 + contrib/bc/tests/bc/scripts/subtract_04400.bc | 17 + contrib/bc/tests/bc/scripts/subtract_04500.bc | 17 + contrib/bc/tests/bc/scripts/subtract_04600.bc | 17 + contrib/bc/tests/bc/scripts/subtract_04700.bc | 17 + contrib/bc/tests/bc/scripts/subtract_04800.bc | 17 + contrib/bc/tests/bc/scripts/subtract_04900.bc | 17 + contrib/bc/tests/bc/scripts/subtract_05000.bc | 17 + contrib/bc/tests/bc/scripts/subtract_05100.bc | 17 + contrib/bc/tests/bc/scripts/subtract_05200.bc | 17 + contrib/bc/tests/bc/scripts/subtract_05300.bc | 17 + contrib/bc/tests/bc/scripts/subtract_05400.bc | 17 + contrib/bc/tests/bc/scripts/subtract_05500.bc | 17 + contrib/bc/tests/bc/scripts/subtract_05600.bc | 17 + contrib/bc/tests/bc/scripts/subtract_05700.bc | 17 + contrib/bc/tests/bc/scripts/subtract_05800.bc | 17 + contrib/bc/tests/bc/scripts/subtract_05900.bc | 17 + contrib/bc/tests/bc/scripts/subtract_06000.bc | 17 + contrib/bc/tests/bc/scripts/subtract_06100.bc | 17 + contrib/bc/tests/bc/scripts/subtract_06200.bc | 17 + contrib/bc/tests/bc/scripts/subtract_06300.bc | 17 + contrib/bc/tests/bc/scripts/subtract_06400.bc | 17 + contrib/bc/tests/bc/scripts/subtract_06500.bc | 17 + contrib/bc/tests/bc/scripts/subtract_06600.bc | 17 + contrib/bc/tests/bc/scripts/subtract_06700.bc | 17 + contrib/bc/tests/bc/scripts/subtract_06800.bc | 17 + contrib/bc/tests/bc/scripts/subtract_06900.bc | 17 + contrib/bc/tests/bc/scripts/subtract_07000.bc | 17 + contrib/bc/tests/bc/scripts/subtract_07100.bc | 17 + contrib/bc/tests/bc/scripts/subtract_07200.bc | 17 + contrib/bc/tests/bc/scripts/subtract_07300.bc | 17 + contrib/bc/tests/bc/scripts/subtract_07400.bc | 17 + contrib/bc/tests/bc/scripts/subtract_07500.bc | 17 + contrib/bc/tests/bc/scripts/subtract_07600.bc | 17 + contrib/bc/tests/bc/scripts/subtract_07700.bc | 17 + contrib/bc/tests/bc/scripts/subtract_07800.bc | 17 + contrib/bc/tests/bc/scripts/subtract_07900.bc | 17 + contrib/bc/tests/bc/scripts/subtract_08000.bc | 17 + contrib/bc/tests/bc/scripts/subtract_08100.bc | 17 + contrib/bc/tests/bc/scripts/subtract_08200.bc | 17 + contrib/bc/tests/bc/scripts/subtract_08300.bc | 17 + contrib/bc/tests/bc/scripts/subtract_08400.bc | 17 + contrib/bc/tests/bc/scripts/subtract_08500.bc | 17 + contrib/bc/tests/bc/scripts/subtract_08600.bc | 17 + contrib/bc/tests/bc/scripts/subtract_08700.bc | 17 + contrib/bc/tests/bc/scripts/subtract_08800.bc | 17 + contrib/bc/tests/bc/scripts/subtract_08900.bc | 17 + contrib/bc/tests/bc/scripts/subtract_09000.bc | 17 + contrib/bc/tests/bc/scripts/subtract_09100.bc | 17 + contrib/bc/tests/bc/scripts/subtract_09200.bc | 17 + contrib/bc/tests/bc/scripts/subtract_09300.bc | 17 + contrib/bc/tests/bc/scripts/subtract_09400.bc | 17 + contrib/bc/tests/bc/scripts/subtract_09500.bc | 17 + contrib/bc/tests/bc/scripts/subtract_09600.bc | 17 + contrib/bc/tests/bc/scripts/subtract_09700.bc | 17 + contrib/bc/tests/bc/scripts/subtract_09800.bc | 17 + contrib/bc/tests/bc/scripts/subtract_09900.bc | 17 + contrib/bc/tests/bc/scripts/subtract_10000.bc | 17 + contrib/bc/tests/bc/timeconst.sh | 5 +- contrib/bc/tests/bcl.c | 2 +- contrib/bc/tests/dc/scripts/easter.dc | 49 + contrib/bc/tests/dc/scripts/easter.sh | 93 - contrib/bc/tests/dc/scripts/easter.txt | 5 + contrib/bc/tests/dc/scripts/prime.dc | 2 +- contrib/bc/tests/error.sh | 4 +- contrib/bc/tests/errors.sh | 4 +- contrib/bc/tests/extra_required.txt | 17 +- contrib/bc/tests/history.py | 4 +- contrib/bc/tests/history.sh | 2 +- contrib/bc/tests/other.sh | 593 -- contrib/bc/tests/read.sh | 166 - contrib/bc/tests/script.sh | 25 +- contrib/bc/tests/scripts.sh | 17 +- contrib/bc/tests/stdin.sh | 2 +- contrib/bc/tests/test.sh | 24 +- contrib/bc/vs/bc.vcxproj | 1 - contrib/bc/vs/bc.vcxproj.filters | 3 - contrib/bc/vs/bcl.vcxproj | 1 - contrib/bc/vs/bcl.vcxproj.filters | 3 - usr.bin/gh-bc/Makefile | 6 +- usr.bin/gh-bc/tests/Makefile | 9 +- 715 files changed, 28229 insertions(+), 3016 deletions(-) diff --git a/contrib/bc/LICENSE.md b/contrib/bc/LICENSE.md index c8f6758e6d4b..e5d44dee6dab 100644 --- a/contrib/bc/LICENSE.md +++ b/contrib/bc/LICENSE.md @@ -1,6 +1,6 @@ # License -Copyright (c) 2018-2024 Gavin D. Howard <gavin@gavinhoward.com> +Copyright (c) 2018-2025 Gavin D. Howard <gavin@gavinhoward.com> Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -60,7 +60,7 @@ The files `src/rand.c` and `include/rand.h` are under the following copyrights and license: Copyright (c) 2014-2017 Melissa O'Neill and PCG Project contributors<br> -Copyright (c) 2018-2024 Gavin D. Howard <gavin@gavinhoward.com> +Copyright (c) 2018-2025 Gavin D. Howard <gavin@gavinhoward.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in diff --git a/contrib/bc/MAINTENANCE-TERMS.md b/contrib/bc/MAINTENANCE-TERMS.md new file mode 100644 index 000000000000..ef24202cc6c2 --- /dev/null +++ b/contrib/bc/MAINTENANCE-TERMS.md @@ -0,0 +1,80 @@ +# Maintenance Terms + +> Last Updated: 27 June 2025 + +The code, text, and other materials in this repository are provided as-is under +the terms of the repository's [`LICENSE.md`][0] file, as a gift to the commons +and the common good. In providing this software as-is, its author(s) admit no +further obligations from anyone using the software for any reason, particularly +with respect to: + +* Releases, +* Response time, +* Change review and integration, +* Disclosure schedules, +* Discretionary, proprietary or otherwise secretive communications, and +* Any other non-contractual obligations or conventions, regardless of their + presumed urgency or severity. + +Should anyone wish to make a contract with me (Gavin Howard) to ensure that work +he or she deems critical gets done, the terms are as follows: + +* Compute time will be charged at \$25/hr. +* My time will be charged at \$100/hr. +* All issues deemed critical by either me or the requester, that also change the + source code (anything in `gen`, `include`, or `src`) will require at least two + weeks of fuzzing without error. + * If errors are found, those hours will still be charged on top of the final + two weeks. +* All changes will require running the [release script][2] on Linux (GCC), Linux + (Clang), FreeBSD, OpenBSD, macOS, Windows. +* Any hours spent on bugs or code that have been, or are suspected to have been, + generated by "AI" will be charged double rates. + +Compute time includes, but is not limited to: + +* Fuzzing. +* Running my [release script][2]. +* Running tests and my [release script][2] on macOS. + +My time includes, but is not limited to: + +* Code review. +* Reading bug reports. +* Design. +* Coding. +* Any compute time that interferes with my ability to do any other work: + * Fuzzing makes my computer unusable, so fuzzing for the 8-12 hours of the + day that I could be working will be charged at \$100/hr. + * Same with running my [release script][2] because I run two instances on my + machine and two in VMs at the same time. + * Running my [release script][2] or any other compute time on Windows + because Windows blocks me from doing my main work on Linux. + * Any other instances of blocking compute time. + +All amounts will be billed by, and paid to, [Yzena, LLC][2]. Invoices will be +provided, including line items for what each hour was spent on. + +It is suggested that the following amounts be budgeted: + +* At least \$3000 for a non-critical issue or change. + + The release script takes about 10 hours, and I would need to run it once on + Linux (and others at the same time) and once on Windows, which is 20 hours. + Most of that won't be at the \$100/hr rate, but some probably will be. Then + an extra \$1000 for other work. + +* At least \$15,000 for a critical issue or change. + + The \$3000 above is the start, which leaves \$12,000. Fuzzing is expected to + cost \$11,400 (6 days a week, 8 hours a day, at \$100, the rest at \$25), and + rounded up to \$12,000 for good measure. + +--- + +This document is inspired by [Mike Hoye's Maintenance Terms][1]. + +[0]: LICENSE.md +[1]: https://github.com/mhoye/maintenance-terms +[2]: scripts/release.sh +[3]: https://yzena.com/ diff --git a/contrib/bc/Makefile.in b/contrib/bc/Makefile.in index c63dc242e79a..f8b120c1328e 100644 --- a/contrib/bc/Makefile.in +++ b/contrib/bc/Makefile.in @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: BSD-2-Clause # -# Copyright (c) 2018-2024 Gavin D. Howard and contributors. +# Copyright (c) 2018-2025 Gavin D. Howard and contributors. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -38,6 +38,8 @@ GENDIR = $(ROOTDIR)/gen BUILDDIR = %%BUILDDIR%% +VERSION = %%VERSION%% + SRC = %%SRC%% OBJ = %%OBJ%% GCDA = %%GCDA%% @@ -99,17 +101,16 @@ BC_FUZZER_C = $(BIN)/$(BC)_fuzzer_C DC_FUZZER = $(BIN)/$(DC)_fuzzer_c DC_FUZZER_C = $(BIN)/$(DC)_fuzzer_C -BC_TEST_OUTPUTS = tests/bc_outputs BC_FUZZ_OUTPUTS = tests/fuzzing/bc_outputs1 tests/fuzzing/bc_outputs2 tests/fuzzing/bc_outputs3 -DC_TEST_OUTPUTS = tests/dc_outputs DC_FUZZ_OUTPUTS = tests/fuzzing/dc_outputs LIB = libbcl LIB_NAME = $(LIB).a LIBBC = $(BIN)/$(LIB_NAME) BCL = bcl -BCL_TEST = $(BIN)/$(BCL) -BCL_TEST_C = $(TESTSDIR)/$(BCL).c + +GENERATE_TESTS = %%GENERATE_TESTS%% +PROBLEMATIC_TESTS = %%PROBLEMATIC_TESTS%% MANUALS = manuals BC_MANPAGE_NAME = $(EXEC_PREFIX)$(BC)$(EXEC_SUFFIX).1 @@ -152,11 +153,11 @@ BC_ENABLE_EXTRA_MATH = %%EXTRA_MATH%% BC_ENABLE_NLS = %%NLS%% BC_EXCLUDE_EXTRA_MATH = %%EXCLUDE_EXTRA_MATH%% -BC_ENABLE_AFL = %%FUZZ%% -BC_ENABLE_OSSFUZZ = %%OSSFUZZ%% -BC_ENABLE_MEMCHECK = %%MEMCHECK%% +BC_ENABLE_AFL = 0 +BC_ENABLE_OSSFUZZ = 0 +BC_ENABLE_MEMCHECK = 0 -LIB_FUZZING_ENGINE = %%LIB_FUZZING_ENGINE%% +LIB_FUZZING_ENGINE = 0 BC_DEFAULT_BANNER = %%BC_DEFAULT_BANNER%% BC_DEFAULT_SIGINT_RESET = %%BC_DEFAULT_SIGINT_RESET%% @@ -189,10 +190,6 @@ KARATSUBA = $(SCRIPTSDIR)/karatsuba.py LOCALE_INSTALL = $(SCRIPTSDIR)/locale_install.sh LOCALE_UNINSTALL = $(SCRIPTSDIR)/locale_uninstall.sh -VALGRIND_ARGS = --error-exitcode=100 --leak-check=full --show-leak-kinds=all --errors-for-leak-kinds=all - -TEST_STARS = *********************************************************************** - BC_NUM_KARATSUBA_LEN = %%KARATSUBA_LEN%% BC_DEFS0 = -DBC_DEFAULT_BANNER=$(BC_DEFAULT_BANNER) @@ -218,7 +215,7 @@ CPPFLAGS6 = $(CPPFLAGS5) -DBC_ENABLE_NLS=$(BC_ENABLE_NLS) CPPFLAGS7 = $(CPPFLAGS6) -D$(BC_ENABLE_EXTRA_MATH_NAME)=$(BC_ENABLE_EXTRA_MATH) CPPFLAGS8 = $(CPPFLAGS7) -DBC_ENABLE_HISTORY=$(BC_ENABLE_HISTORY) -DBC_ENABLE_LIBRARY=$(BC_ENABLE_LIBRARY) CPPFLAGS9 = $(CPPFLAGS8) -DBC_ENABLE_MEMCHECK=$(BC_ENABLE_MEMCHECK) -DBC_ENABLE_AFL=$(BC_ENABLE_AFL) -CPPFLAGS = $(CPPFLAGS9) -DBC_ENABLE_OSSFUZZ=$(BC_ENABLE_OSSFUZZ) +CPPFLAGS = -DVERSION=$(VERSION) $(CPPFLAGS9) -DBC_ENABLE_OSSFUZZ=$(BC_ENABLE_OSSFUZZ) CFLAGS = $(CPPFLAGS) $(BC_DEFS) $(DC_DEFS) %%CPPFLAGS%% %%CFLAGS%% LDFLAGS = %%LDFLAGS%% @@ -293,236 +290,10 @@ help: @printf ' check alias for `make test`\n' @printf ' clean removes all build files\n' @printf ' clean_config removes all build files as well as the generated Makefile\n' - @printf ' clean_tests removes all build files, the generated Makefile,\n' - @printf ' and generated tests\n' @printf ' install installs binaries to "%s%s"\n' "$(DESTDIR)" "$(BINDIR)" @printf ' and (if enabled) manpages to "%s%s"\n' "$(DESTDIR)" "$(MAN1DIR)" - @printf ' karatsuba runs the karatsuba script (requires Python 3)\n' - @printf ' karatsuba_test runs the karatsuba script while running tests\n' - @printf ' (requires Python 3)\n' @printf ' uninstall uninstalls binaries from "%s%s"\n' "$(DESTDIR)" "$(BINDIR)" @printf ' and (if enabled) manpages from "%s%s"\n' "$(DESTDIR)" "$(MAN1DIR)" - @printf ' test runs the test suite\n' - @printf ' test_bc runs the bc test suite, if bc has been built\n' - @printf ' test_dc runs the dc test suite, if dc has been built\n' - @printf ' time_test runs the test suite, displaying times for some things\n' - @printf ' time_test_bc runs the bc test suite, displaying times for some things\n' - @printf ' time_test_dc runs the dc test suite, displaying times for some things\n' - @printf ' timeconst runs the test on the Linux timeconst.bc script,\n' - @printf ' if it exists and bc has been built\n' - -run_all_tests: bc_all_tests timeconst_all_tests dc_all_tests - -run_all_tests_np: bc_all_tests_np timeconst_all_tests dc_all_tests_np - -bc_all_tests: - %%BC_ALL_TESTS%% - -bc_all_tests_np: - %%BC_ALL_TESTS_NP%% - -timeconst_all_tests: - %%TIMECONST_ALL_TESTS%% - -dc_all_tests: - %%DC_ALL_TESTS%% - -dc_all_tests_np: - %%DC_ALL_TESTS_NP%% - -history_all_tests: - %%HISTORY_TESTS%% - -check: test - -test: %%TESTS%% - -test_bc: test_bc_header test_bc_tests test_bc_scripts test_bc_errors test_bc_stdin test_bc_read test_bc_other - @printf '\nAll bc tests passed.\n\n$(TEST_STARS)\n' - -test_bc_tests:%%BC_TESTS%% - -test_bc_scripts:%%BC_SCRIPT_TESTS%% - -test_bc_stdin: - @export BC_TEST_OUTPUT_DIR="$(BUILDDIR)/tests"; sh $(TESTSDIR)/stdin.sh bc %%BC_TEST_EXEC%% *** 37551 LINES SKIPPED ***