aarch64: tests

This commit is contained in:
deesix 2020-02-01 21:23:49 +01:00
parent fa524bdce3
commit 7dc280a10d
32 changed files with 1832 additions and 1 deletions

119
makefile
View File

@ -1,4 +1,5 @@
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
@ -102,7 +103,36 @@ results:
mkdir -p test/results
# tests
test: test00-amd64-binary \
test: test00-aarch64-binary \
test01-aarch64-binary \
test02-aarch64-binary \
test03-aarch64-binary \
test04-aarch64-binary \
test05-aarch64-binary \
test06-aarch64-binary \
test07-aarch64-binary \
test08-aarch64-binary \
test09-aarch64-binary \
test10-aarch64-binary \
test11-aarch64-binary \
test12-aarch64-binary \
test13-aarch64-binary \
test14-aarch64-binary \
test15-aarch64-binary \
test16-aarch64-binary \
test17-aarch64-binary \
test18-aarch64-binary \
test19-aarch64-binary \
test20-aarch64-binary \
test21-aarch64-binary \
test22-aarch64-binary \
test23-aarch64-binary \
test24-aarch64-binary \
test25-aarch64-binary \
test26-aarch64-binary \
test99-aarch64-binary \
test100-aarch64-binary \
test00-amd64-binary \
test01-amd64-binary \
test02-amd64-binary \
test03-amd64-binary \
@ -236,6 +266,93 @@ test: test00-amd64-binary \
test100-x86-binary | results
sha256sum -c test/test.answers
test00-aarch64-binary: M2-Planet | results
test/test00/hello-aarch64.sh
test01-aarch64-binary: M2-Planet | results
test/test01/hello-aarch64.sh
test02-aarch64-binary: M2-Planet | results
test/test02/hello-aarch64.sh
test03-aarch64-binary: M2-Planet | results
test/test03/hello-aarch64.sh
test04-aarch64-binary: M2-Planet | results
test/test04/hello-aarch64.sh
test05-aarch64-binary: M2-Planet | results
test/test05/hello-aarch64.sh
test06-aarch64-binary: M2-Planet | results
test/test06/hello-aarch64.sh
test07-aarch64-binary: M2-Planet | results
test/test07/hello-aarch64.sh
test08-aarch64-binary: M2-Planet | results
test/test08/hello-aarch64.sh
test09-aarch64-binary: M2-Planet | results
test/test09/hello-aarch64.sh
test10-aarch64-binary: M2-Planet | results
test/test10/hello-aarch64.sh
test11-aarch64-binary: M2-Planet | results
test/test11/hello-aarch64.sh
test12-aarch64-binary: M2-Planet | results
test/test12/hello-aarch64.sh
test13-aarch64-binary: M2-Planet | results
test/test13/hello-aarch64.sh
test14-aarch64-binary: M2-Planet | results
test/test14/hello-aarch64.sh
test15-aarch64-binary: M2-Planet | results
test/test15/hello-aarch64.sh
test16-aarch64-binary: M2-Planet | results
test/test16/hello-aarch64.sh
test17-aarch64-binary: M2-Planet | results
test/test17/hello-aarch64.sh
test18-aarch64-binary: M2-Planet | results
test/test18/hello-aarch64.sh
test19-aarch64-binary: M2-Planet | results
test/test19/hello-aarch64.sh
test20-aarch64-binary: M2-Planet | results
test/test20/hello-aarch64.sh
test21-aarch64-binary: M2-Planet | results
test/test21/hello-aarch64.sh
test22-aarch64-binary: M2-Planet | results
test/test22/hello-aarch64.sh
test23-aarch64-binary: M2-Planet | results
test/test23/hello-aarch64.sh
test24-aarch64-binary: M2-Planet | results
test/test24/hello-aarch64.sh
test25-aarch64-binary: M2-Planet | results
test/test25/hello-aarch64.sh
test26-aarch64-binary: M2-Planet | results
test/test26/hello-aarch64.sh
test99-aarch64-binary: M2-Planet | results
test/test99/hello-aarch64.sh
test100-aarch64-binary: M2-Planet | results
test/test100/hello-aarch64.sh
test00-amd64-binary: M2-Planet | results
test/test00/hello-amd64.sh

View File

