22 lines
726 B
Bash
Executable File
22 lines
726 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
root="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
task01_map="$root/build/task01_libc_without_heap/prog.map"
|
|
task05_map="$root/build/task05_picolibc_malloc/prog.map"
|
|
|
|
grep -q 'libc.a(strlen.c.o)' "$task01_map"
|
|
if grep -Eq 'libc_stdlib_malloc.c.o|libc_stdlib_free.c.o|libc_misc_picosbrk.c.o' "$task01_map"; then
|
|
echo 'FAIL Task01: heap-related archive member entered the image' >&2
|
|
exit 1
|
|
fi
|
|
|
|
for member in libc_stdlib_malloc.c.o libc_stdlib_free.c.o libc_misc_picosbrk.c.o; do
|
|
grep -q "$member" "$task05_map"
|
|
done
|
|
|
|
printf '%s\n' \
|
|
'PASS Task01 map: strlen.c.o present, malloc/free/picosbrk absent' \
|
|
'PASS Task05 map: malloc/free/picosbrk archive members present'
|
|
|