Skip to content

Commit eda3a4a

Browse files
committed
Add container file for tsan tests.
1 parent 33325e0 commit eda3a4a

1 file changed

Lines changed: 27 additions & 0 deletions

File tree

containers/Dockerfile.opdi.tsan

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
FROM ubuntu:24.04
2+
3+
RUN DEBIAN_FRONTEND=noninteractive apt update && apt install -y build-essential binutils git curl flex
4+
5+
RUN \
6+
cd / \
7+
&& git clone --depth 1 --branch releases/gcc-15.2.0 git://gcc.gnu.org/git/gcc.git gcc_sources \
8+
&& cd gcc_sources \
9+
&& ./contrib/download_prerequisites \
10+
&& cd / \
11+
&& mkdir gcc_objdir \
12+
&& cd gcc_objdir \
13+
&& /gcc_sources/configure --prefix=/gcc_install --enable-languages=c,c++ --disable-linux-futex --disable-multilib \
14+
&& make -j $(nproc --all) \
15+
&& make install \
16+
&& cd / \
17+
&& rm -rf gcc_sources \
18+
&& rm -rf gcc_objdir
19+
20+
ENV LD_LIBRARY_PATH=/gcc_install/lib64:$LD_LIBRARY_PATH
21+
ENV CXXFLAGS="-I/gcc_install/include/c++/15.2.0 -I/gcc_install/include/c++/15.2.0/x86_64-pc-linux-gnu -fsanitize=thread"
22+
ENV CFLAGS="-I/gcc_install/include/c++/15.2.0 -I/gcc_install/include/c++/15.2.0/x86_64-pc-linux-gnu -fsanitize=thread"
23+
ENV LDFLAGS="-L/gcc_install/lib64 -fsanitize=thread"
24+
ENV PATH=/gcc_install/bin:$PATH
25+
ENV TSAN_OPTIONS="history_size=7 halt_on_error=1"
26+
27+
ENTRYPOINT ["/bin/bash"]

0 commit comments

Comments
 (0)