@ -1,130 +1,159 @@
3f35cb352bf0de4f69542a09c37913e0da6ed9422dc3a3bfd403fed6093d05d0 test/results/test00-aarch64-binary
e4482d2133772d1d9a00d30a8f46fee405a20b2354414fc735cbed077be7b61b test/results/test00-amd64-binary
25b38a3f5ad81ed4618a3d60fe00e0eb1bf88366f4eb031c02a9f880440ae207 test/results/test00-armv7l-binary
0c93110e4cf2f8f69eb3a308162478e644ee63fd4881762161be5de50fbe9f06 test/results/test00-knight-native-binary
64879eebceb475f21e54cb1f2e872996ca80e8c1fbb8b5895fb5fb6bac0c4384 test/results/test00-knight-posix-binary
c52562bd0aabb86ce8ca177f22f8d0455769b444df2d4d62894faab63b7151d8 test/results/test00-x86-binary
c3334a519c8d08046b35fd8960231bb90f0435139bbdff57cc64dd462d947818 test/results/test01-aarch64-binary
2c968b3736b6f2828982bad905018bfc4f159d7871e825f86a8f50b55b90b143 test/results/test01-amd64-binary
c04bda3cf219832b37e945e416fff106b927703a23af0da2bbfa07fc812a0d92 test/results/test01-armv7l-binary
bff3ae5a240cd319570ef0c81c499cea51c821bc1369456c23a4206e6072865e test/results/test01-knight-native-binary
486ee05ccea796a9cfa9bfb23189b8e014b7ce8d14fea03b27d679d410fe17dd test/results/test01-knight-posix-binary
eae96857f2b6d8e8ba86ac06e72345ea572622b358b23978bb5f2db1baadf41c test/results/test01-x86-binary
5343c5646e162e5f4091db4a67ad6040cf25d24ed7db4ee70cb1ff0ed1b11f05 test/results/test02-aarch64-binary
c742a827684287cb82b4a3526eb996eda941bf284e11aab431816a3ef1e0804c test/results/test02-amd64-binary
ef25f00027ebb22cccb9a321e6c89c380090e365c6ad691617378a1d89009d89 test/results/test02-armv7l-binary
7631c0f224100786a4b002b4353da4ea56ecb0d6f3ac1a7bc5827b6e257d0748 test/results/test02-knight-native-binary
e6493845b9e94a617649638252f23502f9212de583fd00cba6cc07fffd296e32 test/results/test02-knight-posix-binary
8ead336d2f3f72d5874230492e0472edec61d355905e8636e3dfb2731695037c test/results/test02-x86-binary
8690f1844e6312623b7adccba3b7bef2251ceb867bc06ece9dbc4667dfe45fbd test/results/test03-aarch64-binary
c611b3cab0a736e7176dac21aa04555039b28362d0cfd3a5c56cf29ca3e48616 test/results/test03-amd64-binary
a80264844e0d16e53c0853a5a59452343fd9504408f37ae02f7063bbd15f0220 test/results/test03-armv7l-binary
f4affc4dd2112ecf8ec3c40ea5e575d579fc60ff9df8b244dddc1a495e9529d6 test/results/test03-knight-native-binary
96849d5a9294799a9648c24db21b2dab1555dd5ba69d172d77df800622347226 test/results/test03-knight-posix-binary
2313cb3f1a2b9eb6bf15f8d43418e15d6c16f7f1b5c22700fdfc2b38beb59192 test/results/test03-x86-binary
6ea7f177bff8e09e1fe9edaa85abd32013358aa36e8fb853e58da0398c5b4fe1 test/results/test04-aarch64-binary
b773d7ec7c550b71997ce451af7e1ee59fe6597b32adc455b271b7d173d5eae9 test/results/test04-amd64-binary
fc9de9b27e154643e221f9d8281956809db5ee9f85a56d990f8a7de66d47f10a test/results/test04-armv7l-binary
343306548109a79f599b64f8ad63331cf6a4328eb5ddb2a1f19f6eebec6b254a test/results/test04-knight-native-binary
df9ba08dfa69ac6cbb4483146dbbe079ef575d7de8318e2e52283151ebf24bd3 test/results/test04-knight-posix-binary
b7ddb37063c541c6a315809c4438aa235d6702f54bb64f4ffc88dbe78617de81 test/results/test04-x86-binary
706283ab5dfefb4c60241baade0d9ed708834a1f839b641a89c99a1df13476a9 test/results/test05-aarch64-binary
c4e5e2ffc3a2c3d4116589fa1369d45e5af91cc69b5d342ef5552dfca992c64b test/results/test05-amd64-binary
748f6b9825bf9b72908dfee1ea674eaf1c3c63b0100a3e3195efefabe5048280 test/results/test05-armv7l-binary
ac909d377dad4961c3df5bb780b1562015e79f8f866d07b4fefaa19f5521f32a test/results/test05-knight-native-binary
290a68de66c3a83ef5bd75aa1d3b9057d0d6740b310072d11f9daacb184e9100 test/results/test05-knight-posix-binary
90321c43b2384050e5f03e5af67d345b55dd8a43e96d1f3b7f29d3c5dae3f077 test/results/test05-x86-binary
612a3b7c5a4593d7d498683198bbe328d837a442c7cde7179bb098bc6841a74a test/results/test06-aarch64-binary
98fab6d12630465d4e3cb72102b541c818e75b034e1ca1823c26ad6dabc4a910 test/results/test06-amd64-binary
bb913bdbfb77b855d416a6051e0d5646275fe6eed7a89cf3373be14d83bef1c5 test/results/test06-armv7l-binary
169d83f5dd34a1d764716342149f56db492b1f790ce323c5e93b4d577f772e7b test/results/test06-knight-native-binary
b177d769ae44c3509d9a08d0ee631ec69654dc5d723408bf0decdc67c42aae27 test/results/test06-knight-posix-binary
663fc6eefe965f237b6bf5a211398c8ae1210f97ff39b59603677e92462c68c7 test/results/test06-x86-binary
3a294ea084925a16d4df22d17f1b7ae5599b1227c081a4b3238389010e760658 test/results/test07-aarch64-binary
58af02adcf5a1bfa21dae4992ed3fe0a1f708c67bb5bf1f842a51b3b8eeddf05 test/results/test07-amd64-binary
5ce09fce0c670056284cf18586151060dc56e2b3b87c816939b66d351e70ccf6 test/results/test07-armv7l-binary
525ba92027d697564cd7d7611aa32c33486e55e2e60ecf19d700bf2884571975 test/results/test07-knight-native-binary
9159c4ba8196b24ec78bc9ebfbc7066d510ddbf03461736e7795a48634134dc5 test/results/test07-knight-posix-binary
a9a3e332d13ded5f80d7431f8717f26527b3722b33ea57760a9a5723dffc099c test/results/test07-x86-binary
0aaf0645c367876a711aa33266939f20fd03bc8c4fbf75d008c0e0709fa6a146 test/results/test08-aarch64-binary
3a9a7815ad19bbdd9ea6921ecae8521089df27ac08bc207df11a2a0080f5acbb test/results/test08-amd64-binary
28b9834ef90a721c6cba5ca818547d607d0e1a63c60ddd684b6aff885cd21fc2 test/results/test08-armv7l-binary
16c6a5a8f3723fd464d8bded94ceaeef96e95a83e38caa380bd2d5cc375415c4 test/results/test08-knight-native-binary
b824859fd0e39f1417742a1b9a1cec18ade78afdd80ce2c64cb54cdf7683f53a test/results/test08-knight-posix-binary
3a099298d2235ad00518bb6e2f2f9e25d429c4fe576dfc9cf083e3e0053bdcc2 test/results/test08-x86-binary
d4094a55cba28c257f13e2405606dce7294a4cd161a5ab9b4d21253074d85c0a test/results/test09-aarch64-binary
b1251d03f35474f9c5cec84d067d97295a47ae34dbd9f12e72a3630127cc1e07 test/results/test09-amd64-binary
4fd3351f92149ccfb103a2d09a28a90939fb828d56f14c1b39fa4507c32a8f1a test/results/test09-armv7l-binary
e046d0be9ebb80c6053682f37af5ed18fece5afb089f67ecf98556700d7e85f0 test/results/test09-knight-native-binary
990e82bccca98e6393f72b659abc2eb6069f272202286ce2ca51e9d8a941f3cd test/results/test09-knight-posix-binary
9e4a0a6216bb4fde5dcefac91fd7c623e9e00b3e762946e5a47a1b50b4656103 test/results/test09-x86-binary
3d710d53b95d0f090ee0ef2ed55d51a91601cdc0547299527fe16863adabbd8c test/results/test10-aarch64-binary
a9cf4422e05075395ad75bbfe4b2659aec4541edd46d8c6b5064d3496b06a0b6 test/results/test10-amd64-binary
a0ae067746e7a2b01d33950da1cf640e12c3a70a045ab331ea2025af59dec9af test/results/test10-armv7l-binary
e01b615db5df31392bd1054c45141dcff936b11dfb1cad270edc0aa67653f5a1 test/results/test10-knight-native-binary
c1b5a2a3cd46c5e95e5540e871c2a916e028684ca80f51c001ef489342e27625 test/results/test10-knight-posix-binary
b3e13d54aab689137628fb9c4487bfd8288f9bd18bef8fe756577c8d2dce1f1f test/results/test10-x86-binary
654cf981356abe8e7e3303c5dc462b1306b21fa543f9bfedcf2de4f8b5fc320d test/results/test100-aarch64-binary
4986b1dd5917c2b8e1d43db0046e1156bcc2bd5e61bf09295c21129b548bb2dc test/results/test100-amd64-binary
546fa052705af729d91243b01200619749e94a2b89dfd132845ec5e8363baacc test/results/test100-armv7l-binary
2ab893986a397fcbc07738d3ec2ae40d042cac288c6d840a6ab53148a3dd8442 test/results/test100-knight-posix-binary
e3e5cf90f6b6bc27e027514ed221e4851a98963dfe5a642227843827aaf8ce93 test/results/test100-x86-binary
d5ac894e7131976d45952e2d2b1792be2a0b1091fa1930fa8a3ba87248debc78 test/results/test11-aarch64-binary
34e6d535e30ef8826a4ad1a4d08b76cfa370c54595599ad3be784b64c9cd8ec5 test/results/test11-amd64-binary
893695e6f300a0fe055fad935a56abd549bba70d1d39c535a680f41bbb73f117 test/results/test11-armv7l-binary
7115c4a552eb4b2c1a868ac3dca43be7d040c8e89b7b66851d0522d298429af9 test/results/test11-knight-native-binary
63fd5fbf389d1b19031026df193ec55e98d923b8568007125b80bc246c094496 test/results/test11-knight-posix-binary
3fd11bad4a426ce1ff8fd9c6d7d2b943effae9f3f5740b7376e426e9b0555851 test/results/test11-x86-binary
d592bac6cb95d66475c01d619b57860a74d8904b121fa4da9b260f2edebf3384 test/results/test12-aarch64-binary
dc88f6de5ae892774760843079eab57306bf0f6f683d4999bdec0d43e4e762b2 test/results/test12-amd64-binary
08b9c0110bd2fa0a6653b3064ad194e7dc2f333f57068845a0abab7f5a13499f test/results/test12-armv7l-binary
61d043a6b25c34d470b01e8b8458427c32350574ba9f69eeed01ad1cde444167 test/results/test12-knight-native-binary
313536f9209d29d4c3b40f6ada898f81c1fb3b650ca1a84754f90b1db3b9e001 test/results/test12-knight-posix-binary
f98ab8e4bb35580e0dde96126d7a56aff66bda208d02c8d89390b40d6cff591c test/results/test12-x86-binary
8e00bb23decba7848202bde3e0362a08ea6515b5ec717a531f5eb12d2403761d test/results/test13-aarch64-binary
5095e23b0d6680de3e28c1898b66c352761522f42313acb96f6f39bf0707f4bb test/results/test13-amd64-binary
b72e3ad2a245af1ea94de50faec05d56dfe031e75dff4cdde75e1c92c3d617a6 test/results/test13-armv7l-binary
291900015203744afc992273d19517e5c1aa9babca7d6d04a2f31b502b163414 test/results/test13-knight-native-binary
e50c97ba330823cb5cbe938bb9d1575340b083e60fc42db8edefcfd95851daa2 test/results/test13-knight-posix-binary
5051ffca2615144419f8ec1a5d4999486ae81e7781428f59e47e866af97cef92 test/results/test13-x86-binary
ca8c0ec6cdab8cda58e1d5c01a7f8335d47147d90ef6b4a221997925a9334108 test/results/test14-aarch64-binary
bcc5f70b76fd7ff1a8ccbc1d13e41044b3a6f2b7158194fc0a669b0ba07d0969 test/results/test14-amd64-binary
2df8a834bfabc03f04214bc330870c075367f32dd40a31e9028927dafac1f091 test/results/test14-armv7l-binary
38c83f8d176c3cd70fcb82658b7376487402f550b2e32181dfcd5b942ae949a0 test/results/test14-knight-posix-binary
a8218958b628066e2fda63d3933f1bf607c358d7bdfe84fc02596393698ea5f6 test/results/test14-x86-binary
1780e5ca32bc70bf568499571db219f16f1488e9dfeacdb48b998a15d2c520d0 test/results/test15-aarch64-binary
0526b33e314a881746bb108d0ec68a3f11b96d1b92b287816235f825210bff2a test/results/test15-amd64-binary
58d7d1ac0470fbbb7681cea0f377c22d54a9453dcc86d68e2f93fdb7e4f960cf test/results/test15-armv7l-binary
9f7c81e278248a3160d80a3f5ca0c39a5505ca9b45adc002e9b527db3e5f084a test/results/test15-knight-posix-binary
f24c62fb54b9ab510ce1b3a36d119e3b5d2ed56e33564c83782d828eac6a6773 test/results/test15-x86-binary
5fbde5127c635f381f493ff232fd66e73b89f1221f51337f72eede1072e18ad5 test/results/test16-aarch64-binary
d8dbd22939091d04ccc969d848b4e4e2a6b5c9a8c91779923830fd6aa1a0f779 test/results/test16-amd64-binary
cc0213dd7b1c368c1245c30a5c7fb520f8e1beded3acf136c48f2a015f29df0b test/results/test16-armv7l-binary
84f5472ce5711b9cad28fcd4c177eea673047c2561ea010ccb6bf5f50d89c713 test/results/test16-knight-posix-binary
aeb94a4142633f20d7be4f8e74f0d5edc9050afb76f49cb504a1c264bf1ef96b test/results/test16-x86-binary
486b98f898acad34abfa2a1db34a855eed21fc926bb1d8eec8e6e1fb9b36ef1f test/results/test17-aarch64-binary
826be2799b14be83652ee28ae18e45728987205346eaba5fbffd4c6894dbec33 test/results/test17-amd64-binary
1e630c50633011aa2e78f05be2bf71f90e288117008d53b7c673255e74c4cac2 test/results/test17-armv7l-binary
47e3fe786d27493a94c1f8aac0394e7726f85268cf0d7cfa02295f0d1629cb4a test/results/test17-knight-native-binary
cf67b71d4010910ccf2264c52d7253b092afa88be14890f36927fe595d71cf7f test/results/test17-knight-posix-binary
a29899250b4ee3c722045a8feedaec2e0f537b9a148f23d10d1979e135f14038 test/results/test17-x86-binary
7c0eb777792e68f33e1197d0decd031147d5aa8bcabcbff76d592271957a02f2 test/results/test18-aarch64-binary
b5835e920eef10e0e0772d51354f1a7d5c34534f7ec287570283a5e8d5c201f3 test/results/test18-amd64-binary
b2b679f715351406abefa43531d9374b118d77abdb1c5edd38f65a7b586461f4 test/results/test18-armv7l-binary
aee694dc1e2e98d69e21f6f4f95120989e8b928379f3b290fee60fd5e32882ef test/results/test18-knight-native-binary
d69b92c0fa774dfcdbfdf836d753caed64f99f7a3d9b73187c3e2aea53b30085 test/results/test18-knight-posix-binary
b70966d2d772c95c3a555dac582137a7a7dfdc97fc9edaced5107313233dd7f8 test/results/test18-x86-binary
6ca3d94cbbe4ed3ee4d534562c9b7a1d110e8d9fd723b819a35cce07291c089f test/results/test19-aarch64-binary
b29dadde5f218707a5c574b0097e1d84091baae0df28d79645b517d7bc4dffda test/results/test19-amd64-binary
1d579a8ada5d3a2b3bc17dd9a4e5f0d65bd5e7fc173df47548afc8e09fbc30ce test/results/test19-armv7l-binary
364ed9dcff06fe54ea4d96c6b3b99a9456fd4dd95ea726f98fdf7cfb8eb3825b test/results/test19-knight-posix-binary
8b28cb3303fa119378294acb2592fe4eec2ac5346932596e3f8570dc50af6cf9 test/results/test19-x86-binary
c05fc115f549a77d1b6d846d1c6021b81ae6d12e3b55d7a3747e3c1ee2996b25 test/results/test20-aarch64-binary
15950e38bab2603bfcb369b9a4941abfc2e37b7cbbd2cf9b22ebfc9aab46d5ad test/results/test20-amd64-binary
80612ce05a2e43fceb34139577be98794505cd324ff5bc84ba004a21828b5f86 test/results/test20-armv7l-binary
d9d40f64041a02b6a403fd3c07550cf53f9383e0ec7f7208c9c263d06ea3ce8f test/results/test20-knight-native-binary
6a59795dbb4397d0efaf1ad613d646ec435eec62db30eb758bcf2499d651520e test/results/test20-knight-posix-binary
0d1a43723d0482a21028164e33ff116d66302d6042a88eacf08436a351494530 test/results/test20-x86-binary
9ce139e36baf0ee64a55bf69a7140db547fb20f9a5a7372bbe7cc17ddad04979 test/results/test21-aarch64-binary
0fab8f708839019a8dcda693acf0542c585b00b464a700cdcb64dd0cdfb0b6a0 test/results/test21-amd64-binary
644b5a7f6f40828cebbca5e6537ce1aaaf9fa4f1451671a40e1cfd4516a30a2d test/results/test21-armv7l-binary
80d49242c8eec979b576c3455a57d46efa75014cf607fc777b59dc1943259a6e test/results/test21-knight-posix-binary
1fa52023ea0f9e18bc6fab2a62fc8383ff1a9d97a6f0e3da9698268bf7565b99 test/results/test21-x86-binary
afb0d2c45ca8190ece1df2b98ccc1abc2ee204f593c716cb684f20d6b4c709d9 test/results/test22-aarch64-binary
8b3fc360938fe30c6b1a8c1fd368cd990761c35d8d0a3b5499cdca23127f36cf test/results/test22-amd64-binary
ef1c7437223311d13429b43f59aafe5b9cd3c01939b59a935aa1dd55f417ebcf test/results/test22-armv7l-binary
387ae179f593ad27a1ae96f9f20b7cf69bf201a74d2a69fc9b60faeeec9fa811 test/results/test22-knight-posix-binary
46f4645cf23a415fe96f73826595a2dc29661fd2365978f387c256e0469bf51c test/results/test22-x86-binary
d93dd366f0bbff6740e89b2d82a8a6d894ecffbea31f698231355e68bb999161 test/results/test23-aarch64-binary
13a8033841a8805b13621e305755d0885154615fe1d126a3db4969854cfb8b40 test/results/test23-amd64-binary
9ef467b01c5af7f5c966671c5249ff8cb88f62e6c48fcd824254e0616d8d915c test/results/test23-armv7l-binary
897a5bc96a007a6eaf4337b630fb05d576fd42d35682c96a1f3c319f85f2b1ba test/results/test23-knight-posix-binary
f53e041af9ec8bc34f6b7accedafe0c3bc40e09edfee3ad18144e7bb04e274e6 test/results/test23-x86-binary
2a6d910a08d150ae6ef985716389c02b25fa41526002ff8e235bc72e71bc4f2b test/results/test24-aarch64-binary
ed1eb588d8b14a370729d1426f8c1b1cc9cbfeaffe80012558ab74dadd82fbf8 test/results/test24-amd64-binary
91f8415a8358a26aa99706d990a35761cd5e4f313a32ef45ab5bc49a47435249 test/results/test24-armv7l-binary
44b37b8d45d8c0a6e983168e5646ef652deab2fcd327cb255bc2a71289f471ff test/results/test24-knight-posix-binary
29216c9761435396912cb03a414ac74cde165a522cf19a7cccac212b06d3a597 test/results/test24-x86-binary
9c3b36e8d0c41ac4fd3c650c01c26c42f2e53b23703242d3e0f96b64f50414f2 test/results/test25-aarch64-binary
d21614c94b45087430a034c1b971f2e9953a4b71f46ec2de00f8549e3b82f5db test/results/test25-amd64-binary
f414d86f296579ce1f9b6d21734c447ffe7327d324d43dfed5f4c1d20b322915 test/results/test25-armv7l-binary
74ba43bffc60656eb030e229ba5bb0b36dbae093cdbb3f59c9586b16d56002e5 test/results/test25-x86-binary
19316443ba9fd25fa7079902aa4fc6261628cc0600f2b94dbf436e3848102370 test/results/test26-aarch64-binary
60206125928d77a758cd73ec8e85f8592423ce678570ebbe7876b71dc38aaeaf test/results/test26-amd64-binary
649349e01a90ce93ba72ba1b9bb81a9bd9d79b580ddff366173c98835c10b976 test/results/test26-armv7l-binary
576511f1f6699e7798bcab2f36bf8eb86825fd13748770b17f46c3a691200b01 test/results/test26-x86-binary
fd72ce6ebbf8263ef9fdff9ca7d789a55ba399ab222c2f5f93b138c61830376d test/results/test99-aarch64-binary
717c42e1a1a91ef5b67ce298bc92a148418a5dec6761a358a52b22a01f16c928 test/results/test99-amd64-binary
4e759b212b087824f7b0f14c5147272c9984c4a4d00074b2fd771c3d004c9aec test/results/test99-armv7l-binary
45116095f72aa1a4bf09aeff9f9ddc11e0c7ca3b0c380be930ad8db762088770 test/results/test99-knight-native-binary

