diff options
Diffstat (limited to 'posix-compliance/probe_rtems')
-rwxr-xr-x | posix-compliance/probe_rtems | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/posix-compliance/probe_rtems b/posix-compliance/probe_rtems new file mode 100755 index 0000000..2ecbe7d --- /dev/null +++ b/posix-compliance/probe_rtems @@ -0,0 +1,49 @@ +#! /bin/bash + +lfile=unprobed_methods.txt +cpu=arm +bsp=xilinx_zynq_a9_qemu +bsp_path=/home/joel/rtems-work/tools/4.12/bsps/arm-rtems4.12 +bsp_flags="-march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mtune=cortex-a9" + +cat_template() +{ +cat <<EOF +void @METHOD@(void); + +int main(int argc, char **argv) +{ + @METHOD@(); + return 0; +} +EOF +} + +gen_prober() +{ + method=$1 + mname=`echo ${method} | sed -e 's/[()]//g'` + cat_template | sed -e "s/@METHOD@/${mname}/g" +} + +cat ${lfile} | while read method +do + grep ${method} probe_misses.txt >/dev/null + if [ $? -eq 0 ] ; then + echo "${method},HAND-YES" + continue + fi + + gen_prober ${method} >tmp_probe.c + ${cpu}-rtems4.12-gcc \ + -B${bsp_path}/${bsp}/lib/ -specs bsp_specs -qrtems \ + ${bsp_flags} \ + tmp_probe.c >/dev/null 2>&1 + if [ $? -eq 0 ] ; then + echo "${method},RT-YES" + continue + fi + echo "${method},RT-NO" +done + +# rm -f tmp_probe.c a.out |