Page MenuHomePhabricator

[SystemZ] Accept (. - 0x100000000) PCRel32 constants
ClosedPublic

Authored by iii on May 2 2022, 9:42 AM.

Details

Summary

Clang does not accept instructions like brasl %r0,.-0x100000000,
because the second operand's right-hand-side (0x100000000) barely
misses the acceptable range. However, since it's being subtracted, it
makes sense to perform the range check on the negated value.

Diff Detail

Unit TestsFailed

TimeTest
60,070 msx64 debian > libFuzzer.libFuzzer::large.test
Script: -- : 'RUN: at line 3'; /var/lib/buildkite-agent/builds/llvm-project/build/./bin/clang --driver-mode=g++ -O2 -gline-tables-only -fsanitize=address,fuzzer -I/var/lib/buildkite-agent/builds/llvm-project/compiler-rt/lib/fuzzer -m64 /var/lib/buildkite-agent/builds/llvm-project/compiler-rt/test/fuzzer/LargeTest.cpp -o /var/lib/buildkite-agent/builds/llvm-project/build/projects/compiler-rt/test/fuzzer/X86_64DefaultLinuxConfig/Output/large.test.tmp-LargeTest

Event Timeline

iii created this revision.May 2 2022, 9:42 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 2 2022, 9:42 AM
Herald added a subscriber: hiraditya. · View Herald Transcript
iii requested review of this revision.May 2 2022, 9:42 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 2 2022, 9:42 AM
uweigand accepted this revision.May 2 2022, 10:12 AM

LGTM, thanks!

This revision is now accepted and ready to land.May 2 2022, 10:12 AM
This revision was landed with ongoing or failed builds.May 2 2022, 11:58 AM
This revision was automatically updated to reflect the committed changes.