49
test/test00/hello-aarch64.sh Executable file
View File

@ -0,0 +1,49 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -x
# Build the test
bin/M2-Planet --architecture aarch64 \
-f test/test00/return.c \
-o test/test00/return.M1 || exit 1
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test00/return.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test00/return.hex2 || exit 2
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64.hex2 \
-f test/test00/return.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test00-aarch64-binary \
--exec_enable || exit 3
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
# Verify that the compiled program returns the correct result
./test/results/test00-aarch64-binary
[ 42 = $? ] || exit 4
fi
exit 0

52
test/test01/hello-aarch64.sh Executable file
View File

@ -0,0 +1,52 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -x
# Build the test
bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/putchar.c \
-f test/common_aarch64/functions/exit.c \
-f test/test01/library_call.c \
-o test/test01/library_call.M1 || exit 1
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test01/library_call.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test01/library_call.hex2 || exit 2
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64.hex2 \
-f test/test01/library_call.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test01-aarch64-binary \
--exec_enable || exit 3
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
# Verify that the compiled program returns the correct result
out=$(./test/results/test01-aarch64-binary 2>&1)
[ 42 = $? ] || exit 3
[ "$out" = "Hello mes" ] || exit 4
fi
exit 0

52
test/test02/hello-aarch64.sh Executable file
View File

