summaryrefslogtreecommitdiffstats
path: root/posix-compliance/probe_rtems
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xposix-compliance/probe_rtems49
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