Title: [282685] trunk
Revision
282685
Author
[email protected]
Date
2021-09-17 13:03:50 -0700 (Fri, 17 Sep 2021)

Log Message

Unbreak GCC_OFFLINEASM_SOURCE_MAP when LTO is in use
https://bugs.webkit.org/show_bug.cgi?id=230061
<rdar://problem/83166173>

Reviewed by Michael Catanzaro.

.:

* Source/cmake/OptionsCommon.cmake:

Re-enable GCC_OFFLINEASM_SOURCE_MAP.

Source/_javascript_Core:

Our ASM postprocessing hack is incompatible with
LTO. Unconditionally disable LTO for LowLevelInterpreter.cxx when
GCC_OFFLINEASM_SOURCE_MAP is in use.

* CMakeLists.txt:

Modified Paths

Diff

Modified: trunk/ChangeLog (282684 => 282685)


--- trunk/ChangeLog	2021-09-17 19:28:49 UTC (rev 282684)
+++ trunk/ChangeLog	2021-09-17 20:03:50 UTC (rev 282685)
@@ -1,3 +1,15 @@
+2021-09-17  Angelos Oikonomopoulos  <[email protected]>
+
+        Unbreak GCC_OFFLINEASM_SOURCE_MAP when LTO is in use
+        https://bugs.webkit.org/show_bug.cgi?id=230061
+        <rdar://problem/83166173>
+
+        Reviewed by Michael Catanzaro.
+
+        * Source/cmake/OptionsCommon.cmake:
+
+        Re-enable GCC_OFFLINEASM_SOURCE_MAP.
+
 2021-09-17  Carlos Garcia Campos  <[email protected]>
 
         Unreviewed. [GTK] Bump version numbers

Modified: trunk/Source/_javascript_Core/CMakeLists.txt (282684 => 282685)


--- trunk/Source/_javascript_Core/CMakeLists.txt	2021-09-17 19:28:49 UTC (rev 282684)
+++ trunk/Source/_javascript_Core/CMakeLists.txt	2021-09-17 20:03:50 UTC (rev 282685)
@@ -1464,10 +1464,12 @@
         PROPERTY RULE_LAUNCH_COMPILE "${LowLevelInterpreter_LAUNCHER}")
 
     # Pass in the filename as a magic preprocessor directive, so that
-    # the wrapper can accurately identify the source file.
+    # the wrapper can accurately identify the source file. This is incompatible
+    # with LTO.
     set_source_files_properties("llint/LowLevelInterpreter.cpp"
         PROPERTIES
-        COMPILE_DEFINITIONS "POSTPROCESS_ASM=llint/LowLevelInterpreter.cpp")
+        COMPILE_DEFINITIONS "POSTPROCESS_ASM=llint/LowLevelInterpreter.cpp"
+        COMPILE_OPTIONS "-fno-lto")
 endif ()
 
 # When building _javascript_Core as an object library, we need to make sure the

Modified: trunk/Source/_javascript_Core/ChangeLog (282684 => 282685)


--- trunk/Source/_javascript_Core/ChangeLog	2021-09-17 19:28:49 UTC (rev 282684)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-09-17 20:03:50 UTC (rev 282685)
@@ -1,3 +1,17 @@
+2021-09-17  Angelos Oikonomopoulos  <[email protected]>
+
+        Unbreak GCC_OFFLINEASM_SOURCE_MAP when LTO is in use
+        https://bugs.webkit.org/show_bug.cgi?id=230061
+        <rdar://problem/83166173>
+
+        Reviewed by Michael Catanzaro.
+
+        Our ASM postprocessing hack is incompatible with
+        LTO. Unconditionally disable LTO for LowLevelInterpreter.cxx when
+        GCC_OFFLINEASM_SOURCE_MAP is in use.
+
+        * CMakeLists.txt:
+
 2021-09-17  Justin Michaud  <[email protected]>
 
         Improve access case printing and show inline capacity for structures

Modified: trunk/Source/cmake/OptionsCommon.cmake (282684 => 282685)


--- trunk/Source/cmake/OptionsCommon.cmake	2021-09-17 19:28:49 UTC (rev 282684)
+++ trunk/Source/cmake/OptionsCommon.cmake	2021-09-17 20:03:50 UTC (rev 282685)
@@ -91,9 +91,14 @@
     set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gdb-index")
 endif ()
 
+set(GCC_OFFLINEASM_SOURCE_MAP_DEFAULT OFF)
+if (CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
+    set(GCC_OFFLINEASM_SOURCE_MAP_DEFAULT ON)
+endif ()
+
 option(GCC_OFFLINEASM_SOURCE_MAP
   "Produce debug line information for offlineasm-generated code"
-  OFF)
+  ${GCC_OFFLINEASM_SOURCE_MAP_DEFAULT})
 
 option(USE_APPLE_ICU "Use Apple's internal ICU" ${APPLE})
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to