@ -0,0 +1,52 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -x
# Build the test
bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/putchar.c \
-f test/common_aarch64/functions/exit.c \
-f test/test02/if.c \
-o test/test02/if.M1 || exit 1
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test02/if.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test02/if.hex2 || exit 2
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64.hex2 \
-f test/test02/if.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test02-aarch64-binary \
--exec_enable || exit 3
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
# Verify that the compiled program returns the correct result
out=$(./test/results/test02-aarch64-binary 2>&1)
[ 42 = $? ] || exit 4
[ "$out" = "Hello mes" ] || exit 5
fi
exit 0

52
test/test03/hello-aarch64.sh Executable file
View File

@ -0,0 +1,52 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -x
# Build the test
bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/putchar.c \
-f test/common_aarch64/functions/exit.c \
-f test/test03/constant.c \
-o test/test03/constant.M1 || exit 1
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test03/constant.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test03/constant.hex2 || exit 2
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64.hex2 \
-f test/test03/constant.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test03-aarch64-binary \
--exec_enable || exit 3
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
# Verify that the compiled program returns the correct result
out=$(./test/results/test03-aarch64-binary 2>&1)
[ 42 = $? ] || exit 4
[ "$out" = "Hello mes" ] || exit 5
fi
exit 0

52
test/test04/hello-aarch64.sh Executable file
View File

