| #!/bin/bash |
| |
| # Copyright 2017, VIXL authors |
| # All rights reserved. |
| # |
| # Redistribution and use in source and binary forms, with or without |
| # modification, are permitted provided that the following conditions are met: |
| # |
| # * Redistributions of source code must retain the above copyright notice, |
| # this list of conditions and the following disclaimer. |
| # * Redistributions in binary form must reproduce the above copyright notice, |
| # this list of conditions and the following disclaimer in the documentation |
| # and/or other materials provided with the distribution. |
| # * Neither the name of ARM Limited nor the names of its contributors may be |
| # used to endorse or promote products derived from this software without |
| # specific prior written permission. |
| # |
| # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS CONTRIBUTORS "AS IS" AND |
| # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
| # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
| # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE |
| # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
| # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
| # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
| # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
| # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| |
| |
| # Pull simulator trace references outputs from the Linaro VIXL repository. |
| # |
| # This script copies the reference trace outputs from VIXL's git repository |
| # into the root directory of this repository. |
| # |
| # Any changes to the outputs should be made in the VIXL repository, and |
| # then imported using this script. |
| |
| linaro_vixl_git=https://git.linaro.org/arm/vixl.git |
| linaro_vixl_traces_dir=vixl/test/aarch64/traces |
| |
| # Check for outstanding staged or working tree changes. |
| git diff-index --quiet HEAD |
| git_changes=$? |
| |
| # Check for untracked files. |
| test -z "$(git ls-files --others)" |
| untracked_files=$? |
| |
| # Ensure the user knows what's about to happen. |
| echo |
| echo "This script will delete all header files in the current directory and" |
| echo "fetch the latest trace header files from the Linaro VIXL repository." |
| if [ $git_changes -ne 0 ]; then |
| echo |
| echo "NB. You have staged or working tree changes." |
| fi |
| if [ $untracked_files -ne 0 ]; then |
| echo |
| echo "NB. You have untracked files in the target directory." |
| fi |
| echo |
| |
| # Check that the user wants to do this. |
| while true; do |
| read -p "Continue? (y/n) " yn |
| case $yn in |
| [Yy]* ) break;; |
| [Nn]* ) exit;; |
| * ) ;; |
| esac |
| done |
| |
| # Delete existing trace header files. |
| rm -f *.h |
| |
| # Check out VIXL from Linaro repository. |
| git clone $linaro_vixl_git |
| |
| # Check for a traces directory. |
| if [ ! -d $linaro_vixl_traces_dir ]; then |
| echo "Can't find traces directory in VIXL checkout. Has it been moved?" |
| exit 1 |
| fi |
| |
| # Move trace files from repository to the current directory. |
| mv $linaro_vixl_traces_dir/*.h . |
| |
| # Delete repository. |
| rm -rf vixl |
| |
| # Rename trace files to match V8's expectation. |
| ls -1 *.h | grep -oP "sim\-.+\-trace\-" | xargs -i mv {}aarch64.h {}arm64.h |