summaryrefslogtreecommitdiff
path: root/TestRelease.job
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@linaro.org>2016-09-21 16:41:20 +0200
committerChristophe Lyon <christophe.lyon@linaro.org>2016-09-21 16:41:20 +0200
commitc47f0235318d8fd20b05d2fe2fb95f6e50fa96ab (patch)
treefc2638cf9beacdd72273484e3dbd27dc2178765e /TestRelease.job
parent68008124a89f54dbe33e43c51c8d611e9947736f (diff)
scripts/TestRelease.job: Fix bare-metal testing.
AArch64 needs specs, to find libc. ARM does not need specs, but using the default CPU generates undefined references to __sync_synchronize. Both problems probably need a better fix in GCC. This is related to: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66203 Change-Id: If10eb6656a5952e5831f77dbe59d95fe8ecdbe96
Diffstat (limited to 'TestRelease.job')
-rwxr-xr-xTestRelease.job19
1 files changed, 13 insertions, 6 deletions
diff --git a/TestRelease.job b/TestRelease.job
index 8819caff..effc7add 100755
--- a/TestRelease.job
+++ b/TestRelease.job
@@ -80,14 +80,21 @@ fi
target="`echo ${dir} | egrep -o '(arm|aarch64)[_0-9a-z-]*' | sed -e 's:-\$::'`"
win32="`echo {$file} | grep -c mingw`"
-# Bare metal builds use a specs file
-# Do work for ARM : rdpmon.spec dimon.spec linux.specs profile-ve.spec
-# aprofile-validation.specs
-# Don't work for ARM : iq80310.spec nano.specs pid.specs edboot.spec
+# Bare metal builds need special care
baremetal="`echo ${target} | egrep -c "\-eabi|\-elf"`"
if test ${baremetal} -gt 0; then
- rdimon="`find ${testdir} -name rdimon.specs | head -1`"
- specs="${rdimon:+--specs=${rdimon}}"
+ case ${target} in
+ aarch64*)
+ # AArch64 needs specs
+ rdimon="`find ${testdir} -name rdimon.specs | head -1`"
+ specs="${rdimon:+--specs=${rdimon}}"
+ ;;
+ arm*)
+ # ARM does not need specs, but the default cpu implies
+ # undefined references to __sync_synchronize
+ specs="--cpu cortex-a9"
+ ;;
+ esac
fi
# Compile the test case