HomePhabricator

Revert "Reland [ELF] Loose a condition for relocation with a symbol"
Audit RequiredrL366708

Description

Revert "Reland [ELF] Loose a condition for relocation with a symbol"

This reverts commit r366686 as it appears to be causing buildbot
failures on sanitizer-x86_64-linux-android and sanitizer-x86_64-linux.

Details

Auditors
grosbach
Committed
vlad.tsyrklevichJul 22 2019, 10:48 AM
Parents
rL366707: Merging r366500:
Branches
Unknown
Tags
Unknown

Event Timeline

This commit now requires audit.Jul 22 2019, 10:51 AM

@vitalybuka Do sanitizer-x86_64-linux-android and sanitizer-x86_64-linux use gold? If yes, what is its version?

+@NikolaPrica

From the revert email http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20190722/675580.html they use:
$ gold -v
GNU gold (GNU Binutils for Debian 2.28) 1.14

It is weird. The gold bug should be fixed <= binutils 2.26 (2016). Do we know which executable crashed?

Actually it is not fixed. Bug is related to "-O2" linker optimizations. More precisely to stringpool optimization of merge-able sections. I've located bug in the linker but I didn't have time to get into the details. Here you can find binaries https://sourceware.org/bugzilla/show_bug.cgi?id=16794.

Actually it is not fixed. Bug is related to "-O2" linker optimizations. More precisely to stringpool optimization of merge-able sections. I've located bug in the linker but I didn't have time to get into the details. Here you can find binaries https://sourceware.org/bugzilla/show_bug.cgi?id=16794.

  • ld.bfd and gold default to -O0
  • clang/gcc -O2 doesn't pass -O2 to the linker.

If the bug is only related to gold -O2, I think we can try removing -Wl,-O2 (or probably in other form) from sanitizer-x86_64-linux-android and sanitizer-x86_64-linux

@pcc, @eugenis Maybe we should just switch bots to use LLD?

Actually it is not fixed. Bug is related to "-O2" linker optimizations. More precisely to stringpool optimization of merge-able sections. I've located bug in the linker but I didn't have time to get into the details. Here you can find binaries https://sourceware.org/bugzilla/show_bug.cgi?id=16794.

  • ld.bfd and gold default to -O0
  • clang/gcc -O2 doesn't pass -O2 to the linker.

    If the bug is only related to gold -O2, I think we can try removing -Wl,-O2 (or probably in other form) from sanitizer-x86_64-linux-android and sanitizer-x86_64-linux

We are still interested in gold compatibility, I think.

We are still interested in gold compatibility, I think.

as well as other configurations which we can't afford to continuously test
which one is more important to test on out bots? with gold or LLD? probably we don't want to keep both