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

Update compiler-rt (and sanitizers) to llvm 10.0.0 #11662

Merged
merged 4 commits into from
Jul 22, 2020
Merged

Conversation

sbc100
Copy link
Collaborator

@sbc100 sbc100 commented Jul 16, 2020

This matches the version we use for lib++ and lib++abi.

Copy link
Member

@kripken kripken left a comment

Choose a reason for hiding this comment

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

lgtm if the metadce test expectation changes are gone.

@sbc100
Copy link
Collaborator Author

sbc100 commented Jul 16, 2020

It looks like 1 of the metadce tests is still effected... but its strictly and improvement in that symbols are only removed. Any idea how changing compiler-rt could have lead to this improvment?

@sbc100
Copy link
Collaborator Author

sbc100 commented Jul 16, 2020

It looks like 1 of the metadce tests is still effected... but its strictly and improvement in that symbols are only removed. Any idea how changing compiler-rt could have lead to this improvment?

Sorry.. ignore that... there are no changes to these tests

This matches the version we use for lib++ and lib++abi.
@sbc100 sbc100 merged commit 5471dff into master Jul 22, 2020
@sbc100 sbc100 deleted the update_compiler_rt branch July 22, 2020 15:29
@sbc100 sbc100 mentioned this pull request Jul 22, 2020
aheejin added a commit that referenced this pull request Apr 8, 2024
This updates compiler-rt to LLVM 18.1.2.

Things to note:

- llvm/llvm-project#73573 reformatted
  https://github.com/emscripten-core/emscripten/blob/main/system/lib/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp,
  so our diff got somewhat bigger because adding a preprocessor like `ifdef`
  somewhere means changing the indentation of all inner directives.

- In
  https://github.com/emscripten-core/emscripten/blob/main/system/lib/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp,
  ```diff
  - #elif SANITIZER_USE_GETAUXVAL
  -   return getauxval(AT_PAGESZ);
  ```
  These lines were somehow deleted in #11662 for no apparent reason. (It looks
  this is not used by us) Restored it to reduce the diff between us and the
  upstream.

- Build libsanitizer_common_rt with `-Wno-format`:
  67108b2
  Some code that got newly compiled in this version has violations to
  `__attribute__ ((format))` that crashes compilation without `-Wno-format`.
  Detailed description of the problem is in
  67108b2.
  The simple temporary fix of adding `-Wno-format` is basically what the
  upstream code currently does with `CMakeLists.txt`.

- `ThreadStart`-related changes in
  https://github.com/emscripten-core/emscripten/blob/main/system/lib/compiler-rt/lib/asan/asan_emscripten.cpp:
  36ce3d3
  This deals with the following upstream changes:
  llvm/llvm-project@4e1b55a
  llvm/llvm-project@fd16d46
  by adding `ThreadStartParams` class as
  https://github.com/llvm/llvm-project/blob/main/compiler-rt/lib/asan/asan_win.cpp
  did.

Each fix is described in its own commit, except for the fixes required to
resolve conflicts when merging our changes, which I wasn't able to commit
separately.
impact-maker pushed a commit to impact-maker/emscripten that referenced this pull request Apr 11, 2024
This updates compiler-rt to LLVM 18.1.2.

Things to note:

- llvm/llvm-project#73573 reformatted
  https://github.com/emscripten-core/emscripten/blob/main/system/lib/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp,
  so our diff got somewhat bigger because adding a preprocessor like `ifdef`
  somewhere means changing the indentation of all inner directives.

- In
  https://github.com/emscripten-core/emscripten/blob/main/system/lib/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp,
  ```diff
  - #elif SANITIZER_USE_GETAUXVAL
  -   return getauxval(AT_PAGESZ);
  ```
  These lines were somehow deleted in emscripten-core#11662 for no apparent reason. (It looks
  this is not used by us) Restored it to reduce the diff between us and the
  upstream.

- Build libsanitizer_common_rt with `-Wno-format`:
  emscripten-core@67108b2
  Some code that got newly compiled in this version has violations to
  `__attribute__ ((format))` that crashes compilation without `-Wno-format`.
  Detailed description of the problem is in
  emscripten-core@67108b2.
  The simple temporary fix of adding `-Wno-format` is basically what the
  upstream code currently does with `CMakeLists.txt`.

- `ThreadStart`-related changes in
  https://github.com/emscripten-core/emscripten/blob/main/system/lib/compiler-rt/lib/asan/asan_emscripten.cpp:
  emscripten-core@36ce3d3
  This deals with the following upstream changes:
  llvm/llvm-project@4e1b55a
  llvm/llvm-project@fd16d46
  by adding `ThreadStartParams` class as
  https://github.com/llvm/llvm-project/blob/main/compiler-rt/lib/asan/asan_win.cpp
  did.

Each fix is described in its own commit, except for the fixes required to
resolve conflicts when merging our changes, which I wasn't able to commit
separately.
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.

None yet

2 participants