[webkit-changes] [WebKit/WebKit] ee58c2: REGRESSION(257515 at main): breaks build with -flto=auto

Adrian Perez noreply at github.com
Wed Mar 15 18:06:43 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ee58c2ab83717762d360197159639854543a3c24
      https://github.com/WebKit/WebKit/commit/ee58c2ab83717762d360197159639854543a3c24
  Author: Adrian Perez de Castro <aperez at igalia.com>
  Date:   2023-03-15 (Wed, 15 Mar 2023)

  Changed paths:
    M Source/WebCore/Modules/speech/SpeechRecognition.cpp
    M Source/WebCore/Modules/speech/SpeechRecognition.h
    M Source/WebCore/Modules/speech/SpeechRecognitionConnectionClient.h

  Log Message:
  -----------
  REGRESSION(257515 at main): breaks build with -flto=auto
https://bugs.webkit.org/show_bug.cgi?id=249368

Reviewed by Philippe Normand.

Workaround compiler/linker issue with LTO enabled with certain versions
of GCC and Binutils on Linux. Tested using a Yocto build targeting
AArch64 (Raspberry Pi 4), with LTO enabled, which uses GCC 11.3.0 and
Binutils 2.38.

* Source/WebCore/Modules/speech/SpeechRecognition.cpp:
(WebCore::SpeechRecognition::~SpeechRecognition): Define an empty
virtual destructor.
* Source/WebCore/Modules/speech/SpeechRecognition.h: Declare a virtual
destructor for the class.
* Source/WebCore/Modules/speech/SpeechRecognitionConnectionClient.h:
(WebCore::SpeechRecognitionConnectionClient::~SpeechRecognitionConnectionClient):
Once the complaint about the missing SpeechRecognition vtable was fixed,
the linker started complaning about a missing virtual destructor for
SpeechRecognitionConnectionClient, which is definitely a compiler bug
given that it was defaulted; but using an empty inline destructor in the
header workarounds the issue.

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




More information about the webkit-changes mailing list