[webkit-changes] [WebKit/WebKit] e23aa5: [ASan] __sanitizer_annotate_contiguous_container i...

Elliott Williams noreply at github.com
Fri Aug 25 09:36:16 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e23aa568d746ee48d3e503f665685db192d61005
      https://github.com/WebKit/WebKit/commit/e23aa568d746ee48d3e503f665685db192d61005
  Author: Elliott Williams <emw at apple.com>
  Date:   2023-08-25 (Fri, 25 Aug 2023)

  Changed paths:
    M Source/WTF/wtf/Vector.h

  Log Message:
  -----------
  [ASan] __sanitizer_annotate_contiguous_container is marked as exported in JavaScriptCore and breaks TAPI
https://bugs.webkit.org/show_bug.cgi?id=260680
rdar://114043115

Reviewed by David Kilzer and Alexey Proskuryakov.

This declaration comes from libc++ (in <__config>, which is included by
~all STL headers). When we redeclare it in Vector.h, we are telling TAPI
that

- it's our symbol, because it's declared in one of our headers, and
- it's exported (because the original declaration in libc++ is marked
  visible)

Due to what appears to be an unrelated TAPI bug, this passes the
verifier, and causes launch failures in applications that link against
an ASan build of JavaScriptCore.

Fix by removing the declaration -- getting it from libc++ headers is
enough.

* Source/WTF/wtf/Vector.h:

Canonical link: https://commits.webkit.org/267284@main




More information about the webkit-changes mailing list