23/24 working tests for armv7l

This commit is contained in:
Jeremiah Orians 2019-04-14 08:49:11 -04:00
parent 119226d569
commit 5384977d5a
No known key found for this signature in database
GPG Key ID: 5410E91C14959E87
5 changed files with 117 additions and 22 deletions

View File

@ -16,9 +16,10 @@
* Current
** Added
Added 22/24 working tests for armv7l
Added 23/24 working tests for armv7l
** Changed
ELF-code segment now writable for ARMv7l without debug
** Fixed
Fixed unsigned division in ARMv7l port

View File

@ -116,6 +116,7 @@ test: test00-knight-posix-binary \
test24-armv7l-binary \
test25-armv7l-binary \
test26-armv7l-binary \
test99-armv7l-binary \
test00-x86-binary \
test01-x86-binary \
test02-x86-binary \
@ -309,6 +310,9 @@ test25-armv7l-binary: M2-Planet | results
test26-armv7l-binary: M2-Planet | results
test/test26/hello-armv7l.sh
test99-armv7l-binary: M2-Planet | results
test/test99/hello-armv7l.sh
test00-x86-binary: M2-Planet | results
test/test00/hello-x86.sh

View File

@ -71,7 +71,7 @@
%ELF_end>ELF_base # ph_filesz
%ELF_end>ELF_base # ph_memsz
05 00 00 00 # p_flags
07 00 00 00 # p_flags
00 00 01 00 # alignment
:ELF_text

View File

