The Hexagon compiler/assembler (clang 21.1.8) generates packets containing
both a memd register-pair load and a dealloc_return instruction. When
executed under QEMU system emulation, this packet corrupts callee-saved
registers: the upper byte of a restored kernel pointer is zeroed (e.g.,
0xc0ca5960 becomes 0x00ca5960), leading to a page fault and kernel panic.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| f0VMRgEBAQAAAAAAAAAAAAIApAABAAAA4AcCADQAAACoFQAAaQAAADQAIAAJACgAFAASAAYAAAA0 | |
| AAAANAABADQAAQAgAQAAIAEAAAQAAAAEAAAAAwAAAFQBAABUAQEAVAEBABoAAAAaAAAABAAAAAEA | |
| AAABAAAAAAAAAAAAAQAAAAEA4AcAAOAHAAAEAAAAAAABAAEAAADgBwAA4AcCAOAHAgCwCQAAsAkA | |
| AAUAAAAAAAEAAQAAAJARAACQEQMAkBEDAIwAAABwDgAABgAAAAAAAQABAAAAHBIAABwSBAAcEgQA | |
| IAAAACAAAAAGAAAAAAABAAIAAACQEQAAkBEDAJARAwCAAAAAgAAAAAYAAAAEAAAAUuV0ZJARAACQ | |
| EQMAkBEDAIwAAABwDgAABAAAAAEAAABR5XRkAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAC9s | |
| aWIvbGQtbXVzbC1oZXhhZ29uLnNvLjEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAIgAA | |
| AAcAAAAAAAAAAAAAACIAAAANAAAAAAAAAAAAAAASAAAAHwAAAAAAAAAAAAAAEgAAACcAAAAAAAAA | |
| AAAAABIAAAAuAAAAAAAAAAAAAAASAAAAAQAAAAcAAAABAAAAGgAAAAAAAAAAAAAABwAAAAcAAAAA | |
| AAAABQAAAAAAAAAGAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAADAAAAAAAAAABf |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| set -euo pipefail | |
| echo creating init file | |
| echo <<EOF > input.S | |
| .section .text | |
| EOF | |
| echo '' > keep_syms.txt | |
| for i in $(seq 0 100000) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| FROM ubuntu:16.04 | |
| VOLUME ['/tmp/'] | |
| RUN apt-get update && apt-get install -y --force-yes build-essential subversion chrpath wget file python python-virtualenv cmake ninja-build tar tcl && \ | |
| cd /tmp && \ | |
| wget --quiet https://raw.githubusercontent.com/llvm/llvm-project/master/llvm/utils/release/test-release.sh && \ | |
| wget --quiet https://releases.llvm.org/8.0.0/clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz && \ | |
| tar xf clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz && \ | |
| chmod +x test-release.sh && \ | |
| /usr/bin/env CXX=/tmp/clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-14.04/bin/clang++ \ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| + mkdir obj_target_v60_83latest_test-suite | |
| + cd obj_target_v60_83latest_test-suite | |
| + cmake -GNinja -DCMAKE_C_COMPILER=hexagon-linux-clang -DCMAKE_CXX_COMPILER=hexagon-linux-clang++ -C/local/mnt/workspace/testing/test-suite/cmake/caches/O0.cmake -DTEST_SUITE_EXTRA_C_FLAGS=-mv60 -DTEST_SUITE_EXTRA_CXX_FLAGS=-mv60 -DTEST_SUITE_EXTRA_EXE_LINKER_FLAGS=-mv60 -DARCH:STRING=Hexagon -DTEST_SUITE_CXX_ABI_LIBNAME:STRING=libc++abi -DBENCHMARK_USE_LIBCXX:BOOL=ON -DTEST_SUITE_REMOTE_CLIENT:STRING=ssh -DTEST_SUITE_REMOTE_HOST:STRING=aus-dragon820-05 -DTEST_SUITE_LIT_FLAGS:STRING=-vj4 -DFP_TOLERANCE:STRING=1.5 -DFP_ABSTOLERANCE:STRING=1.5 /local/mnt/workspace/testing/test-suite | |
| loading initial cache file /local/mnt/workspace/testing/test-suite/cmake/caches/O0.cmake | |
| -- The C compiler identification is Clang 7.0.0 | |
| -- The CXX compiler identification is Clang 7.0.0 | |
| -- Check for working C compiler using: Ninja | |
| -- Check for working C compiler using: Ninja -- works | |
| -- Detecting C compiler ABI info | |
| -- Detecting C compiler ABI info - |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash -x | |
| set -euo pipefail | |
| test_suite=$(readlink -f ${1-../test-suite/}) | |
| PATH=/prj/dsp/qdsp6/release/internal/HEXAGON/branch-8.4lnx/latest/Tools/bin:$PATH | |
| qemu=~bcain/src/hexagon-clang/qemu.sh | |
| Q6_ARCH=v65 | |
| opt=O0 | |
| flavor=qemu_${Q6_ARCH}_84latest_${opt} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash -x | |
| # Run the llvm test-suite on target (v60) | |
| set -euo pipefail | |
| Q6_ARCH=v60 | |
| test_suite=$(readlink -f ${1}) | |
| PATH=/prj/dsp/qdsp6/release/internal/HEXAGON/branch-8.3lnx/latest/Tools/bin:$PATH | |
| flavor=target_${Q6_ARCH}_83latest |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| + stage=1 | |
| + ./x.py build --stage 1 -vvvv --config ../hexagon-linux-83.toml src/liblibc | |
| running: /local/mnt/workspace/rust/rust/build/x86_64-unknown-linux-gnu/stage0/bin/cargo build --manifest-path /local/mnt/workspace/rust/rust/src/bootstrap/Cargo.toml --verbose --verbose --verbose | |
| Fresh unicode-xid v0.1.0 | |
| Fresh cc v1.0.35 | |
| Fresh ordermap v0.3.5 | |
| Fresh unicode-width v0.1.5 | |
| Fresh cfg-if v0.1.8 | |
| Fresh itoa v0.4.4 | |
| Fresh fixedbitset v0.1.9 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| + stage=1 | |
| + ./x.py build --stage 1 -vvvv --config ../hexagon-linux-83.toml src/liblibc | |
| running: /local/mnt/workspace/rust/rust/build/x86_64-unknown-linux-gnu/stage0/bin/cargo build --manifest-path /local/mnt/workspace/rust/rust/src/bootstrap/Cargo.toml --verbose --verbose --verbose | |
| Fresh unicode-xid v0.1.0 | |
| Fresh cc v1.0.35 | |
| Fresh ordermap v0.3.5 | |
| Fresh unicode-width v0.1.5 | |
| Fresh cfg-if v0.1.8 | |
| Fresh itoa v0.4.4 | |
| Fresh fixedbitset v0.1.9 |
NewerOlder