@ -0,0 +1,52 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -x
# Build the test
bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/putchar.c \
-f test/common_aarch64/functions/exit.c \
-f test/test04/call.c \
-o test/test04/call.M1 || exit 1
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test04/call.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test04/call.hex2 || exit 2
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64.hex2 \
-f test/test04/call.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test04-aarch64-binary \
--exec_enable || exit 3
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
# Verify that the compiled program returns the correct result
out=$(./test/results/test04-aarch64-binary 2>&1)
[ 42 = $? ] || exit 4
[ "$out" = "Hello mes" ] || exit 5
fi
exit 0

52
test/test05/hello-aarch64.sh Executable file
View File

@ -0,0 +1,52 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -x
# Build the test
bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/putchar.c \
-f test/common_aarch64/functions/exit.c \
-f test/test05/string.c \
-o test/test05/string.M1 || exit 1
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test05/string.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test05/string.hex2 || exit 2
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64.hex2 \
-f test/test05/string.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test05-aarch64-binary \
--exec_enable || exit 3
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
# Verify that the compiled program returns the correct result
out=$(./test/results/test05-aarch64-binary 2>&1)
[ 42 = $? ] || exit 4
[ "$out" = "Hello mes" ] || exit 5
fi
exit 0

52
test/test06/hello-aarch64.sh Executable file
View File

@ -0,0 +1,52 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -ex
# Build the test
bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/putchar.c \
-f test/test06/for.c \
-o test/test06/for.M1 || exit 1
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test06/for.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test06/for.hex2 || exit 2
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64.hex2 \
-f test/test06/for.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test06-aarch64-binary \
--exec_enable || exit 3
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
. ./sha256.sh
# Verify that the resulting file works
./test/results/test06-aarch64-binary >| test/test06/proof || exit 4
out=$(sha256_check test/test06/proof.answer)
[ "$out" = "test/test06/proof: OK" ] || exit 5
fi
exit 0

53
test/test07/hello-aarch64.sh Executable file
View File

@ -0,0 +1,53 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -ex
# Build the test
bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/putchar.c \
-f test/common_aarch64/functions/exit.c \
-f test/test07/do.c \
-o test/test07/do.M1 || exit 1
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test07/do.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test07/do.hex2 || exit 2
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64.hex2 \
-f test/test07/do.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test07-aarch64-binary \
--exec_enable || exit 3
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
. ./sha256.sh
# Verify that the resulting file works
./test/results/test07-aarch64-binary >| test/test07/proof || exit 4
out=$(sha256_check test/test07/proof.answer)
[ "$out" = "test/test07/proof: OK" ] || exit 5
fi
exit 0

53
test/test08/hello-aarch64.sh Executable file
View File

@ -0,0 +1,53 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -x
# Build the test
bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/putchar.c \
-f test/common_aarch64/functions/exit.c \
-f test/common_aarch64/functions/malloc.c \
-f test/test08/struct.c \
-o test/test08/struct.M1 || exit 1
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test08/struct.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test08/struct.hex2 || exit 2
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64.hex2 \
-f test/test08/struct.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test08-aarch64-binary \
--exec_enable || exit 3
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
# Verify that the compiled program returns the correct result
out=$(./test/results/test08-aarch64-binary 2>&1 )
[ 32 = $? ] || exit 4
[ "$out" = "35419896642975313541989657891634" ] || exit 5
fi
exit 0

52
test/test09/hello-aarch64.sh Executable file
View File

@ -0,0 +1,52 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -x
# Build the test
bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/putchar.c \
-f test/common_aarch64/functions/exit.c \
-f test/test09/goto.c \
-o test/test09/goto.M1 || exit 1
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test09/goto.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test09/goto.hex2 || exit 2
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64.hex2 \
-f test/test09/goto.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test09-aarch64-binary \
--exec_enable || exit 3
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
# Verify that the compiled program returns the correct result
out=$(./test/results/test09-aarch64-binary 2>&1 )
[ 42 = $? ] || exit 4
[ "$out" = "Hello mes" ] || exit 5
fi
exit 0

53
test/test10/hello-aarch64.sh Executable file
View File