@ -1,66 +1,66 @@
d33b2703ff3ab3bf61911ce98213fc9294caff69717dd2502df77a24be113e3a test/results/test00-armv7l-binary
c35f3652100b9d0f46df4dcf00f7feb011993512d1cf48fb45e8ada057718b33 test/results/test00-armv7l-binary
64879eebceb475f21e54cb1f2e872996ca80e8c1fbb8b5895fb5fb6bac0c4384 test/results/test00-knight-posix-binary
c52562bd0aabb86ce8ca177f22f8d0455769b444df2d4d62894faab63b7151d8 test/results/test00-x86-binary
fbd4aa3a509608adfc0c171d96c7c61f96494414bec6001c4c4bf238f2040361 test/results/test01-armv7l-binary
579acd2d038e842bfe3ac56af2ad096d91a94c5a0f3d844b1dcc8ef380707eb7 test/results/test01-armv7l-binary
486ee05ccea796a9cfa9bfb23189b8e014b7ce8d14fea03b27d679d410fe17dd test/results/test01-knight-posix-binary
eae96857f2b6d8e8ba86ac06e72345ea572622b358b23978bb5f2db1baadf41c test/results/test01-x86-binary
90d65efce4a9dd695944de7f0aa6022bb2e8e4d5ae56d90250d691a3b58d3fd9 test/results/test02-armv7l-binary
63a79206ff41068e8cc585e535717a4f6a80506137891ee3905daf473bfc6420 test/results/test02-armv7l-binary
e6493845b9e94a617649638252f23502f9212de583fd00cba6cc07fffd296e32 test/results/test02-knight-posix-binary
8ead336d2f3f72d5874230492e0472edec61d355905e8636e3dfb2731695037c test/results/test02-x86-binary
013460f5fb75837d6b836875d45bdaffd6d1834eda46765c1c574148ff49dacf test/results/test03-armv7l-binary
58e95f5eb581d8202c941809d8b162da1ffeda714af7d36699f330dc5c276880 test/results/test03-armv7l-binary
96849d5a9294799a9648c24db21b2dab1555dd5ba69d172d77df800622347226 test/results/test03-knight-posix-binary
2313cb3f1a2b9eb6bf15f8d43418e15d6c16f7f1b5c22700fdfc2b38beb59192 test/results/test03-x86-binary
bfcc2f0893998737cf0ff2ca50a1c065c4af9426cbead6aeb90d841ca1658459 test/results/test04-armv7l-binary
69997b16f41de2ace669e6e331efbae4ad8da3483262476d7a490a450fe082ad test/results/test04-armv7l-binary
df9ba08dfa69ac6cbb4483146dbbe079ef575d7de8318e2e52283151ebf24bd3 test/results/test04-knight-posix-binary
b7ddb37063c541c6a315809c4438aa235d6702f54bb64f4ffc88dbe78617de81 test/results/test04-x86-binary
4bb7750c5561cf655dae88e80ff5337f01e3c6221afb96279207e2ac777559b7 test/results/test05-armv7l-binary
5db3a2fbd84150dae41e1c778f2822d053a0539cbdf59bba56e5514222f46674 test/results/test05-knight-posix-binary
b5b76320ccda887a30b0bbefc2a5c302c8f2aa3c398d92ef3a79526690b25d6f test/results/test05-x86-binary
f798c846d3e1b0169a09a526ccccbf2a9f846697f19817d672d02bc0f0e4ea38 test/results/test06-armv7l-binary
e09cccfc8f46004f12a28cfca4f07835a895dfc5567e12759d19b57d63e1baaa test/results/test06-armv7l-binary
b177d769ae44c3509d9a08d0ee631ec69654dc5d723408bf0decdc67c42aae27 test/results/test06-knight-posix-binary
663fc6eefe965f237b6bf5a211398c8ae1210f97ff39b59603677e92462c68c7 test/results/test06-x86-binary
a61620928a09b5ac23480d687b2edd4de0785909ef83f159a8e5a806e00b0f15 test/results/test07-armv7l-binary
512e3d774b1d96808f046c01a6b08e818945056939515668530a2e17ea0ea6db test/results/test07-armv7l-binary
9159c4ba8196b24ec78bc9ebfbc7066d510ddbf03461736e7795a48634134dc5 test/results/test07-knight-posix-binary
a9a3e332d13ded5f80d7431f8717f26527b3722b33ea57760a9a5723dffc099c test/results/test07-x86-binary
61899e1383dfc36260022d1f0bd3f655f7f0f0311da76ce9bc160646c390c00d test/results/test08-armv7l-binary
8537995c4da57dae51a19f0845f4a57c682e67a9e7101352d5980ff06a5b2847 test/results/test08-armv7l-binary
b824859fd0e39f1417742a1b9a1cec18ade78afdd80ce2c64cb54cdf7683f53a test/results/test08-knight-posix-binary
f1c01feb865c4d552033186d9ce50dd39468a7e8aebf762886c13ad3e03b5011 test/results/test08-x86-binary
cf429533b6473e725c6f6f046ac028181090c532f52f73cd07b87f1e6da64820 test/results/test09-armv7l-binary
a2542086709c31aaedb353d3c9dabfa58b0e2abafe0e6d84472cc4dbbaf29bec test/results/test09-armv7l-binary
0feaacc13ad24c2b513fd9d46a58c38b1af57e77275c9a148cafb4a0d3cc7b7a test/results/test09-knight-posix-binary
3b39e72f3de90ed690adfaf6145af46157cef2ec5e72867ac577fa27a0229894 test/results/test09-x86-binary
d2b4095983ddd89328e17d983dd8802956c30a4de67267a080772b2e43ee1466 test/results/test10-armv7l-binary
5df859c88e9cbb2758f823e020d9993d50ba81fae20d469c03ec2b196d55f580 test/results/test10-armv7l-binary
c1b5a2a3cd46c5e95e5540e871c2a916e028684ca80f51c001ef489342e27625 test/results/test10-knight-posix-binary
020e86020819cc4963e6185b22e534fcf8306b6cb116f12643f254a24688ff0a test/results/test10-x86-binary
1c64ac9e453c8404bc4c9024ded0f39092412e211ac55e4d582f177d06485f52 test/results/test100-knight-posix-binary
2b134bb720187047e28a97015bf39abf8b637106f7bcfa83c6ea4dc3a8401b79 test/results/test100-x86-binary
ea5065ec0604f4701713d8c96a588f96ffc610d7787bca0c3bb3af6db884691a test/results/test11-armv7l-binary
d9d465340abbce2d5964a6bc58e6cdd0ef93fb3d0199eaa823c86ec6abd0452a test/results/test11-armv7l-binary
63fd5fbf389d1b19031026df193ec55e98d923b8568007125b80bc246c094496 test/results/test11-knight-posix-binary
3fd11bad4a426ce1ff8fd9c6d7d2b943effae9f3f5740b7376e426e9b0555851 test/results/test11-x86-binary
611638cecf9cd4661c7af1d7a4b1bfe91ef447e9927ff8649f14343a243e29e0 test/results/test12-armv7l-binary
fa46dd13a783d7531394603946c9e8784a9a9890b7e6cbfdd1f0b3dfb529017b test/results/test12-armv7l-binary
313536f9209d29d4c3b40f6ada898f81c1fb3b650ca1a84754f90b1db3b9e001 test/results/test12-knight-posix-binary
f98ab8e4bb35580e0dde96126d7a56aff66bda208d02c8d89390b40d6cff591c test/results/test12-x86-binary
0d2b20a8962c02ce605b3ee659c42918ba6342ff834babe921717b57a569910c test/results/test13-armv7l-binary
8717f4034922836e75c9924edd48f9890a900cdadd322b2fd5949f64544d68c1 test/results/test13-armv7l-binary
e50c97ba330823cb5cbe938bb9d1575340b083e60fc42db8edefcfd95851daa2 test/results/test13-knight-posix-binary
5051ffca2615144419f8ec1a5d4999486ae81e7781428f59e47e866af97cef92 test/results/test13-x86-binary
378316cef7126c0538627b7225c0ebca8d7e735870b09ed6a8b3f92584a14191 test/results/test14-armv7l-binary
c447dc62f437bdb045cb260d5965551e805de7ad4c09cc006229543cc9824530 test/results/test14-armv7l-binary
156fa1e6b5814da94a542dfe742f77e155d52724b34f75f3513b9e8f6f2503dd test/results/test14-knight-posix-binary
a8218958b628066e2fda63d3933f1bf607c358d7bdfe84fc02596393698ea5f6 test/results/test14-x86-binary
2fb75063994bb49dd13eb13ecd63fad79bc44f1702dc691ddfcb391a383e01a4 test/results/test15-armv7l-binary
2de237677f421b1027f4e74f0e0fc3df563a4eab5cdfd2b5d14a39ae355a11f3 test/results/test15-armv7l-binary
9f7c81e278248a3160d80a3f5ca0c39a5505ca9b45adc002e9b527db3e5f084a test/results/test15-knight-posix-binary
3adb4a5f3995583ba711151361728a26c3fbf0140864d13b4b042978ca45d683 test/results/test15-x86-binary
46edd2a14916ff5adf1d1d4b8826671dd812c0fc12652cd12fad550161a58b28 test/results/test16-armv7l-binary
25815e4711b10d6186dc9ebedc05244e1ad6c123d2e9c4f59a711e15ecb09332 test/results/test16-armv7l-binary
84f5472ce5711b9cad28fcd4c177eea673047c2561ea010ccb6bf5f50d89c713 test/results/test16-knight-posix-binary
d70e072f4f1f077d10ff65e9216ca8b423b996e35d68d208025db7a78b062f50 test/results/test16-x86-binary
b631b066d284ad3e1657fcaac9d02f8b14eb7de6df550fb7ca214cdf8c1ed06c test/results/test17-armv7l-binary
a2dd7b9b33191434c09a4d40a825b8998b8595e364e201ebced15669388b3619 test/results/test17-armv7l-binary
0323ae8fa9e79cae9a58eec89a80b2c354db276d76c6f50b3bf50840327d4950 test/results/test17-knight-posix-binary
9b4ba350b07cc1cf4e12dc77d0d960ded1511f13b887363b0eb33421e2f626de test/results/test17-x86-binary
e08f5759f5dad762603fff32e09f9e65eb6e54aa60bb4567768887df8c702390 test/results/test18-armv7l-binary
122d78f9943f3678a07a9ec82b491e041664b31931ac5056c8a238eb0753e879 test/results/test18-armv7l-binary
d0f0b1428c8db70806d6e2e5b81aca4b6752c4a581a3fa83da064317ceb605b0 test/results/test18-knight-posix-binary
8de7384c4633b1d5c60bbbb298d7f4b738e52fbc266ef4ef9a48b3cb995e3176 test/results/test18-x86-binary
3108c15dc5e50f18f9ce1d30f04565c6acea1d7bc253a86b5b969db2795cef31 test/results/test19-armv7l-binary
a9f52183718d74204d6609c4e41eecb2a32d6ccd9b40f6026b5e68b7280200da test/results/test19-armv7l-binary
32ba6ae74a8756fe4b95c65a643513bdd785778f98a878b3ea5459b5aaccaa38 test/results/test19-knight-posix-binary
cefc5a53513abdb9069dc8bdb7b4529307420d5dd412a10112c3253bdcd29c46 test/results/test19-x86-binary
0f2b7439f9635a1b8872f0bf2190a0c34ceb578d17ade9632271db964d0c15a0 test/results/test20-armv7l-binary
ef9d0050388ab15454b437bc40c19737cda9211cb3704a0b2619fae232239d7f test/results/test20-armv7l-binary
6a59795dbb4397d0efaf1ad613d646ec435eec62db30eb758bcf2499d651520e test/results/test20-knight-posix-binary
365c96fb8368710d620a76facd6bebcdeeb6f6d30ceaf0a6f1567fc3fcbe9b54 test/results/test20-x86-binary
997108ef0bf3c6eecfca4ac2f393be295a2cfeab4ab8e5e57167a89eafce224e test/results/test21-armv7l-binary
@ -79,5 +79,6 @@ ff810940f7e8a9df916b20bc95d7d83a7165c57853e343417826a9f5a607c2db test/results/t
225ac89b740574661c9cafcd25d358ba2effbc7e7af1797c930817bc1e6abd7b test/results/test25-x86-binary
84392bc3f47b350cc20dd9a5a78892d11fccb5abb7c6a102fcb2764d5a31442c test/results/test26-armv7l-binary
1e6973cdaddca6014e1fdda80312b6139d3aef55da332616c278f2c1d5330666 test/results/test26-x86-binary
2b2b2ecf161e98fad79d371be36c0e7b1ec36cdfbbb4ddddb70de49cd2421b2a test/results/test99-armv7l-binary
bea554c06c8ecdb9eaae2c586a2006487968625b9570cbe305f69959c0e680e7 test/results/test99-knight-posix-binary
140af7fb3ef89d84b21bd3fe69f0d3260650ec0467c0ffadf9268fad573a397f test/results/test99-x86-binary

89
test/test100/hello-armv7l.sh Executable file
View File

@ -0,0 +1,89 @@
#! /bin/sh
## Copyright (C) 2017 Jeremiah Orians
## 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 armv7l \
-f test/common_armv7l/functions/file.c \
-f test/common_armv7l/functions/malloc.c \
-f functions/calloc.c \
-f test/common_armv7l/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 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 -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_armv7l/armv7l_defs.M1 \
-f test/common_armv7l/libc-core.M1 \
-f test/test100/cc.M1 \
-f test/test100/cc-footer.M1 \
--LittleEndian \
--architecture armv7l \
-o test/test100/cc.hex2 || exit 3
# Resolve all linkages
hex2 -f test/common_armv7l/ELF-armv7l-debug.hex2 \
-f test/test100/cc.hex2 \
--LittleEndian \
--architecture armv7l \
--BaseAddress 0x10000 \
-o test/results/test100-armv7l-binary --exec_enable || exit 4
# Ensure binary works if host machine supports test
if [ "$(get_machine ${GET_MACHINE_FLAGS})" = "armv7l" ]
then
# Verify that the resulting file works
./test/results/test100-armv7l-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 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