Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ports over dfsan from polytracker-llvm #6517

Merged
merged 40 commits into from
Mar 23, 2023
Merged

Ports over dfsan from polytracker-llvm #6517

merged 40 commits into from
Mar 23, 2023

Conversation

surovic
Copy link
Contributor

@surovic surovic commented Nov 22, 2022

The ports over the DataflowSanitizer pass and related parts of compiler-rt from our modified fork of the LLVM repository. By doing this we are no longer dependent on that fork and can eventually move to more recent versions of LLVM. For this to happen, parts of polytracker's CMake build system had to be modified and the Dockerfile had to be rewritten. Users should also expect increased docker image build times as we now build libc++, which was part of the polytracker-llvm docker dependency build. The sum duration of polytracker-llvm and polytracker docker image build has however been drastically lowered. Future hope is to optimize the docker image build further.

@surovic surovic marked this pull request as ready for review February 22, 2023 14:05
@surovic surovic self-assigned this Feb 22, 2023
Dockerfile Outdated Show resolved Hide resolved
Dockerfile Outdated Show resolved Hide resolved
Dockerfile Outdated Show resolved Hide resolved
Dockerfile Outdated Show resolved Hide resolved
Dockerfile Outdated Show resolved Hide resolved
Dockerfile Outdated Show resolved Hide resolved
Dockerfile Outdated
WORKDIR /blight
RUN git clone https://github.com/trailofbits/blight.git .
RUN pip3 install .
RUN GO111MODULE=off go get github.com/SRI-CSL/gllvm/cmd/...
Copy link
Collaborator

@kaoudis kaoudis Feb 24, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for updating the gllvm! I may have missed it, but what golang version is supported in this new Dockerfile version? I think the current master Polytracker base Dockerfile is pinned to an old Golang, so am curious whether we are using Jammy's default golang or otherwise replace/configure it in some way I haven't noticed yet here.

Copy link
Contributor Author

@surovic surovic Mar 7, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

root@dea90b62fec0:/workdir# go version 
go version go1.18.1 linux/amd64

I think we're using the Jammy default. Which is also the same we've used in polytracker-llvm unless I'm missing something.

Dockerfile Show resolved Hide resolved
@surovic
Copy link
Contributor Author

surovic commented Mar 7, 2023

Is it recorded somewhere what version of the compiler-rt that is included here? I think it would be good to add that information somewhere.

I'll make an issue to add a note in a new polytracker/src/compiler-rt/README.md.

I've assumed that anything in compiler-rt is untouched so I haven't paid to much attention to those files. Is that correct?

Yes. That is correct.

@surovic surovic merged commit 45b3d0b into master Mar 23, 2023
@surovic surovic deleted the 6506-port-dfsan branch March 23, 2023 13:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Port DFSAN and it's dependencies from polytracker-llvm
5 participants