@ -0,0 +1,53 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -x
# Build the test
bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/putchar.c \
-f test/common_aarch64/functions/exit.c \
-f test/common_aarch64/functions/malloc.c \
-f test/test10/nested_struct.c \
-o test/test10/nested_struct.M1 || exit 1
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test10/nested_struct.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test10/nested_struct.hex2 || exit 2
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64.hex2 \
-f test/test10/nested_struct.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test10-aarch64-binary \
--exec_enable || exit 3
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
# Verify that the compiled program returns the correct result
out=$(./test/results/test10-aarch64-binary 2>&1 )
[ 24 = $? ] || exit 4
[ "$out" = "35419896642975313541989657891634" ] || exit 5
fi
exit 0

92
test/test100/hello-aarch64.sh Executable file
View File

@ -0,0 +1,92 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -ex
# Build the test
./bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/file.c \
-f test/common_aarch64/functions/malloc.c \
-f functions/calloc.c \
-f test/common_aarch64/functions/exit.c \
-f functions/match.c \
-f functions/in_set.c \
-f functions/numerate_number.c \
-f functions/file_print.c \
-f functions/number_pack.c \
-f functions/string.c \
-f functions/require.c \
-f cc.h \
-f cc_reader.c \
-f cc_strings.c \
-f cc_types.c \
-f cc_core.c \
-f cc.c \
--debug \
-o test/test100/cc.M1 || exit 1
# Build debug footer
blood-elf --64 -f test/test100/cc.M1 \
-o test/test100/cc-footer.M1 || exit 2
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test100/cc.M1 \
-f test/test100/cc-footer.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test100/cc.hex2 || exit 3
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64-debug.hex2 \
-f test/test100/cc.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test100-aarch64-binary --exec_enable || exit 4
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
# Verify that the resulting file works
./test/results/test100-aarch64-binary --architecture x86 \
-f test/common_x86/functions/file.c \
-f test/common_x86/functions/malloc.c \
-f functions/calloc.c \
-f test/common_x86/functions/exit.c \
-f functions/match.c \
-f functions/in_set.c \
-f functions/numerate_number.c \
-f functions/file_print.c \
-f functions/number_pack.c \
-f functions/string.c \
-f functions/require.c \
-f cc.h \
-f cc_reader.c \
-f cc_strings.c \
-f cc_types.c \
-f cc_core.c \
-f cc.c \
-o test/test100/proof || exit 5
. ./sha256.sh
out=$(sha256_check test/test100/proof.answer)
[ "$out" = "test/test100/proof: OK" ] || exit 6
[ ! -e bin/M2-Planet ] && mv test/results/test100-x86-binary bin/M2-Planet
fi
exit 0

53
test/test11/hello-aarch64.sh Executable file
View File

@ -0,0 +1,53 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -ex
# Build the test
bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/putchar.c \
-f test/common_aarch64/functions/exit.c \
-f test/test11/break-do.c \
-o test/test11/break-do.M1 || exit 1
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test11/break-do.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test11/break-do.hex2 || exit 2
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64.hex2 \
-f test/test11/break-do.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test11-aarch64-binary \
--exec_enable || exit 3
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
. ./sha256.sh
# Verify that the resulting file works
./test/results/test11-aarch64-binary >| test/test11/proof || exit 4
out=$(sha256_check test/test11/proof.answer)
[ "$out" = "test/test11/proof: OK" ] || exit 5
fi
exit 0

53
test/test12/hello-aarch64.sh Executable file
View File

@ -0,0 +1,53 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -ex
# Build the test
bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/putchar.c \
-f test/common_aarch64/functions/exit.c \
-f test/test12/break-for.c \
-o test/test12/break-for.M1 || exit 1
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test12/break-for.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test12/break-for.hex2 || exit 2
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64.hex2 \
-f test/test12/break-for.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test12-aarch64-binary \
--exec_enable || exit 3
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
. ./sha256.sh
# Verify that the resulting file works
./test/results/test12-aarch64-binary >| test/test12/proof || exit 4
out=$(sha256_check test/test12/proof.answer)
[ "$out" = "test/test12/proof: OK" ] || exit 5
fi
exit 0

53
test/test13/hello-aarch64.sh Executable file
View File

@ -0,0 +1,53 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -ex
# Build the test
bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/putchar.c \
-f test/common_aarch64/functions/exit.c \
-f test/test13/break-while.c \
-o test/test13/break-while.M1 || exit 1
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test13/break-while.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test13/break-while.hex2 || exit 2
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64.hex2 \
-f test/test13/break-while.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test13-aarch64-binary \
--exec_enable || exit 3
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
. ./sha256.sh
# Verify that the resulting file works
./test/results/test13-aarch64-binary >| test/test13/proof || exit 4
out=$(sha256_check test/test13/proof.answer)
[ "$out" = "test/test13/proof: OK" ] || exit 5
fi
exit 0

52
test/test14/hello-aarch64.sh Executable file
View File

@ -0,0 +1,52 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -ex
# Build the test
bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/putchar.c \
-f test/test14/basic_args.c \
-o test/test14/basic_args.M1 || exit 1
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test14/basic_args.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test14/basic_args.hex2 || exit 2
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64.hex2 \
-f test/test14/basic_args.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test14-aarch64-binary \
--exec_enable || exit 3
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
. ./sha256.sh
# Verify that the resulting file works
./test/results/test14-aarch64-binary 314 1 5926 5 35897 932384626 43 383279 50288 419 71693 99375105 820974944 >| test/test14/proof || exit 4
out=$(sha256_check test/test14/proof-aarch64.answer)
[ "$out" = "test/test14/proof: OK" ] || exit 5
fi
exit 0

View File

@ -0,0 +1 @@
d6ea895188b98e75da4d4218b7e7caaf75851fd0147473395e9b3f16e65c78aa test/test14/proof

53
test/test15/hello-aarch64.sh Executable file
View File

@ -0,0 +1,53 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -ex
# Build the test
bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/file.c \
-f test/common_aarch64/functions/putchar.c \
-f test/test15/file_read.c \
-o test/test15/file_read.M1 || exit 1
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test15/file_read.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test15/file_read.hex2 || exit 2
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64.hex2 \
-f test/test15/file_read.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test15-aarch64-binary \
--exec_enable || exit 3
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
. ./sha256.sh
# Verify that the resulting file works
./test/results/test15-aarch64-binary test/test15/file_read.c >| test/test15/proof || exit 4
out=$(sha256_check test/test15/proof.answer)
[ "$out" = "test/test15/proof: OK" ] || exit 5
fi
exit 0

53
test/test16/hello-aarch64.sh Executable file
View File

@ -0,0 +1,53 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -ex
# Build the test
bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/file.c \
-f test/common_aarch64/functions/putchar.c \
-f test/test16/file_write.c \
-o test/test16/file_write.M1 || exit 1
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test16/file_write.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test16/file_write.hex2 || exit 2
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64.hex2 \
-f test/test16/file_write.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test16-aarch64-binary \
--exec_enable || exit 3
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
. ./sha256.sh
# Verify that the resulting file works
./test/results/test16-aarch64-binary test/test16/proof || exit 4
out=$(sha256_check test/test16/proof.answer)
[ "$out" = "test/test16/proof: OK" ] || exit 5
fi
exit 0

54
test/test17/hello-aarch64.sh Executable file
View File

@ -0,0 +1,54 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -ex
# Build the test
bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/malloc.c \
-f functions/calloc.c \
-f test/common_aarch64/functions/putchar.c \
-f test/test17/memset.c \
-o test/test17/memset.M1 || exit 1
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test17/memset.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test17/memset.hex2 || exit 2
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64.hex2 \
-f test/test17/memset.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test17-aarch64-binary \
--exec_enable || exit 3
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
. ./sha256.sh
# Verify that the resulting file works
./test/results/test17-aarch64-binary >| test/test17/proof || exit 4
out=$(sha256_check test/test17/proof.answer)
[ "$out" = "test/test17/proof: OK" ] || exit 5
fi
exit 0

54
test/test18/hello-aarch64.sh Executable file
View File

@ -0,0 +1,54 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -ex
# Build the test
bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/file.c \
-f test/common_aarch64/functions/malloc.c \
-f functions/calloc.c \
-f test/test18/math.c \
-o test/test18/math.M1 || exit 1
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test18/math.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test18/math.hex2 || exit 2
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64.hex2 \
-f test/test18/math.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test18-aarch64-binary \
--exec_enable || exit 3
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
. ./sha256.sh
# Verify that the resulting file works
./test/results/test18-aarch64-binary >| test/test18/proof || exit 4
out=$(sha256_check test/test18/proof.answer)
[ "$out" = "test/test18/proof: OK" ] || exit 5
fi
exit 0

59
test/test19/hello-aarch64.sh Executable file
View File

@ -0,0 +1,59 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -ex
# Build the test
bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/file.c \
-f test/common_aarch64/functions/malloc.c \
-f functions/calloc.c \
-f test/common_aarch64/functions/exit.c \
-f functions/match.c \
-f functions/in_set.c \
-f functions/numerate_number.c \
-f functions/file_print.c \
-f test/test19/getopt.c \
-o test/test19/getopt.M1 || exit 1
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test19/getopt.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test19/getopt.hex2 || exit 2
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64.hex2 \
-f test/test19/getopt.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test19-aarch64-binary \
--exec_enable || exit 3
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
. ./sha256.sh
# Verify that the resulting file works
./test/results/test19-aarch64-binary -f test/test19/input -o test/test19/proof || exit 4
out=$(sha256_check test/test19/proof.answer)
[ "$out" = "test/test19/proof: OK" ] || exit 5
fi
exit 0

53
test/test20/hello-aarch64.sh Executable file
View File

@ -0,0 +1,53 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -x
# Build the test
bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/putchar.c \
-f test/common_aarch64/functions/exit.c \
-f test/common_aarch64/functions/malloc.c \
-f test/test20/struct.c \
-o test/test20/struct.M1 || exit 1
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test20/struct.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test20/struct.hex2 || exit 2
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64.hex2 \
-f test/test20/struct.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test20-aarch64-binary \
--exec_enable || exit 3
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
# Verify that the compiled program returns the correct result
out=$(./test/results/test20-aarch64-binary 2>&1 )
[ 40 = $? ] || exit 4
[ "$out" = "35419896642975313541989657891634" ] || exit 5
fi
exit 0

69
test/test21/hello-aarch64.sh Executable file
View File

@ -0,0 +1,69 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -x
# Build the test
./bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/exit.c \
-f test/common_aarch64/functions/file.c \
-f functions/file_print.c \
-f test/common_aarch64/functions/malloc.c \
-f functions/calloc.c \
-f functions/match.c \
-f test/test21/blood-elf.c \
--debug \
-o test/test21/blood-elf.M1 || exit 1
# Build debug footer
blood-elf --64 -f test/test21/blood-elf.M1 \
-o test/test21/blood-elf-footer.M1 || exit 2
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test21/blood-elf.M1 \
-f test/test21/blood-elf-footer.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test21/blood-elf.hex2 || exit 3
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64.hex2 \
-f test/test21/blood-elf.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test21-aarch64-binary \
--exec_enable || exit 4
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
# Verify that the compiled program returns the correct result
out=$(./test/results/test21-aarch64-binary --version 2>&1 )
[ 0 = $? ] || exit 5
[ "$out" = "blood-elf 0.1
(Basically Launches Odd Object Dump ExecutabLe Files" ] || exit 6
. ./sha256.sh
# Verify that the resulting file works
./test/results/test21-aarch64-binary -f test/test21/test.M1 -o test/test21/proof || exit 7
out=$(sha256_check test/test21/proof.answer)
[ "$out" = "test/test21/proof: OK" ] || exit 8
fi
exit 0

77
test/test22/hello-aarch64.sh Executable file
View File

@ -0,0 +1,77 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -x
# Build the test
./bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/exit.c \
-f test/common_aarch64/functions/file.c \
-f functions/file_print.c \
-f test/common_aarch64/functions/malloc.c \
-f functions/calloc.c \
-f functions/match.c \
-f functions/in_set.c \
-f functions/numerate_number.c \
-f test/common_aarch64/functions/stat.c \
-f test/test22/hex2_linker.c \
--debug \
-o test/test22/hex2_linker.M1 || exit 1
# Build debug footer
blood-elf --64 -f test/test22/hex2_linker.M1 \
-o test/test22/hex2_linker-footer.M1 || exit 2
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test22/hex2_linker.M1 \
-f test/test22/hex2_linker-footer.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test22/hex2_linker.hex2 || exit 3
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64-debug.hex2 \
-f test/test22/hex2_linker.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test22-aarch64-binary \
--exec_enable || exit 4
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
# Verify that the compiled program returns the correct result
out=$(./test/results/test22-aarch64-binary --version 2>&1 )
[ 0 = $? ] || exit 5
[ "$out" = "hex2 0.3" ] || exit 6
. ./sha256.sh
# Verify that the resulting file works
./test/results/test22-aarch64-binary \
-f test/common_x86/ELF-i386.hex2\
-f test/test22/test.hex2 \
--LittleEndian \
--architecture x86 \
--BaseAddress 0x8048000 \
-o test/test22/proof || exit 7
out=$(sha256_check test/test22/proof.answer)
[ "$out" = "test/test22/proof: OK" ] || exit 8
fi
exit 0

78
test/test23/hello-aarch64.sh Executable file
View File

@ -0,0 +1,78 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -x
# Build the test
./bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/exit.c \
-f test/common_aarch64/functions/file.c \
-f functions/file_print.c \
-f test/common_aarch64/functions/malloc.c \
-f functions/calloc.c \
-f functions/match.c \
-f functions/in_set.c \
-f functions/numerate_number.c \
-f functions/string.c \
-f test/test23/M1-macro.c \
--debug \
-o test/test23/M1-macro.M1 || exit 1
# Build debug footer
blood-elf --64 -f test/test23/M1-macro.M1 \
-o test/test23/M1-macro-footer.M1 || exit 2
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test23/M1-macro.M1 \
-f test/test23/M1-macro-footer.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test23/M1-macro.hex2 || exit 3
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64-debug.hex2 \
-f test/test23/M1-macro.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test23-aarch64-binary \
--exec_enable || exit 4
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
# Verify that the compiled program returns the correct result
out=$(./test/results/test23-aarch64-binary --version 2>&1 )
[ 0 = $? ] || exit 5
[ "$out" = "M1 0.3" ] || exit 6
# Verify that the resulting file works
./test/results/test23-aarch64-binary -f \
test/common_x86/x86_defs.M1 \
-f test/common_x86/libc-core.M1 \
-f test/test21/test.M1 \
--LittleEndian \
--architecture x86 \
-o test/test23/proof || exit 7
. ./sha256.sh
out=$(sha256_check test/test23/proof.answer)
[ "$out" = "test/test23/proof: OK" ] || exit 8
fi
exit 0

63
test/test24/hello-aarch64.sh Executable file
View File

@ -0,0 +1,63 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -x
# Build the test
./bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/exit.c \
-f test/common_aarch64/functions/file.c \
-f functions/file_print.c \
-f test/common_aarch64/functions/malloc.c \
-f functions/calloc.c \
-f test/common_aarch64/functions/uname.c \
-f functions/match.c \
-f test/test24/get_machine.c \
--debug \
-o test/test24/get_machine.M1 || exit 1
# Build debug footer
blood-elf --64 -f test/test24/get_machine.M1 \
-o test/test24/get_machine-footer.M1 || exit 2
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test24/get_machine.M1 \
-f test/test24/get_machine-footer.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test24/get_machine.hex2 || exit 3
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64-debug.hex2 \
-f test/test24/get_machine.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test24-aarch64-binary \
--exec_enable || exit 4
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
# Verify that the compiled program returns the correct result
out=$(./test/results/test24-aarch64-binary ${GET_MACHINE_FLAGS} 2>&1 )
[ 0 = $? ] || exit 5
[ "$out" = "aarch64" ] || exit 6
fi
exit 0

69
test/test25/hello-aarch64.sh Executable file
View File

@ -0,0 +1,69 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -x
# Build the test
./bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/exit.c \
-f test/common_aarch64/functions/file.c \
-f functions/file_print.c \
-f test/common_aarch64/functions/malloc.c \
-f functions/calloc.c \
-f functions/match.c \
-f functions/in_set.c \
-f functions/numerate_number.c \
-f test/common_aarch64/functions/fork.c \
-f test/common_aarch64/functions/execve.c \
-f test/test25/kaem.c \
--debug \
-o test/test25/kaem.M1 || exit 1
# Build debug footer
blood-elf --64 -f test/test25/kaem.M1 \
-o test/test25/kaem-footer.M1 || exit 2
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test25/kaem.M1 \
-f test/test25/kaem-footer.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test25/kaem.hex2 || exit 3
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64-debug.hex2 \
-f test/test25/kaem.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test25-aarch64-binary \
--exec_enable || exit 4
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
# Verify that the compiled program returns the correct result
out=$(./test/results/test25-aarch64-binary --version 2>&1 )
[ 0 = $? ] || exit 5
[ "$out" = "kaem version 0.1" ] || exit 6
# Verify that the resulting file works
out=$(./test/results/test25-aarch64-binary --file test/test25/kaem.run)
[ "$out" = "hello world" ] || exit 7
fi
exit 0

72
test/test26/hello-aarch64.sh Executable file
View File

@ -0,0 +1,72 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -x
# Build the test
./bin/M2-Planet --architecture aarch64 -f test/test26/lisp.h \
-f test/common_aarch64/functions/malloc.c \
-f functions/calloc.c \
-f functions/in_set.c \
-f test/common_aarch64/functions/file.c \
-f test/common_aarch64/functions/exit.c \
-f functions/numerate_number.c \
-f functions/match.c \
-f functions/file_print.c \
-f test/test26/lisp.c \
-f test/test26/lisp_cell.c \
-f test/test26/lisp_eval.c \
-f test/test26/lisp_print.c \
-f test/test26/lisp_read.c \
--debug \
-o test/test26/lisp.M1 || exit 1
# Build debug footer
blood-elf --64 -f test/test26/lisp.M1 \
-o test/test26/lisp-footer.M1 || exit 2
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test26/lisp.M1 \
-f test/test26/lisp-footer.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test26/lisp.hex2 || exit 3
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64-debug.hex2 \
-f test/test26/lisp.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test26-aarch64-binary \
--exec_enable || exit 4
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
# Verify that the compiled program returns the correct result
out=$(./test/results/test26-aarch64-binary --version 2>&1 )
[ 0 = $? ] || exit 5
[ "$out" = "Slow_Lisp 0.1" ] || exit 6
# Verify that the resulting file works
out=$(./test/results/test26-aarch64-binary --file test/test26/test.scm)
[ "$out" = "42" ] || exit 7
fi
exit 0

55
test/test99/hello-aarch64.sh Executable file
View File

@ -0,0 +1,55 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## Copyright (C) 2020 deesix <deesix@tuta.io>
## This file is part of M2-Planet.
##
## M2-Planet is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## M2-Planet is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
set -ex
# Build the test
bin/M2-Planet --architecture aarch64 \
-f test/common_aarch64/functions/putchar.c \
-f test/common_aarch64/functions/getchar.c \
-f test/common_aarch64/functions/exit.c \
-f test/common_aarch64/functions/malloc.c \
-f test/test99/cc500.c \
-o test/test99/cc0.M1 || exit 1
# Macro assemble with libc written in M1-Macro
M1 -f test/common_aarch64/aarch64_defs.M1 \
-f test/common_aarch64/libc-core.M1 \
-f test/test99/cc0.M1 \
--LittleEndian \
--architecture aarch64 \
-o test/test99/cc0.hex2 || exit 2
# Resolve all linkages
hex2 -f test/common_aarch64/ELF-aarch64.hex2 \
-f test/test99/cc0.hex2 \
--LittleEndian \
--architecture aarch64 \
--BaseAddress 0x400000 \
-o test/results/test99-aarch64-binary \
--exec_enable || exit 3
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "aarch64" ]
then
. ./sha256.sh
# Verify that the compiled program can compile itself
./test/results/test99-aarch64-binary < test/test99/cc500.c >| test/test99/cc1 || exit 4
out=$(sha256_check test/test99/proof0.answer)
[ "$out" = "test/test99/cc1: OK" ] || exit 5
fi
exit 0